[指導(dǎo)]DSP課程設(shè)計(jì)1_第1頁
[指導(dǎo)]DSP課程設(shè)計(jì)1_第2頁
[指導(dǎo)]DSP課程設(shè)計(jì)1_第3頁
[指導(dǎo)]DSP課程設(shè)計(jì)1_第4頁
[指導(dǎo)]DSP課程設(shè)計(jì)1_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、蘇州市職業(yè)大學(xué)課程設(shè)計(jì)說明書名稱正弦信號發(fā)生器2010年6月21日至2010年6月27日共1周院系電子信息工程系班級08通信(1)班姓名學(xué)號系主任曹豐文教研室主任蘇品剛指導(dǎo)教師第一章緒論2第二章dsp芯片的介紹42. 1 dsp芯片的特點(diǎn)42. 1. 1 dsp芯片主要特點(diǎn)42. 1.2 dsp芯片的優(yōu)缺點(diǎn)42.2 dsp芯片的分類52.3 dsp芯片的應(yīng)用62.4 tms320c54x芯片的介紹7第三章ccs集成開發(fā)工具103. 1 ccs是什么103.2 ccs 窗 口簡介113.2. 1 ccs 窗口示例113.2.2 ccs屮常用的工具123. 3 ccs的安裝與設(shè)置12第四章正弦信號

2、發(fā)生器的實(shí)現(xiàn)過程 144.1止弦信號發(fā)生器的理論實(shí)現(xiàn)144. 1. 1常用的理論實(shí)現(xiàn)方法144. 1.2 編程實(shí)現(xiàn) 154. 2 調(diào)試過程20第五章實(shí)驗(yàn)心得與體會26第一章緒論數(shù)字信號處理是20世紀(jì)60年代,隨著信息學(xué)科和計(jì)算機(jī)學(xué)科的高速發(fā)展而 迅速發(fā)展起來的一門新興學(xué)科。它的重要性日益在各個領(lǐng)域的應(yīng)用中表現(xiàn)出來。 其主要標(biāo)志是兩項(xiàng)重大進(jìn)展,即快速傅里葉變換(fft)算法的提出和數(shù)字濾波器 設(shè)計(jì)方法的完善。數(shù)字信號處理是把信號用數(shù)字或符號表示成序列,通過計(jì)算機(jī) 或通用(專用)信號處理設(shè)備,用數(shù)值計(jì)算方法進(jìn)行各種處理,達(dá)到提取有用信 息便于應(yīng)用的目的。例如:濾波、檢測、變換、增強(qiáng)、估計(jì)、識別、參

3、數(shù)提取、 頻譜分析等。數(shù)字信號處理的目的是對真實(shí)世界的連續(xù)模擬信號進(jìn)行測量或?yàn)V波。因此在 進(jìn)行數(shù)字信號處理z前需要將信號從模擬域轉(zhuǎn)換到數(shù)字域,這通常通過模數(shù)轉(zhuǎn)換 器實(shí)現(xiàn)。而數(shù)字信號處理的輸出經(jīng)常也要變換到模擬域,這是通過數(shù)模轉(zhuǎn)換器實(shí) 現(xiàn)的。數(shù)字信號處理的算法需要利用計(jì)算機(jī)或?qū)S锰幚碓O(shè)備如數(shù)字信號處理器 (dsp)和專用集成電路(asic)等。數(shù)字信號處理的研究方向應(yīng)該更加廣泛、 更加深入特別是對于譜分析的本質(zhì)研究,對于非平穩(wěn)和非高斯隨機(jī)信號的研究, 對于多維信號處理的研究等,都具有廣闊前景。數(shù)字信號處理技術(shù)發(fā)展很快、應(yīng)用很廣、成果很多。多數(shù)科學(xué)和工程中遇到 的是模擬信號。以前都是研究模擬信號處

4、理的理論和實(shí)現(xiàn)。模擬信號處理缺點(diǎn): 難以做到高精度,受環(huán)境影響較大,可靠性并,且不靈活等。數(shù)字系統(tǒng)的優(yōu)點(diǎn): 體積小、功耗低、精度高、可靠性高、靈活性大、易于大規(guī)模集成、可進(jìn)行二維 與多維處理。隨著大規(guī)模集成電路以及數(shù)字計(jì)算機(jī)的飛速發(fā)展,加z從60年代 末以來數(shù)字信號處理理論和技術(shù)的成熟和完善,用數(shù)字方法來處理信號,即數(shù)字 信號處理,已逐漸取代模擬信號處理。數(shù)字信號處理是利用計(jì)算機(jī)或?qū)S锰幚碓O(shè)備,以數(shù)字形式對信號進(jìn)行采集、 變換、濾波、估值、增強(qiáng)、壓縮、識別等處理,以得到符合人們所需要的信號形 式。數(shù)字信號處理是將信號以數(shù)字方式表示并處理的理論和技術(shù)。數(shù)字信號處理 與模擬信號處理是信號處理的子集

5、。數(shù)字信號處理技術(shù)及設(shè)備具有靈活、精確、 抗干擾強(qiáng)、設(shè)備尺寸小、造價(jià)低、速度快等突出優(yōu)點(diǎn),這些都是模擬信號處理技 術(shù)與設(shè)備所無法比擬的。數(shù)字信號處理(digital signal processing,簡稱dsp)是一門涉及許多學(xué)科 而又廣泛應(yīng)用于許多領(lǐng)域的新興學(xué)科。數(shù)字信號處理是圍繞著數(shù)字信號處理的理 論、實(shí)現(xiàn)和應(yīng)用等幾個方面發(fā)展起來的。數(shù)字信號處理在理論上的發(fā)展推動了數(shù) 字信號處理應(yīng)用的發(fā)展。反過來,數(shù)字信號處理的應(yīng)用乂促進(jìn)了數(shù)字信號處理理 論的捉高。而數(shù)字信號處理的實(shí)現(xiàn)則是理論和應(yīng)用z間的橋梁。數(shù)字信號處理是 以眾多的學(xué)科為理論基礎(chǔ)的,它所涉及的范圍及其廣泛。例如,在數(shù)學(xué)領(lǐng)域,微 積分、

6、概率統(tǒng)計(jì)、隨機(jī)過程、數(shù)值分析等都是數(shù)字信號處理的基本工具,與網(wǎng)絡(luò) 理論、信號與系統(tǒng)、控制論、通信理論、故障診斷等也密切相關(guān)。-些新興的學(xué) 科,如人工智能、模式識別、神經(jīng)網(wǎng)絡(luò)等,都與數(shù)字信號處理密不可分??梢哉f, 數(shù)字信號處理是把許多經(jīng)典的理論體系作為t己的理論基礎(chǔ),同時(shí)又使自己成為 一系列新興學(xué)科的理論基礎(chǔ)。長期以來,信號處理技術(shù)一直用于轉(zhuǎn)換或產(chǎn)生模擬或數(shù)字信號。其中應(yīng)用得 最頻繁的領(lǐng)域就是信號的濾波。此外,從數(shù)字通信、語咅、音頻和生物醫(yī)學(xué)信號 處理到檢測儀器儀表和機(jī)器人技術(shù)等許多領(lǐng)域中,都廣泛地應(yīng)用了數(shù)字信號處理 (digital signal processing, dsp)技術(shù)。數(shù)字信號

7、處理己經(jīng)發(fā)展成為一項(xiàng)成熟的 技術(shù),并且在許多應(yīng)用領(lǐng)域逐步代替了傳統(tǒng)的模擬信號處理系統(tǒng)。世界上三大 dsp芯片生產(chǎn)商:1.德克薩斯儀器公司(ti) 2.模擬器件公司(adi) 3.摩托羅拉公司 (motorola)這三家公司幾乎壟斷了通用dsp芯片市場。數(shù)字信號處理的書籍很 多,其中以麻省理工學(xué)院奧本海姆編著的discrete time signal processing最為 經(jīng)典,有中譯本離散時(shí)間信號處理由西安交通大學(xué)出版?,F(xiàn)在是第二版。第二章dsp芯片的介紹2. 1 dsp芯片的特點(diǎn)dsp芯片,也稱數(shù)字信號處理器,是一種具有特殊結(jié)構(gòu)的微處理器。ds p芯片的內(nèi)部采用程序和數(shù)據(jù)分開的哈佛結(jié)構(gòu),

8、具有專門的皺件乘法器,廣泛采 用流水線操作,提供特殊的dsp指令,可以用來快速的實(shí)現(xiàn)各種數(shù)字信號處理 算法。2.1.1 dsp芯片主要特點(diǎn)根據(jù)數(shù)字信號處理的要求,dsp芯片一般具冇如下的一些主要特點(diǎn): 錯誤!未找到引用源。在一個指令周期內(nèi)可完成一次乘法和一次加法。 程序和數(shù)據(jù)空間分開,可以同時(shí)訪問指令和數(shù)據(jù)。片內(nèi)具有快速ram,通常可通過獨(dú)立的數(shù)據(jù)總線在兩塊中同時(shí)訪問。具有低開銷或無開銷循環(huán)及跳轉(zhuǎn)的碩件支持。 快速的中斷處理和硬件i/o支持。具有在單周期內(nèi)操作的多個硬件地址產(chǎn)生器。 錯誤!未找到引用源??梢圆⑿袌?zhí)行多個操作。錯誤!未找到引用源。支持流水線操作,使取指、譯碼和執(zhí)行等操作可以 重疊

9、執(zhí)行。錯誤!未找到引用源。與通用微處理器相比,dsp芯片的英他通用功能相對較 弱些。2. 1.2 dsp芯片的優(yōu)缺點(diǎn)dsp芯片主要應(yīng)用在信號處理、圖像處理、儀器、聲音語言、控制 軍事、通訊、醫(yī)療、家用電器等諸多領(lǐng)域。其優(yōu)點(diǎn)主要有:大規(guī)模集成 性、穩(wěn)定性好、精度高、可編程性、高速性能、可嵌入性、接口和集成方 便;缺點(diǎn)主要有:成本較高、高頻時(shí)鐘的高頻干擾、功率消耗較大等。2.2 dsp芯片的分類dsp芯片可以按照下列三種方式進(jìn)行分類。1. 按基礎(chǔ)特性分這是根據(jù)dsp芯片的工作吋鐘和指令類型來分類的。如果在某時(shí)鐘頻 率范圍內(nèi)的任何時(shí)鐘頻率上,dsp芯片都能正常工作,除計(jì)算速度有變化外, 沒冇性能的下

10、降,這類dsp芯片一般稱為靜態(tài)dsp芯片。例如,日本oki 電氣公司的dsp芯片、ti公司的tms320c2xx系列芯片屈于這一類如果有兩種或兩種以上的dsp芯片,它們的指令集和相應(yīng)的機(jī)器代碼 機(jī)管腳結(jié)構(gòu)相互兼容,則這類dsp芯片稱為一致性dsp芯片。例如,美國t 1公司的tms320c54x就屈于這一類。2. 按數(shù)據(jù)格式分這是根據(jù)dsp芯片工作的數(shù)據(jù)格式來分類的。數(shù)據(jù)以定點(diǎn)格式工作的d sp 芯片稱為定點(diǎn) dsp 芯片,如 ti 公司的 tms320c1x/c2x、tms320c2xx/c5x、 tms320c54x/c62xx 系列,ad 公司的 adsp21xx 系列,at&t

11、公司的 dsp16/16 a, motolora公司的mc56000等。以浮點(diǎn)格式工作的稱為浮點(diǎn)dsp芯片,如 ti 公司的 tms320c3x/c4x/c8x, ai)公司的 adsp21xxx 系列,at&t 公司的 d sp32/32c, motolora 公司的 mc96002 等。不同浮點(diǎn)dsp芯片所采用的浮點(diǎn)格式不完全一樣,有的dsp芯片采用 自定義的浮點(diǎn)格式,如tms320c3x,而有的dsp芯片則采用ieee的標(biāo)準(zhǔn)浮 點(diǎn)格式,如 motorola 公司的 mc96002、fujitsu 公司的 mb86232 和 zoran 公司的zr35325等。3. 按用途分按照d

12、sp的用途來分,可分為通用型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 公司 的tmsa1oo等就屬于專用型dsp芯片。2.3 dsp芯片的應(yīng)用數(shù)字信號處理(dsp)芯片是一種特別適合于進(jìn)行數(shù)字信號處理運(yùn)算的微處理 器可實(shí)時(shí)快速地實(shí)現(xiàn)各種數(shù)字信號處理算法。自20世紀(jì)80年代初誕生以來已廣 泛應(yīng)用于通信、電子、航空航天、軍事及家電

13、產(chǎn)品成為一-種十分重要的電子產(chǎn)品 的核心部件。dsp芯片得到了飛速的發(fā)展。dsp芯片的高速發(fā)展,一方面得益于 集成電路技術(shù)的發(fā)展,另一方而也得益于巨大的市場。在近20年時(shí)間里,dsp 芯片已經(jīng)在信號處理、通信、雷達(dá)等許多領(lǐng)域得到廣泛的應(yīng)用。目前,dsp芯片 的價(jià)格越來越低,性能價(jià)格比h益提高,具冇巨人的應(yīng)用潛力。dsp芯片的應(yīng)用 主要有:(1) 信號處理一一如數(shù)字濾波、自適應(yīng)濾波、快速傅立葉變換、相關(guān)運(yùn)算、 譜分析、卷積、模式匹配、加窗、波形產(chǎn)生等;(2) 通信如調(diào)制解調(diào)器、門適應(yīng)均衡、數(shù)據(jù)加密、數(shù)據(jù)壓縮、回波抵消、 多路復(fù)用、傳真、擴(kuò)頻通信、糾錯編碼、可視電話等;(3) 語音如語音編碼、語音

14、合成、語音識別、語音增強(qiáng)、說話人辨認(rèn)、 說話人確認(rèn)、語音郵件、語音存儲等;(4) 圖形/圖像如二維和三維圖形處理、圖像壓縮與傳輸、圖像增強(qiáng)、 動畫、機(jī)器人視覺等;(5) 軍事如保密通信、雷達(dá)處理、聲納處理、導(dǎo)航、導(dǎo)彈制導(dǎo)等;(6) 儀器儀表一一如頻譜分析、函數(shù)發(fā)生、鎖相環(huán)、地震處理等;(7) 口動控制一一如引擎控制、聲控、口動駕駛、機(jī)器人控制、磁盤控制等;(8) 醫(yī)療如助聽、超聲設(shè)備、診斷工具、病人監(jiān)護(hù)等;(9) 家用電器一一如高保真音響、音樂合成、音調(diào)控制、玩具與游戲、數(shù)字 電話/電視等。隨著dsp芯片性能價(jià)格比的不斷提高,可以預(yù)見dsp芯片將會在更多的領(lǐng)域 內(nèi)得到更為廣泛的應(yīng)用。2. 4

15、tms320c54x芯片的介紹tms320 c54x系列dsp芯片是使用靜態(tài)cmos技術(shù)制造的。其方框圖見圖2-1, 從圖屮可以看出c54x系列dsp芯片具有以下功能單元:總線c54x共冇八條總線分別是:pb:程序讀取總線cb:數(shù)據(jù)讀取總線1db:數(shù)據(jù)讀取總線2eb:數(shù)據(jù)寫入總線pab:程序讀取地址總線cab:數(shù)據(jù)讀取地址總線1dab:數(shù)據(jù)讀取地址總線2eab:數(shù)據(jù)寫入地址總線中央處理器(cpu)cpu由以下幾個部件組成:先進(jìn)的多總線結(jié)構(gòu):包描三個獨(dú)立的數(shù)據(jù)總線和一個程序總線40位的算術(shù)邏輯單元:包括一個40位移位器和兩個獨(dú)立的40位累加 器17bit 17bit的并行乘法器同一個專用的加法器

16、相配合:用來執(zhí)行不經(jīng) 流水線的單周期乘加(mac)運(yùn)算指數(shù)譯碼器:可以在一個周期里計(jì)算出一個40位累加器的指數(shù)值兩個地址生成器:包括8個輔助寄存器和兩個輔助寄存器算術(shù)單元程序控制器:對指令進(jìn)行解碼、管理流水線和程序流程片上存儲器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),是將程序和數(shù)據(jù)的存貯空 間分開,各有各的地址總線和數(shù)據(jù)總線。這樣同一條指令可以同吋對不同的存貯 空間進(jìn)行讀操作或?qū)懖僮?,從而提高了處理速度。c54

17、x dsp芯片述捉供了塊指令循環(huán)功能,此功能可以大大地捉高執(zhí)行循環(huán) 的速度,但是此功能只能在一重循環(huán)中使用,因?yàn)樗惶峁┝艘粋€循環(huán)記數(shù)寄存 器brc,所以在遇到多重循環(huán)吋就要盡量把這個功能用在最里層的循環(huán)中,最里 層循環(huán)是執(zhí)行次數(shù)最多的循環(huán)。圖2-1 c54x dsp結(jié)構(gòu)框圖訂!器方式保留(ovi.y二1)或外部(ovly=0)片內(nèi) daram(ovly=1) 或外部(ovly=o)外部中斷向量表(外部)存儲器映像寄存器何存寄存器片內(nèi) daram(16k 字)外部片內(nèi)rom(drom=1)或外部(drom=0)保留rom(drom= 1)或外部(drom-0)圖2-2 tms320vc5402

18、存儲器空間分配圖-m算能力、工作電壓等。運(yùn)算能力用mips來度量,即每秒能執(zhí)行一百力條指令的數(shù)量。表1:部分c54x芯片資料保留(ovly=1)或外部(ovly-0)片內(nèi) daram(ovly=1)或外部(ovly二0)外部片內(nèi)rom (4k字)保留中斷向量表(片內(nèi))dsp型號片內(nèi)ram(字)尋址范國串口數(shù)內(nèi)核電壓(v)i/o電壓(v)運(yùn)算能力(mips)tms320vc5416128k64k/8m31.53. 3160tms320vc541064k64k/8m31.63. 3160tms320vc540964k64k/8m31.63.3160tms320lc54932k64k/8m32. 5

19、3. 3120tms320lc54210k64k/64k33. 33. 350第三章ccs集成開發(fā)工具3. 1 ccs是什么通常,dsp廠商和第三方都會為dsp的開發(fā)應(yīng)用捉供各種各樣的軟硬件開發(fā) 工具(代碼生成工具和代碼調(diào)試工具等)。早期的dsp開發(fā)工具沒有集成化,需 要在dos環(huán)境下鍵入比較復(fù)雜的命令,使用起來不很方便,調(diào)試、開發(fā)的效率也 不高。1999年,ti公司推出了 ccs (code composer studio)集成開發(fā)工具(直 譯為代碼設(shè)計(jì)工作室),為dsp用戶提供了十分便利的開發(fā)環(huán)境。ccs內(nèi)部集成了以卜軟件工具: dsp代碼生成工具(包括dsp的c編譯器、匯編優(yōu)化器、匯編器

20、和鏈接器等) ccs集成開發(fā)工具(編輯、鏈接和調(diào)試dsp g標(biāo)程序)。實(shí)時(shí)分析插件dsp/b1os和實(shí)時(shí)數(shù)據(jù)交換模塊rtdx等(必須冇硬件開發(fā)板)。ccs是一種町視化集成開發(fā)工具,它集代碼生成軟件和代碼調(diào)試工具于一體,具有強(qiáng)大的應(yīng)用開發(fā)功能:錯誤!未找到引用源??梢暬a編輯界而:可以直接編寫匯編語言和c 語言程序、h頭文件和cmd命令文件等。代碼生成工具:包括dsp的匯編器、c編譯器和鏈接器等。各種調(diào)試工具:包括加載執(zhí)行文件、運(yùn)行、單步操作、設(shè)置斷點(diǎn)、查看編輯 存儲器和寄存器、觀察變量、評估程序和執(zhí)行吋間等。探針工具:可將pc機(jī)數(shù)拯文件中的數(shù)拯傳到dsp,或者將dsp中數(shù)據(jù)傳到 pc機(jī)數(shù)據(jù)文

21、件屮,以便實(shí)現(xiàn)各種算法仿真和數(shù)據(jù)監(jiān)視。圖形顯示工具:可以將dsp程序生成的數(shù)據(jù)繪制成時(shí)域/頻域圖等,以便于 觀察和分析。通用擴(kuò)展語言gel:可以讓用戶通過gel語言編程,建立需要的gel函數(shù)來 擴(kuò)展ccs的功能,包描配置各種參數(shù)、修改變量等。錯誤!未找到引用源。dsp/b10s i具:它是dsp芯片簡化了的操作系統(tǒng)內(nèi) 核,即齊種dsp芯片操作系統(tǒng)的底層文件,為嵌入式系統(tǒng)應(yīng)用提供基木的運(yùn)行服 務(wù),具有代碼較少、邏輯精簡等優(yōu)點(diǎn)。錯誤!未找到引用源。開放式的插入架構(gòu)技術(shù):只需安裝相應(yīng)的驅(qū)動程序, 就能夠集成第三方的專用插件。3. 2 ccs窗口簡介3.2. 1 ccs窗口示例ccs系統(tǒng)設(shè)置完成后,就

22、可以打開ccs應(yīng)用程序,在ccs集成開發(fā)環(huán)境下 完成工程定義,程序的編輯、編譯、鏈接和調(diào)試,以及程序運(yùn)行結(jié)果的分析和評 估等工作。一個典型的ccs集成開發(fā)環(huán)境住窗口如圖3-1所示。該示例窗口由菜 單欄、工具欄、工程窗口、源程序編輯和調(diào)試窗口、存儲器窗口、cpu寄存器窗 口、輸出窗口等組成。此外,還可以根據(jù)需要打開反匯編窗口、圖形顯示窗口、 變量觀察窗口,以及吋鐘窗口等。exit edit yz erojtct "by gel option ptofil« lools dsp/bios jindow h«lp嵩岔喻i &臥丨禽峪阿冷|恭恭|匡 | debug

23、三彥筋繪岳|也奏 理0-e?里 files2 一)gel files d 二3 project%f shiyan. pj tlj dependent "i docuraentslj dsp/bios (h generated,_| include o libraries hsource l hide gsdjdjsin.ikd"sin asm1't_c_int00smx,d xsd smx,sin-x,360,cosx>.11 stack", 102860# stack" cusp k_thetararo o,ar1k 4 “” a id

24、g0x000000000x0000x0x000000010x00000x000000020x00000x000000030x00000x000000040x00000x000000050x00000x000000060x18000x000000070x29000x000000080x00000x000000090x00000x0000000a0x0000¥oxooooooob0x0000xj 匡jjhqx 16 bit二二1)x0200cpu registers4pc00l±|觀cpu registeiljtrn001 peripheral regs spoolsto181

25、_ii x t-» r»n n i2zjq |haltedname| value| t. | r.船 watch locals 血 klatch 1|圖3-1 ccs應(yīng)用窗口示例3.2.2 ccs中常用的工具菜單欄和ccs所冇功能相關(guān)的菜單都在這里而。編譯工具欄編譯程序吋常用的一些工具。調(diào)試工具欄調(diào)試程序時(shí)常用的一些工具。工程文件框打開的工程所有文件會按類別放在這里,便于我們編程時(shí)在 各個文件z間的切換。代碼編輯區(qū)顧名思義,代碼都是在這里編輯完成的了,是我們最主要的 工作區(qū)域。編譯信息輸出區(qū)一一編譯時(shí)產(chǎn)生的信息會在這個區(qū)域內(nèi)輸出,能讓我們直觀 的了解到正在編譯哪個文件,編譯

26、過程屮是否產(chǎn)生了錯誤,而這些錯誤是哪些, 由于什么原因引起的,這些內(nèi)容都會顯示在這里。3.3 ccs的安裝與設(shè)置ccs的安裝步驟如下:(1)將ccs的安裝光盤插入計(jì)算機(jī)的cd-rom光盤驅(qū)動器屮,運(yùn)行ccs安裝 程序set-up. exo.按屏幕提示,將ccs系統(tǒng)安裝到c:ti (默認(rèn)系統(tǒng))安裝目錄 下。安裝完成后:錯誤!未找到引用源。在桌而上將出現(xiàn)set-upccs2(, c5000)和 ccs2 c c5000)兩個快捷方式圖標(biāo),分別對應(yīng)ccs配置程序和ccs應(yīng)用程序。在 c:ti 目錄 卜冇 bin、c5400> c5500> cc> docs> drivers、

27、examples、 myprojects> plugins、 tutoria> uninstall 共1 個文件夾,以及 dosrun 等 3 個文件夾,用戶的工程文件都將存放在myprojects文件夾下。(2)單擊set-upccs2( c5000)快捷方式圖標(biāo),運(yùn)行ccs配置程序,彈出 對話框如圖3-2所示。drag a dovica driver to theto add a bord to th« system圖32 css配置對話框從對話框的available configurations列表框中選擇應(yīng)用平臺類型。配置完成后,保存設(shè)置并退岀。ccs系統(tǒng)將c54

28、02軟件仿真器作為系統(tǒng)配置,顯示在 system configuration 列表框屮。4.1.1常用的理論實(shí)現(xiàn)方法重復(fù)向pa 口輸出正眩波第四章正弦信號發(fā)生器的實(shí)現(xiàn)過程4.1正弦信號發(fā)生器的理論實(shí)現(xiàn)在通信、儀器和控制等領(lǐng)域的信號處理 系統(tǒng)屮,可能會用到正弦波信號發(fā)生器。一 般來說產(chǎn)生止弦波的方法有兩種:錯誤!未找到引用源。查表法:此方法 用于對精度要求不高的場合,如果要求精度 高,表就很人,相應(yīng)的存儲器容量也要壇人。泰勒級數(shù)展開法。這是一種更為有效的 方法。與查表法相比,該方法需要的存儲單 元很少,而且精度高。一個角度止弦和余弦函數(shù),都可以展開 成泰勒級數(shù),取其前5項(xiàng)進(jìn)行近似。本次課程設(shè)計(jì)利

29、用泰勒級數(shù)展開法求正弦值,產(chǎn)生正弦波枷休流程圖如圖 結(jié)束4-1圖4j程序流程圖4.1.2編程實(shí)現(xiàn)先計(jì)算045° (間隔為0. 5° )的sin和cos值,在利用sin2a=2sina*cosa 求出sin值(間隔為1° )。然后,通過復(fù)制,獲得0359°的正弦值。重復(fù)向 pa 口輸出,便可得到正弦波。程序如下:1.產(chǎn)生正弦波程序清單sin. asm: title sin. asm;為匯編文件取名為"sin. asm” mmregs定義存儲器映像寄存器.defcintoorefsinx, d_xs, d sinx, cosx, d_xc, d c

30、osx; 定義標(biāo)號sin_x: useet“sin x",360;為sin_x保留360個存儲空間stack:usect"stack", 10;為堆棧保留10個存儲空間k_tbeta set286;theta二pi/360(0. 5deg)pao set0_c_int00 text;定義文本程序代碼段stm#stack+10, sp;設(shè)置堆棧指針stmk theta, aro;aro->k_theta(increment)stm0, ari;(ari)=x (rad)stm#sin_x, ar6;ar6>sin(x)stm#90, brc;form s

31、ino(deg.) sin90(deg);重復(fù)執(zhí)行塊語句(卜條語句開始至loopl-1 ) 91次rptbloopl-1ldmari, ald#d_xs, dp;dpdxsstla, d_xs;(a)低 16位 fd_xsstla, d_xc;(a)低 16位 fd_xccallsinx;調(diào)用sinx程序callcosx;調(diào)用conx程序ldttd sinx, dp;dp<- d_sinxldd_sinx, 16, a;a=si n(x)mpyad_cosx;b= sin(x)*cos(x)sthb, 1, *ar6+;ar6>2*sin(x)*cos (x)loopl:marst

32、m*ar1+o#sin_x+89, ar7;修改輔助寄存器ari;sin9l (deg)sinl79(deg.)stm#88, brc;重復(fù)執(zhí)行下條指令至loop2-lrptbloop2-l;處90次ld*ar7-,a;(ar7) -a,然后ar7減去lstla,*ar6+;(a)低 16位-ar6loop2:stm#179,brc;sinl80 (deg.)sin359(deg.);(brc) =179,重復(fù)執(zhí)行180次stmttsin x, ar7;ar7指向sin_x首地址rptbloop3-lld*ar7+, a;(ar7) -a,然后ar7加 1nega;累加器變負(fù)stla,*ar6

33、+;a低 16位-> ar61oop3:stm#sin x, ar6;generate sin wave ar6指向sin xstm#1, aro;arg 01stm#360, bk;bkc360loopd:portw*ar6+0%, pao;pa0=*ar6+0%,向pao輸出數(shù)據(jù)sinx:bloop4.def datad_xs, d sinx; 定義標(biāo)號d xs, d sinx ;定義數(shù)據(jù)代碼段table_s.word01c7h;cl二l/(8*9).word030bh;cl二l/(6*7).word0666h;cl二l/(4*5).word1556h;cl二l/(2*3)d_coe

34、f_s.usectcoef_s,4;為coef_s保留4個存儲空間d_xs uscctsin vats , 1;為d_xs中sin_vars保留1個存儲空 間d_squr_xs useet呻sin_vars , 1;為d squr xs中s in vars保留1個存 儲空間d_temp_s usectsin_vars , 1;為d temp s中sin vars保留1個存 儲空間d_sinx useetsin_vars , l;為d_s inx屮s in_vars保留1個存儲 空間c_l_s.usectsin_vats , l;為d_xs中sin_vars保留1個存儲空 textssbxfrc

35、t;定義代碼開始段;設(shè)置frct二1以解決冗余符號位stm#d_cocf_s, ar5;ar5指向d_cocf_s首地址rpt#3;重復(fù)下條指令4次mvpdtttables,*ar5+;table_s中的數(shù)復(fù)制到ar5指向的單 元stm#d_cocf_s, ar3;ar3指向d_cocf_s首地址stm#d xs, ar2;ar2指向d_xs首地址stm#c_l_s, ar4;ar4指向c_l_s首地址st#7fffh, c 1 s;7fffh fc 1 ssqur*ar2+, a;ar2指向累加器a中的數(shù)值求其平方sta,*ar2;(a)左移 16位一ar2ld*ar4, b;(ar4)左移

36、 16位一bmasr*ar2+, *ar3+, b, a;從累加器a中減去(ar2) * (ar3)mpyaa;操作數(shù)與累加器a中高位相乘stha, *ar2;(a)高 16位一ar2masr*ar2-, *ar3+, b, a;從累加器a中減去(ar2) * (ar3)mpya*ar2+;ar2指向的數(shù)與累加器a的高16位相 乘stb, *ar2;(b)左移 16位一ar2ld*ar4, b;(ar4)左移 16位一bmasr*ar2-, *ar3+, b, a;從累加器a中減去(ar2) * (ar3)mpya*ar2+;與累加器a中高16位相乘stb, *ar2;(b)左移 16位-&g

37、t;ar2ld*ar4, b;(ar4)左移 16位一bmasr*ar2-, *ar3+, b, a;從累加器a中減去(ar2) * (ar3)mpyasthd_xsb, d sinx;d_xs指向的操作數(shù)與累加器a屮高 16位相乘;(b)高 16位d sinxret;返回cosx:.defd_xc, d cosx;定義標(biāo)號d_xc, d cosxd_coef_c useet"coef_c, 4;為coe仁c保留4個存儲空間table_c data word0249h;定義數(shù)據(jù)代碼段;cl二 1/(7*8).word0444h;c2=l/(6*5) wordoaabh;c3二 1/(

38、3*4).word4000h;c4二1/2d_xc useet,cos_vars/,, 1;為d_xc中cos_vars保存1個存儲單元d_squr_xc useet呻cos_vars , 1;為d squr xc中cos vars保存1個存d_temp_c usect,/cos_vars,/, 1儲單元;為d temp c中cos_vars保存1個存dcosx useetcos_vars , l儲單元;為d_cosx屮cos_vars保存1個存儲c_l_c.usectz/cos_vars/z, l單元一;為c_l_c屮cos vars保存1個存儲單.textssbxfrct元;定義文木代碼段

39、;frct二1以清除兀余符號位stmttd coef c, ar5;ar5指向d coef c首地址rpt#3;重復(fù)卜'條指令4次mvpd#table_c, *ar5+;把table_c中的數(shù)復(fù)制到+ar5stmttdcoefc,ar3;ar3指向d coef c首地址stm#d_xc, ar2;ar2指向d_xc首地址stm#c_l_c, ar4;ar4指向c丄c首地址st#7fffh, c_l_c;7fffh*c 1 csqur*ar2+, a;求x的平方存放在累加器a中sta, *ar2;(a)左移 16位一ar2ld*ar4, b;(ar4)左移 16位一bmasrmpya*a

40、r2+, *ar3+, b, aa;a二l-x八2/56, t=x 2;a二t*a二x"2 仃-x"2/56)stha, *ar2;(d_temp)= x 2 (1-x 2/56)masr*ar2-, *ar3+, b, a;a二l-xj/30(l-x"2/56),t= x2(l-xa2/56)mpya*ar2+;b=x2 (l-xa2/30 (l-xa2/56)stb, *ar2;(d_temp) =x"2(l-x2/30(l-x2/56)ld*ar4, b;b=1masr*ar2-, *ar3+, b, a;a=1-x"2/12 (lx&q

41、uot;2/30 (1-xj/56)sftanegmpyaa,-1,aa*ar2+;-1/2;b二l-xj/2(l-xj/12(l-xj/30mar*ar2+;(1 -xj/56)retdadd*ar4, 16, b;b二l-xj/2(l-xj/12(l-xj/30sthb, *ar2;(1 -xj/56);cos (theta)ret; end;2. .cmd文件描述輸入文件和輸出文件,說明系統(tǒng)屮冇哪些可用存儲器、程 序段、堆棧及復(fù)位向量和中斷向量等安排在什么地方。其中memory段就是用來 規(guī)定口標(biāo)存儲器的模型,通過這條指令,可以定義系統(tǒng)小所包含的各種形式的 存儲器,以及它們占據(jù)的地址范圍

42、;sections段說明如何將輸入段組合成輸出 段以及在可執(zhí)行文件中定義輸出段、規(guī)定輸出段在存儲器中的位置等。止弦波程序鏈接命令文件sin. cmd:memorypage 0:eprom:org = oeoooh,len=looohvecs:org = 0ff80h,len=0080hpage 1:spram:org = 0060h,len = 0020hsections text:>eprompage 0 ;文本代碼段其實(shí)地址為oeoooh,長度為1000h data:>eprompage 0 ;數(shù)據(jù)代碼段具實(shí)地址為odooohstack:>sprampage 1 ;堆棧起

43、始地址為0060h,長度為0020hsinvars:>daram1page 1 ;標(biāo)號為sin_vars段的起始地址為0080coef_s:>daram1page 1 ;長度為0010h標(biāo)號為cocf_s段的起始地址為0070hcos_vars:>daram2page 1 ;長度為0010h標(biāo)號為cosvars段的起始地址為0090hcoef_c:>daram2page 1 ;長度為0010h標(biāo)號為coef_c段的起始地址為0080h長度為0020hsin_x : align(512) > daram3 page 1.vectors :>vecs page

44、0daram1:daram2:daram3:org = 0080h,org = 0090h,org = 0200h,len = 001oh len = ooloh len = 0200h3. 復(fù)位向量文件sin v. asm:.titlesin_v. asm,/ref_c_int00 sect" vectors"b_c_int00.end4.2調(diào)試過程1.打開 setup ccstudio v33 如圖 4-2 所示。ct code composer studi o setupsystem configurationljavailable factory boardsf.p

45、.e.z jdl山zjialla:akmll - vf0m2420 fl.araiusim*- vf0m2430 fll.armusim*ra:arm7 - vp0m2420 pl a.arm7sim.*3:akm7 simulator big.arm?zimbigsimulator, lit.arm7simlittlev8-arm7 xds510 emulatorarm7xds*b:arm7 xds560 emulatorarm7xds.*m:akm9 xdss1o emulatorarm9xds*m:arm9 xds560 emulatorarmsxds*b:arm926ej-s simu

46、latoarmssimlittle"f240 xdss1o emulatorc24xxxds.*s:f240 xds560 emulatorc24xxxds*n=f2401 xds510 emulatorc24xxxds*wf2401 xds560 emulatorc24xxxds*"f2402 xdss1o emulatorc24xxxds.*s:f2402 xdss6o emulatorc24xxxds*ff2403 xds510 emulatorc24xxxds*wf2403 xds560 emulatorc24xxxds*"f2406 xdss1o emu

47、latorc24xxxds.*ff2406 xdss6o emulatorc24xxxds*c54x simulator (texasinstruments)number of devices:1my systems*v© & qui t iremove1ram|: add multipl|3 di £y pr oper t iselect the system node to add a new bo&rd to the sysietn confi gurati on.圖 4-1 setup ccstudio v3.3 的打開界面2.選擇c5402芯片并加

48、載,如圖431、圖4-3-2和圖4-3-3所示:圖4-3-1選擇c5402芯片filo edit view 縣。丄 psystem configurationcurrent proc.dri ver locali oncpu3 my syxt«ab: c54x simulator (texas insti santms320c5400device typecpugel file:c:ccstudio_v3.3ccvgerc54cmaster/slave: n/aess custom boardscreate bo<rd圖4-3-2加載芯片ts)/cpu - c54x (siau

49、lfttor)cod* compok«r* s tudi ojlnj 2<1eilc edit ki cw eroject fiebue £el option profile lools dsp/bios window help倉 2 u | * 弔 g ic 11 '三i氏&嗨荻臥嚅i孕 w 陽陽|朋層|匡三|z i齡豳型壓i ©會.些購 時(shí) qc3旦3空回回 £1f£p('-lf仝窘容曰圖4-33確定已加載3輸入4. 1.2節(jié)的三個程序,保存名稱分別為"sin. asm “sin.cmd”、 sin

50、v. asm”。如圖 4-4 所示。4 7 d<-m)/cfvc o «!c5<x cspto£i le tooxxdszbios wi xdow help£lx x« edit.*£x*o5v<.qel qs> t a崗 £ iqiiqosstk)曰回匹陌小帀忡<-£: fe>仝仝空旦口闔中回圖4-4輸入程序4. 新建丄程名為"shiyan”,保存路栓為 c: /ccstudio v3.3/myprojects/shiyano 如圖45所示。圖4-5新建工程對話框5. 將三個程

51、序加載入新建工程“shiyan”里,對三個文件進(jìn)行編譯鏈接, 若有錯誤進(jìn)行改正,直至無誤,如圖4-6所示:倉色ih | %屜亀廠"| 8a皤住 *三 m): m''= o| shiyan pjt |debug二|翳窗描屋也g及(11| q |§ ss 國田畫 ilsin. cadjal x|file edi t vi ew project debug gel option profile tools dsp/bios window helpf /c54x smulator (t ex as xnstrubents)/cpu 一 c54x (siaulator) - code composer studio?e?pprt念套鄴聖 files田二gel filese projects=1 :冬 shiyan pjt (d 口 dependent pr _| documents1 dsp/bios con 口 generated fii include1 libr&ri es0 cj source 盤sin.memory11sin. asae rrcsm asm.title .ref .sectb.end"sinv.a

溫馨提示

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

最新文檔

評論

0/150

提交評論