內容簡介
本書以TMS320C55x系列高性能低功耗DSP為主,主要介紹了以數位訊號處理器(DSP)為核心的實時數位訊號處理器的硬體結構和片內外設,論述了eXpress算法標準軟體,尤其是CCS的使用;詳細說明了DSP與外圍接口電路的設計以及*小系統的設計,給出了DSP相關軟體編程和開發調試;還介紹了MATLAB在數位訊號處理中的套用和DSP/BIOS的基礎知識。在介紹功能模組的基礎上,列出了相應的實戰項目開發實例,並講述了DSP+FPGA 複雜系統的設計。相比第1版,本書增加了3D16光立方的設計與製作、OMAP簡介和醫療電子醫用等內容。本書提供的所有電路全部可實現,所有程式在設計的實驗板上均已調試通過。
本書配套資料包括:書中程式原始碼、開發板電路圖源檔案以及常用網站地址,讀者可以到北航出版社網站的“下載專區”免費下載。
本書可以作為本科生和研究生學習DSP的教材,也可以作為職業學校學生、DSP開發人員、廣大電子製作愛好者的參考書。
圖書目錄
第1章 緒 論………………………………………………………………………… 1
1.1 數位訊號處理器簡介………………………………………………………… 1
1.2 數位訊號處理器的發展……………………………………………………… 2
1.3 DSP處理器的性能指標及選擇……………………………………………… 3
1.4 DSP系統的開發……………………………………………………………… 5
1.4.1 DSP系統設計開發流程……………………………………………………… 5
1.4.2 DSP系統軟硬體開發工具…………………………………………………… 5
第2章 TMS320C55x的硬體結構…………………………………………………… 7
2.1 C55xDSP簡介……………………………………………………………… 7
2.2 C55x的總體結構……………………………………………………………… 7
2.2.1 CPU 核心…………………………………………………………………… 7
2.2.2 C55x存儲空間……………………………………………………………… 9
2.2.3 C55x片內外設……………………………………………………………… 9
2.2.4 C55x低功耗特性…………………………………………………………… 11
2.3 C55x的封裝和引腳功能…………………………………………………… 12
2.3.1 引腳信號定義與描述……………………………………………………… 14
2.3.2 存儲空間與引腳設定……………………………………………………… 17
2.4 中斷和復位操作……………………………………………………………… 18
2.4.1 中 斷…………………………………………………………………… 18
2.4.2 中斷向量與優先權………………………………………………………… 19
2.4.3 不可禁止中斷……………………………………………………………… 21
2.4.4 外部中斷使用舉例………………………………………………………… 21
第3章 eXpressDSP算法標準軟體………………………………………………… 23
3.1 CCS集成開發環境………………………………………………………… 23
3.2 實時作業系統核心DSP/BIOS …………………………………………… 24
3.3 CSL概述…………………………………………………………………… 28
3.3.1 CSL體系結構……………………………………………………………… 29
3.3.2 CSL命名規則……………………………………………………………… 30
3.3.3 通用CSL函式……………………………………………………………… 31
3.3.4 CSL宏…………………………………………………………………… 32
3.3.5 CSL調用…………………………………………………………………… 34
3.4 XDAIS算法標準…………………………………………………………… 34
3.5 eXpressDSP參考框架……………………………………………………… 35
3.5.1 RF3簡述…………………………………………………………………… 36
3.5.2 RF5簡述…………………………………………………………………… 37
3.6 TI官方文檔資源介紹……………………………………………………… 41
第4章 CCS集成開發環境………………………………………………………… 43
4.1 開發工具與開發步驟………………………………………………………… 43
4.1.1 代碼的開發方法…………………………………………………………… 43
4.1.2 開發工具…………………………………………………………………… 44
4.1.3 開發步驟…………………………………………………………………… 44
4.2 CCS簡介…………………………………………………………………… 45
4.2.1 CCS版本支持……………………………………………………………… 45
4.2.2 CCS基本功能……………………………………………………………… 45
4.3 CCS3.3軟體的安裝與USB仿真驅動設定……………………………… 46
4.3.1 CCS檔案的安裝…………………………………………………………… 46
4.3.2 CCS檔案的簡單說明……………………………………………………… 46
4.3.3 目標板與驅動的安裝設定…………………………………………………… 47
4.4 CCS集成開發環境………………………………………………………… 50
4.4.1 CCS集成開發環境概述…………………………………………………… 50
4.4.2 DSP程式的仿真模式……………………………………………………… 50
4.4.3 CCS選單詳解……………………………………………………………… 51
4.5 建立DSP工程檔案………………………………………………………… 53
4.5.1 創建、打開和關閉工程……………………………………………………… 53
4.5.2 編輯、編譯和執行程式……………………………………………………… 55
4.5.3 調試工具…………………………………………………………………… 59
4.6 CCS開發中的一些問題…………………………………………………… 63
4.6.1 DSP型號和CCS版本之間的關係…………………………………………… 63
4.6.2 run和animate的區別……………………………………………………… 64
4.6.3 ProbePoint和BreakPoints的區別和聯繫………………………………… 64
4.6.4 CCS檔案數據的格式……………………………………………………… 65
4.6.5 CCS調試中的一些小技巧………………………………………………… 66
4.7 第一個實驗:驅動一個LED ……………………………………………… 68
第5章 TMS320C55x的片內外設、接口及套用…………………………………… 74
5.1 時鐘發生器…………………………………………………………………… 74
5.1.1 時鐘發生器概況…………………………………………………………… 74
5.1.2 時鐘工作模式……………………………………………………………… 75
5.1.3 CLKOUT輸出…………………………………………………………… 76
5.1.4 使用方法與舉例…………………………………………………………… 76
5.2 通用定時器…………………………………………………………………… 77
5.2.1 定時器概述………………………………………………………………… 77
5.2.2 工作原理…………………………………………………………………… 79
5.2.3 定時器套用實例…………………………………………………………… 80
5.2.4 通用定時器的調試………………………………………………………… 81
5.3 通用I/O口………………………………………………………………… 81
5.3.1 GPIO概述………………………………………………………………… 81
5.3.2 GPIO使用舉例…………………………………………………………… 82
5.4 外部存儲器接口……………………………………………………………… 82
5.4.1 EMIF存儲器概述………………………………………………………… 82
5.4.2 對存儲器的考慮…………………………………………………………… 84
5.4.3 存儲器接口設計…………………………………………………………… 85
5.4.4 EMIF中的控制暫存器……………………………………………………… 89
5.4.5 使用舉例…………………………………………………………………… 90
5.5 多通道緩衝串口……………………………………………………………… 92
5.5.1 McBSP概述……………………………………………………………… 92
5.5.2 McBSP組成框圖…………………………………………………………… 93
5.5.3 採樣率發生器……………………………………………………………… 94
5.5.4 多通道模式選擇…………………………………………………………… 95
5.5.5 異常處理…………………………………………………………………… 96
5.5.6 McBSP暫存器……………………………………………………………… 98
5.5.7 McBSP使用舉例………………………………………………………… 102
5.6 模/數轉換器………………………………………………………………… 104
5.6.1 ADC的結構和時序……………………………………………………… 104
5.6.2 ADC的暫存器…………………………………………………………… 105
5.6.3 ADC實例………………………………………………………………… 107
5.7 看門狗定時器……………………………………………………………… 108
5.7.1 看門狗定時器概述………………………………………………………… 108
5.7.2 看門狗定時器的配置……………………………………………………… 109
5.7.3 看門狗定時器的暫存器…………………………………………………… 110
5.7.4 看門狗套用舉例………………………………………………………… 111
5.8 I2C模組…………………………………………………………………… 112
5.8.1 I2C模組工作原理………………………………………………………… 113
5.8.2 I2C暫存器………………………………………………………………… 116
5.8.3 I2C程式使用舉例………………………………………………………… 117
5.9 USB模組…………………………………………………………………… 119
5.9.1 USB協定簡介…………………………………………………………… 119
5.9.2 VC5509A USB的硬體資源………………………………………………… 119
5.9.3 USB時鐘發生器………………………………………………………… 122
5.9.4 VC5509A USB的匯流排連線與中斷………………………………………… 122
5.9.5 USBCSL模組簡介……………………………………………………… 124
5.9.6 USB模組的編程實現……………………………………………………… 125
第6章 DSP系統的硬體設計…………………………………………………… 128
6.1 DSP電源的選擇與設計…………………………………………………… 129
6.1.1 電源加電順序…………………………………………………………… 131
6.1.2 電源檢測與復位………………………………………………………… 132
6.1.3 復位電路設計…………………………………………………………… 132
6.2 JTAG接口設計…………………………………………………………… 133
6.3 時鐘電路的設計…………………………………………………………… 135
6.3.1 時鐘電路的分類………………………………………………………… 136
6.3.2 時鐘電路選擇原則………………………………………………………… 137
6.3.3 C55x時鐘電路的調試…………………………………………………… 137
6.4 匯流排隔離與驅動的器件選擇……………………………………………… 137
6.5 Flash自舉引導設計……………………………………………………… 138
6.5.1 自舉引導模式的配置……………………………………………………… 138
6.5.2 引導表…………………………………………………………………… 139
6.5.3 EMIF模式引導…………………………………………………………… 140
6.5.4 I2C模式引導……………………………………………………………… 140
6.6 DSP多機通信接口選擇與設計…………………………………………… 141
6.6.1 通過雙口RAM(或雙向FIFO)橋接………………………………………… 141
6.6.2 通過主機接口實現通信…………………………………………………… 142
6.6.3 通過GPIO實現通信……………………………………………………… 142
6.6.4 通過I2C實現通信………………………………………………………… 143
6.6.5 通信方式的優缺點………………………………………………………… 143
6.7 套用系統的低功耗設計…………………………………………………… 144
6.7.1 合理選擇DSP器件……………………………………………………… 144
6.7.2 讓DSP以適當的速度運行………………………………………………… 144
6.7.3 在軟體設計中降低功耗…………………………………………………… 144
6.7.4 存儲器類型對功耗的影響………………………………………………… 145
6.7.5 正確處理外圍電路………………………………………………………… 145
第7章 DSP軟體程式設計……………………………………………………… 146
7.1 DSP軟體開發流程………………………………………………………… 146
7.1.1 軟體開發流程…………………………………………………………… 146
7.1.2 DSP程式的基本組成……………………………………………………… 148
7.1.3 VC5509A的工作流程…………………………………………………… 149
7.1.4 DSPC語言簡介………………………………………………………… 149
7.1.5 DSPC語言關鍵字………………………………………………………… 151
7.1.6 動態分配記憶體…………………………………………………………… 152
7.2 彙編偽指令………………………………………………………………… 152
7.2.1 彙編偽指令概述………………………………………………………… 153
7.2.2 C程式在DSP中的定位…………………………………………………… 156
7.3 CMD檔案的編寫………………………………………………………… 157
7.4 混合編程…………………………………………………………………… 162
7.5 GEL檔案…………………………………………………………………… 165
7.5.1 GEL語法概述…………………………………………………………… 166
7.5.2 存儲器映射……………………………………………………………… 167
7.5.3 詳解C5509.gel檔案……………………………………………………… 168
7.6 歸檔器的使用……………………………………………………………… 170
7.7 反彙編的實現……………………………………………………………… 171
第8章 軟體開發進階……………………………………………………………… 175
8.1 BigEndian和LittleEndian ……………………………………………… 175
8.2 程式的最佳化………………………………………………………………… 176
8.2.1 獲得最佳性能的代碼開發流程…………………………………………… 177
8.2.2 工程層的最佳化…………………………………………………………… 179
8.2.3 算法的改變……………………………………………………………… 180
8.2.4 數據記憶體的最佳化………………………………………………………… 181
8.2.5 提高流水線的效率………………………………………………………… 181
8.3 程式的編程素養…………………………………………………………… 182
8.3.1 程式注釋………………………………………………………………… 183
8.3.2 函 數…………………………………………………………………… 186
8.3.3 變 量…………………………………………………………………… 187
8.3.4 其他編程規範…………………………………………………………… 188
8.4 數位訊號處理庫…………………………………………………………… 188
8.4.1 DSPLIB的調用…………………………………………………………… 189
8.4.2 DSPLIB函式……………………………………………………………… 190
8.5 圖像/視頻算法庫…………………………………………………………… 191
8.5.1 圖像/視頻算法庫概述…………………………………………………… 191
8.5.2 圖像/視頻處理庫的安裝與使用…………………………………………… 191
8.5.3 圖像處理API接口……………………………………………………… 192
第9章 DSP最小系統電路詳解………………………………………………… 195
9.1 供電電路…………………………………………………………………… 195
9.2 時鐘振盪電路……………………………………………………………… 196
9.3 蜂鳴器控制電路…………………………………………………………… 197
9.4 外擴存儲SDRAM 電路…………………………………………………… 197
9.5 DSPbootloader模式電路………………………………………………… 198
9.6 SD卡接口電路……………………………………………………………… 200
9.7 音頻控制電路……………………………………………………………… 200
9.8 USB控制電路……………………………………………………………… 202
第10章 硬體電路的設計與調試………………………………………………… 203
第11章 軟體實驗詳解…………………………………………………………… 214
第12章 數位訊號處理算法與實踐……………………………………………… 242
第13章 DSP/BIOS實踐與套用………………………………………………… 271
第14章 工程項目實踐與套用…………………………………………………… 321
第15章 DSP+FPGA 複雜系統的設計………………………………………… 360
第16章 OMAP雙核處理器……………………………………………………… 394
第17章 TMS320C55x在醫療電子中的套用…………………………………… 407
附錄A 下載DSP資料的一些常用網站………………………………………… 415
附錄B C54x與C5510暫存器…………………………………………………… 416
附錄C VC5510中斷……………………………………………………………… 427
附錄D TMS320C55x的狀態暫存器……………………………………………… 429
附錄E TMS320C55x的彙編指令集……………………………………………… 432
附錄F TMS320C55xDSP庫函式………………………………………………… 449
後 記………………………………………………………………………………… 458
參考文獻……………………………………………………………………………… 460