嵌入式DSP的原理與應(yīng)用基于TMS320F28335
定 價(jià):59 元
- 作者:馬駿杰 編著
- 出版時(shí)間:2016/3/1
- ISBN:9787512420670
- 出 版 社:北京航空航天大學(xué)出版社
- 中圖法分類:TN911.72
- 頁碼:406
- 紙張:膠版紙
- 版次:1
- 開本:16K
本書以TMS320F28335(簡(jiǎn)稱F28335)的工程應(yīng)用為主線,從電力電子產(chǎn)品的嵌入式應(yīng)用角度出發(fā),介紹了其軟硬件的開發(fā)方法;例程內(nèi)容力求涵蓋電力電子技術(shù)中所有的控制、算法、邏輯等操作.本書以提高讀者的DSP應(yīng)用水平為目的,本著循序漸進(jìn)的原則,前半部分基礎(chǔ)簡(jiǎn)單,后半部分難度較高,詳細(xì)介紹了浮點(diǎn)算法開發(fā)、程序固化、FLASH 片上升級(jí)優(yōu)化、用戶自定義BootLoader等內(nèi)容.本書例程不僅調(diào)試通過而且其基本思想均應(yīng)用于目前主流電力電子產(chǎn)品中,具有很高的參考和實(shí)用價(jià)值.
本書摒棄以往翻譯TI數(shù)據(jù)手冊(cè)的弊端,結(jié)構(gòu)更加嚴(yán)謹(jǐn),內(nèi)容更加注重理論與實(shí)際的結(jié)合,可作為自動(dòng)化專業(yè)、電氣工程專業(yè)研究生和工程技術(shù)人員的參考用書.
隨著電力電子技術(shù)及相關(guān)控制理論的快速發(fā)展,高性能、高精度、高集成度的電力電子產(chǎn)品目前已經(jīng)成為市場(chǎng)主流,這也對(duì)控制器性能的要求越來越高.TMS320F2833x(簡(jiǎn)稱F2833x)屬于TI公司TMS320C2000(簡(jiǎn)稱C2000)系列DSP產(chǎn)品,具有強(qiáng)大的數(shù)字信號(hào)處理功能.
2004年我第一次接觸的DSP是2812,遺憾的是只應(yīng)用了其中的某幾個(gè)模塊.后來加入到全球知名的某電力電子公司從事嵌入式開發(fā)工作,系統(tǒng)地在TI公司開發(fā)的2812、2803x、28016等Piccolo系列DSP、F2833x系列Delfino以及TMS320F2837xD雙核系列DSP的基礎(chǔ)上進(jìn)行了產(chǎn)品開發(fā).如果說實(shí)驗(yàn)室的工作只是在DSP的基礎(chǔ)上做一些理論研究,分散、獨(dú)立地使用DSP的各個(gè)模塊,那么工作中尤其是對(duì)于產(chǎn)品的設(shè)計(jì),我們會(huì)盡可能地去挖掘DSP的功能,甚至覺得原本豐富的資源都變得如此緊張了.我在參觀TI公司總部時(shí)與其工程師的交談更加明確了這一點(diǎn):C2000系列并非只是功能強(qiáng)大的“單片機(jī)”,而是各個(gè)模塊內(nèi)部相互強(qiáng)化,應(yīng)用在電力電子控制領(lǐng)域的數(shù)字信號(hào)處理器.
本書是在嚴(yán)格參考TI數(shù)據(jù)手冊(cè)的基礎(chǔ)上結(jié)合作者多年的DSP開發(fā)經(jīng)驗(yàn)整理、歸納而成的,旨在達(dá)到理論與實(shí)踐的結(jié)合、知識(shí)與案例的統(tǒng)一,注重培養(yǎng)讀者運(yùn)用知識(shí)創(chuàng)新能力和解決實(shí)際問題的工程能力.
全書共分為12章.第1~8章為F2833x的基本應(yīng)用,內(nèi)容涵蓋F28335幾乎所有模塊,對(duì)比了2812、2808等DSP與F2833x系列的不同點(diǎn),旨在希望讀者快速掌握不同系列的特點(diǎn).每章的應(yīng)用實(shí)例不僅調(diào)試通過且其思想均已應(yīng)用在市場(chǎng)主流電力電子產(chǎn)品中,具有很高的應(yīng)用和參考價(jià)值.第9~12章屬于DSP的高級(jí)應(yīng)用,難度較高但工程實(shí)用性很強(qiáng).第9章系統(tǒng)地分析了FPU 模塊,歸納總結(jié)了浮點(diǎn)指令及庫函數(shù)應(yīng)用,其中加入了大量的例程也是希望讀者能夠掌握其指令特點(diǎn).第10章和第11章系統(tǒng)、詳盡地分析了API的使用,BootLoader和目前常見的片上FLASH 升級(jí)方案.其中如何自行建立Boot使其具有遠(yuǎn)程FLASH 升級(jí)功能有相當(dāng)高的工程應(yīng)用價(jià)值.第12章為電力電子技術(shù)的應(yīng)用,采用電力電子技術(shù)基本理論與DSP應(yīng)用相結(jié)合,其中所包含的內(nèi)容均代表了當(dāng)下電力電子控制領(lǐng)域核心、常用、流行的元素,書中所給出的程序及其思想也為讀者擴(kuò)展思維提供了幫助.
本書由哈爾濱理工大學(xué)的馬駿杰編寫并統(tǒng)稿,張思艷老師參與編寫了第4章和第6章.感謝李全利教授、王旭東教授和王哈力教授對(duì)本書出版的關(guān)心,感謝那些年陪伴我在電力電子科研道路上奮斗過的小伙伴們,感謝TI深圳辦事處的工程師對(duì)本書編寫提出的寶貴意見,還要感謝我的父母、岳父母、妻子給我的關(guān)愛和支持,并將此書獻(xiàn)給我即將出生的寶貝“子越”.
此外,本書還得到了汽車電子驅(qū)動(dòng)控制與系統(tǒng)集成教育部工程研究中心、國(guó)家自然科學(xué)基金(51177031)、黑龍江省科技攻關(guān)項(xiàng)目(GB08A306)的大力支持,在此對(duì)相關(guān)的老師與同學(xué)表示衷心感謝!
由于作者水平有限,書中不妥之處在所難免,敬請(qǐng)讀者提出寶貴意見和建議.
作 者2015年9月13日
第1章 緒 論………………………………………………………………………… 1
1.1 數(shù)字信號(hào)處理………………………………………………………………… 1
1.1.1 模擬和數(shù)字信號(hào)的處理方式…………………………………………… 1
1.1.2 數(shù)字信號(hào)處理的優(yōu)缺點(diǎn)………………………………………………… 2
1.2 DSP的發(fā)展及特點(diǎn)…………………………………………………………… 3
1.3 DSP產(chǎn)品簡(jiǎn)介………………………………………………………………… 5
1.3.1 TI公司的DSP產(chǎn)品…………………………………………………… 5
1.3.2 TMS320C28x產(chǎn)品簡(jiǎn)介………………………………………………… 6
第2章 F28335的結(jié)構(gòu)原理………………………………………………………… 8
2.1 F28335的內(nèi)部結(jié)構(gòu)…………………………………………………………… 8
2.2 F28335的CPU ……………………………………………………………… 10
2.2.1 CPU 運(yùn)算單元………………………………………………………… 10
2.2.2 CPU 寄存器組………………………………………………………… 12
2.2.3 輔助寄存器算術(shù)單元ARAU ………………………………………… 14
2.2.4 FPU 浮點(diǎn)運(yùn)算單元…………………………………………………… 15
2.3 F28335的存儲(chǔ)器及應(yīng)用…………………………………………………… 15
2.3.1 SARAM 存儲(chǔ)器………………………………………………………… 17
2.3.2 FLASH 及使用詳解…………………………………………………… 17
2.3.3 BootROM ……………………………………………………………… 22
2.3.4 CSM 代碼安全模塊及使用詳解……………………………………… 24
2.3.5 OTP存儲(chǔ)器…………………………………………………………… 31
2.3.6 外設(shè)幀…………………………………………………………………… 31
2.3.7 外部存儲(chǔ)器接口………………………………………………………… 32
2.4 外設(shè)及引腳功能……………………………………………………………… 33
2.5 F28335的時(shí)鐘及控制……………………………………………………… 36
2.5.1 系統(tǒng)時(shí)鐘的產(chǎn)生………………………………………………………… 36
2.5.2 系統(tǒng)時(shí)鐘的分配………………………………………………………… 37
2.5.3 F28335的低功耗模式及相關(guān)寄存器………………………………… 42
2.5.4 F28335的看門狗模塊………………………………………………… 44
2.6 F28335的CPU 定時(shí)器……………………………………………………… 47
2.6.1 定時(shí)器結(jié)構(gòu)……………………………………………………………… 47
2.6.2 定時(shí)器中斷申請(qǐng)………………………………………………………… 48
2.6.3 定時(shí)器寄存器及位域結(jié)構(gòu)體定義……………………………………… 48
2.6.4 定時(shí)器應(yīng)用例程———如何記錄函數(shù)的運(yùn)行時(shí)間……………………… 51
第3章 集成開發(fā)環(huán)境及程序開發(fā)語言…………………………………………… 53
3.1 CCS集成開發(fā)環(huán)境………………………………………………………… 53
3.1.1 CCS集成的工具軟件………………………………………………… 53
3.1.2 CCSv5.4安裝及基本配置…………………………………………… 55
3.1.3 ControlSuite簡(jiǎn)介……………………………………………………… 59
3.1.4 在CCSv5.4下運(yùn)行工程項(xiàng)目………………………………………… 59
3.1.5 CCSv3.3到CCSv5.4的項(xiàng)目遷移…………………………………… 66
3.1.6 在CCSv5.4下新建一個(gè)工程文件…………………………………… 68
3.2 F28335匯編語言概述……………………………………………………… 74
3.2.1 F28335匯編指令描述………………………………………………… 75
3.2.2 尋址方式及常用匯編指令……………………………………………… 76
3.2.3 CMD文件及匯編程序示例…………………………………………… 80
3.2.4 匯編語言應(yīng)用例程……………………………………………………… 82
3.3 F28335的C語言編程基礎(chǔ)………………………………………………… 83
3.3.1 F28335的C語言數(shù)據(jù)類型…………………………………………… 84
3.3.2 C語言的重要關(guān)鍵字…………………………………………………… 85
3.3.3 C語言CMD文件的編寫……………………………………………… 86
第4章 F28335的通用I/O 口…………………………………………………… 90
4.1 GPIO的功能結(jié)構(gòu)…………………………………………………………… 90
4.2 GPIO寄存器及傳統(tǒng)定義方法示例………………………………………… 92
4.2.1 GPIO控制類寄存器…………………………………………………… 92
4.2.2 GPIO數(shù)據(jù)類寄存器…………………………………………………… 94
4.2.3 傳統(tǒng)寄存器定義方法示例……………………………………………… 95
4.3 寄存器的位域結(jié)構(gòu)方法示例………………………………………………… 96
4.3.1 GPIO寄存器組類型定義……………………………………………… 96
4.3.2 定義存放寄存器組的存儲(chǔ)器段……………………………………… 101
4.3.3 寄存器組的存儲(chǔ)器段地址定位……………………………………… 102
4.3.4 寄存器位結(jié)構(gòu)定義的使用…………………………………………… 102
4.4 GPIO應(yīng)用例程…………………………………………………………… 103
第5章 F28335的中斷系統(tǒng)……………………………………………………… 104
5.1 中斷系統(tǒng)的結(jié)構(gòu)…………………………………………………………… 104
5.1.1 中斷管理機(jī)制………………………………………………………… 104
5.1.2 中斷處理及響應(yīng)過程………………………………………………… 106
5.1.3 CPU 中斷向量………………………………………………………… 106
5.1.4 CPU 級(jí)中斷相關(guān)寄存器……………………………………………… 108
5.2 PIE外設(shè)中斷擴(kuò)展模塊…………………………………………………… 109
5.2.1 PIE模塊的結(jié)構(gòu)……………………………………………………… 109
5.2.2 PIE中斷向量表映射………………………………………………… 110
5.2.3 PIE模塊相關(guān)寄存器………………………………………………… 117
5.2.4 PIE模塊寄存器的程序操作………………………………………… 119
5.3 非屏蔽中斷………………………………………………………………… 123
5.3.1 軟件中斷……………………………………………………………… 123
5.3.2 非法指令中斷………………………………………………………… 124
5.3.3 硬件NMI中斷……………………………………………………… 124
5.3.4 硬件復(fù)位中斷XRS…………………………………………………… 125
5.4 中斷應(yīng)用實(shí)例———如何創(chuàng)建中斷嵌套服務(wù)程序………………………… 125
第6章 模/數(shù)轉(zhuǎn)換單元ADC …………………………………………………… 127
6.1 ADC模塊概述……………………………………………………………… 127
6.1.1 ADC模塊構(gòu)成及原理………………………………………………… 127
6.1.2 時(shí)鐘及采樣頻率……………………………………………………… 130
6.1.3 ADC采樣工作方式…………………………………………………… 131
6.2 ADC模塊校準(zhǔn)功能及使用詳解…………………………………………… 134
6.3 ADC模塊寄存器…………………………………………………………… 136
6.4 ADC性能實(shí)驗(yàn)分析………………………………………………………… 143
6.5 ADC模塊的應(yīng)用———如何進(jìn)行數(shù)據(jù)處理及程序校準(zhǔn)…………………… 146
第7章 F28335片上控制外設(shè)…………………………………………………… 148
7.1 增強(qiáng)型脈寬調(diào)制模塊ePWM ……………………………………………… 148
7.1.1 時(shí)間基準(zhǔn)子模塊TB原理及應(yīng)用…………………………………… 150
7.1.2 計(jì)數(shù)器比較子模塊CC原理及應(yīng)用………………………………… 155
7.1.3 動(dòng)作限定子模塊AQ 原理及應(yīng)用…………………………………… 157
7.1.4 死區(qū)控制子模塊DB原理及應(yīng)用…………………………………… 163
7.1.5 錯(cuò)誤控制子模塊TZ原理及應(yīng)用…………………………………… 165
7.1.6 事件觸發(fā)子模塊ET原理及應(yīng)用…………………………………… 169
7.2 增強(qiáng)型捕獲模塊eCAP …………………………………………………… 174
7.2.1 eCAP工作模式……………………………………………………… 174
7.2.2 捕獲模塊寄存器……………………………………………………… 177
7.2.3 eCAP程序例程———如何捕獲外部脈沖信號(hào)……………………… 183
第8章 F28335的片上串行通信單元…………………………………………… 185
8.1 串行通信的基本概念……………………………………………………… 185
8.1.1 異步通信和同步通信………………………………………………… 185
8.1.2 串行通信的傳輸方向………………………………………………… 186
8.1.3 串行通信的錯(cuò)誤校驗(yàn)………………………………………………… 186
8.2 SCI通信模塊及應(yīng)用……………………………………………………… 187
8.2.1 SCI通信模塊簡(jiǎn)介…………………………………………………… 187
8.2.2 SCI工作原理………………………………………………………… 188
8.2.3 SCI基本數(shù)據(jù)格式…………………………………………………… 188
8.2.4 多處理器通信方式…………………………………………………… 190
8.2.5 SCI相關(guān)寄存器……………………………………………………… 191
8.2.6 SCI應(yīng)用實(shí)例———如何實(shí)現(xiàn)異步通信數(shù)據(jù)的收發(fā)………………… 194
8.3 SPI通信模塊及應(yīng)用……………………………………………………… 195
8.3.1 SPI模塊簡(jiǎn)介………………………………………………………… 195
8.3.2 SPI工作原理………………………………………………………… 196
8.3.3 SPI的時(shí)鐘與波特率………………………………………………… 198
8.3.4 SPI相關(guān)寄存器……………………………………………………… 198
8.3.5 SPI模塊應(yīng)用實(shí)例———如何建立有效的全雙工數(shù)據(jù)通信………… 202
8.4 McBSP模塊及應(yīng)用………………………………………………………… 203
8.4.1 McBSP數(shù)據(jù)收發(fā)原理………………………………………………… 204
8.4.2 數(shù)據(jù)的壓縮和擴(kuò)展…………………………………………………… 205
8.4.3 McBSP數(shù)據(jù)幀………………………………………………………… 205
8.4.4 時(shí)鐘及采樣率發(fā)生器………………………………………………… 207
8.4.5 McBSP工作模式簡(jiǎn)介………………………………………………… 210
8.4.6 McBSP相關(guān)寄存器…………………………………………………… 210
8.4.7 McBSP的應(yīng)用———如何實(shí)現(xiàn)在SPI模式下的數(shù)據(jù)收發(fā)…………… 218
8.5 I2C通信模塊及應(yīng)用……………………………………………………… 220
8.5.1 I2C總線基礎(chǔ)………………………………………………………… 220
8.5.2 I2C相關(guān)寄存器……………………………………………………… 223
8.5.3 I2C應(yīng)用實(shí)例———EEPROM 數(shù)據(jù)的讀/寫………………………… 227
8.5.4 I2C真實(shí)波形數(shù)據(jù)格式分析………………………………………… 229
8.6 CAN 通信模塊……………………………………………………………… 232
8.6.1 CAN 模塊簡(jiǎn)介………………………………………………………… 232
8.6.2 CAN 相應(yīng)寄存器……………………………………………………… 233
8.6.3 CAN 應(yīng)用注意事項(xiàng)及數(shù)據(jù)收發(fā)程序詳解…………………………… 239
第9章 浮點(diǎn)運(yùn)算單元……………………………………………………………… 245
9.1 浮點(diǎn)單元簡(jiǎn)介……………………………………………………………… 245
9.1.1 C28x+FPU 的特點(diǎn)…………………………………………………… 245
9.1.2 浮點(diǎn)指令流水線結(jié)構(gòu)………………………………………………… 246
9.1.3 IEEE754單精度浮點(diǎn)格式…………………………………………… 247
9.2 FPU 的寄存器……………………………………………………………… 248
9.3 浮點(diǎn)匯編指令詳解………………………………………………………… 250
9.3.1 移動(dòng)指令……………………………………………………………… 251
9.3.2 浮點(diǎn)算術(shù)運(yùn)算指令…………………………………………………… 259
9.3.3 寄存器數(shù)據(jù)傳遞指令………………………………………………… 272
9.3.4 特殊運(yùn)算指令………………………………………………………… 275
9.3.5 寄存器清0指令……………………………………………………… 276
9.4 F28335庫函數(shù)使用詳解…………………………………………………… 277
9.4.1 FPUFastRTS庫簡(jiǎn)介……………………………………………… 278
9.4.2 FPUFastRTS庫使用方法………………………………………… 279
9.4.3 FPUFastRTS庫軟件優(yōu)化………………………………………… 280
9.4.4 FPU 軟件應(yīng)用實(shí)例…………………………………………………… 281
第10章 BootLoader原理及應(yīng)用………………………………………………… 283
10.1 BootLoader基本工作流程……………………………………………… 283
10.1.1 F2833x片內(nèi)引導(dǎo)過程……………………………………………… 284
10.1.2 基本工作流程代碼解析……………………………………………… 285
10.2 BootLoader基本數(shù)據(jù)傳輸協(xié)議………………………………………… 289
10.2.1 16位數(shù)據(jù)流結(jié)構(gòu)…………………………………………………… 289
10.2.2 8位數(shù)據(jù)流結(jié)構(gòu)……………………………………………………… 290
10.2.3 數(shù)據(jù)引導(dǎo)裝載過程…………………………………………………… 291
10.2.4 數(shù)據(jù)格式轉(zhuǎn)換………………………………………………………… 292
10.3 引導(dǎo)模式之跳轉(zhuǎn)模式……………………………………………………… 294
10.3.1 FLASH 上電復(fù)位跳轉(zhuǎn)模式及代碼解析…………………………… 294
10.3.2 片上其他跳轉(zhuǎn)模式…………………………………………………… 296
10.4 引導(dǎo)模式之加載模式……………………………………………………… 297
第11章 打開FLASH 升級(jí)的“潘多拉”盒子…………………………………… 299
11.1 F2833xFLASH 燒錄基礎(chǔ)……………………………………………… 299
11.1.1 FLASH 燒錄的一般要求…………………………………………… 299
11.1.2 FLASH 燒錄步驟…………………………………………………… 300
11.2 CCS插件升級(jí)方式……………………………………………………… 300
11.2.1 CCSv3.3版本下的FLASH 升級(jí)………………………………… 300
11.2.2 CCSv5.4版本下的FLASH 升級(jí)………………………………… 301
11.3 SDFLASH 插件操作方式………………………………………………… 305
11.3.1 SDFLASH 的串行升級(jí)基本操作…………………………………… 305
11.3.2 如何更改串行升級(jí)文件……………………………………………… 310
11.4 用戶自定義升級(jí)方式……………………………………………………… 311
11.4.1 FLASH API的應(yīng)用解析…………………………………………… 311
11.4.2 基于SCI總線的遠(yuǎn)程FLASH 加載方案………………………… 315
第12章 基于F28335的電力電子應(yīng)用案例分析……………………………… 323
附錄A CRC數(shù)據(jù)表……………………………………………………………… 402
附錄B SCIBoot參考代碼………………………………………………………… 404
參考文獻(xiàn)……………………………………………………………………………… 407