本書以TMS320C55xDSP為重點,全面介紹了TMS320C5000DSP系統設計與開發。全書共8章,首先詳細介紹了數字信號處理器的硬件結構、匯編指令、存儲空間結構和尋址方式;其次介紹了C55x處理器中C語言與匯編語言的混合編程方法;然后從應用的角度,結合片內集成外設的結構和功能,給出了片內集成外設驅動程序開發方法及部分片內外設的調試方法;最后結合DSP軟/硬件的設計,給出了詳細的設計方法和豐富的應用實例。同時還對DSP的集成開發環境CCS的使用方法進行了詳盡的描述。
本書旨在從應用的角度使讀者了解TMS320C55xDSP的體系結構和基本原理,熟悉DSP芯片的開發工具和使用方法,掌握DSP系統設計和軟/硬件開發。
本書內容豐富、新穎、實用性強,適合從事數字信號處理的科技人員和高校師生閱讀。
汪春梅,上海師范大學電子工程學院教授,2004年10月-2005年4月 美國DAYTON 大學訪問學者,近幾年發表學術論文16篇,出版著作兩部.自1998攻讀碩士開始,在信號處理與應用方向一直從事DSP系統設計與開發工作,所以著作的重點依然是關于DSP技術,在本課題中詳細介紹C55X DSP的基本原理,系統設計和軟硬件方法。并附有大量的應用實例,實用性強,對DSP的學習者具有較強的實踐指導意義。
第1章 數字信號處理和DSP系統
1.1 實時數字信號處理技術的發展
1.2 數字信號處理器的特點
1.2.1 存儲器結構
1.2.2 流水線
1.2.3 硬件乘法累加單元
1.2.4 零開銷循環
1.2.5 特殊的尋址方式
1.2.6 高效的特殊指令
1.2.7 豐富的片內外設
1.3 德州儀器公司的DSP產品
1.3.1 C24x系列和C28x系列
1.3.2 C62x系列和C64x系列
1.3.3 C67x系列和C33
1.3.4 C54x系列和C55x系列 第1章 數字信號處理和DSP系統
1.1 實時數字信號處理技術的發展
1.2 數字信號處理器的特點
1.2.1 存儲器結構
1.2.2 流水線
1.2.3 硬件乘法累加單元
1.2.4 零開銷循環
1.2.5 特殊的尋址方式
1.2.6 高效的特殊指令
1.2.7 豐富的片內外設
1.3 德州儀器公司的DSP產品
1.3.1 C24x系列和C28x系列
1.3.2 C62x系列和C64x系列
1.3.3 C67x系列和C33
1.3.4 C54x系列和C55x系列
1.3.5 C66x多核系列
1.4 DSP芯片的選擇
1.4.1 運算速度
1.4.2 算法格式和數據寬度
1.4.3 存儲器
1.4.4 功耗
1.4.5 開發工具
1.5 DSP應用系統設計流程
思考與練習題
第2章 TMS320C55x的硬件結構
2.1 TMS320C55x DSP的基本結構
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 VC5509A的主要特性
2.2.2 VC5509A的引腳功能
2.3 TMS320C55x 存儲空間結構
2.3.1 存儲器映射
2.3.2 程序空間
2.3.3 數據空間
2.3.4 I/O空間
思考與練習題
第3章 TMS320C55x的指令系統
3.1 尋址方式
3.1.1 絕對尋址模式
3.1.2 直接尋址模式
3.1.3 間接尋址模式
3.2 TMS320C55x的指令系統
3.2.1 C55x指令的并行執行
3.2.2 TMS320C55x DSP的匯編指令
思考與練習題
第4章 C55x處理器的軟件設計
4.1 C55x處理器程序基本結構
4.1.1 自我調度程序的基本結構
4.1.2 應用嵌入式操作系統
4.2 C語言程序開發及優化
4.2.1 C語言中的數據類型
4.2.2 對I/O空間進行尋址
4.2.3 interrupt關鍵字
4.2.4 onchip關鍵字
4.2.5 C語言的優化
4.3 C語言與匯編語言的混合編程
4.3.1 在C語言中直接嵌套匯編語句
4.3.2 C語言調用匯編模塊的接口
4.4 通用目標文件格式
4.4.1 C/C++和匯編語言中段的分配
4.4.2 寄存器模式設置
4.4.3 鏈接命令文件
4.5 C55x處理器的數字信號處理庫和 圖像、視頻處理庫
4.5.1 C55x的數字信號處理庫
4.5.2 C55x的圖像、視頻處理庫
思考與練習題
第5章 TMS320C55x的片內集成外設開發及測試
5.1 C55x片內外設與芯片支持庫簡介
5.2 時鐘發生器
5.2.1 時鐘模式寄存器
5.2.2 工作模式
5.2.3 CLKOUT輸出
5.2.4 使用方法
5.2.5 使用方法及實例
5.2.6 時鐘發生器的調試
5.3 通用定時器
5.3.1 結構框圖
5.3.2 工作原理
5.3.3 使用方法
5.3.4 通用定時器的應用
5.3.5 通用定時器的調試
5.4 外部存儲器接口
5.4.1 功能與作用
5.4.2 外部寄存器接口硬件連接與配置
5.4.3 外部寄存器接口的軟件設置
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 多通道緩沖串口的應用
5.6.8 McBSP串口的測試
5.7 通用輸入/輸出端口GPIO
5.7.1 GPIO口概述
5.7.2 上電模式設定
5.7.3 驅動程序開發
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 多媒體卡控制器
5.10.1 多媒體卡控制器簡介
5.10.2 MMC/SD模式
5.10.3 SPI模式
5.10.4 MMC控制器的應用
5.11 通用串行總線(USB)
5.11.1 通用串行總線(USB)簡介
5.11.2 USB的DMA控制器
5.11.3 USB模塊的寄存器
5.11.4 USB模塊的應用
5.12 模數轉換器(ADC)
5.12.1 模數轉換器結構和時序
5.12.2 模數轉換器的寄存器
5.12.3 使用方法及實例
5.13 實時時鐘(RTC)
5.13.1 實時時鐘基本結構
5.13.2 實時時鐘的內部寄存器
5.13.3 實時時鐘的應用
5.14 看門狗定時器(Watchdog)
5.14.1 工作方式
5.14.2 寄存器說明
5.14.3 看門狗定時器的應用
5.15 異步串口(UART)
5.15.1 異步串口基本結構
5.15.2 異步串口寄存器
5.15.3 異步串口的應用
思考與練習題
第6章 DSP集成開發環境CCS
6.1 CCS功能簡介
6.2 CCS安裝與設置
6.2.1 CCS軟件安裝
6.2.2 CCS設置
6.3 CCS的基本操作
6.3.1 CCS的窗口和工具條
6.3.2 文件的編輯
6.3.3 反匯編窗口的使用
6.3.4 存儲器窗口的使用
6.3.5 寄存器窗口的使用
6.3.6 觀察窗口的使用
6.4 創建工程項目
6.4.1 工程項目的建立、打開和關閉
6.4.2 向工程項目添加各類文件
6.4.3 工程項目的構建
6.5 利用CCS調試程序
6.5.1 裝載并運行程序
6.5.2 斷點的使用
6.5.3 探針點的使用
6.5.4 圖形工具的使用
6.6 程序分析工具的使用
6.7 GEL工具的使用
6.8 CCS開發DSP軟件使用舉例
思考與練習題
第7章 TMS320C55x硬件設計實例
7.1 DSP最小系統設計
7.1.1 C55x的電源設計
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在語音系統中的應用
7.4 手寫系統的實現
7.5 C55x在軟件無線電中的應用
思考與練習題
第8章 TMS320C55x軟件設計實例
8.1 卷積算法
8.1.1 卷積算法
8.1.2 卷積算法的MATLAB實現
8.1.3 卷積算法的DSP實現
8.2 有限沖激響應濾波器(FIR)的 實現
8.2.1 有限沖激響應濾波器的特點和結構
8.2.2 有限沖激響應濾波器的MATLAB設計
8.2.3 有限沖激響應濾波器DSP實現
8.3 無限沖激響應濾波器(IIR)的 實現
8.3.1 無限沖激響應濾波器的結構
8.3.2 無限沖激響應濾波器的 MATLAB設計
8.3.3 無限沖激響應濾波器的DSP實現
8.4 快速傅里葉變換(FFT)
8.4.1 快速傅里葉變換(FFT)算法
8.4.2 快速傅里葉變換(FFT)的DSP實現
8.5 語音信號編碼解碼(G.711)
8.5.1 語音信號編解碼原理
8.5.2 語音信號編解碼的DSP實現
8.6 數字圖像的銳化
8.7 Viterbi譯碼
思考與練習題
附錄A 寄存器
附錄B VC5510中斷
附錄C TMS320C55x的狀態寄存器
附錄D TMS320C55x的匯編指令集
附錄E TMS320C55xDSP庫函數
附錄F VC5509系統部分原理圖
習題答案
參考文獻
前言
歷經三十年多的發展,數字信號處理器(DSP)的應用范圍已經遍及軍用電子、消費電子、工業控制等重要領域,各種嶄新的應用層出不窮,這些應用對DSP的處理能力、功耗、體積以及開發的方便程度都提出了較高要求。而第三代DSP則以其強大的數字信號處理能力、超低功耗和適合手持設備的超小型封裝等特點,較好地滿足了新一代電子產品的要求,以CCS為代表的集成開發環境為應用者提供了方便、快捷的DSP開發手段。
C55x系列處理器在兼容C54x系列處理器指令集的基礎上,將處理速度提高到200~300MHz,而對DSP內核又進行了重大改進,將強大的處理能力和超低功耗完美結合,成為新一代數字信號處理器的典型代表。正是因為C55x系列處理器具有這些特點,所以特別適合嵌入式數字信號處理方面的應用。我們從2003年起將所使用的平臺由C54x系列處理器轉換為C55x系列處理器,先后在軟件無線電、超聲波探測等多個項目中應用C55x處理器,取得了較好的效果。我們先后編寫了《TMS320C5000系列DSP系統設計與開發實例》、《TMS320C55xDSP原理及應用》(第2版)和《TMS320C55xDSP原理及應用》(第3版),在征求讀者反饋意見的基礎上,第4版又對書中內容進行了補充和修訂。
為了適應初學者的需要,《TMS320C55xDSP原理及應用》(第4版)在內容上注意了由淺入深、圖文并茂,全面系統地展開論述,在每章之后附有習題,方便讀者理解和復習本章的內容;本書還對C55x芯片支持庫、數字信號處理庫和圖像、視頻處理庫進行了介紹,并在附錄中對數字信號處理庫和圖像、視頻處理庫的函數進行了詳細說明;本書增加了大量的軟硬件應用實例,在書中介紹了大量實用DSP系統,能夠滿足DSP人員之所需,書中所列出的大量典型的應用實例,可在實際開發中直接引用,相信能夠給開發者帶來一些有益的幫助。
本書第1章結合德州儀器公司的DSP產品對DSP技術的發展概況進行了介紹,讀者可以根據本章內容和需求選取適合的DSP芯片;第2章重點介紹了TMS320VC55x處理器的硬件結構,并以TMS320VC5509為例介紹了C55x處理器的主要特性和功能,最后介紹了DSP的存儲空間結構;第3章在介紹數字信號處理和DSP系統的基礎上,詳細介紹了C55x處理器的匯編指令和尋址方式;第4章介紹了C55x處理器的程序基本結構,C語言編程以及優化,C語言與匯編語言的混合編程,通用目標文件格式,最后對C55x處理器的數字信號處理庫和圖像、視頻處理庫進行了介紹;第5章介紹了TMS320C55x系列片內集成外設的結構、功能,以及芯片支持庫的使用和驅動程序的開發,并給出了部分片內外設的測試過程;第6章介紹了DSP的集成開發環境CCS的原理和使用;第7、8章詳細介紹了DSP硬件、軟件的設計方法和應用實例,第8章的軟件實例都可以在SIMULATE環境下運行,而不需要硬件的支持。本書配有教學課件、軟件實例及部分程序代碼,如有需要請與出版社聯系或登錄華信教育資源網http://hxedu.com.cn。
本書由汪春梅策劃,汪春梅編寫了其中第2、3、6、8章,第1、4、5、7章由孫洪波編寫。在編寫過程中,鄒俊忠、馬治國、常寧、葉宏、茅紅偉、張崇明、倪繼鋒、朱品昌等給予了支持和幫助,北京瑞泰創新科技有限公司的李心陽工程師提供了部分技術資料,電子工業出版社給予了極大的鼓勵和支持。作者在此一并致謝。
本書既可以作為大中專院校的實踐類選修課教材,也可作為電子工程技術人員的參考書籍。
希望此書對讀者有所裨益,也希望有助于DSP技術的推廣。限于作者的水平,書中的錯誤在所難免,懇請讀者不吝賜教!
汪春梅
2014年2月于上海