本書以德州儀器公司的TM4C1294系列微處理器為藍本,由淺入深地介紹了ARMCortex-M4內部結構、特點及片上功能模塊的工作原理和操作方法以及集成開發環境(CodeComposerStudio,CCS)的使用方法。本書還闡述了TM4C1294處理器系統外設、串行通信外設接口、模擬外設以及運動控制外設的功能特點、內部結構、初始化與配置以及寄存器映射與描述等。本書在后還介紹了基于TM4C12x和TM4C1294處理器的綜合應用實例,可使讀者迅速掌握基于ARMCortex-M4微處理器的應用技巧,并可向讀者提供配套開發板。本書既可以作為電子信息類的電子信息工程、自動化、電子科學與技術、通信工程、光電信息科學與工程、信息工程及相近專業的本專科生或研究生學習微處理器原理的教材,也可以作為相關專業技術人員的參考用書。本書注重知識點與讀者動手實踐相結合。
ARM Cortex-M4處理器是由ARM專門開發的新嵌入式處理器,具有浮點、DSP、并行計算等功能,用以滿足需要有效且易于使用的控制和信號處理功能混合的數字信號控制市場。其高效的信號處理功能與Cortex-M處理器系列的低功耗、低成本和易于使用的優點的組合,旨在滿足專門面向電動機控制、汽車、電源管理、嵌入式音頻和工業自動化市場的新興類別的靈活解決方案
當今,ARM技術被廣泛應用,領域涉及手機、數字機頂盒以及汽車制動系統和網絡路由器等,并且迅速向傳統的嵌入式領域滲透。全球95%以上的手機以及超過四分之一的電子設備都在使用ARM技術。
近些年來,隨著電子制造工藝的不斷發展進步,ARM Cortex-M4微處理器的成本也在不斷降低,已經與8位和16位微處理器的成本處于同等水平。如今,越來越多的微處理器供應商提供基于ARM的微處理器,這些產品在外設、性能、內存大小、封裝以及成本等方面具有越來越多的選擇。其中,基于ARM Cortex-M4微處理器是由ARM專門開發的新型嵌入式處理器,用以滿足有效且易于使用的控制和信號處理功能混合的數字信號控制市場。
本書基于ARM Cortex-M4內核的TM4C1294微處理器和CCS(Code Composer Studio)集成開發環境詳細介紹了ARM Cortex-M4原理與實踐。
本書注重知識點與實踐相結合。在概述ARM Cortex-M4微處理器資源后,介紹了Cortex-M4F微處理器的系統控制內容。之后介紹了CCS集成開發環境的使用,包括CCS工程的建立以及調試等。從第4章開始,在每一章節都會配有幾個應用例程,供讀者參考。所配的程序有的來自TI官方網站,作為基礎鞏固;有的來自編者項目開發中的實例,作為拓展提高。讀者在每學習完一個外設模塊后,都可以結合本書的應用例程,編寫對應的應用程序,并在Cortex-M4開發板上調試,進而讓讀者在實際操作中掌握該外設模塊的操作方法,真正實現理論與實踐相結合。本書所附程序均已在Cortex-M4開發板上調試通過。
本書共9章,具體內容如下。
第1章緒論,從總體上介紹ARM體系,以及Cortex內核的分類及特點,然后重點闡述ARM Cortex-M4微處理器的特點以及TI公司的Cortex-M4芯片TM4C1294。
第2章介紹Cortex-M4F微處理器的系統控制,包括系統控制相關信號的描述以及系統控制的功能概述。
第3章介紹TI公司集成開發環境CCS的基本知識及操作。
第4章介紹TM4C1294微處理器的內部存儲器和外部擴展接口,包括整體功能框圖,SRAM、ROM、Flash Memory和EEPROM的功能描述和相關寄存器映射,最后介紹了外部總線擴展接口EPI。
第5章重點闡述TM4C1294微處理器的系統外設,包括通用輸入/輸出端口(GPIO),通用定時器模塊(GPTM),看門狗定時器(WDT)和微型直接存儲器訪問(μDMA)等模塊的功能特點、內部結構、初始化與配置以及寄存器映射與描述。
第6章介紹TM4C1294微處理器的串行通信外設接口,包括通用異步接收/發送裝置UART、同步串行接口SSI、I2C總線、CAN總線、USB總線和以太網控制器等模塊的功能特點、內部結構、初始化與配置以及寄存器映射與描述。
第7章介紹TM4C1294微處理器的模擬外設,包括模擬比較器和模-數轉換器(ADC)模塊的功能特點、內部結構、初始化與配置以及寄存器映射與描述。
第8章介紹TM4C1294微處理器的運動控制外設,包括脈沖寬帶調制(PWM)和正交編碼接口(QEI)模塊的功能特點、內部結構、初始化與配置以及寄存器映射與描述。
第9章介紹基于TM4C12x的應用實例,包括基于TM4C123 Launchpad的步進電動機驅動應用設計以及Wi-Fi應用,基于TM4C1294的加速度計重力感應游戲、音樂播放器設計以及貪吃蛇游戲。
參與本書編寫工作的主要人員有陳朋、梁榮華和劉義鵬,最終方案的確定和本書的定稿工作由陳朋負責。德州儀器半導體技術(上海)有限公司王沁工程師負責第9章前3節內容的編寫。浙江工業大學梅一珉、歐林林、邢科新、陳德富和禹鑫燚教師參加了本教材的試用,并提供了具體的修改意見。感謝浙江工業大學控制科學與工程學科對本書出版的支持。感謝機械工業出版社的編輯,他們在本書的創作與出版過程中提出了很多寶貴意見,使本書不斷完善。
由于作者水平和實踐能力有限,書中難免會存在不足和疏漏之處,懇請讀者提出寶貴的意見,以便以后予以補充和修訂。
本書在出版之前,已經作為講義在編者學校本科學生中試用3年,融合編者多年工作經驗和心得體會。本書的反饋郵箱為chenpeng@zjuteducn,真誠希望得到來自讀者的寶貴意見和建議。
前言
第1章緒論
1.1 ARM體系概述
1.1.1 ARM簡介
1.1.2 ARM架構的發展
1.1.3 Cortex內核分類
1.2 ARM Cortex-M4微處理器
1.2.1 ARM Cortex-M4微處理器特點
1.2.2 Cortex-M4微處理器結構
1.2.3 Cortex-M4微處理器的編程模式
1.2.4 Cortex-M4微處理器的堆棧
1.2.5 Cortex-M4微處理器的內核寄存器
1.2.6 Cortex-M4微處理器的存儲器映射
1.2.7 Cortex-M4指令集
1.2.8 Cortex-M4的中斷與異常處理
1.3 TM4C1294微處理器
1.3.1 TM4C1294微處理器概述
1.3.2 TM4C1294微處理器結構
1.3.3 TM4C1294微處理器性能特點
1.4 思考與練習
第2章Cortex-M4F微處理器的系統控制模塊
2.1系統控制模塊的相關信號描述
2.2系統控制模塊的功能概述
2.2.1器件標識信息
2.2.2復位控制
2.2.3NMI控制
2.2.4電源控制
2.2.5時鐘控制
2.2.6工作模式控制
2.2.7系統初始化與配置
2.3思考與練習
第3章CCS集成開發環境
3.1集成開發環境CCS
3.1.1 CCS功能及特點
3.1.2安裝CCSv6
3.1.3啟動CCSv6
3.1.4新建CCS工程
3.1.5建立工程
3.1.6基本調試功能
3.1.7使用觀察窗口
3.1.8 CCS的其他基本操作
3.1.9 CCS編程簡介
3.2 TivaWare軟件
3.2.1 TivaWare功能及特點
3.2.2 TivaWare主要模塊介紹
3.3思考與練習
第4章TM4C1294微處理器內部存儲器和外部擴展接口
4.1 TM4C1294片內存儲器功能框圖
4.2 TM4C1294片內存儲器功能描述
4.2.1 SRAM
4.2.2 ROM
4.2.3 Flash Memory
4.2.4 EEPROM
4.3 TM4C1294寄存器映射與描述
4.4 TM4C1294外部總線擴展接口(EPI)
4.4.1 EPI功能與特點
4.4.2 EPI內部結構
4.4.3 EPI功能描述
4.4.4 EPI初始化與配置
4.4.5 EPI寄存器映射
4.4.6 EPI應用例程
4.5思考與練習
第5章TM4C1294微處理器系統外設
5.1通用輸入/輸出端口(GPIO)
5.1.1 GPIO功能與特點
5.1.2 GPIO功能描述
5.1.3 GPIO初始化與配置
5.1.4 GPIO寄存器映射與描述
5.1.5 GPIO應用例程
5.2通用定時器模塊(GPTM)
5.2.1 GPTM功能與特點
5.2.2 GPTM內部結構
5.2.3 GPTM功能描述
5.2.4 GPTM初始化與配置
5.2.5 GPTM寄存器映射與描述
5.2.6 GPTM應用例程
5.3看門狗定時器(WDT)
5.3.1 WDT功能與特點
5.3.2 WDT內部結構
5.3.3 WDT功能描述
5.3.4 WDT初始化與配置
5.3.5 WDT寄存器映射與描述
5.3.6 WDT應用例程
5.4微型直接存儲器訪問 (μDMA)
5.4.1 μDMA控制器功能與特點
5.4.2 μDMA控制器內部結構
5.4.3 μDMA控制器功能描述
5.4.4 μDMA控制器初始化與配置
5.4.5 μDMA通道控制結構體
5.4.6 μDMA寄存器映射與描述
5.4.7 μDMA應用例程
5.5思考與練習
第6章TM4C1294微處理器的串行通信外設接口
6.1通用異步收發器(UART)
6.1.1 UART功能與特點
6.1.2 UART內部結構
6.1.3 UART功能描述
6.1.4 UART初始化與配置
6.1.5 UART寄存器映射與描述
6.1.6 UART應用例程
6.2四路同步串行接口(QSSI)
6.2.1 QSSI功能與特點
6.2.2 QSSI內部結構
6.2.3 QSSI功能描述
6.2.4 QSSI初始化與配置
6.2.5 QSSI寄存器映射與描述
6.2.6 QSSI應用例程
6.3 I2C總線
6.3.1 I2C功能與特點
6.3.2 I2C內部結構
6.3.3 I2C功能描述
6.3.4 I2C初始化與配置
6.3.5 I2C寄存器映射與描述
6.3.6 I2C應用例程
6.4 CAN總線
6.4.1 CAN功能與特點
6.4.2 CAN控制器內部結構
6.4.3 CAN功能描述
6.4.4 CAN初始化與配置
6.4.5 CAN寄存器映射與描述
6.4.6 CAN應用例程
6.5 通用串行總線(USB)
6.5.1 USB功能與特點
6.5.2 USB內部結構
6.5.3 USB功能描述
6.5.4 USB初始化與配置
6.5.5 USB寄存器映射與描述
6.6以太網控制器
6.6.1以太網控制器的功能與特點
6.6.2以太網控制器的內部結構
6.6.3以太網控制器的功能描述
6.6.4以太網控制器的初始化與配置
6.6.5以太網控制器的寄存器映射與描述
6.7思考與練習
第7章TM4C1294微處理器的模擬外設
7.1 TM4C1294微處理器的模擬比較器
7.1.1 模擬比較器的內部結構
7.1.2模擬比較器的功能描述
7.1.3模擬比較器的內部參考電壓編程
7.1.4模擬比較器的初始化與配置
7.1.5模擬比較器的寄存器映射與描述
7.1.6模擬比較器的應用例程
7.2 TM4C1294微處理器的模-數轉換器(ADC)
7.2.1 ADC功能與特點
7.2.2 ADC內部結構
7.2.3 ADC功能描述
7.2.4 ADC初始化與配置
7.2.5 ADC寄存器映射與描述
7.2.6 ADC的應用例程
7.3思考與練習
第8章TM4C1294微處理器的運動控制外設
8.1脈沖寬度調制(PWM)
8.1.1 PWM功能與特點
8.1.2 PWM內部結構
8.1.3 PWM功能描述
8.1.4 PWM初始化與配置
8.1.5 PWM寄存器映射
8.1.6 PWM應用例程
8.2正交編碼器接口(QEI)
8.2.1 QEI功能與特點
8.2.2 QEI內部結構
8.2.3 QEI功能描述
8.2.4 QEI初始化與配置
8.2.5 QEI寄存器映射與描述
8.2.6 QEI應用例程
8.3思考與練習
第9章基于TM4C12x的綜合應用實例
9.1基于TM4C123 LaunchPad的硬件平臺介紹
9.1.1硬件平臺性能概述
9.1.2硬件平臺功能模塊介紹
9.1.3軟件介紹
9.2基于TM4C123 LaunchPad的步進電動機驅動應用設計
9.2.1TM4C1