本書以“內(nèi)容夠用、理論夠簡、強(qiáng)調(diào)實(shí)踐”為基本思路, 首先介紹了DSP技術(shù)的硬件結(jié)構(gòu)和指令系統(tǒng)等相關(guān)理論知識(shí), 為學(xué)生提供一定的專業(yè)基礎(chǔ)知識(shí), 然后介紹TMS320C54x的實(shí)驗(yàn)系統(tǒng)及應(yīng)用程序開發(fā)實(shí)例, 著重強(qiáng)調(diào)DSP技術(shù)的應(yīng)用實(shí)踐。
作為信號(hào)處理領(lǐng)域應(yīng)用*廣泛的DSP芯片,美國TI公司TMS320C5000系列DSP具有典型的特點(diǎn),應(yīng)用領(lǐng)域廣泛。本書以C5000系列DSP為平臺(tái),采用輕松易懂的語言,介紹了C54x芯片的硬件結(jié)構(gòu)、軟件編程和應(yīng)用實(shí)例。
本書結(jié)構(gòu)清晰、內(nèi)容完整、舉例豐富、實(shí)用性強(qiáng),*大特色在于理論夠簡、強(qiáng)調(diào)實(shí)用。對(duì)掌握DSP技術(shù)所需要的軟硬件理論作了基本介紹,使讀者在設(shè)計(jì)和開發(fā)之前具備必要的理論,后面將主要篇幅放在DSP的應(yīng)用上。引入大量信號(hào)處理系統(tǒng)、通信系統(tǒng)實(shí)例,介紹了DSP在其中的應(yīng)用,包括如何利用匯編語言、C語言和MATLAB語言對(duì)DSP進(jìn)行設(shè)計(jì)、仿真。
本書的另一個(gè)特色是資源豐富,書中包括每章大量的習(xí)題、所有實(shí)例的源代碼、常用設(shè)計(jì)語言的安裝和使用方法介紹,使讀者可以更容易、更快速地掌握DSP系統(tǒng)的設(shè)計(jì)、開發(fā)和應(yīng)用。與本書配套的電子資源,讀者可以從清華大學(xué)出版社網(wǎng)站下載使用。
前言
數(shù)字信號(hào)處理(DSP)是一門涉及多門學(xué)科并廣泛應(yīng)用于很多科學(xué)和工程領(lǐng)域的新興學(xué)科,其以數(shù)字的形式對(duì)信號(hào)進(jìn)行加工處理,以便提取有用的信息并進(jìn)行有效的傳輸與應(yīng)用。隨著計(jì)算機(jī)技術(shù)和信息技術(shù)的飛速發(fā)展,DSP技術(shù)已經(jīng)在信號(hào)處理、通信系統(tǒng)、控制系統(tǒng)等多個(gè)領(lǐng)域得到廣泛應(yīng)用。
為了適應(yīng)DSP技術(shù)的發(fā)展,很多高校都開設(shè)了與DSP技術(shù)相關(guān)的課程,但是目前關(guān)于這方面的書大部分都是以介紹DSP技術(shù)的理論知識(shí)為主,以實(shí)踐應(yīng)用介紹為主的書籍較少。本書以美國TI公司在信號(hào)處理領(lǐng)域廣泛應(yīng)用的TMS320C54x芯片為對(duì)象編寫此書,力求將DSP的軟件和硬件基礎(chǔ)進(jìn)行簡要介紹,重點(diǎn)突出如何利用匯編語言、C語言和MATLAB語言將數(shù)字信號(hào)處理中的常用算法在DSP中實(shí)現(xiàn)。
本書共分8章。第1章對(duì)DSP進(jìn)行概述,主要介紹DSP的定義,DSP的研究內(nèi)容和實(shí)現(xiàn)方法,DSP芯片的特點(diǎn)、分類、選擇和應(yīng)用等。第2章介紹TMS320C54x系列DSP的硬件結(jié)構(gòu),包括基本的硬件結(jié)構(gòu)、總線結(jié)構(gòu)、中央處理器、存儲(chǔ)器、中斷系統(tǒng)以及片內(nèi)外設(shè)等。第3章介紹DSP系統(tǒng)設(shè)計(jì)和開發(fā)的基本方法和過程,包括DSP系統(tǒng)的構(gòu)成、設(shè)計(jì)過程、軟硬件開發(fā)流程等。第4章介紹CCS集成開發(fā)環(huán)境,包括CCS的安裝和使用方法。第5章介紹TMS320C54x匯編語言程序設(shè)計(jì)方法,包括匯編語言的尋址方式、指令系統(tǒng)以及利用匯編語言進(jìn)行DSP程序開發(fā)的典型實(shí)例。第6章介紹TMS320C54x C語言程序設(shè)計(jì)方法,包括C語言的使用方法、利用C語言進(jìn)行DSP程序開發(fā)的典型實(shí)例以及利用C語言和匯編語言進(jìn)行混合編程的方法。第7章介紹了MATLAB軟件在DSP設(shè)計(jì)中的應(yīng)用,包括MATLAB軟件的基本使用方法、CCSLink的使用方法以及如何利用MATLAB語言實(shí)現(xiàn)DSP中的常見算法。第8章介紹現(xiàn)代DSP系統(tǒng)設(shè)計(jì),以Altera公司的DSP Builder為例,介紹其設(shè)計(jì)流程和應(yīng)用實(shí)例。每章后面都提供習(xí)題以供參考和鞏固。
本書由劉偉擔(dān)任主編,第1~第5章由劉偉編寫,第6章由李瑩編寫,第7和第8章由薛玉利編寫,全書由劉偉統(tǒng)稿,南京大學(xué)的方元教授對(duì)本書提出了許多寶貴的意見。在編寫的過程中,得到了上海師范大學(xué)天華學(xué)院領(lǐng)導(dǎo)和多位同事的支持和幫助,在此一并表示衷心的感謝。
由于編者水平有限,疏漏在所難免,歡迎批評(píng)指正。
編者2017年4月
第1章 DSP概述
1.1 數(shù)字信號(hào)處理
1.2 DSP芯片
1.2.1 DSP芯片的特點(diǎn)
1.2.2 DSP芯片的分類
1.2.3 常用的DSP芯片
1.2.4 DSP芯片的選擇
1.2.5 DSP芯片的應(yīng)用
習(xí)題
第2章 TMS320C54x系列DSP的硬件結(jié)構(gòu)
2.1 基本結(jié)構(gòu)
2.1.1 C54x芯片的主要特點(diǎn)
2.1.2 C54x芯片硬件基本結(jié)構(gòu)
2.2 總線結(jié)構(gòu)
2.3 中央處理器
2.3.1 算術(shù)邏輯運(yùn)算單元
2.3.2 累加器
2.3.3 桶形移位寄存器
2.3.4 乘法累加單元
2.3.5 比較選擇存儲(chǔ)單元
2.3.6 指數(shù)編碼器
2.3.7 CPU狀態(tài)和控制寄存器
2.4 存儲(chǔ)器
2.4.1 存儲(chǔ)器地址和空間分配
2.4.2 程序存儲(chǔ)器
2.4.3 數(shù)據(jù)存儲(chǔ)器
2.4.4 I/O存儲(chǔ)器
2.5 中斷系統(tǒng)
2.5.1 中斷類型
2.5.2 中斷寄存器
2.5.3 中斷流程
2.6 片內(nèi)外設(shè)
習(xí)題
第3章 DSP系統(tǒng)設(shè)計(jì)與開發(fā)
3.1 DSP系統(tǒng)的構(gòu)成
3.2 DSP系統(tǒng)的設(shè)計(jì)過程
3.3 DSP系統(tǒng)的硬件開發(fā)
3.4 DSP系統(tǒng)的軟件開發(fā)
3.4.1 編程語言的選擇
3.4.2 軟件開發(fā)工具與環(huán)境
習(xí)題
第4章 CCS集成開發(fā)環(huán)境
4.1 CCS簡介
4.2 CCS v5的安裝
4.3 CCS v5的使用
4.3.1 CCS v5的窗口
4.3.2 新建工程文件
4.3.3 導(dǎo)入已有的工程文件
4.3.4 調(diào)試工程
習(xí)題
第5章 TMS320C54x匯編語言程序設(shè)計(jì)
5.1 匯編語言概述
5.2 尋址方式
5.3 指令系統(tǒng)
5.3.1 數(shù)據(jù)傳送指令
5.3.2 算術(shù)運(yùn)算指令
5.3.3 邏輯運(yùn)算指令
5.3.4 程序控制指令
5.3.5 并行操作指令
5.3.6 重復(fù)操作指令
5.4 匯編語言程序設(shè)計(jì)實(shí)例
5.5 TMS320C54x應(yīng)用程序開發(fā)實(shí)例
5.5.1 數(shù)字濾波器的DSP實(shí)現(xiàn)
5.5.2 快速傅里葉變換的實(shí)現(xiàn)
5.5.3 QPSK的調(diào)制與解調(diào)
5.5.4 FSK調(diào)制與解調(diào)
習(xí)題
第6章 TMS320C54x C語言程序設(shè)計(jì)
6.1 C語言簡介
6.2 C54x DSP的C語言編程
6.2.1 C54x DSP支持的C語言數(shù)據(jù)類型
6.2.2 系統(tǒng)的初始化
6.2.3 函數(shù)的調(diào)用
6.2.4 堆棧的使用
6.2.5 寄存器的訪問
6.2.6 存儲(chǔ)器的訪問
6.2.7 I/O空間的訪問
6.3 TMS320C54x C語言程序開發(fā)實(shí)例
6.3.1 IIR濾波器的DSP實(shí)現(xiàn)
6.3.2 FIR濾波器的DSP實(shí)現(xiàn)
6.3.3 快速傅里葉變換的實(shí)現(xiàn)
6.3.4 卷積算法的DSP實(shí)現(xiàn)
6.3.5 相關(guān)算法的DSP實(shí)現(xiàn)
6.3.6 離散余弦變換的DSP實(shí)現(xiàn)
6.3.7 自適應(yīng)濾波器LMS算法實(shí)現(xiàn)
6.4 用C語言和匯編語言混合編程
6.4.1 獨(dú)立編寫C程序和匯編程序
6.4.2 C程序與匯編語言相互訪問數(shù)據(jù)
6.4.3 C程序中直接嵌入?yún)R編語句
習(xí)題
第7章 MATLAB在DSP設(shè)計(jì)中的應(yīng)用
7.1 MATLAB概述
7.1.1 MATLAB軟件的安裝
7.1.2 MATLAB的軟件環(huán)境
7.1.3 MATLAB的基本操作
7.2 CCSLink簡介
7.2.1 CCSLink的功能及特點(diǎn)
7.2.2 CCSLink的配置
7.2.3 CCSLink的組件內(nèi)容
7.2.4 CCSLink的連接對(duì)象
7.2.5 CCSLink的函數(shù)
7.3 MATLAB實(shí)現(xiàn)DSP基本算法
7.3.1 相關(guān)算法的仿真
7.3.2 快速傅里葉變換的仿真
7.3.3 離散余弦變換的仿真
7.3.4 IIR濾波器的仿真
7.3.5 FIR濾波器的仿真
習(xí)題
第8章 現(xiàn)代DSP系統(tǒng)設(shè)計(jì)
8.1 DSP Builder及其設(shè)計(jì)流程
8.2 利用DSP Builder設(shè)計(jì)實(shí)例
習(xí)題
參考文獻(xiàn)