內容簡介
本書是《C/C++語言硬體程式設計--基於TMS320C5000系列DSP》一書(西安電子科技大學出版社出版)的姊妹篇,書中全面、詳細地介紹了使用彙編語言開發TMS320C5000系列DSP套用系統的方法。 全書共分為9章,內容包括TMS320C54x系列DSP硬體結構、TMS320C55x系列DSP硬體結構、典型DSP硬體電路系統的設計、C54x和C55x彙編語言、浮點運算彙編程式設計、同步串口彙編程式設計、異步串口彙編程式設計、BOOT彙編程式設計和套用實例。本書的最大特色在於通過完整的程式實例介紹相關的內容。
本書是作者近幾年來不間斷地從事TMS320系列DSP系統設計、開發和教學的技術結晶,書中將基於TMS320C5000的彙編語言程式設計從一個容易理解和接受的角度展開論述,旨在普及彙編語言的套用。
本書不僅可以作為從事DSP開發的電子工程技術人員以及DSP愛好者的參考書,也可以作為電子通信類相關專業研究生和高年級本科生學習DSP及其程式設計的教科書。
目錄
第一章 TMS320C54x定點DSP硬體結構 1
1.1 引言 1
1.2 C54x內部結構 2
1.2.1 匯流排結構 3
1.2.2 內部存儲器 3
1.2.3 中央處理單元(CPU) 4
1.2.4 數據定址 5
1.2.5 程式存儲器定址 5
1.2.6 流水線操作 5
1.2.7 片上外設 5
1.3 存儲器 5
1.4 中央處理單元(CPU) 9
1.4.1 CPU狀態和控制暫存器 10
1.4.2 算術邏輯單元(ALU) 12
1.4.3 累加器A和B 13
1.4.4 筒形移位器 13
1.4.5 乘法器/加法器單元 14
1.4.6 比較選擇和存儲單元(CSSU) 15
1.4.7 指數編碼器 16
1.5 定址 16
1.5.1 立即數定址 17
1.5.2 絕對定址 17
1.5.3 累加器定址 17
1.5.4 直接定址 18
1.5.5 間接定址 19
1.5.6 存儲器映射暫存器定址 22
1.5.7 堆疊定址 23
1.5.8 數據類型 23
1.6 本章小結 24
習題 24
第二章 TMS320C55x定點DSP硬體結構 25
2.1 引言 25
2.2 CPU結構 26
2.2.1 內部數據和地址匯流排 26
2.2.2 存儲器接口單元(M單元) 27
2.2.3 指令緩衝單元(I單元) 27
2.2.4 程式流單元(P單元) 28
2.2.5 地址數據流單元(A單元) 29
2.2.6 數據計算單元(D單元) 30
2.2.7 地址匯流排和數據匯流排 32
2.2.8 指令流水線 34
2.3 CPU暫存器 35
2.3.1 累加器(AC0~AC3) 39
2.3.2 轉換暫存器(TRN0,TRN1) 39
2.3.3 暫存暫存器(T0~T3) 39
2.3.4 用於定址數據空間和I/O空間的暫存器 40
2.3.5 程式流暫存器(PC,RETA,CFCT) 44
2.3.6 中斷管理暫存器 45
2.3.7 循環控制暫存器 48
2.3.8 狀態暫存器(ST0_55~ST3_55) 49
2.4 存儲器和I/O空間 55
2.4.1 存儲器映射 55
2.4.2 程式空間 56
2.4.3 數據空間 57
2.4.4 I/O空間 58
2.5 堆疊操作 58
2.5.1 數據堆疊和系統堆疊 58
2.5.2 堆疊配置 59
2.5.3 快返回與慢返回 60
2.6 中斷和復位操作 61
2.6.1 中斷介紹 61
2.6.2 中斷向量與優先權 62
2.6.3 可禁止中斷 63
2.6.4 不可禁止中斷 64
2.6.5 DSP硬體復位 65
2.6.6 軟體復位 65
2.7 定址方式 67
2.7.1 絕對定址方式 67
2.7.2 直接定址方式 68
2.7.3 間接定址方式 71
2.7.4 循環定址 78
2.8 本章小結 81
習題 81
第三章 典型DSP套用系統的設計 82
3.1 引言 82
3.2 套用系統設計分析 83
3.3 DSP功能板晶片資料 83
3.3.1 TMS320VC5410 83
3.3.2 SST39VF400 90
3.3.3 TLC320AD50C 95
3.3.4 TLC274 98
3.3.5 TL16C550FN 98
3.3.6 MAX232 102
3.3.7 TPS73HD325 102
3.3.8 PDIUSBD12 103
3.3.9 GAL16V8 104
3.3.10 套用系統原理圖 104
3.4 本章小結 108
習題 108
第四章 TMS320C54x彙編語言 109
4.1 引言 109
4.2 彙編語句測試程式 110
4.3 C54x彙編語言指令 112
4.4 本章小結 170
習題 170
第五章 TMS320C55x彙編語言 171
5.1 引言 171
5.2 彙編語句測試程式 172
5.3 C55x彙編語言指令 175
5.3.1 運算元 175
5.3.2 指令並行特性 181
5.3.3 指令 182
5.4 本章小結 183
習題 183
第六章 浮點運算彙編程式設計 184
6.1 引言 184
6.2 計算sinx值 185
6.2.1 計算基礎 185
6.2.2 數值定標 185
6.2.3 程式設計 185
6.3 計算cosx值 194
6.3.1 計算方法與數值定標 194
6.3.2 程式設計 195
6.4 正弦查找表 200
6.4.1 生成正弦查找表 200
6.4.2 程式設計 201
6.5 FIR濾波器設計 204
6.5.1 SIMULINK仿真分析 205
6.5.2 C54x FIR彙編程式設計 206
6.6 開方運算 215
6.6.1 算法分析 215
6.6.2 程式設計 215
6.7 本章小結 221
習題 221
第七章 同步串列通信彙編程式設計 222
7.1 引言 222
7.2 程式實現功能 223
7.3 程式設計 223
7.3.1 簡單McBSP口通信程式 223
7.3.2 語音FIR濾波程式 228
7.3.3 觀察濾波效果 234
7.4 本章小結 239
習題 239
第八章 異步串列通信彙編程式設計 240
8.1 引言 240
8.2 程式實現的功能 241
8.3 程式設計 242
8.3.1 主機程式設計 242
8.3.2 目標機程式設計 250
8.4 本章小結 264
習題 264
第九章 BOOT彙編程式設計 265
9.1 引言 265
9.2 程式實現功能 266
9.3 程式設計 266
9.4 本章小結 272
習題 272
附錄 273
附錄A techor ICE DSP仿真器 273
附錄B FFT算法 273
B.1 DFT和IDFT的同一性 273
B.2 CCStudio程式設計 278
附錄C GAL 16V8控制邏輯 287
附錄D C55x指令匯總 288
結束語 312