DSP課程設(shè)計(jì)1(精)_第1頁(yè)
DSP課程設(shè)計(jì)1(精)_第2頁(yè)
已閱讀5頁(yè),還剩25頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、蘇州市職業(yè)大學(xué)課程設(shè)計(jì)說(shuō)明書名稱正弦信號(hào)發(fā)生器2010 年 6 月 21 日至 2010 年 6 月 27 日共 1 周院系電子信息工程系班級(jí)08 通信(1)班姓 名_學(xué) 號(hào)_系主任曹豐文_教研室主任 蘇品 I 剛_指導(dǎo)教師_DSP 課程設(shè)計(jì)一一正弦信號(hào)發(fā)生器1目 錄第一章緒論.2第二章DSP芯片的介紹.42.1 DSP芯片的特點(diǎn).42.1.1 DSP芯片主要特點(diǎn) .42.1.2 DSP芯片的優(yōu)缺點(diǎn) .42.2 DSP芯片的分類.42.3 DSP芯片的應(yīng)用 .52.4 TMS320C54X芯片的介紹 .6第三章CCS集成開發(fā)工具 .93.1 CCS是什么.93.2 CCS窗口簡(jiǎn)介.103.2.

2、1 CCS窗口示例.103.2.2 CCS中常用的工具.113.3 CCS的安裝與設(shè)置 .11第四章正弦信號(hào)發(fā)生器的實(shí)現(xiàn)過(guò)程.134.1正弦信號(hào)發(fā)生器的理論實(shí)現(xiàn) .134.1.1常用的理論實(shí)現(xiàn)方法 .134.1.2編程實(shí)現(xiàn).134.2調(diào)試過(guò)程.18第五章實(shí)驗(yàn)心得與體會(huì).23DSP 課程設(shè)計(jì)一一正弦信號(hào)發(fā)生器2第一章緒論數(shù)字信號(hào)處理是20世紀(jì)60年代,隨著信息學(xué)科和計(jì)算機(jī)學(xué)科的高速發(fā)展而 迅速發(fā)展起來(lái)的一門新興學(xué)科。它的重要性日益在各個(gè)領(lǐng)域的應(yīng)用中表現(xiàn)出來(lái)。 其主要標(biāo)志是兩項(xiàng)重大進(jìn)展,即快速傅里葉變換(FFT)算法的提出和數(shù)字濾波器 設(shè)計(jì)方法的完善。數(shù)字信號(hào)處理是把信號(hào)用數(shù)字或符號(hào)表示成序列,通

3、過(guò)計(jì)算機(jī) 或通用(專用)信號(hào)處理設(shè)備,用數(shù)值計(jì)算方法進(jìn)行各種處理,達(dá)到提取有用信 息便于應(yīng)用的目的。例如:濾波、檢測(cè)、變換、增強(qiáng)、估計(jì)、識(shí)別、參數(shù)提取、 頻譜分析等。數(shù)字信號(hào)處理的目的是對(duì)真實(shí)世界的連續(xù)模擬信號(hào)進(jìn)行測(cè)量或?yàn)V波。因此在進(jìn)行數(shù)字信號(hào)處理之前需要將信號(hào)從模擬域轉(zhuǎn)換到數(shù)字域,這通常通過(guò)模數(shù)轉(zhuǎn)換 器實(shí)現(xiàn)。而數(shù)字信號(hào)處理的輸出經(jīng)常也要變換到模擬域,這是通過(guò)數(shù)模轉(zhuǎn)換器實(shí)現(xiàn)的。數(shù)字信號(hào)處理的算法需要利用計(jì)算機(jī)或?qū)S锰幚碓O(shè)備如數(shù)字信號(hào)處理器(DSP和專用集成電路(ASIC)等。數(shù)字信號(hào)處理的研究方向應(yīng)該更加廣泛、 更加深入.特別是對(duì)于譜分析的本質(zhì)研究,對(duì)于非平穩(wěn)和非高斯隨機(jī)信號(hào)的研究, 對(duì)于多維

4、信號(hào)處理的研究等,都具有廣闊前景。數(shù)字信號(hào)處理技術(shù)發(fā)展很快、應(yīng)用很廣、成果很多。多數(shù)科學(xué)和工程中遇到 的是模擬信號(hào)。以前都是研究模擬信號(hào)處理的理論和實(shí)現(xiàn)。模擬信號(hào)處理缺點(diǎn): 難以做到高精度,受環(huán)境影響較大,可靠性差,且不靈活等。數(shù)字系統(tǒng)的優(yōu)點(diǎn): 體積小、功耗低、精度高、可靠性高、靈活性大、易于大規(guī)模集成、可進(jìn)行二維 與多維處理。隨著大規(guī)模集成電路以及數(shù)字計(jì)算機(jī)的飛速發(fā)展,加之從60年代末以來(lái)數(shù)字信號(hào)處理理論和技術(shù)的成熟和完善,用數(shù)字方法來(lái)處理信號(hào),即數(shù)字信號(hào)處理,已逐漸取代模擬信號(hào)處理。數(shù)字信號(hào)處理是利用計(jì)算機(jī)或?qū)S锰幚碓O(shè)備,以數(shù)字形式對(duì)信號(hào)進(jìn)行采集、變換、濾波、估值、增強(qiáng)、壓縮、識(shí)別等處理,

5、以得到符合人們所需要的信號(hào)形 式。數(shù)字信號(hào)處理是將信號(hào)以數(shù)字方式表示并處理的理論和技術(shù)。數(shù)字信號(hào)處理與模擬信號(hào)處理是信號(hào)處理的子集。數(shù)字信號(hào)處理技術(shù)及設(shè)備具有靈活、精確、抗干擾強(qiáng)、設(shè)備尺寸小、造價(jià)低、速度快等突出優(yōu)點(diǎn),這些都是模擬信號(hào)處理技 術(shù)與設(shè)備所無(wú)法比擬的。DSP 課程設(shè)計(jì)一一正弦信號(hào)發(fā)生器3數(shù)字信號(hào)處理(Digital Signal Processing簡(jiǎn)稱DSP)是一門涉及許多學(xué)科而又廣泛應(yīng)用于許多領(lǐng)域的新興學(xué)科。數(shù)字信號(hào)處理是圍繞著數(shù)字信號(hào)處理的理 論、實(shí)現(xiàn)和應(yīng)用等幾個(gè)方面發(fā)展起來(lái)的。數(shù)字信號(hào)處理在理論上的發(fā)展推動(dòng)了數(shù) 字信號(hào)處理應(yīng)用的發(fā)展。反過(guò)來(lái),數(shù)字信號(hào)處理的應(yīng)用又促進(jìn)了數(shù)字信

6、號(hào)處理理 論的提高。而數(shù)字信號(hào)處理的實(shí)現(xiàn)則是理論和應(yīng)用之間的橋梁。數(shù)字信號(hào)處理是以眾多的學(xué)科為理論基礎(chǔ)的,它所涉及的范圍及其廣泛。例如,在數(shù)學(xué)領(lǐng)域,微 積分、概率統(tǒng)計(jì)、隨機(jī)過(guò)程、數(shù)值分析等都是數(shù)字信號(hào)處理的基本工具,與網(wǎng)絡(luò) 理論、信號(hào)與系統(tǒng)、控制論、通信理論、故障診斷等也密切相關(guān)。一些新興的學(xué) 科,如人工智能、模式識(shí)別、神經(jīng)網(wǎng)絡(luò)等,都與數(shù)字信號(hào)處理密不可分??梢哉f(shuō), 數(shù)字信號(hào)處理是把許多經(jīng)典的理論體系作為自己的理論基礎(chǔ),同時(shí)又使自己成為一系列新興學(xué)科的理論基礎(chǔ)。長(zhǎng)期以來(lái),信號(hào)處理技術(shù)一直用于轉(zhuǎn)換或產(chǎn)生模擬或數(shù)字信號(hào)。其中應(yīng)用得最頻繁的領(lǐng)域就是信號(hào)的濾波。此外,從數(shù)字通信、語(yǔ)音、音頻和生物醫(yī)學(xué)信

7、號(hào) 處理到檢測(cè)儀器儀表和機(jī)器人技術(shù)等許多領(lǐng)域中,都廣泛地應(yīng)用了數(shù)字信號(hào)處理(digital signal processing, DSP)技術(shù)。數(shù)字信號(hào)處理己經(jīng)發(fā)展成為一項(xiàng)成熟的 技術(shù),并且在許多應(yīng)用領(lǐng)域逐步代替了傳統(tǒng)的模擬信號(hào)處理系統(tǒng)。 世界上三大DSP芯片生產(chǎn)商:1.德克薩斯儀器公司(TI) 2.模擬器件公司(ADI) 3.摩托羅拉公司(Motorola).這三家公司幾乎壟斷了通用DSP芯片市場(chǎng)。數(shù)字信號(hào)處理的書籍很多,其中以麻省理工學(xué)院奧本海姆編著的 Discrete Time Signal Processing最為 經(jīng)典,有中譯本離散時(shí)間信號(hào)處理由西安交通大學(xué)出版?,F(xiàn)在是第二版。DSP

8、 課程設(shè)計(jì)一一正弦信號(hào)發(fā)生器4第二章DSP芯片的介紹2.1 DSP 芯片的特點(diǎn)DSP芯片,也稱數(shù)字信號(hào)處理器,是一種具有特殊結(jié)構(gòu)的微處理器。DSP芯片的內(nèi)部采用程序和數(shù)據(jù)分開的哈佛結(jié)構(gòu),具有專門的硬件乘法器,廣泛采 用流水線操作,提供特殊的DSP指令,可以用來(lái)快速的實(shí)現(xiàn)各種數(shù)字信號(hào)處理 算法。2.1.1 DSP芯片主要特點(diǎn)根據(jù)數(shù)字信號(hào)處理的要求,DSP芯片一般具有如下的一些主要特點(diǎn):錯(cuò)誤!未找到引用源。在一個(gè)指令周期內(nèi)可完成一次乘法和一次加法。程序和數(shù)據(jù)空間分開,可以同時(shí)訪問(wèn)指令和數(shù)據(jù)。片內(nèi)具有快速RAM,通??赏ㄟ^(guò)獨(dú)立的數(shù)據(jù)總線在兩塊中同時(shí)訪問(wèn)。 具有低開銷或無(wú)開銷循環(huán)及跳轉(zhuǎn)的硬件支持??焖?/p>

9、的中斷處理和硬件I/O支持。具有在單周期內(nèi)操作的多個(gè)硬件地址產(chǎn)生器錯(cuò)誤!未找到引用源。可以并行執(zhí)行多個(gè)操作。錯(cuò)誤!未找到引用源。重疊執(zhí)行。支持流水線操作,使取指、譯碼和執(zhí)行等操作可以錯(cuò)誤!未找到引用源。弱些。與通用微處理器相比,DSP芯片的其他通用功能相對(duì)較2.1.2 DSP芯片的優(yōu)缺點(diǎn)DSP芯片主要應(yīng)用在信號(hào)處理、圖像處理、儀器、聲音語(yǔ)言、控制軍事、通訊、醫(yī)療、家用電器等諸多領(lǐng)域。其優(yōu)點(diǎn)主要有:大規(guī)模集成 性、穩(wěn)定性好、精度高、可編程性、高速性能、可嵌入性、接口和集成方 便;缺點(diǎn)主要有:成本較高、高頻時(shí)鐘的高頻干擾、功率消耗較大等。DSP 課程設(shè)計(jì)一一正弦信號(hào)發(fā)生器52.2DSP 芯片的分類

10、DSP芯片可以按照下列三種方式進(jìn)行分類。1按基礎(chǔ)特性分這是根據(jù)DSP芯片的工作時(shí)鐘和指令類型來(lái)分類的。如果在某時(shí)鐘頻率范圍內(nèi)的任何時(shí)鐘頻率上,DSP芯片都能正常工作,除計(jì)算速度有變化外,沒有性能的下降,這類DSP芯片一般稱為靜態(tài)DSP芯片。例如,日本OKI電氣公司的DSP芯片、TI公司的TMS320C2X)系列芯片屬于這一類如果有兩種或兩種以上的DSP芯片,它們的指令集和相應(yīng)的機(jī)器代碼機(jī)管腳結(jié)構(gòu)相互兼容,則這類DSP芯片稱為一致性DSP芯片。例如,美國(guó)TI公司的TMS320C54X就屬于這一類。2按數(shù)據(jù)格式分這是根據(jù)DSP芯片工作的數(shù)據(jù)格式來(lái)分類的。數(shù)據(jù)以定點(diǎn)格式工作的DSP芯片稱為定點(diǎn)DSP

11、芯片,如TI公司的TMS320C1X/C2X TMS320C2XX/C5XTMS320C54X/C62XXS列,AD公司的ADSP21XXS列,AT&T公司的DSP16/16 A,Motolora公司的MC56000等。以浮點(diǎn)格式工作的稱為浮點(diǎn)DSP芯片,女口TI公司的TMS320C3X/C4X/C8X AD公司的ADSP21XXX系列,AT&T公司的DSP32/32C,Motolora公司的MC96002等。不同浮點(diǎn)DSP芯片所采用的浮點(diǎn)格式不完全一樣,有的DSP芯片采用自定義的浮點(diǎn)格式,女口TMS320C3X而有的DSP芯片則采用IEEE的標(biāo)準(zhǔn)浮點(diǎn)格式,如Motorola公

12、司的MC96002 FUJITSU公司的MB86232和ZORAN公司的ZR35325等。3按用途分按照DSP的用途來(lái)分,可分為通用型DSP芯片和專用型DSP芯片。通用型D SP芯片適合普通的DSP應(yīng)用, 如TI公司的一系列DSP芯片屬于通用型DSP芯片。 專用DSP芯片是為特定的DSP運(yùn)算而設(shè)計(jì)的,更適合特殊的運(yùn)算,如數(shù)字濾波、 卷積和FFT,如Motorola公司的DSP56200 Zoran公司的ZR34881 Inmos公司 的IMSA100等就屬于專用型DSP芯片。DSP 課程設(shè)計(jì)一一正弦信號(hào)發(fā)生器62.3DSP 芯片的應(yīng)用數(shù)字信號(hào)處理(DSP)芯片是一種特別適合于進(jìn)行數(shù)字信號(hào)處理運(yùn)

13、算的微處理 器可實(shí)時(shí)快速地實(shí)現(xiàn)各種數(shù)字信號(hào)處理算法。自20世紀(jì)80年代初誕生以來(lái)已廣泛應(yīng)用于通信、電子、航空航天、軍事及家電產(chǎn)品成為一種十分重要的電子產(chǎn)品 的核心部件。DSP芯片得到了飛速的發(fā)展。DSP芯片的高速發(fā)展,一方面得益于 集成電路技術(shù)的發(fā)展,另一方面也得益于巨大的市場(chǎng)。在近20年時(shí)間里,DSP芯片已經(jīng)在信號(hào)處理、通信、雷達(dá)等許多領(lǐng)域得到廣泛的應(yīng)用。目前,DSP芯片的價(jià)格越來(lái)越低,性能價(jià)格比日益提高,具有巨大的應(yīng)用潛力。DSP芯片的應(yīng)用主要有:(1)信號(hào)處理一一如數(shù)字濾波、自適應(yīng)濾波、快速傅立葉變換、相關(guān)運(yùn)算、 譜分析、卷積、模式匹配、加窗、波形產(chǎn)生等;(2)通信一一如調(diào)制解調(diào)器、自適

14、應(yīng)均衡、數(shù)據(jù)加密、數(shù)據(jù)壓縮、回波抵消、 多路復(fù)用、傳真、擴(kuò)頻通信、糾錯(cuò)編碼、可視電話等;(3)語(yǔ)音一一如語(yǔ)音編碼、語(yǔ)音合成、語(yǔ)音識(shí)別、語(yǔ)音增強(qiáng)、說(shuō)話人辨認(rèn)、 說(shuō)話人確認(rèn)、語(yǔ)音郵件、語(yǔ)音存儲(chǔ)等;(4)圖形/圖像一一如二維和三維圖形處理、圖像壓縮與傳輸、圖像增強(qiáng)、 動(dòng)畫、機(jī)器人視覺等;(5)軍事一一如保密通信、雷達(dá)處理、聲納處理、導(dǎo)航、導(dǎo)彈制導(dǎo)等;(6)儀器儀表一一如頻譜分析、函數(shù)發(fā)生、鎖相環(huán)、地震處理等;(7)自動(dòng)控制一一如引擎控制、聲控、自動(dòng)駕駛、機(jī)器人控制、磁盤控制等;(8)醫(yī)療一一如助聽、超聲設(shè)備、診斷工具、病人監(jiān)護(hù)等;(9)家用電器一一如高保真音響、音樂(lè)合成、音調(diào)控制、玩具與游戲、數(shù)字

15、電話/電視等。隨著DSP芯片性能價(jià)格比的不斷提高,可以預(yù)見DSP芯片將會(huì)在更多的領(lǐng)域 內(nèi)得到更為廣泛的應(yīng)用。2.4 TMS320C54X 芯片的介紹TMS320 C54x系列DSP芯片是使用靜態(tài)CMO技術(shù)制造的。其方框圖見圖2-1,從圖中可以看出C54x系列DSP芯片具有以下功能單元:DSP 課程設(shè)計(jì)一一正弦信號(hào)發(fā)生器7總線C54x共有八條總線分別是:PB:程序讀取總線CB:數(shù)據(jù)讀取總線1DB:數(shù)據(jù)讀取總線2 EB:數(shù)據(jù)寫入總線PAB:程序讀取地址總線CAB:數(shù)據(jù)讀取地址總線1DAB:數(shù)據(jù)讀取地址總線2 EAB:數(shù)據(jù)寫入地址總線中央處理器(CPUCPU由以下幾個(gè)部件組成:先進(jìn)的多總線結(jié)構(gòu):包括

16、三個(gè)獨(dú)立的數(shù)據(jù)總線和一個(gè)程序總線40位的算術(shù)邏輯單元:包括一個(gè)40位移位器和兩個(gè)獨(dú)立的40位累加器17bit 17bit的并行乘法器同一個(gè)專用的加法器相配合:用來(lái)執(zhí)行不經(jīng)流水線的單周期乘加(MAC運(yùn)算指數(shù)譯碼器: 可以在一個(gè)周期里計(jì)算出一個(gè)40位累加器的指數(shù) 值兩個(gè)地址生成器:包括8個(gè)輔助寄存器和兩個(gè)輔助寄存器算術(shù)單元程序控制器:對(duì)指令進(jìn)行解碼、管理流水線和程序流程片上存儲(chǔ)器C54x共有192K字的尋址能力(64K字的程序區(qū),64K字的數(shù)據(jù)區(qū),和64K字的I/O區(qū))如圖2-2所示。芯片內(nèi)部采用改進(jìn)的哈佛結(jié)構(gòu),允許同時(shí)取指令和取數(shù)據(jù),而且還允許在程 序空間和數(shù)據(jù)空間之間相互傳送數(shù)據(jù)。所謂哈佛結(jié)構(gòu)

17、,是將程序和數(shù)據(jù)的存貯空 間分開,各有各的地址總線和數(shù)據(jù)總線。這樣同一條指令可以同時(shí)對(duì)不同的存貯 空間進(jìn)行讀操作或?qū)懖僮?,從而提高了處理速度。C54x DSP芯片還提供了塊指令循環(huán)功能,此功能可以大大地提高執(zhí)行循環(huán) 的速度,但是此功能只能在一重循環(huán)中使用,因?yàn)樗惶峁┝艘粋€(gè)循環(huán)記數(shù)寄存 器BRC所以在遇到多重循環(huán)時(shí)就要盡量把這個(gè)功能用在最里層的循環(huán)中,最里 層循環(huán)是執(zhí)行次數(shù)最多的循環(huán)。DSP 課程設(shè)計(jì)一一正弦信號(hào)發(fā)生器8OMR-廠ZEROZEROd Di* *MkZH /Vr1 of* 4L 匸L-rl曹*章曹* *&* *ATtAVH.AT圖 2-1 C54x DSP 結(jié)構(gòu)框圖第 0

18、 頁(yè)程序存儲(chǔ)器第 0 頁(yè)程序存儲(chǔ)器數(shù)據(jù)存儲(chǔ)器41保留(OVLY=1 或夕卜部(OVLY=0片內(nèi) DARAM (OVLY=1)或外部(OVLY=0)外部中斷向量表(外部)MP/MC=1微處理器方式保留(OVLY=1 或外部(OVLY=0片內(nèi) DARAM(OVLY=1)或外部(OVLY=0)外部片內(nèi) ROM(4K 字)保留中斷向量表(片內(nèi))MP/MC=1微處理器方式圖 2-2TMS320VC5402存儲(chǔ)器映像寄存器暫存寄存器片內(nèi) DARAM(16K 字)外部片內(nèi) ROM(DROM=U)夕卜部(DROM=0)保留 ROM(DROM=U)夕卜部(DROM=0)存儲(chǔ)器空間分配圖DSP 課程設(shè)計(jì)一一正弦信

19、號(hào)發(fā)生器9下表1給出了部分C54x芯片的片上資源、 運(yùn)算能力、 工作電壓等。 運(yùn)算能 力用MIPS來(lái)度量,即每秒能執(zhí)行一百萬(wàn)條指令的數(shù)量。表 1 :部分 C54X 芯片資料DSP 型 號(hào)片內(nèi) RAM(字)尋址范圍串口數(shù)內(nèi)核電壓(V)I/O 電壓(V)運(yùn)算能力(MIPS)TMS320VC5416128K64K/8M31.53.3160TMS320VC541064K64K/8M31.63.3160TMS320VC540964K64K/8M31.63.3160TMS320LC54932K64K/8M32.53.3120TMS320LC54210K64K/64K33.33.350第三章CCS集成開發(fā)工

20、具3.1 CCS 是什么通常,DSPT商和第三方都會(huì)為DSP的開發(fā)應(yīng)用提供各種各樣的軟硬件開發(fā) 工具 (代碼生成工具和代碼調(diào)試工具等)。早期的DSP開發(fā)工具沒有集成化,需 要在DOS環(huán)境下鍵入比較復(fù)雜的命令,使用起來(lái)不很方便,調(diào)試、開發(fā)的效率也 不高。1999年,TI公司推出了CCS(CodeComposerStudio)集成開發(fā)工具(直 譯為代碼設(shè)計(jì)工作室),為DSP用戶提供了十分便利的開發(fā)環(huán)境。CCS內(nèi)部集成了以下軟件工具:DSP代碼生成工具(包括DSP的C編譯器、匯編優(yōu)化器、匯編器和鏈接器等)CCS集成開發(fā)工具(編輯、鏈接和調(diào)試DSP目標(biāo)程序)。實(shí)時(shí)分析插件DSP/BIOS和實(shí)時(shí)數(shù)據(jù)交換

21、模塊RTD)等(必須有硬件開發(fā)板)DSP 課程設(shè)計(jì)一一正弦信號(hào)發(fā)生器10CCS是 一種可視化集成開發(fā)工具,它集代碼生成軟件和代碼調(diào)試工具 于一體,具有強(qiáng)大的應(yīng)用開發(fā)功能:錯(cuò)誤!未找到引用源。 可視化代碼編輯界面:可以直接編寫匯編語(yǔ)言和C語(yǔ)言程序、.H頭文件和.CMD命令文件等。代碼生成工具:包括DSP的匯編器、C編譯器和鏈接器等。各種調(diào)試工具:包括加載執(zhí)行文件、運(yùn)行、單步操作、設(shè)置斷點(diǎn)、查看編輯 存儲(chǔ)器和寄存器、觀察變量、評(píng)估程序和執(zhí)行時(shí)間等。探針工具:可將PC機(jī)數(shù)據(jù)文件中的數(shù)據(jù)傳到DSP或者將DSP中數(shù)據(jù)傳到PC機(jī)數(shù)據(jù)文件中,以便實(shí)現(xiàn)各種算法仿真和數(shù)據(jù)監(jiān)視。圖形顯示工具:可以將DSP程序生成

22、的數(shù)據(jù)繪制成時(shí)域/頻域圖等,以便于 觀察和分析。通用擴(kuò)展語(yǔ)言GEL可以讓用戶通過(guò)GEL語(yǔ)言編程, 建立需要的GEL函數(shù)來(lái) 擴(kuò)展CCS的功能,包括配置各種參數(shù)、修改變量等。錯(cuò)誤!未找到引用源。DSP/BIOS工具:它是DSP芯片簡(jiǎn)化了的操作系統(tǒng)內(nèi) 核,即各種DSP芯片操作系統(tǒng)的底層文件,為嵌入式系統(tǒng)應(yīng)用提供基本的運(yùn)行服 務(wù),具有代碼較少、邏輯精簡(jiǎn)等優(yōu)點(diǎn)。錯(cuò)誤!未找到引用源。開放式的插入架構(gòu)技術(shù):只需安裝相應(yīng)的驅(qū)動(dòng)程序, 就能夠集成第三方的專用插件。3.2 CCS 窗口簡(jiǎn)介3.2.1 CCS窗口示例CCS系統(tǒng)設(shè)置完成后,就可以打開CCS應(yīng)用程序,在CCS集成開發(fā)環(huán)境下 完成工程定義,程序的編輯、編

23、譯、鏈接和調(diào)試,以及程序運(yùn)行結(jié)果的分析和評(píng) 估等工作。一個(gè)典型的CCS集成開發(fā)環(huán)境住窗口如圖3-1所示。該示例窗口由菜 單欄、工具欄、工程窗口、源程序編輯和調(diào)試窗口、存儲(chǔ)器窗口、CPU寄存器窗口、輸出窗口等組成。此外,還可以根據(jù)需要打開反匯編窗口、圖形顯示窗口、 變量觀察窗口,以及時(shí)鐘窗口等。DSP 課程設(shè)計(jì)一一正弦信號(hào)發(fā)生器11圖 3-1 CCS 應(yīng)用窗口示例322 CCS中常用的工具菜單欄一一和CCS所有功能相關(guān)的菜單都在這里面。編譯工具欄一一編譯程序時(shí)常用的一些工具。調(diào)試工具欄一一調(diào)試程序時(shí)常用的一些工具。工程文件框一一打開的工程所有文件會(huì)按類別放在這里,便于我們編程時(shí)在 各個(gè)文件之間的

24、切換。代碼編輯區(qū)一一顧名思義, 代碼都是在這里編輯完成的了, 是我們最主要的 工作區(qū)域。編譯信息輸出區(qū)一一編譯時(shí)產(chǎn)生的信息會(huì)在這個(gè)區(qū)域內(nèi)輸出,能讓我們直觀的了解到正在編譯哪個(gè)文件,編譯過(guò)程中是否產(chǎn)生了錯(cuò)誤,而這些錯(cuò)誤是哪些, 由于什么原因引起的,這些內(nèi)容都會(huì)顯示在這里。3.3 CCS 的安裝與設(shè)置CCS的安裝步驟如下:DSP 課程設(shè)計(jì)一一正弦信號(hào)發(fā)生器12(1)將CCS的安裝光盤插入計(jì)算機(jī)的CD-ROM光盤驅(qū)動(dòng)器中,運(yùn)行CCS安裝 程序Set-up.exe.按屏幕提示,將CCS系統(tǒng)安裝到C:ti(默認(rèn)系統(tǒng))安裝目錄 下。安裝完成后:錯(cuò)誤!未找到引用源。在桌面上將出現(xiàn)Set-upCCS2(C50

25、00)和CCS2C5000)兩個(gè)快捷方式圖標(biāo),分別對(duì)應(yīng)CCS配置程序和CCS應(yīng)用程序。在C:ti目錄下有bin、c5400、c5500、cc、docs、drivers、examples、myprojects、plugi ns、tutoria、unin stall共11個(gè)文件夾,以及DosRun等3個(gè)文件夾,用戶的工程文件都將存放在myprojects文件夾下。(2)單擊Set-upCCS2(C5000)快捷方式圖標(biāo),運(yùn)行CCS配置程序,彈出對(duì)話框如圖3-2所示。圖 3-2 CSS 配置對(duì)話框從對(duì)話框的Available Configurations列表框中選擇應(yīng)用平臺(tái)類型。配置完成后,保存設(shè)置

26、并退出。CCS系統(tǒng)將C5402軟件仿真器作為系統(tǒng)配置,顯示在SystemCo nfiguratio n列表框中。uanimHH- x|Eilt Edii MiAWKelpMy System Dcwj cc SimiiLiftt orDiric Simulator阿h匸勺4D3DviSimulatorDeviSimulator Dflwj icSi曬吐戸r 9CS40Tg 応“ 兮irtiul*L茁9=C5409 Dvic Simulator) )IB-C54IDtvia* Simulator =5410 DV3CM唇,七PI l:CS4l& D-aviSimulatorDcvie* S

27、imialitorVC54ZDDewi ceSimiiLiit or【匚4勺niraCH3 muXat or呂SimulatorDevict Sinl.D戟 u 雹SirwvX居七r 048 D暫亡Si 9=0549 Dvic Simul A.torUS 缶05“ra-iM05“CS-SKK 虹C54wC54IMC54JK作幅C54MC54x Slmulatuir fTexashnslxumenls)NumnDer of Dces:1DrIE. ie-vice driver thw 1*ft dd 4 d the systemFAvK_theta(increment)STM0,AR1;(AR1

28、)=X(rad)STM#sin_x,AR6;AR6- - sin(x)STM#90,BRC;form sin0(deg.)sin90(deg);重復(fù)執(zhí)行塊語(yǔ)句(下條語(yǔ)句開始至loop1-1)91次RPTBloop1-1LDMAR1,ALD#d_xs,DP;DPd_xsSTLA,d_xs;(A)低16位d_xsSTLA,d_xc;(A)低16位d_xcCALLsi nx;調(diào)用sinx程序CALLcosx;調(diào)用conx程序LD#d_si nx,DP;DP d_sinxLDd_si nx,16,A;A=s in(x)MPYAd_cosx;B= si n(x)*cos(x)STHB,1,*AR6+;A

29、R6- - 2*s in (x)*cos(x)MAR*AR1+0;修改輔助寄存器AR1loop1: STM#sin_x+89,AR7;si n91(deg.)-si n179(deg.)STM#88,BRC;重復(fù)執(zhí)行下條指令至loop2-1RPTBloop2-1;處90次LD*AR7-,A;(AR7)-A,然后AR7減去1STLA,*AR6+;(A)低16位AR6Ioop2: STM#179,BRC;sin 180(deg.)- -sin359(deg.);(BRC)=179,重復(fù)執(zhí)行180次STM#sin_x,AR7;AR7旨向sin_x首地址RPTBloop3-1LD*AR7+,A;(AR

30、7)-A,然后AR加1NEGA;累加器變負(fù)STLA,*AR6+;A低16位AR6loop3: STM#sin_x,AR6;gen erate sin wave AR6指向sin_sin_x: .usect sin _x,360STACK: .usect STACK,10;為sin_x保留360個(gè)存儲(chǔ)空間;為堆棧保留10個(gè)存儲(chǔ)空間DSP 課程設(shè)計(jì)一一正弦信號(hào)發(fā)生器16STM #1,AR0STM #360,BKIoop4: PORTW *AR6+0%,PA0B Ioop4sinx:.def d_xs,d_s inx.datatable_s .word 01c7h.word 030bh.word 0

31、666h.word 1556hd_coef_s .usect coef_s,4d_xs .usect sin _vars,1d_squr_xs .usect sin _vars,1d_temp_s .usect sin _vars,1 d_sinx .usect sin_vars,1 c_l_s .usect s in_vars,1間.textSSBX FRCTSTM #d_coef_s,AR5RPT #3MVPD#table_s,*AR5+STM #d_coef_s,AR3STM #d_xs,AR2STM #c_l_s,AR4ST #7FFFh,c_l_sSQUR *AR2+,AST A,*

32、AR2|LD *AR4,BMASR *AR2+,*AR3+,B,AMPYA ASTH A,*AR2MASR *AR2-,*AR3+,B,AMPYA*AR2+ST B,*AR2|LD *AR4,BMASR *AR2-,*AR3+,B,AMPYA *AR2+ST B,*AR2;AR 01;BK 360;PA0=*AR6+0%U PA0俞出數(shù)據(jù); 定義標(biāo)號(hào)d_xs,d_sinx;定義數(shù)據(jù)代碼段一;c1=1/(8*9);c仁1/(6*7)c1=1/(4*5);c仁1/(2*3);為coef_s保留4個(gè)存儲(chǔ)空間;為d_xs中sin_vars保留1個(gè)存儲(chǔ)空 間;為d_squr_xs中sin_vars保留1

33、個(gè)存儲(chǔ)空間;為d_temp_s中sin_vars保留1個(gè)存儲(chǔ)空間 -;為d_sinx中sin_vars保留1個(gè)存儲(chǔ)空間;為d_xs中sin_vars保留1個(gè)存儲(chǔ)空;定義代碼開始段;設(shè)置卩只。丁=以解決冗余符號(hào)位;AR5旨向d_coef_s首地址;重復(fù)下條指令4次;table_s中的數(shù)復(fù)制到AR5旨向的單 元;AR3旨向d_coef_s首地址;AR2旨向d_xs首地址;AR4旨向c_l_s首地址;7FFFhc_l_s;AR2旨向累加器A中的數(shù)值求其平方;(A)左移16位AR2;(AR4左移16位B;從累加器A中減去(AR2 *(AR3;操作數(shù)與累加器A中高位相乘;(A)高16位一AR2;從累加器

34、A中減去(AR2 *(AR3;AR2旨向的數(shù)與累加器A的高16位相乘;(B)左移16位AR2;(AR4左移16位B;從累加器A中減去(AR2 *(AR3DSP 課程設(shè)計(jì)一一正弦信號(hào)發(fā)生器17|LD *AR4,BMASR *AR2-,*AR3+,B,AMPYA d_xsSTH B,d_si nxRETcosx:.def d_xc,d_cosxd_coef_c .usect coef_c,4.datatable_c .word 0249h.word 0444h.word 0aabh.word 4000hd_xc .usect cos_vars,1元d_squr_xc .usect cos_vars

35、,1d_temp_c .usect cos_vars,1d_cosx .usect cos_vars,1 c_l_c .usectcos_vars,1.textSSBX FRCTSTM #d_coef_c,AR5RPT #3MVPD#table_c,*AR5+STM #d_coef_c,AR3STM #d_xc,AR2STM #c_l_c,AR4ST #7FFFh,c_l_cSQUR *AR2+,AST A,*AR2|LD *AR4,BMASR *AR2+,*AR3+,B,AMPYA ASTH A,*AR2MASR *AR2-,*AR3+,B,AMPYA *AR2+;與累加器A中高16位相乘;

36、(B)左移16位AR2;(AR4左移16位B;從累加器A中減去(AR2 *(AR3;d_xs指向的操作數(shù)與累加器A中高16位相乘;(B)高16位d_sinx;返回;定義標(biāo)號(hào)d_xc,d_cosx;為coef_c保留4個(gè)存儲(chǔ)空間;定義數(shù)據(jù)代碼段;c仁1/(7*8);c2=1/(6*5);c3=1/(3*4);c4=1/2;為d_xc中cos_vars保存1個(gè)存儲(chǔ)單; 為d_squr_xc中cos_vars保存1個(gè)存 儲(chǔ)單元;為d_temp_c中cos_vars保存1個(gè)存儲(chǔ)單元;為d_cosx中cos_vars保存1個(gè)存儲(chǔ)單元;為c_l_c中cos_vars保存1個(gè)存儲(chǔ)單元;定義文本代碼段;FRC

37、T=以清除冗余符號(hào)位AR5旨向d_coef_c首地址;重復(fù)下條指令4次;把table_c中的數(shù)復(fù)制到中AR5;AR3旨向d_coef_c首地址;AR2指向d_xc首地址;AR4旨向c_l_c首地址;7FFFhc_l_c;求X的平方存放在累加器A中;(A)左移16位AR2;(AR4左移16位B;A=1-xA2/56,T=xA2;A=T*A=xA2(1-xA2/56);(d_temp)= xA2(1-xA2/56)DSP 課程設(shè)計(jì)一一正弦信號(hào)發(fā)生器18;A=1-xA2/30(1-xA2/56),T= xA2(1-xA2/56);B=xA2(1-xA2/30(1-xA2/56)DSP 課程設(shè)計(jì)一一正

38、弦信號(hào)發(fā)生器19STB,*AR2;(d_temp)=xA2(1-xA2/30(1-xA2/56)|LD*AR4,B;B=1MASR*AR2-,*AR3+,B,A;A=1-xA2/12(1-xA2/30(1-xA2/56)SFTAA,-1,A;-1/2NEGAMPYA*AR2+;B=1-xA2/2(1-xA2/12(1-xA2/30;(1-XA2/56)MAR*AR2+7RETD7ADD*AR4,16,B;B=1-xA2/2(1-xA2/12(1-xA2/30;(1-XA2/56)STHB,*AR2;cos(theta)RET7.end72. .cmd文件描述輸入文件和輸出文件,說(shuō)明系統(tǒng)中有哪些

39、可用存儲(chǔ)器、程 序段、堆棧及復(fù)位向量和中斷向量等安排在什么地方。其中MEMORY就是用來(lái)規(guī)定目標(biāo)存儲(chǔ)器的模型,通過(guò)這條指令,可以定義系統(tǒng)中所包含的各種形式的 存儲(chǔ)器,以及它們占據(jù)的地址范圍;SECTIONS段說(shuō)明如何將輸入段組合成輸出 段以及在可執(zhí)行文件中定義輸出段、規(guī)定輸出段在存儲(chǔ)器中的位置等。正弦波 程序鏈接命令文件sin.cmd:MEMORYPAGE 0:EPROM:VECS:PAGE 1:SPRAM:DARAM1:DARAM2:DARAM3:SECTIONSorg = OEOOOh, len = 1000horg = 0FF80h, len = 0080horg=:0060h,len=

40、:0020horg : =0080h,len:=0010horg : =0090h,len:=0010horg : =0200h,len:=0200h.text :EPROM PAGE 01000h.data :EPROM PAGE 0STACK :SPRAM PAGE 1sin_vars :DARAM1 PAGE 1coef_s :DARAM1 PAGE 1cos_vars :DARAM2 PAGE 1;文本代碼段其實(shí)地址為0E000h,長(zhǎng)度為;數(shù)據(jù)代碼段其實(shí)地址為0D000h;堆棧起始地址為0060h,長(zhǎng)度為0020h;標(biāo)號(hào)為sin_vars段的起始地址為0080;長(zhǎng)度為0010h;標(biāo)號(hào)為

41、coef_s段的起始地址為0070h;長(zhǎng)度為0010h;標(biāo)號(hào)為cos_vars段的起始地址為0090hDSP 課程設(shè)計(jì)一一正弦信號(hào)發(fā)生器20DSP 課程設(shè)計(jì)一一正弦信號(hào)發(fā)生器21;長(zhǎng)度為0010hcoef_c :DARAM2 PAGE 1;標(biāo)號(hào)為coef_c段的起始地址為0080h;長(zhǎng)度為0020hsin_x : alig n(512) DARAM3 PAGE 1.vectors :VECSPAGE 03.復(fù)位向量文件sin_v.asm:.titles in_v.asm.ref_c_in t00.sect.vectorsB_c_in t00.end4.2調(diào)試過(guò)程1.打開Setup CCStud

42、io v3.3如圖4-2所示。圖 4-1 Setup CCStudio v3.3 的打開界面2.選擇C5402芯片并加載,如圖4-3-1、圖4-3-2和圖4-3-3所示:DSP 課程設(shè)計(jì)一一正弦信號(hào)發(fā)生器22圖 4-3-1 選擇 C5402 芯片圖 4-3-2 加載芯片/wi a nl * t a-rTWRE1TVMewl F J/CTV nil *-( 4E J C耶!ii”R tn aA! Eb D u- d. 1zir企I礙、FI1 -E da t ViiHWFr ct.IlVUK:GEL.Dp t i onFr oi L Tocl DSP/BIOSVindor HLpDSP 課程設(shè)計(jì)一

43、一正弦信號(hào)發(fā)生器23世CBQB3H L_1 OELB1HL_I Fr wj丈(.気圖 4-3-3 確定已加載3.輸入4.1.2節(jié)的三個(gè)程序,保存名稱分別為“sin.asm”、“sin.cmdDSP 課程設(shè)計(jì)一一正弦信號(hào)發(fā)生器24sin_v.asm。如圖4-4所示。 *1Inn tE*u* nn4新建工程名為 “shiyan”,保存路徑為C:CCStudio v3.3/ MyProjects/shiyan。如圖4-5所示。5.將三個(gè)程序加載入新建工程若有錯(cuò)誤進(jìn)行改正,直至無(wú)誤,如圖shiyan”里,對(duì)三個(gè)文件進(jìn)行編譯鏈接,4-6所示:窗“E X匝曰|后金“in低絡(luò)|A K? |倔-4T丨詼痔;I

44、 E=圖 4-4 輸入程序圖 4-5新建工程對(duì)話框DSP 課程設(shè)計(jì)一一正弦信號(hào)發(fā)生器25圖 4-6 編譯鏈接無(wú)誤界面6.選擇ViewGraphTime/Frequency,如圖4-7-1所示,調(diào)出如圖4-7-2所示對(duì)話框,進(jìn)行參數(shù)設(shè)置。DSP 課程設(shè)計(jì)一一正弦信號(hào)發(fā)生器26圖 4-7-1 選擇 View Graph Time/Frequency*4 /C5-4x- SiBiul&iiar(TO-KHIEIKK1Lmn tE) /CPU C54I (SiBfltor1 - Cuda ?4 paw T S tudi. o-! x|-titlesinaasm1,1TilPr *j ic I

45、DtKu GEL Opti oxi Frofilt:T&ls ESP/BIOS Wiad&w Helpa巨3-inixlMEMORY丄Preject0*(?fi a.leh. VindovProperly WindonvQuick Titeti CallSlack xpretsi an LiEt Output WindowSpiboil BrvsitFm_v .asm ,c_intOO.vectorscint00!CnE tdl* ti阿EyaD:L.Imae.Stundvd Talb*rCEL TcfilbtfPr oj-Ecl TollarEdit ToolbarA-danced Edat ToolbarL-ftywt Tglb貌 欽叭嚴(yán)BsDeL-ug T oollb ur 5Plg-in Toolbars三I魯關(guān)蠱囲I尅翹d -I nixXime/Frequency.A陽(yáng)田圖DSP 課程設(shè)計(jì)一一正弦

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論