嵌入式DSP的原理與套用

嵌入式DSP的原理與套用

《嵌入式DSP的原理與套用》是2016年北京航空航天大學出版社出版的圖書,作者是馬駿傑。

基本介紹

  • 書名:嵌入式DSP的原理與套用
  • 作者:馬駿傑
  • 出版社:北京航空航天大學出版社
  • 出版時間:2016年3月1日
  • ISBN:9787512420670
內容簡介,圖書目錄,
本書以芝牛想TMS320F28335(簡稱F28335)的工程套用為主線,從電力電子產品的嵌入式套用角度出發,介紹了其軟硬體的開發方法;例程內容力求涵蓋電力電子技術中所有的控制、算法、邏輯等操作.本書以提高讀者的DSP套用水平為目的,本著循序漸進的原則,前半部分基礎簡單,後半部分難度較高,詳細介紹了浮點算法開發、程式固化、FLASH 片上升級最佳化、用戶自定義BootLoader等內容.本書例程不僅調試通過而且其基本思想均套用於目前主流電力電子產品中,具有很高的參考和實用價值.
  本書摒棄以往翻譯TI數據手冊的弊端,結構更加嚴謹,內容更加注重理論與實際的結合,可作為自動化專業、牛立電氣工程專業研究生和工程技術人員的參考用書.
第1章 緒 論………………………………………………………………………… 1
1.1 數位訊號處理………………………………………………………………… 1
1.1.1 模擬和數位訊號的處理方式…………………………………………… 1
1.1.2 數位訊號處理的優缺點………………………………………………糠元雅… 2
1.2 DSP的發展及特點…………………………………………………………… 3
1.3 DSP產品簡介………………………………………………………………… 5
1.3.1 TI公司的DSP產品…………………………………………………… 5
1.3.2 TMS320C28x產品簡介………………………………………………… 6
第2章 F28335的結構原理………………………………………………………… 8
2.1 F28335的內部結構…………………………………………………………… 8
2.2 F28335的CPU …………………………………………………………朽局戶朵…… 10
2.2.1 CPU 運算單元………………………………………………………… 10
2.2.2 CPU 暫存器組………………………………………………………… 12
2.2.3 輔助暫存器算術單元ARAU ………………………………………… 14
2.2.4 FPU 浮點運算單元…………………………………………………… 15
2.3 F28335的存儲器及套用…………………………………………………… 15
2.3.1 SARAM 存儲器………………………………………………………… 17
2.3.2 FLASH 及使用詳解…………………………………………………… 17
2.3.3 BootROM ………………………戒榜朽妹……………………………………… 22
2.3.4 CSM 代碼安全模組及使用詳解……………………………………… 24
2.3.5 OTP存儲器…………………………………………………………… 31
2.3.6 外設幀…………………………………………………………………… 31
2.3.7 外部存儲器接口………………………………………………………… 32
2.4 外設及引腳功能……………………………………………………………… 33
2.5 F28335的時鐘及控制……………………………………………………… 36
2.5.1 系統時鐘的產生………………………………………………………… 36
2.5.2 系統時鐘的分配………………………………………………………… 37
2.5.3 F28335的低功耗模式及相關暫存器………………………………… 42
2.5.4 F28335的看門狗模組………………………………………………… 44
2.6 F28335的CPU 定時器……………………………………………………… 47
2.6.1 定時器結構……………………………………………………………… 47
2.6.2 定時器中斷申請………………………………………………………… 48
2.6.3 定時器暫存器及位域結構體定義……………………………………… 48
2.6.4 定時器套用例程—騙院良——如何記錄函式的運行時間朵膠戒……………………… 51
第3章 集成開發環境及程式開發語言…………………………………………… 53
3.1 CCS集成開發環境………………………………………………………… 53
3.1.1 CCS集成的工具軟體………………………………………………… 53
3.1.2 CCSv5.4安裝及基本配置…………………………………………… 55
3.1.3 ControlSuite簡介……………………………………………………… 59
3.1.4 在CCSv5.4下運行工程項目………………………………………… 59
3.1.5 CCSv3.3到CCSv5.4的項目遷移…………………………………… 66
3.1.6 在CCSv5.4下新建一個工程檔案…………………………………… 68
3.2 F28335彙編語言概述……………………………………………………… 74
3.2.1 F28335彙編指令描述………………………………………………… 75
3.2.2 定址方式及常用彙編指令……………………………………………… 76
3.2.3 CMD檔案及彙編程式示例…………………………………………… 80
3.2.4 彙編語言套用例程……………………………………………………… 82
3.3 F28335的C語言編程基礎………………………………………………… 83
3.3.1 F28335的C語言數據類型…………………………………………… 84
3.3.2 C語言的重要關鍵字…………………………………………………… 85
3.3.3 C語言CMD檔案的編寫……………………………………………… 86
第4章 F28335的通用I/O 口…………………………………………………… 90
4.1 GPIO的功能結構…………………………………………………………… 90
4.2 GPIO暫存器及傳統定義方法示例………………………………………… 92
4.2.1 GPIO控制類暫存器…………………………………………………… 92
4.2.2 GPIO數據類暫存器…………………………………………………… 94
4.2.3 傳統暫存器定義方法示例……………………………………………… 95
4.3 暫存器的位域結構方法示例………………………………………………… 96
4.3.1 GPIO暫存器組類型定義……………………………………………… 96
4.3.2 定義存放暫存器組的存儲器段……………………………………… 101
4.3.3 暫存器組的存儲器段地址定位……………………………………… 102
4.3.4 暫存器位結構定義的使用…………………………………………… 102
4.4 GPIO套用例程…………………………………………………………… 103
第5章 F28335的中斷系統……………………………………………………… 104
5.1 中斷系統的結構…………………………………………………………… 104
5.1.1 中斷管理機制………………………………………………………… 104
5.1.2 中斷處理及回響過程………………………………………………… 106
5.1.3 CPU 中斷向量………………………………………………………… 106
5.1.4 CPU 級中斷相關暫存器……………………………………………… 108
5.2 PIE外設中斷擴展模組…………………………………………………… 109
5.2.1 PIE模組的結構……………………………………………………… 109
5.2.2 PIE中斷向量表映射………………………………………………… 110
5.2.3 PIE模組相關暫存器………………………………………………… 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 硬體復位中斷XRS…………………………………………………… 125
5.4 中斷套用實例———如何創建中斷嵌套服務程式………………………… 125
第6章 模/數轉換單元ADC …………………………………………………… 127
6.1 ADC模組概述……………………………………………………………… 127
6.1.1 ADC模組構成及原理………………………………………………… 127
6.1.2 時鐘及採樣頻率……………………………………………………… 130
6.1.3 ADC採樣工作方式…………………………………………………… 131
6.2 ADC模組校準功能及使用詳解…………………………………………… 134
6.3 ADC模組暫存器…………………………………………………………… 136
6.4 ADC性能實驗分析………………………………………………………… 143
6.5 ADC模組的套用———如何進行數據處理及程式校準…………………… 146
第7章 F28335片上控制外設…………………………………………………… 148
7.1 增強型脈寬調製模組ePWM ……………………………………………… 148
7.1.1 時間基準子模組TB原理及套用…………………………………… 150
7.1.2 計數器比較子模組CC原理及套用………………………………… 155
7.1.3 動作限定子模組AQ 原理及套用…………………………………… 157
7.1.4 死區控制子模組DB原理及套用…………………………………… 163
7.1.5 錯誤控制子模組TZ原理及套用…………………………………… 165
7.1.6 事件觸發子模組ET原理及套用…………………………………… 169
7.2 增強型捕獲模組eCAP …………………………………………………… 174
7.2.1 eCAP工作模式……………………………………………………… 174
7.2.2 捕獲模組暫存器……………………………………………………… 177
7.2.3 eCAP程式例程———如何捕獲外部脈衝信號……………………… 183
第8章 F28335的片上串列通信單元…………………………………………… 185
8.1 串列通信的基本概念……………………………………………………… 185
8.1.1 異步通信和同步通信………………………………………………… 185
8.1.2 串列通信的傳輸方向………………………………………………… 186
8.1.3 串列通信的錯誤校驗………………………………………………… 186
8.2 SCI通信模組及套用……………………………………………………… 187
8.2.1 SCI通信模組簡介…………………………………………………… 187
8.2.2 SCI工作原理………………………………………………………… 188
8.2.3 SCI基本數據格式…………………………………………………… 188
8.2.4 多處理器通信方式…………………………………………………… 190
8.2.5 SCI相關暫存器……………………………………………………… 191
8.2.6 SCI套用實例———如何實現異步通信數據的收發………………… 194
8.3 SPI通信模組及套用……………………………………………………… 195
8.3.1 SPI模組簡介………………………………………………………… 195
8.3.2 SPI工作原理………………………………………………………… 196
8.3.3 SPI的時鐘與波特率………………………………………………… 198
8.3.4 SPI相關暫存器……………………………………………………… 198
8.3.5 SPI模組套用實例———如何建立有效的全雙工數據通信………… 202
8.4 McBSP模組及套用………………………………………………………… 203
8.4.1 McBSP數據收發原理………………………………………………… 204
8.4.2 數據的壓縮和擴展…………………………………………………… 205
8.4.3 McBSP數據幀………………………………………………………… 205
8.4.4 時鐘及採樣率發生器………………………………………………… 207
8.4.5 McBSP工作模式簡介………………………………………………… 210
8.4.6 McBSP相關暫存器…………………………………………………… 210
8.4.7 McBSP的套用———如何實現在SPI模式下的數據收發…………… 218
8.5 I2C通信模組及套用……………………………………………………… 220
8.5.1 I2C匯流排基礎………………………………………………………… 220
8.5.2 I2C相關暫存器……………………………………………………… 223
8.5.3 I2C套用實例———EEPROM 數據的讀/寫………………………… 227
8.5.4 I2C真實波形數據格式分析………………………………………… 229
8.6 CAN 通信模組……………………………………………………………… 232
8.6.1 CAN 模組簡介………………………………………………………… 232
8.6.2 CAN 相應暫存器……………………………………………………… 233
8.6.3 CAN 套用注意事項及數據收發程式詳解…………………………… 239
第9章 浮點運算單元……………………………………………………………… 245
9.1 浮點單元簡介……………………………………………………………… 245
9.1.1 C28x+FPU 的特點…………………………………………………… 245
9.1.2 浮點指令流水線結構………………………………………………… 246
9.1.3 IEEE754單精度浮點格式…………………………………………… 247
9.2 FPU 的暫存器……………………………………………………………… 248
9.3 浮點彙編指令詳解………………………………………………………… 250
9.3.1 移動指令……………………………………………………………… 251
9.3.2 浮點算術運算指令…………………………………………………… 259
9.3.3 暫存器數據傳遞指令………………………………………………… 272
9.3.4 特殊運算指令………………………………………………………… 275
9.3.5 暫存器清0指令……………………………………………………… 276
9.4 F28335庫函式使用詳解…………………………………………………… 277
9.4.1 FPUFastRTS庫簡介……………………………………………… 278
9.4.2 FPUFastRTS庫使用方法………………………………………… 279
9.4.3 FPUFastRTS庫軟體最佳化………………………………………… 280
9.4.4 FPU 軟體套用實例…………………………………………………… 281
第10章 BootLoader原理及套用………………………………………………… 283
10.1 BootLoader基本工作流程……………………………………………… 283
10.1.1 F2833x片內引導過程……………………………………………… 284
10.1.2 基本工作流程代碼解析……………………………………………… 285
10.2 BootLoader基本數據傳輸協定………………………………………… 289
10.2.1 16位數據流結構…………………………………………………… 289
10.2.2 8位數據流結構……………………………………………………… 290
10.2.3 數據引導裝載過程…………………………………………………… 291
10.2.4 數據格式轉換………………………………………………………… 292
10.3 引導模式之跳轉模式……………………………………………………… 294
10.3.1 FLASH 上電復位跳轉模式及代碼解析…………………………… 294
10.3.2 片上其他跳轉模式…………………………………………………… 296
10.4 引導模式之載入模式……………………………………………………… 297
第11章 打開FLASH 升級的“潘多拉”盒子…………………………………… 299
11.1 F2833xFLASH 燒錄基礎……………………………………………… 299
11.1.1 FLASH 燒錄的一般要求…………………………………………… 299
11.1.2 FLASH 燒錄步驟…………………………………………………… 300
11.2 CCS外掛程式升級方式……………………………………………………… 300
11.2.1 CCSv3.3版本下的FLASH 升級………………………………… 300
11.2.2 CCSv5.4版本下的FLASH 升級………………………………… 301
11.3 SDFLASH 外掛程式操作方式………………………………………………… 305
11.3.1 SDFLASH 的串列升級基本操作…………………………………… 305
11.3.2 如何更改串列升級檔案……………………………………………… 310
11.4 用戶自定義升級方式……………………………………………………… 311
11.4.1 FLASH API的套用解析…………………………………………… 311
11.4.2 基於SCI匯流排的遠程FLASH 載入方案………………………… 315
第12章 基於F28335的電力電子套用案例分析……………………………… 323
附錄A CRC數據表……………………………………………………………… 402
附錄B SCIBoot參考代碼………………………………………………………… 404
參考文獻……………………………………………………………………………… 407
2.3.4 CSM 代碼安全模組及使用詳解……………………………………… 24
2.3.5 OTP存儲器…………………………………………………………… 31
2.3.6 外設幀…………………………………………………………………… 31
2.3.7 外部存儲器接口………………………………………………………… 32
2.4 外設及引腳功能……………………………………………………………… 33
2.5 F28335的時鐘及控制……………………………………………………… 36
2.5.1 系統時鐘的產生………………………………………………………… 36
2.5.2 系統時鐘的分配………………………………………………………… 37
2.5.3 F28335的低功耗模式及相關暫存器………………………………… 42
2.5.4 F28335的看門狗模組………………………………………………… 44
2.6 F28335的CPU 定時器……………………………………………………… 47
2.6.1 定時器結構……………………………………………………………… 47
2.6.2 定時器中斷申請………………………………………………………… 48
2.6.3 定時器暫存器及位域結構體定義……………………………………… 48
2.6.4 定時器套用例程———如何記錄函式的運行時間……………………… 51
第3章 集成開發環境及程式開發語言…………………………………………… 53
3.1 CCS集成開發環境………………………………………………………… 53
3.1.1 CCS集成的工具軟體………………………………………………… 53
3.1.2 CCSv5.4安裝及基本配置…………………………………………… 55
3.1.3 ControlSuite簡介……………………………………………………… 59
3.1.4 在CCSv5.4下運行工程項目………………………………………… 59
3.1.5 CCSv3.3到CCSv5.4的項目遷移…………………………………… 66
3.1.6 在CCSv5.4下新建一個工程檔案…………………………………… 68
3.2 F28335彙編語言概述……………………………………………………… 74
3.2.1 F28335彙編指令描述………………………………………………… 75
3.2.2 定址方式及常用彙編指令……………………………………………… 76
3.2.3 CMD檔案及彙編程式示例…………………………………………… 80
3.2.4 彙編語言套用例程……………………………………………………… 82
3.3 F28335的C語言編程基礎………………………………………………… 83
3.3.1 F28335的C語言數據類型…………………………………………… 84
3.3.2 C語言的重要關鍵字…………………………………………………… 85
3.3.3 C語言CMD檔案的編寫……………………………………………… 86
第4章 F28335的通用I/O 口…………………………………………………… 90
4.1 GPIO的功能結構…………………………………………………………… 90
4.2 GPIO暫存器及傳統定義方法示例………………………………………… 92
4.2.1 GPIO控制類暫存器…………………………………………………… 92
4.2.2 GPIO數據類暫存器…………………………………………………… 94
4.2.3 傳統暫存器定義方法示例……………………………………………… 95
4.3 暫存器的位域結構方法示例………………………………………………… 96
4.3.1 GPIO暫存器組類型定義……………………………………………… 96
4.3.2 定義存放暫存器組的存儲器段……………………………………… 101
4.3.3 暫存器組的存儲器段地址定位……………………………………… 102
4.3.4 暫存器位結構定義的使用…………………………………………… 102
4.4 GPIO套用例程…………………………………………………………… 103
第5章 F28335的中斷系統……………………………………………………… 104
5.1 中斷系統的結構…………………………………………………………… 104
5.1.1 中斷管理機制………………………………………………………… 104
5.1.2 中斷處理及回響過程………………………………………………… 106
5.1.3 CPU 中斷向量………………………………………………………… 106
5.1.4 CPU 級中斷相關暫存器……………………………………………… 108
5.2 PIE外設中斷擴展模組…………………………………………………… 109
5.2.1 PIE模組的結構……………………………………………………… 109
5.2.2 PIE中斷向量表映射………………………………………………… 110
5.2.3 PIE模組相關暫存器………………………………………………… 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 硬體復位中斷XRS…………………………………………………… 125
5.4 中斷套用實例———如何創建中斷嵌套服務程式………………………… 125
第6章 模/數轉換單元ADC …………………………………………………… 127
6.1 ADC模組概述……………………………………………………………… 127
6.1.1 ADC模組構成及原理………………………………………………… 127
6.1.2 時鐘及採樣頻率……………………………………………………… 130
6.1.3 ADC採樣工作方式…………………………………………………… 131
6.2 ADC模組校準功能及使用詳解…………………………………………… 134
6.3 ADC模組暫存器…………………………………………………………… 136
6.4 ADC性能實驗分析………………………………………………………… 143
6.5 ADC模組的套用———如何進行數據處理及程式校準…………………… 146
第7章 F28335片上控制外設…………………………………………………… 148
7.1 增強型脈寬調製模組ePWM ……………………………………………… 148
7.1.1 時間基準子模組TB原理及套用…………………………………… 150
7.1.2 計數器比較子模組CC原理及套用………………………………… 155
7.1.3 動作限定子模組AQ 原理及套用…………………………………… 157
7.1.4 死區控制子模組DB原理及套用…………………………………… 163
7.1.5 錯誤控制子模組TZ原理及套用…………………………………… 165
7.1.6 事件觸發子模組ET原理及套用…………………………………… 169
7.2 增強型捕獲模組eCAP …………………………………………………… 174
7.2.1 eCAP工作模式……………………………………………………… 174
7.2.2 捕獲模組暫存器……………………………………………………… 177
7.2.3 eCAP程式例程———如何捕獲外部脈衝信號……………………… 183
第8章 F28335的片上串列通信單元…………………………………………… 185
8.1 串列通信的基本概念……………………………………………………… 185
8.1.1 異步通信和同步通信………………………………………………… 185
8.1.2 串列通信的傳輸方向………………………………………………… 186
8.1.3 串列通信的錯誤校驗………………………………………………… 186
8.2 SCI通信模組及套用……………………………………………………… 187
8.2.1 SCI通信模組簡介…………………………………………………… 187
8.2.2 SCI工作原理………………………………………………………… 188
8.2.3 SCI基本數據格式…………………………………………………… 188
8.2.4 多處理器通信方式…………………………………………………… 190
8.2.5 SCI相關暫存器……………………………………………………… 191
8.2.6 SCI套用實例———如何實現異步通信數據的收發………………… 194
8.3 SPI通信模組及套用……………………………………………………… 195
8.3.1 SPI模組簡介………………………………………………………… 195
8.3.2 SPI工作原理………………………………………………………… 196
8.3.3 SPI的時鐘與波特率………………………………………………… 198
8.3.4 SPI相關暫存器……………………………………………………… 198
8.3.5 SPI模組套用實例———如何建立有效的全雙工數據通信………… 202
8.4 McBSP模組及套用………………………………………………………… 203
8.4.1 McBSP數據收發原理………………………………………………… 204
8.4.2 數據的壓縮和擴展…………………………………………………… 205
8.4.3 McBSP數據幀………………………………………………………… 205
8.4.4 時鐘及採樣率發生器………………………………………………… 207
8.4.5 McBSP工作模式簡介………………………………………………… 210
8.4.6 McBSP相關暫存器…………………………………………………… 210
8.4.7 McBSP的套用———如何實現在SPI模式下的數據收發…………… 218
8.5 I2C通信模組及套用……………………………………………………… 220
8.5.1 I2C匯流排基礎………………………………………………………… 220
8.5.2 I2C相關暫存器……………………………………………………… 223
8.5.3 I2C套用實例———EEPROM 數據的讀/寫………………………… 227
8.5.4 I2C真實波形數據格式分析………………………………………… 229
8.6 CAN 通信模組……………………………………………………………… 232
8.6.1 CAN 模組簡介………………………………………………………… 232
8.6.2 CAN 相應暫存器……………………………………………………… 233
8.6.3 CAN 套用注意事項及數據收發程式詳解…………………………… 239
第9章 浮點運算單元……………………………………………………………… 245
9.1 浮點單元簡介……………………………………………………………… 245
9.1.1 C28x+FPU 的特點…………………………………………………… 245
9.1.2 浮點指令流水線結構………………………………………………… 246
9.1.3 IEEE754單精度浮點格式…………………………………………… 247
9.2 FPU 的暫存器……………………………………………………………… 248
9.3 浮點彙編指令詳解………………………………………………………… 250
9.3.1 移動指令……………………………………………………………… 251
9.3.2 浮點算術運算指令…………………………………………………… 259
9.3.3 暫存器數據傳遞指令………………………………………………… 272
9.3.4 特殊運算指令………………………………………………………… 275
9.3.5 暫存器清0指令……………………………………………………… 276
9.4 F28335庫函式使用詳解…………………………………………………… 277
9.4.1 FPUFastRTS庫簡介……………………………………………… 278
9.4.2 FPUFastRTS庫使用方法………………………………………… 279
9.4.3 FPUFastRTS庫軟體最佳化………………………………………… 280
9.4.4 FPU 軟體套用實例…………………………………………………… 281
第10章 BootLoader原理及套用………………………………………………… 283
10.1 BootLoader基本工作流程……………………………………………… 283
10.1.1 F2833x片內引導過程……………………………………………… 284
10.1.2 基本工作流程代碼解析……………………………………………… 285
10.2 BootLoader基本數據傳輸協定………………………………………… 289
10.2.1 16位數據流結構…………………………………………………… 289
10.2.2 8位數據流結構……………………………………………………… 290
10.2.3 數據引導裝載過程…………………………………………………… 291
10.2.4 數據格式轉換………………………………………………………… 292
10.3 引導模式之跳轉模式……………………………………………………… 294
10.3.1 FLASH 上電復位跳轉模式及代碼解析…………………………… 294
10.3.2 片上其他跳轉模式…………………………………………………… 296
10.4 引導模式之載入模式……………………………………………………… 297
第11章 打開FLASH 升級的“潘多拉”盒子…………………………………… 299
11.1 F2833xFLASH 燒錄基礎……………………………………………… 299
11.1.1 FLASH 燒錄的一般要求…………………………………………… 299
11.1.2 FLASH 燒錄步驟…………………………………………………… 300
11.2 CCS外掛程式升級方式……………………………………………………… 300
11.2.1 CCSv3.3版本下的FLASH 升級………………………………… 300
11.2.2 CCSv5.4版本下的FLASH 升級………………………………… 301
11.3 SDFLASH 外掛程式操作方式………………………………………………… 305
11.3.1 SDFLASH 的串列升級基本操作…………………………………… 305
11.3.2 如何更改串列升級檔案……………………………………………… 310
11.4 用戶自定義升級方式……………………………………………………… 311
11.4.1 FLASH API的套用解析…………………………………………… 311
11.4.2 基於SCI匯流排的遠程FLASH 載入方案………………………… 315
第12章 基於F28335的電力電子套用案例分析……………………………… 323
附錄A CRC數據表……………………………………………………………… 402
附錄B SCIBoot參考代碼………………………………………………………… 404
參考文獻……………………………………………………………………………… 407

相關詞條

熱門詞條

聯絡我們