版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、<p><b> DSP原理與應用</b></p><p> 課程設計(學年論文)說明書</p><p> 課題名稱: DSP原理與應用課程設計 </p><p> 學生學號: </p><p> 專業(yè)班級: </p><
2、;p> 學生姓名: </p><p> 指導教師: </p><p><b> 目 錄</b></p><p><b> 第一章 緒論1</b></p><p> 第二章 DSP芯片的介紹3</p>
3、;<p> 2.1 DSP芯片的特點3</p><p> 2.1.1 DSP芯片主要特點3</p><p> 2.1.2 DSP芯片的優(yōu)缺點4</p><p> 2.2 DSP芯片的分類4</p><p> 2.3 DSP芯片的應用5</p><p> 2.4 TMS32
4、0vC5509芯片的介紹6</p><p> 第三章 總體設計9</p><p> 3.1 硬件設計9</p><p> 3.1.1 DSP芯片9</p><p> 3.1.2 電源設計10</p><p> 3.1.3 復位電路設計11</p><p> 3.
5、1.4 時鐘電路設計10</p><p> 3.1.5 程序存儲器擴展設計11</p><p> 3.1.6 數(shù)據(jù)存儲器擴展設計9</p><p> 3.1.7 JTAG接口設計10</p><p> 3.1.8 A/D接口電路設計11</p><p> 3.2 軟件設計9</p
6、><p> 第四章CCS集成開發(fā)工具9</p><p> 4.1 CCS是什么9</p><p> 4.2 CCS窗口簡介10</p><p> 4.2.1 CCS窗口示例10</p><p> 4.2.2 CCS中常用的工具11</p><p> 4.3 CCS的安
7、裝與設置11</p><p> 第五章 正弦信號發(fā)生器的實現(xiàn)過程13</p><p> 5.1 正弦信號發(fā)生器的理論實現(xiàn)13</p><p> 5.1.1 常用的理論實現(xiàn)方法13</p><p> 5.1.2 編程實現(xiàn)13</p><p> 5.2 調(diào)試過程18</p>&
8、lt;p> 第六章 實驗心得與體會13</p><p><b> 參考文獻23</b></p><p><b> 第一章 緒論</b></p><p> 數(shù)字信號處理是20世紀60年代,隨著信息學科和計算機學科的高速發(fā)展而</p><p> 迅速發(fā)展起來的一門新興學科。它的重要
9、性日益在各個領域的應用中表現(xiàn)出來。其主要標志是兩項重大進展,即快速傅里葉變換(FFT)算法的提出和數(shù)字濾波器設計方法的完善。數(shù)字信號處理是把信號用數(shù)字或符號表示成序列,通過計算機或通用(專用)信號處理設備,用數(shù)值計算方法進行各種處理,達到提取有用信息便于應用的目的。例如:濾波、檢測、變換、增強、估計、識別、參數(shù)提取、頻譜分析等。</p><p> 數(shù)字信號處理的目的是對真實世界的連續(xù)模擬信號進行測量或濾波。因
10、此在進行數(shù)字信號處理之前需要將信號從模擬域轉(zhuǎn)換到數(shù)字域,這通常通過模數(shù)轉(zhuǎn)換器實現(xiàn)。而數(shù)字信號處理的輸出經(jīng)常也要變換到模擬域,這是通過數(shù)模轉(zhuǎn)換器實現(xiàn)的。數(shù)字信號處理的算法需要利用計算機或?qū)S锰幚碓O備如數(shù)字信號處理器(DSP)和專用集成電路(ASIC)等。數(shù)字信號處理的研究方向應該更加廣泛、更加深入.特別是對于譜分析的本質(zhì)研究,對于非平穩(wěn)和非高斯隨機信號的研究,對于多維信號處理的研究等,都具有廣闊前景。</p><p&g
11、t; 數(shù)字信號處理技術(shù)發(fā)展很快、應用很廣、成果很多。多數(shù)科學和工程中遇到的是模擬信號。以前都是研究模擬信號處理的理論和實現(xiàn)。模擬信號處理缺點:難以做到高精度,受環(huán)境影響較大,可靠性差,且不靈活等。數(shù)字系統(tǒng)的優(yōu)點:體積小、功耗低、精度高、可靠性高、靈活性大、易于大規(guī)模集成、可進行二維與多維處理。隨著大規(guī)模集成電路以及數(shù)字計算機的飛速發(fā)展,加之從60年代末以來數(shù)字信號處理理論和技術(shù)的成熟和完善,用數(shù)字方法來處理信號,即數(shù)字信號處理,已逐漸
12、取代模擬信號處理。</p><p> 數(shù)字信號處理是利用計算機或?qū)S锰幚碓O備,以數(shù)字形式對信號進行采集、變換、濾波、估值、增強、壓縮、識別等處理,以得到符合人們所需要的信號形式。數(shù)字信號處理是將信號以數(shù)字方式表示并處理的理論和技術(shù)。數(shù)字信號處理與模擬信號處理是信號處理的子集。數(shù)字信號處理技術(shù)及設備具有靈活、精確、抗干擾強、設備尺寸小、造價低、速度快等突出優(yōu)點,這些都是模擬信號處理技術(shù)與設備所無法比擬的。<
13、/p><p> 數(shù)字信號處理(Digital Signal Processing,簡稱DSP)是一門涉及許多學科而又廣泛應用于許多領域的新興學科。數(shù)字信號處理是圍繞著數(shù)字信號處理的理論、實現(xiàn)和應用等幾個方面發(fā)展起來的。數(shù)字信號處理在理論上的發(fā)展推動了數(shù)字信號處理應用的發(fā)展。反過來,數(shù)字信號處理的應用又促進了數(shù)字信號處理理論的提高。而數(shù)字信號處理的實現(xiàn)則是理論和應用之間的橋梁。數(shù)字信號處理是以眾多的學科為理論基礎的,
14、它所涉及的范圍及其廣泛。例如,在數(shù)學領域,微積分、概率統(tǒng)計、隨機過程、數(shù)值分析等都是數(shù)字信號處理的基本工具,與網(wǎng)絡理論、信號與系統(tǒng)、控制論、通信理論、故障診斷等也密切相關(guān)。一些新興的學科,如人工智能、模式識別、神經(jīng)網(wǎng)絡等,都與數(shù)字信號處理密不可分??梢哉f,數(shù)字信號處理是把許多經(jīng)典的理論體系作為自己的理論基礎,同時又使自己成為一系列新興學科的理論基礎。</p><p> 長期以來,信號處理技術(shù)—直用于轉(zhuǎn)換或產(chǎn)生模
15、擬或數(shù)字信號。其中應用得最頻繁的領域就是信號的濾波。此外,從數(shù)字通信、語音、音頻和生物醫(yī)學信號處理到檢測儀器儀表和機器人技術(shù)等許多領域中,都廣泛地應用了數(shù)字信號處理(digital signal processing,DSP)技術(shù)。數(shù)字信號處理己經(jīng)發(fā)展成為一項成熟的技術(shù),并且在許多應用領域逐步代替了傳統(tǒng)的模擬信號處理系統(tǒng)。世界上三大DSP芯片生產(chǎn)商:1.德克薩斯儀器公司(TI) 2.模擬器件公司(ADI) 3.摩托羅拉公司(Motoro
16、la).這三家公司幾乎壟斷了通用DSP芯片市場。數(shù)字信號處理的書籍很多,其中以麻省理工學院奧本海姆編著的《Discrete Time Signal Processing》最為經(jīng)典 ,有中譯本《離散時間信號處理》由西安交通大學出版?,F(xiàn)在是第二版。</p><p> 第二章 DSP芯片的介紹</p><p> 2.1 DSP芯片的特點</p><p> DSP
17、芯片,也稱數(shù)字信號處理器, 是一種具有特殊結(jié)構(gòu)的微處理器。DSP芯片的內(nèi)部采用程序和數(shù)據(jù)分開的哈佛結(jié)構(gòu),具有專門的硬件乘法器,廣泛采用流水線操作,提供特殊的DSP指令,可以用來快速的實現(xiàn)各種數(shù)字信號處理算法。</p><p> 2.1.1 DSP芯片主要特點</p><p> 根據(jù)數(shù)字信號處理的要求,DSP芯片一般具有如下的一些主要特點:</p><p>
18、⑴在一個指令周期內(nèi)可完成一次乘法和一次加法。 </p><p> ?、瞥绦蚝蛿?shù)據(jù)空間分開,可以同時訪問指令和數(shù)據(jù)。 </p><p> ?、瞧瑑?nèi)具有快速RAM,通常可通過獨立的數(shù)據(jù)總線在兩塊中同時訪問。 </p><p> ?、染哂械烷_銷或無開銷循環(huán)及跳轉(zhuǎn)的硬件支持。 </p><p> ?、煽焖俚闹袛嗵幚砗陀布蘒/O支持。 </p&g
19、t;<p> ?、示哂性趩沃芷趦?nèi)操作的多個硬件地址產(chǎn)生器。 </p><p> ?、丝梢圆⑿袌?zhí)行多個操作。 </p><p> ?、讨С至魉€操作,使取指、譯碼和執(zhí)行等操作可以重疊執(zhí)行。 </p><p> ?、团c通用微處理器相比,DSP芯片的其他通用功能相對較弱些。 </p><p> 2.1.2 DSP芯片的優(yōu)缺點<
20、;/p><p> DSP芯片主要應用在信號處理 、圖像處理 、儀器 、聲音語言 、控制軍事 、通訊 、醫(yī)療 、家用電器等諸多領域。其優(yōu)點主要有:大規(guī)模集成性、穩(wěn)定性好、精度高、可編程性、高速性能、可嵌入性、接口和集成方便;缺點主要有:成本較高、高頻時鐘的高頻干擾、功率消耗較大等。 </p><p> 2.2 DSP芯片的分類</p><p> DSP芯片可以按照
21、下列三種方式進行分類。 </p><p><b> 1.按基礎特性分 </b></p><p> 這是根據(jù)DSP芯片的工作時鐘和指令類型來分類的。如果在某時鐘頻率范圍內(nèi)的任何時鐘頻率上,DSP芯片都能正常工作,除計算速度有變化外,沒有性能的下降,這類DSP芯片一般稱為靜態(tài)DSP芯片。例如,日本OKI 電氣公司的DSP芯片、TI公司的TMS320C2XX系列芯片屬于
22、這一類 </p><p> 如果有兩種或兩種以上的DSP芯片,它們的指令集和相應的機器代碼機管腳結(jié)構(gòu)相互兼容,則這類DSP芯片稱為一致性DSP芯片。例如,美國TI公司的TMS320C54X就屬于這一類。 </p><p><b> 2.按數(shù)據(jù)格式分 </b></p><p> 這是根據(jù)DSP芯片工作的數(shù)據(jù)格式來分類的。數(shù)據(jù)以定點格式工作的
23、DSP芯片稱為定點DSP芯片,如TI公司的TMS320C1X/C2X、TMS320C2XX/C5X、TMS320C54X/C62XX系列,AD公司的ADSP21XX系列,AT&T公司的DSP16/16A,Motolora公司的MC56000等。以浮點格式工作的稱為浮點DSP芯片,如TI公司的TMS320C3X/C4X/C8X,AD公司的ADSP21XXX系列,AT&T公司的DSP32/32C,Motolora公司的MC9
24、6002等。 </p><p> 不同浮點DSP芯片所采用的浮點格式不完全一樣,有的DSP芯片采用自定義的浮點格式,如TMS320C3X,而有的DSP芯片則采用IEEE的標準浮點格式,如Motorola公司的MC96002、FUJITSU公司的MB86232和ZORAN公司的ZR35325等。 </p><p><b> 3.按用途分 </b></p>
25、<p> 按照DSP的用途來分,可分為通用型DSP芯片和專用型DSP芯片。通用型DSP芯片適合普通的DSP應用,如TI公司的一系列DSP芯片屬于通用型DSP芯片。專用DSP芯片是為特定的DSP運算而設計的,更適合特殊的運算,如數(shù)字濾波、卷積和FFT,如Motorola公司的DSP56200,Zoran公司的ZR34881,Inmos公司的IMSA100等就屬于專用型DSP芯片。 </p><p>
26、 2.3 DSP芯片的應用</p><p> 數(shù)字信號處理(DSP)芯片是一種特別適合于進行數(shù)字信號處理運算的微處理器可實時快速地實現(xiàn)各種數(shù)字信號處理算法。自20世紀80年代初誕生以來已廣泛應用于通信、電子、航空航天、軍事及家電產(chǎn)品成為一種十分重要的電子產(chǎn)品的核心部件。DSP芯片得到了飛速的發(fā)展。DSP芯片的高速發(fā)展,一方面得益于集成電路技術(shù)的發(fā)展,另一方面也得益于巨大的市場。在近20年時間里,DSP芯片已
27、經(jīng)在信號處理、通信、雷達等許多領域得到廣泛的應用。目前,DSP芯片的價格越來越低,性能價格比日益提高,具有巨大的應用潛力。DSP芯片的應用主要有:</p><p> (1) 信號處理——如數(shù)字濾波、自適應濾波、快速傅立葉變換、相關(guān)運算、譜分析、卷積、模式匹配、加窗、波形產(chǎn)生等;</p><p> (2) 通信——如調(diào)制解調(diào)器、自適應均衡、數(shù)據(jù)加密、數(shù)據(jù)壓縮、回波抵消、多路復用、傳真、擴
28、頻通信、糾錯編碼、可視電話等;</p><p> (3) 語音——如語音編碼、語音合成、語音識別、語音增強、說話人辨認、說話人確認、語音郵件、語音存儲等;</p><p> (4) 圖形/圖像——如二維和三維圖形處理、圖像壓縮與傳輸、圖像增強、動畫、機器人視覺等;</p><p> (5) 軍事——如保密通信、雷達處理、聲納處理、導航、導彈制導等;</p
29、><p> (6) 儀器儀表——如頻譜分析、函數(shù)發(fā)生、鎖相環(huán)、地震處理等;</p><p> (7) 自動控制——如引擎控制、聲控、自動駕駛、機器人控制、磁盤控制等;</p><p> (8) 醫(yī)療——如助聽、超聲設備、診斷工具、病人監(jiān)護等;</p><p> (9) 家用電器——如高保真音響、音樂合成、音調(diào)控制、玩具與游戲、數(shù)字電話/電
30、視等。</p><p> 隨著DSP芯片性能價格比的不斷提高,可以預見DSP芯片將會在更多的領域內(nèi)得到更為廣泛的應用。</p><p> 2.4 TMS320VC5509芯片的介紹</p><p> TMS320 C54x系列DSP芯片是使用靜態(tài)CMOS技術(shù)制造的。其方框圖見圖2-1,從圖中可以看出C54x系列DSP芯片具有以下功能單元:</p>
31、<p><b> 總線</b></p><p> C54x共有八條總線分別是:</p><p> PB: 程序讀取總線 CB: 數(shù)據(jù)讀取總線1 DB: 數(shù)據(jù)讀取總線2 EB: 數(shù)據(jù)寫入總線 &
32、#160; PAB: 程序讀取地址總線 CAB: 數(shù)據(jù)讀取地址總線1 DAB: 數(shù)據(jù)讀取地址總線2 EAB: 數(shù)據(jù)寫入地址總線</p><p> 中央處理器(CPU)</p><p> CPU由以下幾個部件組成:</p><p> 先進的多總線結(jié)構(gòu): 包括三個
33、獨立的數(shù)據(jù)總線和一個程序總線</p><p> 40位的算術(shù)邏輯單元: 包括一個40位移位器和兩個獨立的40位累加器</p><p> 17bit 17bit的并行乘法器同一個專用的加法器相配合: 用來執(zhí)行不經(jīng)流水線的單周期乘加(MAC)運算</p><p> 指數(shù)譯碼器: 可以在一個周期里計算出一個40位累加器的指數(shù)值</p><p>
34、; 兩個地址生成器: 包括8個輔助寄存器和兩個輔助寄存器算術(shù)單元</p><p> 程序控制器: 對指令進行解碼、管理流水線和程序流程</p><p><b> 片上存儲器</b></p><p> C54x共有192K字的尋址能力(64K字的程序區(qū),64K字的數(shù)據(jù)區(qū),和64K字的I/O區(qū))如圖2-2所示。</p><
35、;p> 芯片內(nèi)部采用改進的哈佛結(jié)構(gòu),允許同時取指令和取數(shù)據(jù),而且還允許在程序空間和數(shù)據(jù)空間之間相互傳送數(shù)據(jù)。 所謂哈佛結(jié)構(gòu),是將程序和數(shù)據(jù)的存貯空間分開,各有各的地址總線和數(shù)據(jù)總線。這樣同一條指令可以同時對不同的存貯空間進行讀操作或?qū)懖僮?從而提高了處理速度。 </p><p> C54x DSP芯片還提供了塊指令循環(huán)功能,此功能可以大大地提高執(zhí)行循環(huán)的速度,但是此功能只能在一重循環(huán)中使用,因為它只提供
36、了一個循環(huán)記數(shù)寄存器BRC,所以在遇到多重循環(huán)時就要盡量把這個功能用在最里層的循環(huán)中,最里層循環(huán)是執(zhí)行次數(shù)最多的循環(huán)。 </p><p><b> 第三章 總體設計</b></p><p> 基于TMS320VC5509的語音信號采集系統(tǒng)的結(jié)構(gòu)如圖2–1所示,該系統(tǒng)的中央處理單元采用美國TI(德州儀器)公司的高性能定點數(shù)字信號處理芯片TMS320VC55
37、09,TMS320VC5509是TI公司推出的定點數(shù)字信號處理器,它采用修正的哈佛結(jié)構(gòu),包括12組獨立總線,即1組程序讀總線,1組程序地址總線,3組數(shù)據(jù)讀總線,2組數(shù)據(jù)寫總線,5組數(shù)據(jù)地址總線。這種結(jié)構(gòu)允許同時執(zhí)行程序指令和對數(shù)據(jù)操作, 運行速度快,單周期定點指令執(zhí)行時間為10ns。在語音信號采集中, 模擬信號向數(shù)字信號轉(zhuǎn)換(ADC)的精度和實時性對后續(xù)信號處理過程起到了重要作用。設計中采用TLC320AD50完成語音信號的A/D轉(zhuǎn)換。
38、TLC320AD50是TI公司提供的一款32 bit同步串口A/D和D/A轉(zhuǎn)換芯片,ADC之后有1個抽取濾波器以提高輸入信號的信噪比, 其采樣頻率最高可達22.5 Kb/s,滿足語音信號處理關(guān)于采樣頻率的要求。</p><p><b> 3.1 硬件設計</b></p><p> 圖2-2 TMS320VC5509芯片</p><p>
39、3.1.1 DSP芯片</p><p> 作為DSP家庭高性價比代表的16位定點DSP芯片,C5402適用于語音通信等實時嵌入應用場合。與其它C54X芯片一樣,C5402具有高度靈活的可操作性和高速的處理能力。其性能特點如下:操作速率可達100MIPS;具有先進的多總線結(jié)構(gòu),三條16位數(shù)據(jù)存儲器總線和一條程序存儲器總線;40位算術(shù)邏輯單元(ALU),包括一個40位桶形移位器和兩個40位累加器;一個17×
40、;17乘法器和一個40位專用加法器,允許16位帶/不帶符號的乘法;整合維特比加速器,用于提高維特比編譯碼的速度;單周期正規(guī)化及指數(shù)譯碼;8個輔助寄存器及一個軟件棧,允許使用業(yè)界最先進的定點DSP C語言編譯器;數(shù)據(jù)/程序?qū)ぶ房臻g為1M×16bit,內(nèi)置4K×16bit ROM和16K×16bit RAM;內(nèi)置可編程等待狀態(tài)發(fā)生器、鎖相環(huán)(PLL)時鐘產(chǎn)生器、兩個多通道緩沖串口、一個與外部處理器通信的8位并行
41、HPI口、兩個16位定時器以及6通道DMA控制器且低功耗。與C54X系列的其它芯片相比,C5402具有高性能、低功耗和低價格等特點。它采用6級流水線,且當RPT(重復指令)時,一些多周期的指令就變成了單周期的指令;芯片內(nèi)部RAM</p><p> 3.1.2 電源設計</p><p> 為了降低芯片功耗,C54x系列芯片大部分都采用低電壓設計,并且采用雙電源供電,即內(nèi)核電源CVDD:采
42、用1.8V,主要為芯片的內(nèi)部邏輯提供電壓,包括CPU、時鐘電路和所有的外設邏輯;I/O電源DVDD:采用3.3V,主要供I/O接口使用。可直接與外部低壓器件接口,而無需額外的電平變換電路。DSP芯片采用的供電方式,主要取決于應用系統(tǒng)中提供什么樣的電源。在實際中,大部分數(shù)字系統(tǒng)所使用的電源可工作于5V或3.3V,本設計采用TI公司提供的雙電源芯片: TPS73HD318電源的最大輸出電流為750mA,并且提供兩個寬度為200ms的低電平復
43、位脈沖。電路圖如圖3.1-1所示。</p><p> 圖3.1-1由TPS7301 芯片組成的電源電路</p><p> 3.1.3 復位電路設計</p><p> TMS320VC5502的復位輸入引腳RS為處理器提供了一種硬件初始化的方法,它是一種不可屏蔽的外中斷,可在任何時候?qū)MS320VC5502進行復位。當系統(tǒng)上電后,RS引腳應至少保持5個時鐘周期
44、穩(wěn)定的低電平,以確保數(shù)據(jù)、地址和控制線的正確配置。復位后(RS回到高電平),CPU從程序存儲器的FF80H單元取指,并開始執(zhí)行程序。本設計采用手動復位電路(如圖3.1-2)。</p><p> 圖3.1-2 手動復位電路</p><p> 3.1.4 時鐘電路設計</p><p> 時鐘電路用來為’C54x芯片提供時鐘信號,由一個內(nèi)部振蕩器和一個鎖相環(huán)PLL組
45、成,可通過芯片內(nèi)部的晶體振蕩器或外部的時鐘電路驅(qū)動。利用DSP芯片內(nèi)部提供的晶振電路,在DSP芯片的X1、X2之間連接晶體振蕩器。使用芯片內(nèi)部的振蕩器在芯片的X1和X2/CLKIN引腳之間接入一個晶體,用于啟動內(nèi)部振蕩器。時鐘電路圖如圖3.1-3。</p><p> C1=C2=20pF</p><p> 圖3.1-3時鐘模塊電路</p><p> 3.1.5
46、 程序存儲器擴展設計</p><p> FLASH存儲器用以擴展程序存儲器 AT29LV1024是1M位的FLASH存儲器FLASH存儲器與EPROM相比,具有更高的性能價格比,而且體積小、功耗低、可電擦寫、使用方便,并且3.3V的FLASH可以直接與DSP芯片連接。地址線:A0~A15;數(shù)據(jù)線:I/O0~I/O15;控制線:—片選信號;—編程寫信號;—輸出使能信號。擴展連接圖如圖3.1-4。</p>
47、;<p> 圖3.1-4程序存儲器擴展電路</p><p> 3.1.6數(shù)據(jù)存儲器擴展設計</p><p> 要實現(xiàn)語音數(shù)據(jù)和系統(tǒng)程序的存儲,TMS320VC5502必須有外接擴展存儲器。TMS320VC5502 的速度為100 MI/s,為保證DSP運行速度,需要外部存儲器的速度接近10ns。系統(tǒng)選擇ICSI64LV16作為外部存儲器,其容量64K字×16
48、bit。其硬件連接圖如圖3.1-5所示。</p><p> 圖3.1-5數(shù)據(jù)存儲器擴展電路</p><p> 3.1.7 JTAG接口設計</p><p> 在系統(tǒng)中,通過JTAG測試口訪問和調(diào)試DSP芯片。JTAG是一種國際標準測試協(xié)議(IEEE 1149.1兼容),針對現(xiàn)代超大規(guī)模集成電路測試、檢驗困難而提出的基于邊界掃描機制和標準測試存取口的國際標準。標
49、準JTAG測試端口包括4個必選引腳和一個可選的異步JTAG的復位引腳TRST,分別是工作模式選擇引腳TMS,串行數(shù)據(jù)輸入引腳TDI,串行數(shù)據(jù)輸出引腳TDO,端口工作時鐘引腳TCK。JTAG接口引腳連接如圖3.1-6所示。</p><p> 圖3.1-6 JTAG接口引腳連接圖</p><p> 3.1.8 A/D接口電路設計</p><p> A/D轉(zhuǎn)換模塊是
50、整個系統(tǒng)的主要部分,它接收來自外部的信號或模擬數(shù)據(jù),然后經(jīng)過處理轉(zhuǎn)換成數(shù)字信號傳遞給CPU做后續(xù)的處理。TLC320AD50是一款SIGMA- DELTA 型單片音頻接口芯片, 通過串行口與DSP 或其它設備通信。它內(nèi)部集成了16 位的D/A 和A/D 轉(zhuǎn)換器, 采樣速率最高可達22.05 Kb/s, 其采樣速率可通過DSP 編程來設置。設置AD50時,串行通信數(shù)據(jù)最低為高電平。在DAC 之前有一個插值濾波器以保證輸出信號平滑, ADC
51、 之后有一個抽取濾波器以提高輸入信號的信噪比。AD50 的發(fā)送和接收可以同時進行。</p><p> 圖3.1-7 TLC320AD50與 TMS320VC5509 串行口的連接</p><p> 3.1.9總體電路圖</p><p> 第四章 CCS集成開發(fā)工具</p><p> 4.1 CCS是什么</p><
52、;p> 通常,DSP廠商和第三方都會為DSP的開發(fā)應用提供各種各樣的軟硬件開發(fā)工具(代碼生成工具和代碼調(diào)試工具等)。早期的DSP開發(fā)工具沒有集成化,需要在DOS環(huán)境下鍵入比較復雜的命令,使用起來不很方便,調(diào)試、開發(fā)的效率也不高。1999年,TI公司推出了CCS(Code Composer Studio)集成開發(fā)工具(直譯為代碼設計工作室),為DSP用戶提供了十分便利的開發(fā)環(huán)境。</p><p> CCS
53、內(nèi)部集成了以下軟件工具:</p><p> DSP代碼生成工具(包括DSP的C編譯器、匯編優(yōu)化器、匯編器和鏈接器等)</p><p> CCS集成開發(fā)工具(編輯、鏈接和調(diào)試DSP目標程序)。</p><p> 實時分析插件DSP/BIOS和實時數(shù)據(jù)交換模塊RTDX等(必須有硬件開發(fā)板)。</p><p> CCS是一種可視化集成開發(fā)工
54、具,它集代碼生成軟件和代碼調(diào)試工具</p><p> 于一體,具有強大的應用開發(fā)功能:</p><p> ?、趴梢暬a編輯界面:可以直接編寫匯編語言和C語言程序、.H頭文件和.CMD命令文件等。</p><p> ?、拼a生成工具:包括DSP的匯編器、C編譯器和鏈接器等。</p><p> ?、歉鞣N調(diào)試工具:包括加載執(zhí)行文件、運行、單步操
55、作、設置斷點、查看編輯存儲器和寄存器、觀察變量、評估程序和執(zhí)行時間等。</p><p> ⑷探針工具:可將PC機數(shù)據(jù)文件中的數(shù)據(jù)傳到DSP,或者將DSP中數(shù)據(jù)傳到PC機數(shù)據(jù)文件中,以便實現(xiàn)各種算法仿真和數(shù)據(jù)監(jiān)視。</p><p> ?、蓤D形顯示工具:可以將DSP程序生成的數(shù)據(jù)繪制成時域/頻域圖等,以便于觀察和分析。</p><p> ?、释ㄓ脭U展語言GEL:可以讓
56、用戶通過GEL語言編程,建立需要的GEL函數(shù)來擴展CCS的功能,包括配置各種參數(shù)、修改變量等。</p><p> ?、薉SP/BIOS工具:它是DSP芯片簡化了的操作系統(tǒng)內(nèi)核,即各種DSP芯片操作系統(tǒng)的底層文件,為嵌入式系統(tǒng)應用提供基本的運行服務,具有代碼較少、邏輯精簡等優(yōu)點。</p><p> ⑻開放式的插入架構(gòu)技術(shù):只需安裝相應的驅(qū)動程序,就能夠集成第三方的專用插件。</p&g
57、t;<p> 4.2 CCS窗口簡介</p><p> 4.2.1 CCS窗口示例</p><p> CCS系統(tǒng)設置完成后,就可以打開CCS應用程序,在CCS集成開發(fā)環(huán)境下完成工程定義,程序的編輯、編譯、鏈接和調(diào)試,以及程序運行結(jié)果的分析和評估等工作。一個典型的CCS集成開發(fā)環(huán)境住窗口如圖3-1所示。該示例窗口由菜單欄、工具欄、工程窗口、源程序編輯和調(diào)試窗口、存儲器
58、窗口、CPU寄存器窗口、輸出窗口等組成。此外,還可以根據(jù)需要打開反匯編窗口、圖形顯示窗口、變量觀察窗口,以及時鐘窗口等。</p><p> 圖3-1 CCS應用窗口示例</p><p> 4.2.2 CCS中常用的工具</p><p> 菜單欄——和CCS所有功能相關(guān)的菜單都在這里面。 </p><p> 編譯工具欄——編譯程序時
59、常用的一些工具。 </p><p> 調(diào)試工具欄——調(diào)試程序時常用的一些工具。 </p><p> 工程文件框——打開的工程所有文件會按類別放在這里,便于我們編程時在各個文件之間的切換。 </p><p> 代碼編輯區(qū)——顧名思義,代碼都是在這里編輯完成的了,是我們最主要的工作區(qū)域。 </p><p> 編譯信息輸出區(qū)——編譯時產(chǎn)生的
60、信息會在這個區(qū)域內(nèi)輸出,能讓我們直觀的了解到正在編譯哪個文件,編譯過程中是否產(chǎn)生了錯誤,而這些錯誤是哪些,由于什么原因引起的,這些內(nèi)容都會顯示在這里。</p><p> 4.3 CCS的安裝與設置</p><p> CCS的安裝步驟如下:</p><p> ?。?)將CCS的安裝光盤插入計算機的CD-ROM光盤驅(qū)動器中,運行CCS安裝程序Set-up.exe.
61、按屏幕提示,將CCS系統(tǒng)安裝到C:\ti(默認系統(tǒng))安裝目錄下。安裝完成后:</p><p> ?、僭谧烂嫔蠈⒊霈F(xiàn)Set-upCCS2(’C5000)和CCS2(’C5000)兩個快捷方式圖標,分別對應CCS配置程序和CCS應用程序。</p><p> ?、谠贑:\ti目錄下有bin、c5400、c5500、cc、docs、drivers、examples、myprojects、plugi
62、ns、 tutoria、uninstall共11個文件夾,以及DosRun等3個文件夾,用戶的工程文件都將存放在myprojects文件夾下。</p><p> (2)單擊Set-upCCS2(’C5000)快捷方式圖標,運行CCS配置程序,彈出對話框如圖3-2所示。</p><p> 圖3-2 CSS配置對話框</p><p> 從對話框的Availabl
63、e Configurations列表框中選擇應用平臺類型。配置完成后,保存設置并退出。CCS系統(tǒng)將C5402軟件仿真器作為系統(tǒng)配置,顯示在System Configuration列表框中。</p><p> 第五章 正弦信號發(fā)生器的實現(xiàn)過程</p><p> 5.1 正弦信號發(fā)生器的理論實現(xiàn)</p><p> 5.1.1 常用的理論實現(xiàn)方法</p
64、><p> 在通信、儀器和控制等領域的信號處理系統(tǒng)中,可能會用到正弦波信號發(fā)生器。一般來說產(chǎn)生正弦波的方法有兩種:</p><p> ?、俨楸矸ǎ捍朔椒ㄓ糜趯纫蟛桓叩膱龊?,如果要求精度高,表就很大,相應的存儲器容量也要增大。</p><p> ?、谔├占墧?shù)展開法。這是一種更為有效的方法。與查表法相比,該方法需要的存儲單元很少,而且精度高。</p>
65、<p> 一個角度正弦和余弦函數(shù),都可以展開成泰勒級數(shù),取其前5項進行近似。</p><p> 本次課程設計利用泰勒級數(shù)展開法求正弦值,產(chǎn)生正弦波。軟件流程圖如圖4-1</p><p> 5.1.2 編程實現(xiàn)</p><p> 先計算0~45°(間隔為0.5°)的sin和cos值,在利用sin2a=2sina*cosa求出si
66、n值(間隔為1°)。然后,通過復制,獲得0~359°的正弦值。重復向</p><p> 5.1.2 編程實現(xiàn)</p><p> 先計算0~45°(間隔為0.5°)的sin和cos值,在利用sin2a=2sina*cosa求出sin值(間隔為1°)。然后,通過復制,獲得0~359°的正弦值。重復向PA口輸出,便可得到正弦波。程
67、序如下:</p><p> 1.產(chǎn)生正弦波程序清單sin.asm:</p><p> .title "sin.asm" ;為匯編文件取名為“sin.asm”</p><p> .mmregs ;定義存儲器映像寄存器</p><p> .def _c_int00</p&
68、gt;<p> .ref sinx,d_xs,d_sinx,cosx,d_xc,d_cosx;定義標號</p><p> sin_x: .usect "sin_x",360 ;為"sin_x"保留360個存儲空間</p><p> STACK: .usect "STACK",10
69、 ;為堆棧保留10個存儲空間</p><p> k_theta .set 286 ;theta=pi/360(0.5deg)</p><p> PA0 .set 0</p><p><b> _c_int00 </b></p><p> .text
70、 ;定義文本程序代碼段</p><p> STM #STACK+10,SP ;設置堆棧指針</p><p> STM k_theta,AR0 ;AR0-->K_theta(increment)</p><p> STM 0,AR1 ;(AR1)=X(rad)</p>
71、<p> STM #sin_x,AR6 ;AR6- - >sin(x)</p><p> STM #90,BRC ;form sin0(deg.)—sin90(deg)</p><p> ??;重復執(zhí)行塊語句(下條語句開始至loop1-1 )91次</p><p> RPTB loop1-1
72、 </p><p> LDM AR1,A</p><p> LD #d_xs,DP ;DPd_xs</p><p> STL A,@d_xs ;(A)低16位→d_xs</p><p> STL A,@d_xc ;(A)低16位→d_xc&l
73、t;/p><p> CALL sinx ;調(diào)用sinx程序</p><p> CALL cosx ;調(diào)用conx程序</p><p> LD #d_sinx,DP ;DP d_sinx</p><p> LD @d_sinx,16,A ;A=sin
74、(x)</p><p> MPYA @d_cosx ;B= sin(x)*cos(x)</p><p> STH B,1,*AR6+ ;AR6- - >2*sin(x)*cos(x)</p><p> MAR *AR1+0 ;修改輔助寄存器AR1</p><p>
75、 loop1: STM #sin_x+89,AR7 ;sin91(deg.)- -sin179(deg.)</p><p> STM #88,BRC ;重復執(zhí)行下條指令至loop2-1</p><p> RPTB loop2-1 ;處90次</p><p> LD *AR7-,A
76、 ;((AR7)) →A,然后AR7減去1</p><p> STL A,*AR6+ ;(A) 低16位→AR6</p><p> loop2: STM #179,BRC ;sin180(deg.)- -sin359(deg.)</p><p> ?。?BRC)=179,重復執(zhí)行180次</p&
77、gt;<p> STM #sin_x,AR7 ;AR7指向sin_x首地址</p><p> RPTB loop3-1 ;</p><p> LD *AR7+,A ;((AR7)) →A,然后AR7加1</p><p> NEG A ;累加器變
78、負</p><p> STL A,*AR6+ ;A低16位→AR6</p><p> loop3: STM #sin_x,AR6 ;generate sin wave AR6指向sin_x</p><p> STM #1,AR0 ;AR 01</p><p>
79、STM #360,BK ;BK360</p><p> loop4: PORTW *AR6+0%,PA0 ;PA0=*AR6+0%,向PA0輸出數(shù)據(jù)</p><p> B loop4 ;</p><p><b> sinx:</b></p><p
80、> .def d_xs,d_sinx ;定義標號d_xs,d_sinx</p><p> .data ;定義數(shù)據(jù)代碼段</p><p> table_s .word 01c7h ;c1=1/(8*9)</p><p> .word 030bh ;c1=
81、1/(6*7)</p><p> .word 0666h ;c1=1/(4*5)</p><p> .word 1556h ;c1=1/(2*3)</p><p> d_coef_s .usect "coef_s",4 ;為"coef_s"保留4個存儲空間&l
82、t;/p><p> d_xs .usect "sin_vars",1 ;為d_xs中sin_vars保留1個存儲空間</p><p> d_squr_xs .usect "sin_vars",1 ;為d_squr_xs中sin_vars保留1個存儲空間</p><p> d_temp_s
83、 .usect "sin_vars",1 ;為d_temp_s中sin_vars保留1個存儲空間</p><p> d_sinx .usect "sin_vars",1 ;為d_sinx中sin_vars保留1個存儲空間</p><p> c_l_s .usect "sin_vars&qu
84、ot;,1 ;為d_xs中sin_vars保留1個存儲空間</p><p> .text ;定義代碼開始段</p><p> SSBX FRCT ;設置FRCT=1以解決冗余符號位</p><p> STM #d_coef_s,AR5 ;AR5指向d_coe
85、f_s首地址</p><p> RPT #3 ;重復下條指令4次</p><p> MVPD #table_s,*AR5+ ;table_s中的數(shù)復制到AR5指向的單元</p><p> STM #d_coef_s,AR3 ;AR3指向d_coef_s首地址</p><
86、p> STM #d_xs,AR2 ;AR2指向d_xs首地址</p><p> STM #c_l_s,AR4 ;AR4指向c_l_s首地址</p><p> ST #7FFFh,c_l_s ;7FFFh →c_l_s</p><p> SQUR *AR2+,A
87、 ;AR2指向累加器A中的數(shù)值求其平方</p><p> ST A,*AR2 ;(A)左移16位→AR2</p><p> ||LD *AR4,B ;(AR4)左移16位→B</p><p> MASR *AR2+,*AR3+,B,A ;從累加器A中減去(AR2)*(AR3)<
88、;/p><p> MPYA A ;操作數(shù)與累加器A中高位相乘</p><p> STH A,*AR2 ;(A)高16位→AR2</p><p> MASR *AR2-,*AR3+,B,A ;從累加器A中減去(AR2)*(AR3)</p><p> MPYA
89、 *AR2+ ;AR2指向的數(shù)與累加器A的高16位相乘</p><p> ST B,*AR2 ;(B)左移16位→AR2</p><p> ||LD *AR4,B ;(AR4)左移16位→B</p><p> MASR *AR2-,*AR3+,B,A ;從
90、累加器A中減去(AR2)*(AR3)</p><p> MPYA *AR2+ ;與累加器A中高16位相乘</p><p> ST B,*AR2 ;(B)左移16位→AR2</p><p> ||LD *AR4,B ;(AR4)左移16位→B MA
91、SR *AR2-,*AR3+,B,A ;從累加器A中減去(AR2)*(AR3)</p><p> MPYA d_xs ;d_xs指向的操作數(shù)與累加器A中高16位相乘</p><p> STH B,d_sinx ;(B)高16位→d_sinx</p><p> RET
92、 ;返回</p><p><b> cosx:</b></p><p> .def d_xc,d_cosx ;定義標號d_xc,d_cosx</p><p> d_coef_c .usect "coef_c",4 ;為coef_c保留4個存儲空間</
93、p><p> .data ;定義數(shù)據(jù)代碼段</p><p> table_c .word 0249h ;c1=1/(7*8)</p><p> .word 0444h ;c2=1/(6*5)</p><p> .word 0aa
94、bh ;c3=1/(3*4)</p><p> .word 4000h ;c4=1/2</p><p> d_xc .usect "cos_vars",1 ;為d_xc中cos_vars保存1個存儲單元</p><p> d_squr_xc .usect &q
95、uot;cos_vars",1 ;為d_squr_xc中cos_vars保存1個存儲單元</p><p> d_temp_c .usect "cos_vars",1 ;為d_temp_c中cos_vars保存1個存儲單元</p><p> d_cosx .usect "cos_vars",1
96、 ;為d_cosx中cos_vars保存1個存儲單元</p><p> c_l_c .usect "cos_vars",1 ;為c_l_c中cos_vars保存1個存儲單元</p><p> .text ;定義文本代碼段</p><p> SSBX FRCT
97、 ;FRCT=1以清除冗余符號位</p><p> STM #d_coef_c,AR5 ;AR5指向d_coef_c首地址</p><p> RPT #3 ;重復下條指令4次</p><p> MVPD #table_c,*AR5+ ;把table_c中的數(shù)復制到中AR5&l
98、t;/p><p> STM #d_coef_c,AR3 ;AR3指向d_coef_c首地址</p><p> STM #d_xc,AR2 ;AR2 指向d_xc首地址</p><p> STM #c_l_c,AR4 ;AR4指向c_l_c首地址</p><p> ST
99、 #7FFFh,c_l_c ;7FFFh→c_l_c</p><p> SQUR *AR2+,A ;求X的平方存放在累加器A中</p><p> ST A,*AR2 ;(A)左移16位→AR2</p><p> ||LD *AR4,B ;(AR4)左移1
100、6位→B</p><p> MASR *AR2+,*AR3+,B,A ;A=1-x^2/56,T=x^2</p><p> MPYA A ;A=T*A=x^2(1-x^2/56)</p><p> STH A,*AR2 ;(d_temp)= x^2(1-x^2/56)</
101、p><p> MASR *AR2-,*AR3+,B,A ;A=1-x^2/30(1-x^2/56),</p><p> T= x^2(1-x^2/56)</p><p> MPYA *AR2+ ;B=x^2(1-x^2/30(1-x^2/56))</p><p> ST B,*AR2
102、 ;(d_temp)= x^2(1-x^2/30(1-x^2/56))</p><p> ||LD *AR4,B ;B=1</p><p> MASR *AR2-,*AR3+,B,A ;A= 1-x^2/12(1-x^2/30(1-x^2/56))</p><p> SFTA A,-1,A
103、 ;-1/2</p><p> NEG A ;</p><p> MPYA *AR2+ ;B=1-x^2/2(1-x^2/12(1-x^2/30</p><p> ;(1-x^2/56)))</p><p> MAR *AR2+
104、 ;</p><p> RETD ;</p><p> ADD *AR4,16,B ;B=1-x^2/2(1-x^2/12(1-x^2/30</p><p> ;(1-x^2/56)))</p><p> STH B,*AR2
105、 ;cos(theta)</p><p> RET ;</p><p> .end ;</p><p> 2. .cmd文件描述輸入文件和輸出文件,說明系統(tǒng)中有哪些可用存儲器、程序段、堆棧及復位向量和中斷向量等安排在什么地方。其中MEMORY段就是用來規(guī)定目標
106、存儲器的模型,通過這條指令,可以定義系統(tǒng)中所包含的各種形式的存儲器,以及它們占據(jù)的地址范圍;SECTIONS段說明如何將輸入段組合成輸出段以及在可執(zhí)行文件中定義輸出段、規(guī)定輸出段在存儲器中的位置等。正弦波程序鏈接命令文件sin.cmd:</p><p><b> MEMORY</b></p><p><b> {</b></p>
107、<p><b> PAGE 0:</b></p><p> EPROM: org = 0E000h, len = 1000h</p><p> VECS: org = 0FF80h, len = 0080h</p><p><b> PAGE 1:</b>
108、;</p><p> SPRAM: org = 0060h, len = 0020h</p><p> DARAM1: org = 0080h, len = 0010h</p><p> DARAM2: org = 0090h, len = 0010h</p><p&
109、gt; DARAM3: org = 0200h, len = 0200h</p><p><b> }</b></p><p> SECTIONS </p><p><b> {</b></p><p> .text :>EPROM PAGE
110、 0 ;文本代碼段其實地址為0E000h,長度為1000h</p><p> .data :>EPROM PAGE 0 ;數(shù)據(jù)代碼段其實地址為0D000h</p><p> STACK :>SPRAM PAGE 1 ;堆棧起始地址為0060h,長度為0020h</p><p> sin_vars :>DARA
111、M1 PAGE 1 ;標號為sin_vars段的起始地址為0080</p><p><b> ??;長度為0010h</b></p><p> coef_s :>DARAM1 PAGE 1 ;標號為coef_s段的起始地址為0070h</p><p><b> ?。婚L度為0010h</b></
112、p><p> cos_vars :>DARAM2 PAGE 1 ;標號為cos_vars段的起始地址為0090h</p><p><b> ?。婚L度為0010h</b></p><p> coef_c :>DARAM2 PAGE 1 ;標號為coef_c段的起始地址為0080h</p><p&
113、gt;<b> ??;長度為0020h</b></p><p> sin_x : align(512) {} > DARAM3 PAGE 1</p><p> .vectors :>VECS PAGE 0</p><p><b> }</b></p><p>
114、 3.復位向量文件sin_v.asm:</p><p> .title "sin_v.asm"</p><p> .ref _c_int00</p><p> .sect ".vectors"</p><p> B _c_int00<
115、/p><p><b> .end</b></p><p><b> 5.2 調(diào)試過程</b></p><p> 1. 打開Setup CCStudio v3.3如圖4-2所示。</p><p> 圖4-1 Setup CCStudio v3.3的打開界面</p><p>
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- dsp課程設計報告
- dsp課程設計報告--fft的dsp實現(xiàn)
- dsp課程設計報告--dsp芯片應用系統(tǒng)設計
- dsp課程設計
- dsp課程設計報告---語音噪聲濾波
- dsp技術(shù)及應用課程設計報告
- dsp課程設計--dsp原理及應用實驗報告
- dsp課程設計---dsp芯片簡介
- dsp課程設計實驗
- dsp課程設計報告--fir濾波器設計
- dsp課程設計報告(fir濾波器的dsp實現(xiàn))
- dsp課程設計報告--交通燈控制
- 數(shù)字信號處理(dsp)課程設計報告
- dsp課程設計-交通燈控制設計報告
- 單片機及dsp課程設計報告
- dsp課程設計實驗
- dsp課程設計--調(diào)制解調(diào)實驗報告
- dsp課程設計論文
- dsp課程設計cll
- dsp課程設計fft的dsp實現(xiàn)
評論
0/150
提交評論