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