微處理器原理與接口技術——基於樹莓派Pico及RP2040芯片

王繼業、趙莉芝、蘇驕陽

  • 出版商: 清華大學
  • 出版日期: 2024-04-01
  • 定價: $474
  • 售價: 8.5$403
  • 語言: 簡體中文
  • ISBN: 7302656460
  • ISBN-13: 9787302656463
  • 相關分類: Raspberry Pi
  • 下單後立即進貨 (約4週~6週)

  • 微處理器原理與接口技術——基於樹莓派Pico及RP2040芯片-preview-1
  • 微處理器原理與接口技術——基於樹莓派Pico及RP2040芯片-preview-2
  • 微處理器原理與接口技術——基於樹莓派Pico及RP2040芯片-preview-3
微處理器原理與接口技術——基於樹莓派Pico及RP2040芯片-preview-1

商品描述

本書是“微處理器原理與接口技術”課程的教材。本書首先通過邏輯的、歷史的脈絡引入電腦系統和微處理器,然後以ARM CM0為對象介紹了微處理器的組成原理和指令集,並介紹了匯編語言編程方法等。在接口技術方面,本書介紹了內部總線AHBLite和SoC的組成方法,並以RP2040芯片為例,介紹了接口常用的GPIO、UART、I2C、SPI、A/D、D/A、定時計數器等電路原理和編程方法,特別引入了觸摸按鍵、觸摸屏、COB液晶和圖形液晶等的原理介紹和接口方法。本書專闢一章介紹了實時操作系統,並以FreeRTOS為例介紹了編程方法。 本書內容取捨精當,篇幅適中,適合作為普通高等院校電子信息大類各專業的教材。本書內容選擇原則是“魚漁雙授”,所選芯片RP2040既具有現代先進SoC的特徵又不過分復雜,既適合教學又不失工程應用價值。 本書配套實驗推薦選用樹莓派Pico開發板,價廉物美,易於採購,並有配套的開發實驗系統供選用。 本書配有思考題和習題,為了節省篇幅,習題答案、課件、附圖、多媒體資源、實驗資源等以電子資源的形式提供。

目錄大綱

目錄

第1章緒論

1.1電腦系統發展史

1.1.1利用機械裝置作為計算的輔助工具

1.1.2早期的電子電腦系統

1.1.3電腦的充分發展: 軟件與硬件

1.1.4微處理器與嵌入式系統

1.1.5當前電腦系統的特點與發展趨勢

1.2數字系統與微處理器

1.2.1一般數字電路的組成

1.2.2微處理器作為數字系統

1.2.3微處理器的指令集

思考題

第2章微處理器的基本原理

2.1整數、實數和文字的編碼

2.1.1整數的編碼

2.1.2實數的編碼

2.1.3文字的編碼

2.2微處理器的原理和結構

2.2.1一般微處理器系統的結構

2.2.2微處理器組成部分

2.2.3微處理器內部的數據通路

2.2.4流水線技術

2.3ARM CortexM0+微處理器

2.3.1ARM CortexM0+微處理器的結構

2.3.2寄存器

2.3.3ARM CortexM0+的存儲器模型

2.3.4指令的尋址方式

2.3.5ARMv6M指令描述

2.3.6ARMv6M指令編碼

思考題

習題

第3章ARM匯編語言程序設計

3.1匯編語言編程方法

3.1.1匯編語言與機器指令

3.1.2常量和表達式

3.1.3匯編語言程序的組織

3.1.4裸機上的程序結構

3.2常用模塊的匯編程序設計

3.2.164位加減運算

3.2.2分支程序

3.2.3循環程序

3.2.4子程序調用

3.3匯編語言和高級語言的接口

3.3.1ARM架構過程調用標準

3.3.2C語言環境中的匯編程序框架

思考題

習題

第4章異常和中斷

4.1異常和中斷概述

4.1.1基本概念

4.1.2中斷控制器、中斷編號和優先級

4.1.3向量表中的系統異常

4.1.4異常和中斷的優先級

4.2異常和中斷的響應過程

4.2.1NVIC對中斷的響應

4.2.2CPU對異常和中斷的響應

4.2.3CPU從中斷服務程序中返回

4.2.4中斷嵌套

4.3異常與中斷的設置

4.3.1中斷的使能與屏蔽

4.3.2中斷的懸置位和活動位

4.3.3優先級寄存器

4.3.4中斷屏蔽寄存器

4.3.5系統異常的相關設置

4.4NVIC中的SysTick定時器

4.4.1SysTick定時器及其寄存器

4.4.2SysTick定時器設置及編程

思考題

習題

第5章RP2040芯片的結構

5.1RP2040芯片的總體結構

5.1.1RP2040芯片的組成

5.1.2雙核心系統

5.1.3存儲器系統

5.2復位和時鐘

5.2.1RP2040芯片的復位

5.2.2RP2040時鐘源

5.2.3鎖相環倍頻電路

5.3RP2040芯片引腳和功能

5.3.1RP2040芯片的封裝和引腳功能

5.3.2通用輸入輸出引腳

5.3.3外部中斷

5.3.4GPIO狀態、控制和外部中斷配置

5.3.5引腳配置

5.3.6通過SIO模塊控制GPIO引腳

5.3.7GPIO編程實例

5.4Boot ROM程序

5.4.1引導程序

5.4.2Boot ROM的內容

5.4.3Boot ROM中的功能函數

5.4.4Boot ROM中的數據

思考題

習題

第6章電腦系統總線

6.1簡單的存儲器總線系統

6.1.1存儲器的接口信號

6.1.2基於三態邏輯的總線

6.1.3簡單總線電路組成實例

6.1.4簡單總線接口電路

6.2AHBLite總線系統

6.2.1簡單總線存在的問題

6.2.2AHBLite總線系統的組成

6.2.3基本傳輸過程

6.2.4傳輸類型、鎖定傳輸、傳輸寬度和傳輸保護

6.2.5突發訪問

6.2.6AHBLite總線層次化與互連

6.3高級外圍總線

6.3.1APB總線應用場景

6.3.2APB總線信號

6.3.3APB總線的數據傳輸

6.4RP2040的總線結構

6.4.1RP2040總線概覽

6.4.2總線交連矩陣

6.4.3APB橋接器

6.4.4RP2040窄寬度I/O訪問

思考題

習題

第7章直接內存操作

7.1直接內存操作概述

7.1.1DMA及DMA控制器

7.1.2DMA控制器的一般結構

7.2RP2040的DMA控制器

7.2.1RP2040的DMA控制器結構

7.2.2開啟DMA通道

7.2.3外設對DMA的數據請求

7.2.4DMA的中斷

7.3RP2040的直接內存操作編程

7.3.1寄存器定義

7.3.2用中斷重新配置DMA

7.3.3DMA控制塊

思考題

習題

第8章定時計數器

8.1通用定時計數器

8.1.1通用定時計數器的結構

8.1.2定時計數器的功能實現

8.2RP2040通用定時器

8.2.1通用定時器的組成與結構

8.2.2通用定時器的編程

8.3RP2040的PWM發生器

8.3.1脈沖寬度調制概述

8.3.2PWM部件

8.3.3分數預分頻器

8.3.4PWM波形的產生

8.3.5PWM模塊的中斷

8.3.6時鐘源的選擇

8.3.7PWM部件的編程

8.4RP2040看門狗定時器

8.4.1看門狗定時器概述

8.4.2看門狗定時器的組成

8.4.3看門狗定時器的編程

8.5實時時鐘

8.5.1實時時鐘概述

8.5.2RP2040芯片RTC的結構

8.5.3RP2040芯片RTC編程

思考題

習題

第9章串行通信

9.1串行通信概述

9.1.1串行和並行

9.1.2異步串行通信的發展

9.2串行通信的電平規範

9.2.1邏輯電平的傳輸

9.2.2EIA電平規範

9.2.3差分信號傳輸

9.3異步串行通信的數據幀

9.3.1異步串行通信的波特率

9.3.2異步串行通信的數據幀組成

9.3.3異步串行通信的流控制

9.3.4傳輸中斷信號

9.4RP2040芯片的串行通信部件

9.4.1RP2040芯片UART的結構

9.4.2RP2040芯片UART的流控制

9.4.3RP2040芯片UART的DMA

9.4.4RP2040芯片UART的中斷請求

9.5RP2040芯片的串行通信編程

9.5.1RP2040芯片UART的寄存器

9.5.2RP2040芯片UART的配置

9.5.3RP2040芯片UART數據傳輸編程

思考題

習題

第10章串行互連總線

10.1SPI串行總線規範

10.1.1利用移位寄存器傳輸數據

10.1.2摩托羅拉SPI協議規範

10.2RP2040芯片的SPI控制器

10.2.1RP2040芯片的SPI控制器幀格式

10.2.2RP2040芯片的SPI控制器組成

10.2.3RP2040芯片SPI的DMA

10.2.4RP2040芯片SPI的中斷

10.3RP2040芯片SPI控制器編程

10.3.1RP2040芯片SPI控制器的寄存器

10.3.2RP2040芯片SPI編程方法

10.4I2C串行總線規範

10.4.1I2C總線的電路連接

10.4.2I2C總線發送單個位的格式

10.4.3I2C總線數據幀格式

10.5RP2040芯片的I2C控制器

10.5.1RP2040芯片的I2C控制器的特性

10.5.2發送FIFO中的數據和命令

10.5.3RP2040芯片I2C作為從器件的操作過程

10.5.4RP2040芯片I2C作為主器件的操作過程

10.5.5I2C定時設置

10.5.6I2C的DMA和中斷

10.6RP2040芯片I2C控制器編程

10.6.1寄存器描述

10.6.2利用SDK進行I2C編程

思考題

習題

第11章模數和數模轉換

11.1模數轉換的基本概念與電路組成

11.1.1採樣與採樣保持電路

11.1.2A/D轉換器的參數

11.1.3逐次比較型A/D轉換器

11.1.4ΣΔ型A/D轉換器

11.2A/D轉換芯片舉例

11.2.1ADS7842並行接口12位A/D轉換器

11.2.2ADS7822 SPI接口12位A/D轉換器

11.2.3ADS1013 I2C接口12位A/D轉換器

11.3RP2040芯片內置的A/D及編程

11.3.1RP2040芯片內置A/D轉換器

11.3.2RP2040芯片內置A/D轉換器的編程

11.4數模轉換

11.4.1通過脈沖寬度調制實現模數轉換

11.4.2通過電阻網絡實現數模轉換

11.4.3數模轉換器芯片DAC0830

11.4.4串行接口D/A芯片TLC5618

思考題

習題

第12章人機接口技術

12.1按鍵接口方法

12.1.1獨立式按鍵

12.1.2掃描式按鍵

12.2LED數碼管和點陣

12.2.1發光二極管的導電特性

12.2.2LED數碼管

12.2.3七段數碼管的驅動方法

12.2.4LED點陣顯示模塊

12.3液晶顯示器件

12.3.1液晶顯示的原理

12.3.2筆段式液晶顯示器件的驅動方法

12.3.3彩色液晶屏驅動方法

12.4觸摸按鍵與觸摸屏

12.4.1觸摸按鍵的電路與接口方法

12.4.2電阻式觸摸屏的原理與接口芯片

12.4.3電容式觸摸屏的原理與接口芯片

思考題

習題

第13章嵌入式操作系統

13.1嵌入式操作系統原理

13.1.1基本概念

13.1.2嵌入式操作系統的主要功能

13.1.3嵌入式操作系統內核任務調度的實現方式

13.1.4任務狀態

13.1.5任務協同與搶占

13.1.6任務調度算法

13.2ARM CM0中多任務的實現方法

13.2.1主堆棧和線程堆棧

13.2.2中斷與任務切換

13.2.3任務的初始化

13.3FreeRTOS多任務操作系統

13.3.1FreeRTOS概述

13.3.2FreeRTOS源代碼結構

13.3.3FreeRTOS在RP2040芯片的移植

13.3.4FreeRTOS簡單應用示例

13.4FreeRTOS任務間的通信機制

13.4.1任務之間共享變量

13.4.2信號量

13.4.3消息隊列

13.4.4從中斷中操作信號量和消息隊列

13.5文件系統

13.5.1文件系統的基本概念

13.5.2FAT文件系統

13.5.3FAT文件系統支持

思考題

習題

參考文獻