DSP原理及應用(第二版)
-
【作 者】主編 李利
【I S B N 】978-7-5170-0294-9
【責任編輯】陳潔
【適用讀者群】本專通用
【出版時間】2012-11-26
【開 本】16開
【裝幀信息】平裝(光膜)
【版 次】第1版第1次印刷
【頁 數】284
【千字數】450
【印 張】17.75
【定 價】¥32
【叢 書】21世紀高等院校規劃教材
【備注信息】
簡介
本書特色
前言
章節列表
精彩閱讀
下載資源
相關圖書
本書在第一版的基礎上,對各章內容進行了修訂和補充。以TMS320C54x系列DSP為例,首先介紹TMS320C54x系列DSP的硬件結構與指令系統;然后介紹DSP應用程序的設計與開發,包括匯編語言和C語言程序設計,書中精選大量的實例,實例中給出工作原理、完整的源程序及上機匯編、鏈接、調試過程,初學者可以按照書中給出的步驟動手操作進行實戰練習,使讀者在實戰中掌握DSP應用技術;最后介紹了TMS320C54x片內外設及硬件系統設計,主要介紹基本硬件系統的設計方法,并且給出可以實現的電路原理圖及相應的程序,使之具有通用性,可以舉一反三。
本書既可作為高校電子類專業本科生和研究生學習DSP的教材和參考書,也可供從事DSP芯片開發與應用的廣大工程技術人員參考。
• 在第一版的基礎上增加了一些實例,如介紹軟件開發工具時給出一個完整匯編程序實例
• 彌補了第一版中硬件內容設計不足的情況,給出最小或基本硬件系統設計方法,并且給出可以實現的電路原理圖及相應的程序,使之具有通用性,可以舉一反三
• 從實用角度出發,內容取舍合理,詳略得當,使讀者在實戰中掌握DSP應用技術
• 提供相關教學資源(電子教案、案例源代碼等)
DSP技術涉及的相關基礎知識多,不但要掌握硬件設計的知識,還要具備使用匯編語言或C語言進行軟件編程的能力,因此需要合理取舍,詳略得當,使之適合作教材。
全書共8章,可以分為三個部分。
第一部分包括第1~3章,介紹TMS320C54x系列DSP的硬件結構工作原理、數據尋址方式以及指令系統,使讀者初步了解芯片的硬件組成、結構特點及其指令系統。
第二部分包括第4~6章,介紹DSP應用程序的設計與開發。
第三部分包括第7、8章,介紹TMS320C54x系列DSP片內外設及TMS320C54x硬件系統設計。
和第一版相比,原理描述更加清楚,并增加了一些實例,例如介紹指令系統時適當增加了指令舉例,介紹軟件開發工具時給出一個完整匯編程序實例。第一版硬件設計方面內容不足,因此,第二版增加TMS320C54x硬件系統設計一章,給出最小或基本硬件系統設計方法,并且給出可以實現的電路原理圖及相應的程序,使之具有通用性,可以舉一反三。隨著CCS編譯技術的提高,C/C++語言的優化效率越來越高,基于DSP的C/C++語言編程將得到廣泛應用,所以第二版增加了基于DSP的C/C++語言編程內容及實例部分。保留第一版特色部分——第6章軟件開發調試實例,實例中給出工作原理、完整的源程序及上機匯編、鏈接、調試過程,初學者可以按照書中給出的步驟動手操作進行實戰練習,使讀者在實戰中掌握DSP應用技術。
本書由李利任主編,李迎春任副主編。具體分工為:第1~6章由李利編寫,第7、8章由李迎春編寫,參加本書案例選擇、代碼調試等編寫工作的還有李宗睿、趙云峰、曹新宇、劉培培、馬曉鑫。
由于作者水平有限,書中錯誤和疏漏之處在所難免,懇請讀者批評指正。
第一版前言
第1章 緒論 1
1.1 數字信號處理概述 1
1.1.1 數字信號處理系統構成 1
1.1.2 數字信號處理的實現 2
1.1.3 數字信號處理的特點 3
1.2 DSP芯片概述 3
1.2.1 DSP芯片的發展歷史、現狀和趨勢 3
1.2.2 DSP芯片的種類 5
1.2.3 DSP芯片的主要特點 6
1.2.4 DSP芯片的應用 7
1.2.5 DSP芯片產品簡介 7
1.3 DSP系統設計過程 8
1.3.1 DSP系統設計過程 8
1.3.2 DSP芯片的選擇 9
習題一 11
第2章 TMS320C54x數字信號處理器
硬件結構 12
2.1 TMS320C54x硬件組成框圖 12
2.2 TMS320C54x的總線結構 14
2.3 中央處理單元(CPU) 15
2.3.1 算術邏輯單元(ALU)和累加器 16
2.3.2 桶形移位器 17
2.3.3 乘法器/加法器單元 18
2.3.4 比較、選擇和存儲單元(CSSU) 19
2.3.5 指數編碼器 20
2.3.6 CPU狀態和控制寄存器 20
2.4 TMS320C54x的存儲器分配 23
2.4.1 存儲器空間 23
2.4.2 程序存儲器 24
2.4.3 數據存儲器 26
2.4.4 I/O存儲器 28
2.5 TMS320C54x片內外設簡介 28
2.6 TMS320C54x中斷系統 29
2.7 TMS320C5402引腳及說明 34
習題二 37
第3章 TMS320C54x指令系統 39
3.1 數據尋址方式 39
3.1.1 立即尋址 40
3.1.2 絕對尋址 40
3.1.3 累加器尋址 41
3.1.4 直接尋址 41
3.1.5 間接尋址 42
3.1.6 存儲器映象寄存器尋址 46
3.1.7 堆棧尋址 46
3.2 指令系統中的符號和縮寫 47
3.3 指令系統 49
3.3.1 算術運算指令 49
3.3.2 邏輯運算指令 56
3.3.3 程序控制指令 58
3.3.4 加載和存儲指令 60
習題三 64
第4章 TMS320C54x軟件開發 66
4.1 軟件開發流程及開發工具 66
4.1.1 軟件開發流程 66
4.1.2 軟件開發工具 67
4.2 公共目標文件格式 69
4.2.1 COFF文件的基本單元——段 69
4.2.2 匯編器對段的處理 70
4.2.3 鏈接器對段的處理 73
4.2.4 重新定位 74
4.2.5 程序裝入 76
4.2.6 COFF文件中的符號 76
4.3 匯編器概述 77
4.4 常用匯編偽指令 78
4.5 匯編語言程序編寫方法 81
4.5.1 匯編語言源程序格式 81
4.5.2 匯編語言中的常數和字符串 82
4.5.3 匯編源程序中的符號 83
4.5.4 匯編源程序中的表達式 84
4.6 鏈接器及鏈接命令文件的編寫與使用 85
4.6.1 連接器概述 85
4.6.2 鏈接器命令文件的編寫與使用 86
4.7 TMS320C54x C語言編程 91
4.7.1 C54x C優化編譯器 92
4.7.2 C54x支持的C語言數據類型 92
4.7.3 存儲器模式 95
4.7.4 寄存器規則 97
4.7.5 函數調用規則 97
4.7.6 中斷處理 98
4.7.7 表達式分析 98
4.8 用C語言和匯編語言混合編程 99
4.8.1 獨立的C模塊和匯編模塊接口 99
4.8.2 從C程序中訪問匯編程序變量 101
4.8.3 在C程序中直接嵌入匯編語句 102
習題四 103
第5章 CCS集成開發環境 104
5.1 CCS集成開發環境概述 104
5.2 CCS系統安裝與設置 105
5.2.1 CCS系統安裝 105
5.2.2 為CCS安裝設備驅動程序 105
5.3 CCS窗口、菜單和工具欄 106
5.3.1 窗口 107
5.3.2 菜單 107
5.3.3 工具欄 113
5.4 用CCS開發程序實例 115
5.4.1 源文件的建立、打開、關閉
與編輯 115
5.4.2 工程項目的創建、關閉和打開 115
5.4.3 工程的構建(編譯、鏈接) 117
5.4.4 工程項目的基本調試 118
5.5 在CCS中讀取數據和數據的圖形顯示 122
5.5.1 探測點的設置及從PC機文件中
讀取數據 122
5.5.2 靜態圖形顯示 123
5.5.3 動態圖形顯示 124
5.6 代碼執行時間分析(Profiler的使用) 125
5.6.1 函數執行時間分析 125
5.6.2 某段程序執行時間分析 126
習題五 127
第6章 軟件開發調試實例 128
6.1 程序流程控制 128
6.1.1 程序存儲器地址生成 128
6.1.2 流水線操作 129
6.1.3 條件操作 133
6.1.4 分支轉移 134
6.1.5 調用與返回 136
6.1.6 重復操作 137
6.1.7 堆棧的使用 139
6.2 數據塊傳送 140
6.3 定點數的基本算術運算 144
6.3.1 加法、減法和乘法運算 144
6.3.2 定點除法運算 151
6.4 長字運算和并行運算 153
6.4.1 長字運算 153
6.4.2 并行運算 156
6.5 FIR濾波器的DSP實現 157
6.5.1 線性緩沖區法 157
6.5.2 循環緩沖區法 158
6.5.3 系數對稱FIR濾波器的DSP實現 164
6.6 IIR數字濾波器的DSP實現 167
6.7 FFT運算的DSP實現 171
6.7.1 基二實數FFT運算的算法 172
6.7.2 FFT運算模擬信號的產生及輸入 174
6.7.3 實序列FFT匯編源程序及鏈接
命令文件 175
6.7.4 觀察信號時域波形及其頻譜 181
6.8 以C語言為基礎的DSP程序 181
6.8.1 一個簡單的C語言程序 181
6.8.2 FIR濾波的C語言編程實現 183
6.8.3 FFT的C語言編程實現 185
習題六 189
第7章 TMS320C54x片內外設 190
7.1 定時器 190
7.2 時鐘發生器 192
7.2.1 硬件配置PLL 192
7.2.2 軟件可編程PLL 193
7.3 定時器/計數器編程舉例 195
7.4 多通道緩沖串口(McBSP) 199
7.4.1 McBSP原理框圖及信號接口 199
7.4.2 McBSP控制寄存器 201
7.4.3 時鐘和幀同步 209
7.4.4 McBSP數據的接收和發送 211
7.4.5 有關的幾個概念 212
7.5 主機接口(HPI) 215
7.5.1 HPI-8接口的結構 215
7.5.2 HPI-8控制寄存器和接口信號 217
7.5.3 HPI-8接口與主機的連接框圖 219
7.5.4 HPI的8條數據線作通用的
I/O引腳 220
7.6 外部總線操作 221
7.6.1 軟件等待狀態發生器 222
7.6.2 可編程分區切換邏輯 223
7.6.3 外部總線接口定時 224
習題七 228
第8章 TMS320C54x硬件系統設計 229
8.1 硬件系統設計概述 229
8.2 DSP硬件系統的基本設計 231
8.2.1 電源電路 231
8.2.2 復位電路 232
8.2.3 時鐘電路 234
8.2.4 JTAG接口電路 234
8.2.5 DSP系統硬件設計入門實例 235
8.3 外部存儲器擴展設計 238
8.3.1 程序存儲器擴展 239
8.3.2 數據存儲器擴展 246
8.4 A/D和D/A接口設計 249
8.4.1 DSP與A/D的接口設計 249
8.4.2 DSP與D/A的接口設計 253
8.5 語音信號處理系統設計 258
8.5.1 模擬接口芯片TLC320AD50C的
工作原理 258
8.5.2 TLC320AD50C與TMS320C5402
硬件接口設計 263
8.5.3 軟件編程 264
習題八 268
附錄 CCS中的編譯器、匯編器和鏈接器
選項設置 269
參考文獻 276