微處理器原理與接口技術:基於樹莓派Pico及RP2040芯片(簡體書)
商品資訊
ISBN13:9787302656463
出版社:清華大學出版社(大陸)
作者:王繼業; 趙莉芝; 蘇驕陽
出版日:2024/04/01
裝訂/頁數:平裝/265頁
規格:24cm*17cm (高/寬)
版次:一版
商品簡介
本書是“微處理器原理與接口技術”課程的教材。本書首先通過邏輯的、歷史的脈絡引入計算機系統和微處理器,然後以ARM CM0為物件介紹了微處理器的組成原理和指令集,並介紹了匯編語言編程方法等。在接口技術方面,本書介紹了內部總線AHBLite和SoC的組成方法,並以RP2040芯片為例,介紹了接口常用的GPIO、UART、I2C、SPI、A/D、D/A、定時計數器等電路原理和編程方法,特別引入了觸摸按鍵、觸摸屏、COB液晶和圖形液晶等的原理介紹和接口方法。本書專辟一章介紹了實時操作系統,並以FreeRTOS為例介紹了編程方法。 本書內容取舍精當,篇幅適中,適合作為普通高等院校電子信息大類各專業的教材。本書內容選擇原則是“魚漁雙授”,所選芯片RP2040既具有現代先進SoC的特徵又不過分複雜,既適合教學又不失工程應用價值。 本書配套實驗推薦選用樹莓派Pico開發板,價廉物美,易於采購,並有配套的開發實驗系統供選用。 本書配有思考題和習題,為了節省篇幅,習題答案、課件、附圖、多媒體資源、實驗資源等以電子資源的形式提供。
作者簡介
王繼業 中央民族大學教授。1988-1992年就讀於北京大學物理系,獲得物理學學士學位;1992-1995年就讀於南開大學物理系,獲得光學碩士學位。1995-2001年就職於北大青鳥公司,從事分析儀器和其它電子產品的研發工作;2001年至今就職於中央民族大學,從事物聯網方面的研究,2020年起從事芯片設計領域的研究工作。在任職中央民族大學期間,曾擔任電子信息工程系主任多年,並成功申辦物聯網專業。任教以來負責編制過多個版本的電子信息和物聯網工程專業培養方案,教授過模擬電子線路、電磁場與電磁波、微機原理接口技術、單片機等課程。
趙莉芝,中央民族大學講師、碩士研究生導師。2015年7月北京理工大學信號與信息處理專業博士畢業,獲得工學博士學位。2015年9月入職中央民族大學,迄今連續8年負責電子信息工程專業的本科《微控制器原理》課程教學。發表論文10余篇,主持和參與了多項科研項目。
蘇驕陽,中央民族大學信息工程學院實驗中心教師、碩士研究生導師。2013年7月北京理工大學電子與通信工程專業碩士畢業,2013年9月入職中央民族大學,負責電子電路及信號處理類課程的實驗教學和科研工作,主持和參與了多項科研項目。
名人/編輯推薦
本書選擇ARM體系中的CM0作為目標進行講授,既現代又不過於複雜,適合作為原理性內容講授。同時,選擇RP2040芯片,該芯片具有現代微控制器系統的各種先進特徵,如雙核、具有很完善的SDK、適合各種工具鏈要求等,其外設設計典型而不過於複雜,適合教學應用。
序
“微處理器原理與接口技術”是本科院校電子信息類專業的必修課,它上啟“數字電路”課程,並為“單片機原理”“嵌入式系統原理”等課程打下基礎,是本科院校電子信息類專業的學生深入學習計算機系統的重要環節。本書就是為該課程撰寫的一本教材,適合本科院校電子信息類專業學生使用。
“微處理器原理與接口技術”課程由“微機原理與接口技術”課程演變而來,不管名字如何變化,基本內容變化不大。多年來,課程內容雖然多有變革,但筆者認為存在一些問題。一是內容過於老化,典型情況是有的學校仍然以Intel 8086作為主要內容,且不說這種芯片已經多年沒有實際系統採用,其工具鏈、開發方法缺少代表性,它的體系結構也不能說與現代系統設計理念相容; 二是內容過於狹窄,典型情況是選擇Intel 8051單片機等芯片作為主要內容,雖然8051單片機是一款很經典的單片機,當前仍然被應用,但它有很多特殊的設計並不具有普遍性,不適合作為原理性內容去講授; 三是原理性內容欠缺,有的課程芯片選得很典型也很有代表性,教材篇幅也較大,但是沒有解決學生心中的疑惑。筆者認為,學生學習本課程之前最大的好奇應該是CPU系統如何工作,恰恰在這一點上教學內容有欠缺。
本書作者為了解決上述問題,做出了一些努力,主要體現在以下方面。首先,選擇ARM體系中的CM0作為目標進行講授,既現代又不過於複雜,適合作為原理性內容講授。同時,選擇RP2040芯片,該芯片具有現代微控制器系統的各種先進特徵,如雙核、具有很完善的SDK、適合各種工具鏈要求等,其外設設計典型而不過於複雜,適合教學應用。其次,從數字系統的一般性出發,按照歷史發展的脈絡詳細闡述了CPU的工作原理、現代CPU的設計思路等,解學生心中之疑惑。再次,本書也詳細介紹了AHB總線等對現代SoC來說比較重要的內容,使學生對現代SoC的工作原理和組成方法有一定了解。
電子信息類專業的“微控制器原理與接口技術”課程大致相當於計算機類專業的“計算機組成原理”和“計算機體系結構”兩門課程,內容非常多,在當前課時壓縮的大背景下,內容取舍尤為重要。本書作者並沒有因此壓縮計算機原理方面的內容,相比同類教材,還增加了諸如流水線、指令編碼、AHB總線等方面的內容。但是,本書壓縮了匯編語言編程尤其是ARM、Thumb各種指令細節,原因是本書作者認為這些細節既對原理的理解沒有多大幫助,又對現代工程應用沒有多大幫助,現代工程開發一般以高級語言為主,輔之以很少的行內匯編。本書不僅重視內容的取舍,同時重視寫作過程中內容的精煉,使得本書篇幅不大,適合作為本科教材。為了內容的完整性,本書在接口技術方面不僅全面介紹了通用輸入輸出GPIO、通用串行通信UART、串行互連總線I2C、SPI等,還詳細介紹了人機接口技術(如按鍵、數碼管等)的驅動方法,尤其是詳細介紹了觸摸按鍵、液晶屏、觸摸屏等更具工程性和更複雜的內容。在軟件方面,本書增加了實時操作系統的原理,並以FreeRTOS系統為例,詳細介紹了其應用方法,這在同類教材中是不常見的
。
本書共13章,其中第1~4章是原理部分,邏輯脈絡清晰,符合組成原理和體系結構的發展趨勢、與數字電路系統內容銜接。第5~13章是接口技術部分,除了注重原理性、通用性,尤其重視工程應用性。本書第1章為緒論,從歷史發展脈絡和邏輯系統脈絡逐漸引入計算機系統和嵌入式系統; 第2章是微處理器原理,先從數字編碼與計算等基礎知識引入,這部分和數字電路相銜接,然後講述CPU的組成和原理、ARM CortexM0系統的組成和指令集等; 第3章是匯編語言,本章要求學生達到能看懂程序、能編制簡單程序的程度; 第4章是異常和中斷,結合ARM CortexM0系統力求讓學生理解異常和中斷的概念,並具有一定的程序設計能力。這4章構成微控制器原理的主要內容。第5章介紹RP2040芯片的組成,讓學生初步了解構成一個SoC除了CPU還需要什麼,並具體介紹了這些外圍電路的原理; 第6章介紹系統總線,從傳統的由三態邏輯組成的總線系統逐漸引出基於數據選擇器並適合SoC的AHB總線系統,最後具體介紹RP2040芯片內部總線的結構; 第7章介紹DMA的結構、作用和編程方法; 第8章介紹定時計數器的作用和設計原理,並結合RP2040芯片詳細介紹了各種用途的定時計數器; 第9章介紹通用異步串行通信,首先從串行通信的原理開始,逐步介紹UART的結構、RP2040芯片中UART編程方法等; 第10章介紹了外設互連常用的串行總線I2C和SPI; 第11章介紹了模數和數模轉換,著重介紹了A/D、D/A電路的種類、結構、原理等,為系統設計時芯片的選擇提供基本知識; 第12章介紹了人機接口技術,除了傳統的按鍵、數碼管等,還著重介紹了觸摸屏、觸摸按鍵、COB液晶、圖形液晶屏等的原理和應用方法; 第13章介紹了嵌入式操作系統的基本原理,並以FreeRTOS為例,介紹了實時操作系統的應用編程方法,該章還介紹了文件系統的原理和FAT文件系統。第5~13章為接口技術,除了第5章、第6章比較基礎,其他各章可以根據教學需要合理選擇。作者強烈呼吁讀者要重視第13章的學習,因為隨著現代微控制器能力的提高,使用實時操作系統提高系統性能和開發效率成為大勢所趨。
本書每章後面都有一定數量的思考題和習題,並提供大量的電子資源。在電子資源中,不僅包括習題答案,還包括本書配套的實驗、教學課件、教學視頻等豐富內容。配合本書實驗可以選用樹莓派Pico開發板,價廉物美,容易獲取。
本書適合普通高等院校電子信息大類的各個專業,如電子信息工程、通信工程、集成電路工程、人工智能等,歡迎老師、同學們選用。
王繼業2024年於中央民族大學
目次
第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 CortexM0 微處理器
2.3.1ARM CortexM0 微處理器的結構
2.3.2寄存器
2.3.3ARM CortexM0 的存儲器模型
2.3.4指令的尋址方式
2.3.5ARMv6M指令描述
2.3.6ARMv6M指令編碼
思考題
習題
第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.2AHBLite總線系統
6.2.1簡單總線存在的問題
6.2.2AHBLite總線系統的組成
6.2.3基本傳輸過程
6.2.4傳輸類型、鎖定傳輸、傳輸寬度和傳輸保護
6.2.5突發訪問
6.2.6AHBLite總線層次化與互連
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文件系統支持
思考題
習題
參考文獻
主題書展
更多書展今日66折
您曾經瀏覽過的商品
購物須知
大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。
特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。
無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。
為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。
若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。