微控制器原理及應用——基于TI C2000實時微控制器
定 價:59.8 元
叢書名:普通高等教育電子信息類系列教材
當前圖書已被 30 所學校薦購過!
查看明細
- 作者:蔡逢煌 王武 江加輝
- 出版時間:2022/12/1
- ISBN:9787111714828
- 出 版 社:機械工業(yè)出版社
- 中圖法分類:TP332.3
- 頁碼:
- 紙張:膠版紙
- 版次:
- 開本:16開
本書以TI公司C2000系列TMS320F28027PT微控制器為載體,介紹微控制器的基本原理和應用方法。本書以學生認知過程為導向組織內容,從簡單到復雜,從模塊到系統(tǒng),按照項目驅動的思路展開教學,著重培養(yǎng)學生的實踐應用能力。
全書共14章,分為3部分:第1部分(第1~4章)為系統(tǒng)平臺模塊,介紹嵌入式系統(tǒng)定義、開發(fā)板硬件平臺、嵌入式C語言、軟件架構和CCS集成開發(fā)環(huán)境;第2部分(第5~13章)為基本外設模塊,分別介紹TMS320F28027PT的*常用外設模塊,包括GPIO、中斷、定時器、eCAP、ePWM、ADC、SCI、SPI、I2C等,每個模塊先介紹通用知識,再介紹TMS320F28027PT相應模塊的工作原理、寄存器驅動函數、軟件思維導圖和應用實例;第3部分(第14章)為綜合案例,介紹C2000系列微控制器在電力電子控制系統(tǒng)中的應用,為后續(xù)從事微控制器系統(tǒng)的復雜工程設計奠定基礎。
本書可作為普通高校電氣工程、自動化等專業(yè)本科生或研究生的教材,也可供從事電力電子、機電一體化、自動控制等系統(tǒng)開發(fā)的工程技術人員參考。
從大學學生時期接觸MCS51單片機開始,在學習單片機、使用單片機進行科研工作期間,編者研讀了不少優(yōu)秀的單片機教材和芯片參考手冊。近十幾年來一直從事單片機的教學工作,時常參加單片機大學計劃教學研討會,聆聽了同行們的新教學理念和新想法,因此就有了撰寫本書的最初計劃。
單片機芯片種類繁多,包括MCS51、摩托羅拉、英飛凌、瑞薩、德州儀器等廠家的單片機,以及最近的ARM系列。編程語言從匯編語言到現(xiàn)在的C語言,芯片內部存儲資源不斷豐富,C語言的結構化,表明單片機已進入工具化的時代。從2014年起,編者在福州大學自動化專業(yè)進行試點,弱化硬件寄存器的講授,引入軟件工程理念,重新構建軟件架構,從原理轉向應用。理論上任何一種型號的單片機都可以作為案例來講授這種新觀念。
本書選用TI公司的TMS320F28027為研究對象,原因有以下兩方面:其一,2002年編者涉足電力電子系統(tǒng)的數字化研究工作,對TI公司不同時期的C2000系列MCU芯片,諸如240、2407、2812、28335、28377D等,都有較好的項目應用經驗;其二,得益于TI公司中國大學計劃,基于他們無償提供的幾百套LaunchPad開發(fā)板,我們建立了移動的單片機實驗室。本書選擇F28027為腳本,借助它來闡述外設模塊的工作原理,讀者要跳出這個局限,真正去讀懂并領會軟件的架構,才是本書真正的“用”意。
簡單回憶一下以F28027為腳本的教學歷程。2012年,編者開始在電氣工程及其自動化專業(yè)針對大四學生開設F28027的選修課,參考教材是英文版芯片手冊,為學生提供LaunchPad 28027作為實驗器材。2014年,“嵌入式系統(tǒng)原理”課程,成為自動化專業(yè)學生的專業(yè)基礎課,2017年該課程更名為“單片機原理及應用”,授課的內容沒有變化。為了配合課程建設,課題組在福州大學課程中心建立了“嵌入式系統(tǒng)原理”網絡課程,課程的講稿發(fā)布于網絡課程上。2014年,編者把課程教案整理匯編成為“嵌入式系統(tǒng)技術基礎與實踐”,各種原因導致未正式出版。2019年,我們在中國大學MOOC平臺上開設了“嵌入式系統(tǒng)原理”課程,自編內容作為線上課程的文本資源。本書成稿時增補了不少內容,如軟件思維導圖和綜合案例介紹等。需要特別說明的是,本書中不管是單片機系統(tǒng)還是嵌入式系統(tǒng),都是指微控制器(MCU)。
本書提出了一種統(tǒng)一的軟件和硬件架構。現(xiàn)有的嵌入式系統(tǒng)課程大多數在外設模塊教學時是孤立的,只注重外設模塊的功能。該架構設置軟件接口實現(xiàn)對外設模塊的平行化,不管是功能復雜還是功能簡單的外設模塊,都是一樣的模式。在軟件架構上,基于編者多年的教學實踐,本書提出了四層架構模型,即主程序層、應用模塊層、用戶模塊層、MCU驅動模塊層。該軟件架構的特點是上層可以調用下層的模塊函數,同一層模塊不能互相調用,從而利用分層技術實現(xiàn)軟件的“高內聚,低耦合”這一軟件工程思想,實現(xiàn)了軟件開發(fā)和維護的高度靈活性,以及功能模塊的復用度。
使用本書時,可以選用德州儀器公司開發(fā)的LaunchPad口袋實驗室。該口袋實驗室集成了編程器、仿真器、28027運行系統(tǒng)、按鍵和LED顯示,功能簡單夠用,具有小型化和低成本化的特點,可以很好地解決嵌入式類課程的實踐問題。借助口袋實驗室,學生不需要進入實驗室就可以進行實驗,打破了傳統(tǒng)實驗室使用的空間限制,為泛在學習的實踐活動提供技術保障。
福州大學科華恒盛電力電子研究中心的研究生陳偉東、雷文浩、石安邦、詹銘松、謝鴻彪、林俊騰、楊富陽、廖淑瀅、梁鑫釗、張家翔、龔興陽和沈明杰等參與了本書的資料整理、硬件設計和代碼驗證等工作。本書編寫過程中,還得到了TI中國大學計劃的鼎力支持,在此向他們表示衷心的感謝!
由于時間倉促和水平有限,雖盡力完善,但書中難免有疏漏和不足之處,懇請讀者批評指正,以便持續(xù)改進。
編者
前言
電子資源一覽表
第1章嵌入式系統(tǒng)概述1
1.1嵌入式系統(tǒng)簡介1
1.1.1什么是嵌入式系統(tǒng)1
1.1.2嵌入式系統(tǒng)和通用計算機系統(tǒng)的比較1
1.1.3嵌入式系統(tǒng)的特點2
1.1.4嵌入式系統(tǒng)的分類3
1.2MCU簡介5
1.2.1MCU的基本組成5
1.2.2MCU的特點7
1.2.3MCU的發(fā)展7
1.2.4MCU的應用7
1.3TI C2000系列實時微控制器8
1.3.1C2000系列實時微控制器簡介8
1.3.2芯片命名規(guī)則9
1.3.3芯片特性9
1.3.4芯片封裝12
思考與練習13
第2章C2000系列微控制器及硬件平臺14
2.1MCU硬件資源14
2.1.1資源概覽14
2.1.2引腳說明15
2.2MCU硬件功能概述19
2.3內存映射23
2.4時鐘27
2.5看門狗電路29
2.6低功耗模式30
2.7片內電壓調節(jié)器/欠電壓復位/上電復位31
2.8硬件平臺32
2.8.1MCU小系統(tǒng)32
2.8.2LaunchPad實驗板32
思考與練習36
第3章微控制器程序設計基礎38
3.1編程語言38
3.2匯編語言簡介40
3.2.1TMS320C28x匯編指令40
3.2.2CPU 執(zhí)行指令的過程41
3.3嵌入式C語言簡介43
3.3.1數據及其處理43
3.3.2程序流控制46
3.3.3函數49
3.3.4構造型數據類型50
3.3.5指針52
3.3.6編譯預處理53
3.3.7C28x IQ數學庫介紹54
3.4軟件開發(fā)工具概述57
思考與練習59
第4章軟件架構與CCS集成開發(fā)環(huán)境60
4.1寄存器的C語言訪問60
4.1.1了解GPIO寄存器60
4.1.2使用結構體指針操作寄存器62
4.2軟件架構64
4.2.1MCU模塊層——固件函數庫65
4.2.2用戶模塊層66
4.2.3應用層67
4.2.4主程序層67
4.3文件管理68
4.4CCS集成開發(fā)環(huán)境77
4.4.1CCS安裝注意事項77
4.4.2創(chuàng)建工作區(qū)77
4.4.3導入項目和編譯項目78
4.4.4仿真調試82
4.5CMD文件83
4.5.1COFF格式和段的概念83
4.5.2CMD文件簡介85
4.6軟件的啟動引導過程89
4.7將函數從Flash復制到RAM運行91
思考與練習92
第5章通用輸入輸出口93
5.1GPIO的基礎知識93
5.1.1GPIO輸出驅動器93
5.1.2GPIO輸入驅動器95
5.1.3GPIO引腳管理96
5.2C2000的GPIO模塊96
5.2.1GPIO概述96
5.2.2GPIO內部結構97
5.2.3GPIO功能描述97
5.2.4GPIO輸入濾波98
5.3GPIO的軟件架構99
5.3.1寄存器及驅動函數99
5.3.2軟件思維導圖102
5.4應用實例——“我的燈,我做主”103
思考與練習106
第6章中斷系統(tǒng)107
6.1中斷的基礎知識107
6.1.1什么是中斷107
6.1.2中斷的名詞術語108
6.1.3中斷處理過程108
6.2C2000的中斷系統(tǒng)109
6.2.1中斷系統(tǒng)概述109
6.2.2PIE內部結構111
6.3中斷系統(tǒng)的軟件架構121
6.3.1寄存器及驅動函數121
6.3.2軟件思維導圖123
6.4應用實例——“等待觸發(fā),輕松
應對”124
思考與練習128
第7章CPU定時器129
7.1定時器的基礎知識129
7.2C2000的定時器130
7.2.1定時器概述130
7.2.2定時器內部結構130
7.2.3定時器功能描述131
7.3定時器的軟件架構131
7.3.1寄存器及驅動函數131
7.3.2軟件思維導圖132
7.4應用實例——“我的時間準”133
思考與練習135
第8章增強型捕獲模塊137
8.1捕獲模塊的基礎知識137
8.2C2000的eCAP138
8.2.1eCAP概述138
8.2.2eCAP內部結構138
8.2.3eCAP功能描述138
8.3eCAP的軟件架構142
8.3.1寄存器及驅動函數142
8.3.2軟件思維導圖143
8.4應用實例——“捕捉瞬息萬變”144
思考與練習147
第9章增強型脈寬調制模塊148
9.1PWM的基礎知識148
9.1.1PWM概述148
9.1.2PWM信號的產生148
9.2C2000的ePWM149
9.2.1ePWM概述149
9.2.2時基(TB)子模塊150
9.2.3計數比較(CC)子模塊155
9.2.4動作限定(AQ)子模塊157
9.2.5死區(qū)(DB)子模塊162
9.2.6PWM斬波(PC)子模塊165
9.2.7故障聯(lián)防(TZ)子模塊168
9.2.8事件觸發(fā)與中斷管理(ET)
子模塊169
9.2.9軟件思維導圖173
9.3應用實例——“PWM,時間寵兒”175
思考與練習177
第10章模/數轉換器179
10.1ADC的基礎知識179
10.1.1ADC轉換步驟179
10.1.2ADC主要性能參數180
10.1.3ADC主要類型181
10.1.4ADC工作流程182
10.1.5ADC應用注意事項182
10.2C2000的ADC模塊183
10.2.1ADC概述183
10.2.2ADC功能框圖183
10.2.3ADC功能描述184
10.3ADC的軟件架構193
10.3.1寄存器及驅動函數193
10.3.2軟件思維導圖194
10.4應用實例——“模擬數字兩個
世界”196
思考與練習199
第11章串行通信接口200
11.1串行通信的基礎知識200
11.1.1串行通信與并行通信200
11.1.2數據位的表示201
11.1.3異步串行通信的幀格式201
11.1.4串行通信的波特率202
11.1.5奇偶校驗202
11.1.6串行通信的傳輸方式202
11.1.7RS-232串口203
11.2C2000的SCI模塊203
11.2.1SCI概述203
11.2.2SCI內部結構204
11.2.3SCI功能描述204
11.2.4SCI多機通信模式210
11.3SCI的軟件架構212
11.3.1寄存器及驅動函數212
11.3.2軟件思維導圖213
11.4應用實例——“一定要把數據送
出去”215
思考與練習220
第12章串行外設接口221
12.1SPI的基礎知識221
12.1.1SPI總線接口221
12.1.2SPI的工作原理222
12.2C2000的SPI模塊223
12.2.1SPI概述223
12.2.2SPI內部結構224
12.2.3SPI功能描述224
12.3SPI的軟件架構230
12.3.1寄存器及驅動函數230
12.3.2軟件思