本書以TMS320C55x DSP為重點,全面介紹TMS320C5000系列DSP系統(tǒng)設計與開發(fā)。全書共8章,首先詳細介紹C55x DSP的硬件結構、匯編指令、存儲空間結構和尋址方式;然后介紹C55x DSP中C語言與匯編語言的混合編程方法;再從應用的角度,結合片內外設的結構和功能,給出片內外設驅動程序的開發(fā)方法及部分片內外設的調試方法;最后結合DSP軟/硬件的設計,給出詳細的設計方法和豐富的應用實例。同時,本書還對DSP的集成開發(fā)環(huán)境CCS的使用方法進行詳盡的描述。 本書旨在從應用的角度使讀者了解C55x DSP的體系結構和基本原理,熟悉DSP芯片的開發(fā)工具和使用方法,掌握DSP系統(tǒng)設計和軟/硬件開發(fā)。
汪春梅,上海師范大學信息與機電工程學院電氣信息系副教授,主要研究方向為通信信號處理與模式識別。多年來一直從事DSP方面的教學和科研工作,承擔科研項目多項。
第1章 數字信號處理和DSP系統(tǒng)
1.1 實時數字信號處理技術的發(fā)展
1.2 數字信號處理器的特點
1.2.1 存儲器結構
1.2.2 流水線
1.2.3 硬件乘法累加單元
1.2.4 零開銷循環(huán)
1.2.5 特殊的尋址方式
1.2.6 高效的特殊指令
1.2.7 豐富的片內外設
1.3 TI公司的DSP產品
1.3.1 C24x和C28x系列DSP
1.3.2 C62x和C64x系列DSP
1.3.3 C67x系列DSP和C33
1.3.4 C54x和C55x系列DSP
1.3.5 C66x系列DSP
1.4 DSP芯片的選擇
1.4.1 運算速度
1.4.2 算法格式和數據寬度
1.4.3 存儲器
1.4.4 功耗
1.4.5 開發(fā)工具
1.5 DSP應用系統(tǒng)設計流程
思考與練習題
第2章 TMS320C55x的硬件結構
2.1 TMS320C55x的基本結構
2.1.1 C55x的CPU體系結構
2.1.2 指令緩沖單元
2.1.3 程序流程單元
2.1.4 地址流程單元
2.1.5 數據計算單元
2.1.6 指令流水線
2.2 TMS320VC5509A的主要特性
2.2.1 TMS320VC5509A的主要特性
2.2.2 TMS320VC5509A的引腳功能
2.3 TMS320C55x存儲空間結構
2.3.1 存儲器映射
2.3.2 程序空間
2.3.3 數據空間
2.3.4 I/O空間
思考與練習題
第3章 TMS320C55x的指令系統(tǒng)
3.1 尋址方式
3.1.1 絕對尋址方式
3.1.2 直接尋址方式
3.1.3 間接尋址方式
3.2 TMS320C55x的指令系統(tǒng)
3.2.1 TMS320C55x指令的并行執(zhí)行
3.2.2 TMS320C55x的匯編指令
思考與練習題
第4章 TMS320C55x的軟件設計
4.1 C55x的程序基本結構
4.1.1 自我調度程序的基本結構
4.1.2 應用嵌入式操作系統(tǒng)
4.2 C語言編程及優(yōu)化
4.2.1 C語言中的數據類型
4.2.2 對I/O空間進行尋址
4.2.3 interrupt關鍵字
4.2.4 onchip關鍵字
4.2.5 C語言的優(yōu)化
4.3 C語言與匯編語言的混合編程
4.3.1 在C語言中直接嵌套匯編語句
4.3.2 C語言調用匯編模塊的接口
4.4 通用目標文件格式
4.4.1 C語言和匯編語言中段的分配
4.4.2 寄存器模式設置
4.4.3 鏈接命令文件
4.5 C55x的數字信號處理庫和圖像/視頻處理庫
4.5.1 C55x的數字信號處理庫
4.5.2 C55x的圖像/視頻處理庫
思考與練習題
第5章 TMS320C55x片內外設開發(fā)及調試
5.1 C55x片內外設與芯片支持庫簡介
5.2 時鐘發(fā)生器
5.2.1 時鐘模式寄存器
5.2.2 工作模式
5.2.3 CLKOUT輸出
5.2.4 使用方法
5.2.5 使用實例
5.2.6 時鐘發(fā)生器的調試
5.3 通用定時器
5.3.1 定時器結構
5.3.2 工作原理
5.3.3 使用方法
5.3.4 通用定時器的應用
5.3.5 通用定時器的調試
5.4 外部存儲器接口(EMIF)
5.4.1 功能與作用
5.4.2 EMIF硬件連接與配置
5.4.3 EMIF的軟件設置
5.5 增強主機接口(EHPI)
5.5.1 EHPI的非復用方式
5.5.2 EHPI的復用方式
5.5.3 EHPI的寄存器
5.6 多通道緩沖串口(McBSP)
5.6.1 概述
5.6.2 組成框圖
5.6.3 采樣率產生器
5.6.4 多通道選擇
5.6.5 異常處理
5.6.6 McBSP寄存器
5.6.7 McBSP的應用
5.6.8 McBSP的調試
5.7 通用輸入/輸出接口(GPIO)
5.7.1 GPIO概述
5.7.2 加載模式設定
5.7.3 驅動程序開發(fā)
5.7.4 GPIO的調試
5.8 DMA控制器
5.8.1 概述
5.8.2 通道和端口
5.8.3 HPI的配置
5.8.4 DMA通道傳輸配置
5.8.5 DMA控制器的寄存器
5.8.6 使用方法及實例
5.9 I2C總線
5.9.1 I2C總線簡介
5.9.2 I2C寄存器
5.9.3 I2C模塊的使用
5.10 MMC控制器
5.10.1 MMC控制器簡介
5.10.2 MMC/SD卡模式
5.10.3 MMC控制器的應用
5.11 通用串行總線(USB)
5.11.1 USB簡介
5.11.2 USB模塊的DMA控制器
5.11.3 USB模塊的寄存器
5.11.4 USB模塊的應用
5.12 A/D轉換器(ADC)
5.12.1 ADC的結構和時序
5.12.2 ADC的寄存器
5.12.3 使用方法及實例
5.13 實時時鐘(RTC)
5.13.1 RTC的基本結構
5.13.2 RTC的內部寄存器
5.13.3 RTC的應用
5.14 看門狗定時器(Watchdog)
5.14.1 工作方式
5.14.2 看門狗定時器的寄存器
5.14.3 看門狗定時器的應用
5.15 UART模塊
5.15.1 UART模塊的基本結構
5.15.2 UART寄存器
5.15.3 UART的應用
思考與練習題
第6章 DSP集成開發(fā)環(huán)境CCS
6.1 CCS簡介
6.1.1 CCS軟件安裝
6.1.2 CCS的啟動
6.2 創(chuàng)建工程
6.2.1 工程的建立
6.2.2 文件的添加
6.2.3 文件的編輯
6.2.4 命令文件簡介
6.2.5 添加庫
6.2.6 工程的構建
6.3 利用CCS調試程序
6.3.1 CCS的配置
6.3.2 調試程序
6.3.3 觀察窗口的使用
6.3.4 圖形工具的使用
6.4 CCS開發(fā)DSP程序舉例
思考與練習題
第7章 TMS320C55x硬件設計實例
7.1 DSP最小系統(tǒng)設計
7.1.1 電源電路設計
7.1.2 復位電路設計
7.1.3 時鐘電路設計
7.1.4 JTAG接口電路設計
7.1.5 程序加載方式
7.2 A/D轉換與D/A轉換設計
7.2.1 串行多路A/D轉換設計
7.2.2 高速并行A/D轉換設計
7.2.3 并行D/A轉換設計
7.3 C55x在語音信號處理系統(tǒng)中的應用
7.4 手寫系統(tǒng)的實現(xiàn)
思考與練習題
第8章 TMS320C55x軟件設計實例
8.1 卷積算法
8.1.1 卷積
8.1.2 卷積算法的MATLAB實現(xiàn)
8.1.3 卷積算法的DSP實現(xiàn)
8.2 有限沖激響應(FIR)濾波器的實現(xiàn)
8.2.1 FIR濾波器的特點和結構
8.2.2 FIR濾波器的MATLAB設計
8.2.3 FIR濾波器的DSP實現(xiàn)
8.3 無限沖激響應(IIR)濾波器的實現(xiàn)
8.3.1 IIR濾波器的結構
8.3.2 IIR濾波器的MATLAB設計
8.3.3 IIR濾波器的DSP實現(xiàn)
8.4 快速傅里葉變換(FFT)
8.4.1 FFT算法
8.4.2 FFT的DSP實現(xiàn)
8.5 語音信號編解碼
8.5.1 語音信號編解碼原理
8.5.2 語音信號編解碼的DSP實現(xiàn)
8.6 數字圖像的銳化
8.7 Viterbi譯碼
思考與練習題
附錄A 寄存器
附錄B TMS320VC5510中斷
附錄C TMS320C55x的狀態(tài)寄存器
附錄D TMS320C55x的匯編指令集
附錄E TMS320C55x DSP函數庫
參考文獻