嵌入式系統(tǒng)教程——基于Tiva C系列ARM Cortex-M4微控制器
定 價:69 元
- 作者:沈建華,郝立平 等 著
- 出版時間:2015/5/1
- ISBN:9787512417588
- 出 版 社:北京航空航天大學出版社
- 中圖法分類:TP332
- 頁碼:
- 紙張:膠版紙
- 版次:1
- 開本:16開
《嵌入式系統(tǒng)教程——基于Tiva C系列ARM Cortex-M4微控制器》介紹嵌入式系統(tǒng)的基礎知識,并以ARM Cortex-M4內(nèi)核MCU TM4C123x為核心,詳細講述MCU應用相關的各種外設模塊的原理和編程結(jié)構,并給出操作例程代碼,包括電源與時鐘管理、存儲器、通用輸入/輸出(GPIO)、定時器、PWM、異步和同步通信接口(UART、SPI、I2C等)、模擬外設(ADC、DAC、AC)等。同時,對嵌入式軟件設計方法、嵌入式C語言基礎、RTOS等作了簡明闡述。最后介紹MCU的軟硬件開發(fā)環(huán)境、軟件庫,以及低功耗設計和電磁兼容性基礎等。本書配套有完整的教學資源,包括PPT課件、DY-Tiva-PB口袋實驗平臺和實驗指導書等。本書可作為高等院校計算機、電子、自動化、儀器儀表等專業(yè)嵌入式系統(tǒng)、微機接口、單片機等課程的教材,也適合廣大從事單片機應用系統(tǒng)開發(fā)的工程技術人員學習、參考。
嵌入式系統(tǒng)教程--基于Tiva C系列ARM Cortex-M4微控制器
目前,很多高校都開設了嵌入式系統(tǒng)的課程,有的學校還有嵌入式系統(tǒng)專業(yè),關于嵌入式系統(tǒng)教學內(nèi)容的討論也隨之而來。其實,嵌入式系統(tǒng)這個概念很大,計算機技術和計算機應用技術的每個方面,幾乎都可以找到與嵌入式系統(tǒng)有特殊關聯(lián)的內(nèi)容,如微處理器架構、硬件系統(tǒng)設計、軟件設計與優(yōu)化、算法與控制、接口與通信、嵌入式操作系統(tǒng)、嵌入式系統(tǒng)設計、應用技術等。因此,完整的嵌入式系統(tǒng)教學內(nèi)容,應該是一個課程體系,包括一系列的課程。對于普通院校的一門“嵌入式系統(tǒng)”類課程,則不必拘泥(或統(tǒng)一)于某一特定的內(nèi)容,完全可以根據(jù)各自學校、專業(yè)的特點,選定教學內(nèi)容。為此,我們也查閱了美國一些高校(如哥倫比亞大學、德克薩斯大學、密西根大學等)的“嵌入式系統(tǒng)”課程教學內(nèi)容,各高校類似名稱的課程,其教學內(nèi)容也相差很多,有的偏重于系統(tǒng)建模,有的偏重于控制和應用?傮w而言,偏重于應用、控制方面的,選用微控制器(MCU)教學的較為普遍。在國內(nèi)高校,除了專門設立嵌入式系統(tǒng)專業(yè)外,有條件的還可以開設一系列嵌入式系統(tǒng)課程。對于一般的學校,涉及嵌入式系統(tǒng)相關教學內(nèi)容的,可能也就是1~2門課。對于計算機專業(yè)而言,大多是原來“微機原理與接口”、“單片機原理與應用”這類課程教學內(nèi)容的更新。我們?nèi)A東師范大學計算機系也是如此。目前,“嵌入式系統(tǒng)“這門課,就是原來“微機原理與接口”的改進版,希望把原來基于x86系統(tǒng)的內(nèi)容(包括825x系列接口芯片),改為基于ARM MCU的內(nèi)容。考慮到計算機專業(yè)軟件課程(包括操作系統(tǒng))已經(jīng)很多,所以我們這門課的教學內(nèi)容更多定位于MCU及其各種外設的原理與應用。隨著MCU的應用日趨廣泛,對其綜合性能、功能的要求也越來越高。隨著物聯(lián)網(wǎng)(IoT)時代的到來,新的應用出現(xiàn)了一些新的需求,主要體現(xiàn)在以下幾個方面:(1) 以電池供電的應用越來越多,而且由于產(chǎn)品體積的限制,很多是用小型電池供電,要求系統(tǒng)功耗盡可能低、電源管理功能完善,如智能儀表、玩具等。(2) 應用的復雜性,對處理器的功能和性能要求也不斷提高,既要外設豐富,功能靈活,又要有一定的運算能力,能處理一些實時算法和協(xié)議,如基于ZigBee、WiFi的網(wǎng)絡化產(chǎn)品。(3) 產(chǎn)品更新速度快,開發(fā)時間短,希望開發(fā)工具簡單、廉價,功能完善。特別是開發(fā)環(huán)境、工具要有延續(xù)性,便于代碼移植,同時有豐富的軟件庫支持;贏RM Cortex-M處理器的各種MCU,很好地滿足了現(xiàn)代MCU應用的上述需求,也符合嵌入式系統(tǒng)發(fā)展的趨勢,是嵌入式系統(tǒng)教學、實驗平臺的最佳選擇。嵌入式系統(tǒng)教學是注重實踐的?紤]到目前MCU開發(fā)工具已經(jīng)非常成熟、廉價,而且學生基本都有自己的PC或筆記本電腦,為了讓學生有盡可能多的實驗時間,做盡可能多的實驗內(nèi)容,希望每個學生都有一個小巧的MCU實驗平臺,可以在學生任何方便的時間和地點進行實驗,擺脫到固定實驗室做實驗的束縛,于是提出了“口袋實驗室”的設想。該設想得到了德州儀器(TI)大學計劃的大力支持,為此我們編寫了教材、教案,并設計開發(fā)了配套的“口袋實驗板”(DY-Tiva-PB)及相應的實驗例程,構成了一套較為完整的教學、實驗系統(tǒng)。考慮到教學內(nèi)容的完整性、學生基礎的差異性,以及便于學習參考,本書的第7~9章還補充了嵌入式軟件設計方法、嵌入式C語言基礎、軟硬件開發(fā)環(huán)境以及低功耗設計和電磁兼容性方面的基礎知識。配套的口袋實驗平臺采用了美國德州儀器(TI)的新一代Tiva C系列MCU TM4C123x,它率先采用65 nm閃存工藝技術制造,基于ARM Cortex-M4內(nèi)核,為實現(xiàn)更高速、更大容量、更低功耗的MCU奠定了發(fā)展空間。Tiva C系列的軟件開發(fā)建立在通用軟件庫基礎之上,有助于簡化在未來Tiva ARM MCU中的軟件移植,以充分滿足各種互聯(lián)應用需求。華東師范大學計算機系嵌入式系統(tǒng)實驗室曾與多家全球著名的半導體廠商(如TI、Atmel、ST等)合作,在MCU應用開發(fā)、推廣方面積累了豐富的經(jīng)驗。本書內(nèi)容也是結(jié)合了我們多年“微機原理與接口”、“嵌入式系統(tǒng)引論”等課程教學及MCU應用項目的開發(fā)經(jīng)驗,并經(jīng)過了一屆學生的試用。為了讓廣大讀者更快地學好、用好Tiva C系列MCU,除了編著出版此書,我們還編著了更貼近實際應用的《Tiva C系列ARM Cortex-M4微控制器實戰(zhàn)演練》一書,其中包含了大量具體的實驗例程,敬請關注。前言
參與本書編寫和資料整理、硬件設計和代碼驗證等工作的,還有華東師范大學計算機系彭曉晶、候立陽、賀佳杰、王昕、林曉祥、胡旭、李凱、郝立平等。在本書統(tǒng)稿過程中,得到了TI大學計劃經(jīng)理沈潔、黃爭、崔萌,上海德研電子科技有限公司陳宮、姜哲的大力支持,在此向他們表示衷心的感謝!由于時間倉促和水平所限,本書有些內(nèi)容還不盡完善,錯誤之處也在所難免,懇請讀者批評指正,以便我們及時修正。有關此書的信息和配套資源,會及時發(fā)布在網(wǎng)站上。
沈建華
2015年1月于華東師范大學
第1章嵌入式系統(tǒng)與微控制器
1.1嵌入式系統(tǒng)概述
1.1.1嵌入式系統(tǒng)的發(fā)展與應用
1.1.2嵌入式系統(tǒng)的特點
1.1.3嵌入式系統(tǒng)的組成
1.1.4嵌入式系統(tǒng)的種類
1.1.5嵌入式系統(tǒng)的調(diào)試方法
1.2MCU概述
1.2.1MCU的發(fā)展歷史
1.2.2MCU的特點
1.3ARM Cortex-M4處理器簡介
1.3.1ARM處理器架構
1.3.2Cortex-M4處理器
1.4Tiva系列MCU
1.4.1TM4C123系列
1.4.2TM4C129系列
1.5TM4C123GH6PM引腳與電氣特性
1.5.1GPIO引腳功能選擇
1.5.2TM4C123GH6PM電氣特性
思考題與習題
第2章系統(tǒng)控制
2.1功能描述
2.1.1器件標識
2.1.2復位控制
2.1.3電源控制
2.1.4時鐘控制
2.1.5非屏蔽中斷
2.1.6低功耗模式控制
2.2初始化及配置
2.3操作示例
2.3.1程序流程圖
2.3.2庫函數(shù)說明
2.3.3示例代碼
2.3.4操作現(xiàn)象
思考題與習題
第3章存儲器
3.1存儲器簡介
3.1.1SRAM
3.1.2DRAM
3.1.3ROM
3.1.4Flash
3.1.5EEPROM
3.1.6存儲器擴展
3.1.7地址譯碼
3.2存儲器空間映射
3.2.1普林斯頓結(jié)構
3.2.2哈佛結(jié)構
3.2.3大小端模式
3.3Tiva微控制器存儲器
3.3.1TM4C123GH6PM存儲器地址映射
3.3.2TM4C123GH6PM的ROM
3.3.3TM4C123GH6PM的Flash
3.3.4EEPROM
3.4操作示例
3.4.1程序流程圖
3.4.2庫函數(shù)說明
3.4.3示例代碼
3.4.4操作現(xiàn)象
思考題與習題
第4章基本接口與外設
4.1通用輸入/輸出(GPIO)
4.1.1GPIO簡介
4.1.2Tiva微控制器GPIO
4.1.3數(shù)據(jù)控制
4.1.4中斷控制
4.1.5初始化及配置
4.1.6操作示例
4.2通用定時器(Timer)
4.2.1定時器簡介
4.2.2Tiva微控制器定時器
4.2.3初始化及配置
4.2.4操作示例
4.3脈沖寬度調(diào)節(jié)器(PWM)
4.3.1PWM簡介
4.3.2Tiva微控制器PWM
4.3.3初始化及配置
4.3.4操作示例
4.4看門狗定時器(WDT)
4.4.1WDT簡介
4.4.2Tiva微控制器WDT
4.4.3初始化及配置
4.4.4操作示例
4.5微型直接內(nèi)存訪問(μDMA)
4.5.1DMA傳輸數(shù)據(jù)過程
4.5.2Tiva微控制器μDMA介紹
4.5.3初始化及配置
4.5.4操作示例
4.6休眠控制與RTC
4.6.1休眠模塊簡介
4.6.2Tiva微控制器休眠模塊與RTC
4.6.3初始化及配置
4.6.4操作示例
思考題與習題
第5章通信接口與外設
5.1基本概念
5.2異步串行通信接口(UART)
5.2.1UART簡介
5.2.2Tiva微控制器的UART
5.2.3初始化及配置
5.2.4操作示例
5.3同步串行接口(SSI)
5.3.1SSI簡介
5.3.2數(shù)據(jù)傳輸
5.3.3極性、相位和幀格式
5.3.4Tiva微控制器的SSI
5.3.5初始化及配置
5.3.6操作示例
5.4I2C接口
5.4.1I2C簡介
5.4.2Tiva微控制器的I2C
5.4.3初始化及配置
5.4.4操作示例
5.5CAN模塊
5.5.1CAN簡介
5.5.2Tiva微控制器的CAN
5.6USB控制器
5.6.1USB簡介
5.6.2Tiva微控制器的USB
思考題與習題
第6章模擬外設
6.1模/數(shù)轉(zhuǎn)換器(ADC)
6.1.1ADC簡介
6.1.2Tiva微控制器的ADC
6.1.3數(shù)據(jù)比較器單元
6.1.4初始化及配置
6.1.5操作示例
6.2模擬比較器(AC)
6.2.1AC簡介
6.2.2Tiva微控制器的AC
6.2.3初始化及配置
6.2.4操作示例
6.3數(shù)/模轉(zhuǎn)換器(DAC)
6.3.1DAC7512的基本原理與特點
6.3.2DAC工作模式
6.4正交編碼器(QEI)
6.4.1Tiva微控制器的QEI
6.4.2中斷控制
6.4.3初始化及配置
思考題與習題
第7章嵌入式軟件設計
7.1嵌入式C語言基礎
7.1.1嵌入式C語言程序設計
7.1.2編程風格
7.1.3數(shù)據(jù)類型及聲明
7.1.4操作符與表達式
7.2嵌入式系統(tǒng)軟件組成
7.2.1裸機嵌入式系統(tǒng)軟件
7.2.2初始化引導程序
7.2.3設備驅(qū)動程序
7.2.4庫函數(shù)
7.3嵌入式系統(tǒng)軟件設計方法
7.3.1前后臺系統(tǒng)
7.3.2中斷(事件)驅(qū)動系統(tǒng)
7.3.3巡回服務系統(tǒng)
7.3.4基于定時器的巡回服務系統(tǒng)
7.4RTOS基礎
7.4.1RTOS的基本概念
7.4.2使用RTOS的優(yōu)勢
7.4.3RTOS的功能組成
7.4.4常用的RTOS
7.5FreeRTOS
7.5.1FreeRTOS的體系結(jié)構
7.5.2FreeRTOS系統(tǒng)的任務調(diào)度機制
7.5.3FreeRTOS系統(tǒng)的任務管理機制
7.5.4FreeRTOS任務通信與同步機制
7.5.5FreeRTOS移植到微控制器的方法
7.6FreeRTOS操作示例
7.6.1FreeRTOS庫函數(shù)說明
7.6.2示例代碼
思考題與習題
第8章低功耗與電磁兼容
8.1低功耗設計方法
8.1.1利用I/O引腳為外部器件供電
8.1.2電源管理單元的設計
8.1.3動態(tài)改變CPU的時鐘頻率
8.1.4軟件系統(tǒng)的低功耗設計
8.2電源設計
8.2.1電池的選擇
8.2.2超低靜態(tài)電流LDO
8.2.3直流/直流轉(zhuǎn)換器
8.3電磁兼容性
8.3.1電磁干擾的形成
8.3.2電磁兼容的常用元器件
8.3.3電磁兼容的常用技巧
思考題與習題
第9章軟件開發(fā)環(huán)境
9.1常用軟件開發(fā)工具
9.2Keil MDK簡介
9.2.1Keil MDK-ARM的安裝
9.2.2Keil MDK-ARM工程的建立與調(diào)試
9.3CCSv6軟件開發(fā)環(huán)境
9.3.1CCSv6概述
9.3.2CCSv6安裝
9.3.3CCSv6工程開發(fā)
9.4TivaWare庫
9.4.1外設驅(qū)動庫
9.4.2圖形庫
9.4.3USB庫
9.4.4IQMath庫
9.4.5傳感器庫
思考題與習題
第10章硬件實驗平臺
10.1LaunchPad概述
10.1.1BoosterPacks
10.1.2規(guī)格
10.2LaunchPad硬件資源
10.2.1功能描述
10.2.2電源管理
10.2.3內(nèi)部電路調(diào)試接口(ICDI)
10.3DY-Tiva-PB擴展板簡介
10.3.1DY-Tiva-PB硬件規(guī)格
10.3.2DY-Tiva-PB功能單元介紹
10.3.3DY-Tiva-PB實驗目錄
思考題與習題
附錄TivaWare庫函數(shù)清單
參考文獻