版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 序言</b></p><p> 1.1 DSP芯片的特點(diǎn)</p><p> DSP芯片,也稱數(shù)字信號處理器, 是一種具有特殊結(jié)構(gòu)的微處理器。DSP芯片的內(nèi)部采用程序和數(shù)據(jù)分開的哈佛結(jié)構(gòu),具有專門的硬件乘法器,廣泛采用流水線操作,提供特殊的DSP指令,可以用來快速的實(shí)現(xiàn)各種數(shù)字信號處理算法。</p><p>
2、 根據(jù)數(shù)字信號處理的要求,DSP芯片一般具有如下的一些主要特點(diǎn):</p><p> ⑴在一個指令周期內(nèi)可完成一次乘法和一次加法。 </p><p> ?、瞥绦蚝蛿?shù)據(jù)空間分開,可以同時(shí)訪問指令和數(shù)據(jù)。 </p><p> ?、瞧瑑?nèi)具有快速RAM,通??赏ㄟ^獨(dú)立的數(shù)據(jù)總線在兩塊中同時(shí)訪問。 </p><p> ⑷具有低開銷或無開銷循環(huán)及跳轉(zhuǎn)的
3、硬件支持。 </p><p> ⑸快速的中斷處理和硬件I/O支持。 </p><p> ?、示哂性趩沃芷趦?nèi)操作的多個硬件地址產(chǎn)生器。 </p><p> ?、丝梢圆⑿袌?zhí)行多個操作。 </p><p> ?、讨С至魉€操作,使取指、譯碼和執(zhí)行等操作可以重疊執(zhí)行。 </p><p> ?、团c通用微處理器相比,DSP芯片的
4、其他通用功能相對較弱些。 </p><p> 1.2 DSP芯片的分類</p><p> DSP芯片可以按照下列三種方式進(jìn)行分類。 </p><p><b> 1.按基礎(chǔ)特性分 </b></p><p> 這是根據(jù)DSP芯片的工作時(shí)鐘和指令類型來分類的。如果在某時(shí)鐘頻率范圍內(nèi)的任何時(shí)鐘頻率上,DSP芯片都能正常
5、工作,除計(jì)算速度有變化外,沒有性能的下降,這類DSP芯片一般稱為靜態(tài)DSP芯片。例如,日本OKI 電氣公司的DSP芯片、TI公司的TMS320C2XX系列芯片屬于這一類 </p><p> 如果有兩種或兩種以上的DSP芯片,它們的指令集和相應(yīng)的機(jī)器代碼機(jī)管腳結(jié)構(gòu)相互兼容,則這類DSP芯片稱為一致性DSP芯片。例如,美國TI公司的TMS320C54X就屬于這一類。 </p><p><
6、;b> 2.按數(shù)據(jù)格式分 </b></p><p> 這是根據(jù)DSP芯片工作的數(shù)據(jù)格式來分類的。數(shù)據(jù)以定點(diǎn)格式工作的DSP芯片稱為定點(diǎn)DSP芯片,如TI公司的TMS320C1X/C2X、TMS320C2XX/C5X、TMS320C54X/C62XX系列,AD公司的ADSP21XX系列,AT&T公司的DSP16/16A,Motolora公司的MC56000等。以浮點(diǎn)格式工作的稱為浮點(diǎn)D
7、SP芯片,如TI公司的TMS320C3X/C4X/C8X,AD公司的ADSP21XXX系列,AT&T公司的DSP32/32C,Motolora公司的MC96002等。 </p><p> 不同浮點(diǎn)DSP芯片所采用的浮點(diǎn)格式不完全一樣,有的DSP芯片采用自定義的浮點(diǎn)格式,如TMS320C3X,而有的DSP芯片則采用IEEE的標(biāo)準(zhǔn)浮點(diǎn)格式,如Motorola公司的MC96002、FUJITSU公司的MB86
8、232和ZORAN公司的ZR35325等。 </p><p><b> 3.按用途分 </b></p><p> 按照DSP的用途來分,可分為通用型DSP芯片和專用型DSP芯片。通用型DSP芯片適合普通的DSP應(yīng)用,如TI公司的一系列DSP芯片屬于通用型DSP芯片。專用DSP芯片是為特定的DSP運(yùn)算而設(shè)計(jì)的,更適合特殊的運(yùn)算,如數(shù)字濾波、卷積和FFT,如Motor
9、ola公司的DSP56200,Zoran公司的ZR34881,Inmos公司的IMSA100等就屬于專用型DSP芯片。 </p><p> 1.3 DSP芯片的應(yīng)用</p><p> 數(shù)字信號處理(DSP)芯片是一種特別適合于進(jìn)行數(shù)字信號處理運(yùn)算的微處理器可實(shí)時(shí)快速地實(shí)現(xiàn)各種數(shù)字信號處理算法。自20世紀(jì)80年代初誕生以來已廣泛應(yīng)用于通信、電子、航空航天、軍事及家電產(chǎn)品成為一種十分重要
10、的電子產(chǎn)品的核心部件。DSP芯片得到了飛速的發(fā)展。DSP芯片的高速發(fā)展,一方面得益于集成電路技術(shù)的發(fā)展,另一方面也得益于巨大的市場。在近20年時(shí)間里,DSP芯片已經(jīng)在信號處理、通信、雷達(dá)等許多領(lǐng)域得到廣泛的應(yīng)用。目前,DSP芯片的價(jià)格越來越低,性能價(jià)格比日益提高,具有巨大的應(yīng)用潛力。DSP芯片的應(yīng)用主要有:</p><p> (1) 信號處理——如數(shù)字濾波、自適應(yīng)濾波、快速傅立葉變換、相關(guān)運(yùn)算、譜分析、卷積、模
11、式匹配、加窗、波形產(chǎn)生等;</p><p> (2) 通信——如調(diào)制解調(diào)器、自適應(yīng)均衡、數(shù)據(jù)加密、數(shù)據(jù)壓縮、回波抵消、多路復(fù)用、傳真、擴(kuò)頻通信、糾錯編碼、可視電話等;</p><p> (3) 語音——如語音編碼、語音合成、語音識別、語音增強(qiáng)、說話人辨認(rèn)、說話人確認(rèn)、語音郵件、語音存儲等;</p><p> (4) 圖形/圖像——如二維和三維圖形處理、圖像壓縮
12、與傳輸、圖像增強(qiáng)、動畫、機(jī)器人視覺等;</p><p> (5) 軍事——如保密通信、雷達(dá)處理、聲納處理、導(dǎo)航、導(dǎo)彈制導(dǎo)等;</p><p> (6) 儀器儀表——如頻譜分析、函數(shù)發(fā)生、鎖相環(huán)、地震處理等;</p><p> (7) 自動控制——如引擎控制、聲控、自動駕駛、機(jī)器人控制、磁盤控制等;</p><p> (8) 醫(yī)療——如
13、助聽、超聲設(shè)備、診斷工具、病人監(jiān)護(hù)等;</p><p> (9) 家用電器——如高保真音響、音樂合成、音調(diào)控制、玩具與游戲、數(shù)字電話/電視等。</p><p> 隨著DSP芯片性能價(jià)格比的不斷提高,可以預(yù)見DSP芯片將會在更多的領(lǐng)域內(nèi)得到更為廣泛的應(yīng)用。</p><p> 數(shù)字信號處理的目的是對真實(shí)世界的連續(xù)模擬信號進(jìn)行測量或?yàn)V波。因此在進(jìn)行數(shù)字信號處理之前需
14、要將信號從模擬域轉(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è)備如DSP和專用集成電路(ASIC)等。數(shù)字信號處理的研究方向應(yīng)該更加廣泛、更加深入.特別是對于譜分析的本質(zhì)研究,對于非平穩(wěn)和非高斯隨機(jī)信號的研究,對于多維信號處理的研究等,都具有廣闊前景。</p><p> 數(shù)字信號處理技術(shù)發(fā)展很快、應(yīng)用很廣、
15、成果很多。多數(shù)科學(xué)和工程中遇到的是模擬信號。以前都是研究模擬信號處理的理論和實(shí)現(xiàn)。模擬信號處理缺點(diǎn):難以做到高精度,受環(huán)境影響較大,可靠性差,且不靈活等。數(shù)字系統(tǒng)的優(yōu)點(diǎn):體積小、功耗低、精度高、可靠性高、靈活性大、易于大規(guī)模集成、可進(jìn)行二維與多維處理。隨著大規(guī)模集成電路以及數(shù)字計(jì)算機(jī)的飛速發(fā)展,加之從60年代末以來數(shù)字信號處理理論和技術(shù)的成熟和完善,用數(shù)字方法來處理信號,即數(shù)字信號處理,已逐漸取代模擬信號處理。</p>&
16、lt;p> 數(shù)字信號處理是利用計(jì)算機(jī)或?qū)S锰幚碓O(shè)備,以數(shù)字形式對信號進(jìn)行采集、變換、濾波、估值、增強(qiáng)、壓縮、識別等處理,以得到符合人們所需要的信號形式。數(shù)字信號處理是將信號以數(shù)字方式表示并處理的理論和技術(shù)。數(shù)字信號處理與模擬信號處理是信號處理的子集。數(shù)字信號處理技術(shù)及設(shè)備具有靈活、精確、抗干擾強(qiáng)、設(shè)備尺寸小、造價(jià)低、速度快等突出優(yōu)點(diǎn),這些都是模擬信號處理技術(shù)與設(shè)備所無法比擬的。</p><p> 數(shù)字信
17、號處理是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ì)、識別、參數(shù)提取、頻譜分析等。</
18、p><p> 第一章、整體設(shè)計(jì)原理</p><p><b> 一、原理</b></p><p> 通過對DSP結(jié)構(gòu)、原理及應(yīng)用的學(xué)習(xí)。在初步了解DSP結(jié)構(gòu)和原理的基礎(chǔ)上,進(jìn)行簡單的應(yīng)用實(shí)驗(yàn),掌握DSP的基本應(yīng)用。通過熟悉DSP模板的內(nèi)部結(jié)構(gòu)以及CCS軟件,掌握DSP2407的匯編語言編程和調(diào)試方法,了解DSP的指令和I/O端口的寄存器的配置,
19、并結(jié)合DSP實(shí)驗(yàn)?zāi)0鍖SP進(jìn)行編程控制數(shù)字輸入/輸出端口點(diǎn)亮LED顯示管。</p><p> 實(shí)驗(yàn)的具體要求如下:</p><p> 實(shí)現(xiàn)LED顯示管的循環(huán)顯示:先第1個LED亮,然后是第2個LED亮,第3個LED顯示管亮。第4個燈亮。如此循環(huán)顯示。</p><p><b> 二、基本理論</b></p><p>
20、; 指導(dǎo)實(shí)驗(yàn)的基本理論是DSP的數(shù)字I/O端口以及其寄存器的配置。通過對這些理論的掌握和運(yùn)用,達(dá)到了解和熟悉一般DSP數(shù)字I/O的知識。</p><p> ?。?)數(shù)字I/O端口</p><p> TMS320LF2407系列有多達(dá)41個通用、雙向的數(shù)字I/O(GPIO)引腳,其中大多數(shù)是基本功能和一般I/O復(fù)用引腳,TMS320LF2407系列的大多數(shù)都可以用來實(shí)現(xiàn)其他功能。數(shù)字I/
21、O端口模塊采用了一種靈活的方法,以控制專用I/O和復(fù)用I/O引腳的功能,所有I/O和復(fù)用引腳的功能可以通過9個16位控制寄存器來設(shè)置,這些寄存器可以分為兩類:</p><p> I/O口復(fù)用控制寄存器(MCRx):用來控制選擇I/O引腳作為基本功能或一般I/O引腳功能。</p><p> 數(shù)據(jù)和方向控制寄存器(PxDATDIR):當(dāng)I/O引腳作為一般I/O引腳功能時(shí),用數(shù)據(jù)和方向控制寄
22、存器可控制數(shù)據(jù)和I/O引腳的數(shù)據(jù)方向,這些寄存器直接和I/O引腳相連。</p><p> ?。?)數(shù)字I/O端口寄存器</p><p> 圖1給出了TMS320LF2407系列I/O端口復(fù)用引腳配置簡圖,從圖上可以看出一些寄存器單元的配置對應(yīng)于實(shí)際I/O引腳的內(nèi)部結(jié)構(gòu)之間的聯(lián)系。</p><p> 圖1 復(fù)用引腳配置圖</p><p>
23、 表1中所列的是數(shù)字I/O模塊可用的寄存器單元,和其他240xA外設(shè)一樣,這些寄存器被存儲器映射到數(shù)據(jù)空間,地址從7090h到709Fh。寄存器單元中保留的位所是無效的,讀時(shí)為0,寫對它無影響。</p><p> 表1 數(shù)字?jǐn)?shù)字I/O模塊控制寄存器地址</p><p> 下面介紹I/O口復(fù)用輸出控制寄存器。下面描述了I/O口復(fù)用控制寄存器A(MCRA)I/O口復(fù)用控制寄存器B(MC
24、RB),I/O口復(fù)用控制寄存器C(MCRC),其中表2是I/O口復(fù)用控制寄存器A(MCRA)的配置,對寄存器的每個位的值做了詳細(xì)的描述;表3是I/O口復(fù)用控制寄存器B(MCRB)的配置,對寄存器的每個位的值做了詳細(xì)的描述。表4是I/O口復(fù)用控制寄存器C(MCRC)的配置,對寄存器的每個位的值做了詳細(xì)的描述。</p><p> I/O口復(fù)用控制寄存器A(MCRA)—地址7090h</p><p
25、> 注:R=可讀,W=可寫,_0=復(fù)位后的值</p><p> 表2 I/O口復(fù)用控制寄存器A(MCRA)的配置</p><p> I/O口復(fù)用控制寄存器B(MCRB——地址7092h)</p><p> 注:R=可讀,W=可寫,_0=復(fù)位后的值</p><p> 表3 I/O口復(fù)用控制寄存器B(MCRB)的配置</p&
26、gt;<p> I/O口復(fù)用控制寄存器C(MCRC——地址7094h)</p><p> 注:R=可讀,W=可寫,_0=復(fù)位后的值</p><p> 表4 I/O口復(fù)用控制寄存器C(MCRC)的配置</p><p> 以下介紹DSP的I/O口數(shù)據(jù)和方向寄存器。TMS320LF2407系列總共有6個數(shù)據(jù)和方向控制寄存器(PxDATADIR),當(dāng)I
27、/O口用作一般I/O引腳功能時(shí),用數(shù)據(jù)和方向控制寄存器,可控制數(shù)據(jù)和到雙向I/O引腳的數(shù)據(jù)方向。這些寄存器直接和雙向I/O引腳相連。當(dāng)I/O用作基本功能時(shí),這些寄存器的設(shè)置對相應(yīng)的引腳無影響。</p><p> 端口A數(shù)據(jù)和方向控制寄存器A(PADATADIR)—地址7098h</p><p> 注:_+復(fù)位后的值和相應(yīng)引腳的狀態(tài)有關(guān),R=可讀,W=可寫,_0=復(fù)位后的值</p&
28、gt;<p> 端口B數(shù)據(jù)和方向控制寄存器(PBDATDIR)——地址709Ah</p><p> 注:_+復(fù)位后的值和相應(yīng)引腳的狀態(tài)有關(guān),R=可讀,W=可寫,_0=復(fù)位后的值</p><p> 端口C數(shù)據(jù)和方向控制鍵寄存器(PCDATDIR)——地址709Ch</p><p> 注:_+復(fù)位后的值和相應(yīng)引腳的狀態(tài)有關(guān),R=可讀,W=可寫,_0
29、=復(fù)位后的值</p><p> 端口D數(shù)據(jù)和方向控制鍵寄存器(PDDATDIR)——地址709Eh</p><p> 注:_+復(fù)位后的值和相應(yīng)引腳的狀態(tài)有關(guān),R=可讀,W=可寫,_0=復(fù)位后的值</p><p> 端口E數(shù)據(jù)和方向控制鍵寄存器(PEDATDIR)——地址7094h</p><p> 注:_+復(fù)位后的值和相應(yīng)引腳的狀態(tài)有
30、關(guān),R=可讀,W=可寫,_0=復(fù)位后的值</p><p> 端口F數(shù)據(jù)和方向控制鍵寄存器(PFDATDIR)——地址7096h</p><p> 注:_+復(fù)位后的值和相應(yīng)引腳的狀態(tài)有關(guān),R=可讀,W=可寫,_0=復(fù)位后的值</p><p><b> 二、硬件電路</b></p><p><b> 1.原
31、理圖及說明</b></p><p> 電源及LED顯示電路</p><p> 根據(jù)TMS320LF2407的數(shù)字I/O口復(fù)用寄存器和數(shù)據(jù)、方向寄存器,可應(yīng)用到LED顯示管的點(diǎn)亮上。因?yàn)橛冒l(fā)光二極管作為指示是控制系統(tǒng)中常用的方法。而且接口電路簡單,編程方便而且直觀。設(shè)計(jì)的電路圖如圖2所示。</p><p> 圖2 TMS320LF2407與LED顯
32、示管相連</p><p><b> 第三章、軟件設(shè)計(jì)</b></p><p> 這里用軟件延時(shí)的方法來調(diào)整發(fā)光二極管的延時(shí)時(shí)間間隔。當(dāng)發(fā)光二極管被點(diǎn)亮之后,通過改變端口的數(shù)據(jù)輸出,達(dá)到點(diǎn)亮不同的LED顯示管的目的。</p><p> 實(shí)驗(yàn)要求實(shí)現(xiàn)LED顯示管的循環(huán)顯示:先第1個LED亮,然后是第2個LED亮,第3個LED顯示管亮。第4個燈
33、亮。如此循環(huán)顯示。</p><p> 在給端口賦初值為0000 0001后,其高8位為0000 0000;主要是對低8位進(jìn)行操作。通過對低8位左移一位再與0000 0001相或,得到的值通過端口輸出,便可以完成0000 0001… …0000 1111的顯示,每改變一次顯示的時(shí)間間隔是由軟件延時(shí)控制產(chǎn)生的。當(dāng)數(shù)據(jù)的最高位等于1的時(shí)候,根據(jù)判斷將程序跳轉(zhuǎn),從1111 1111開始對數(shù)據(jù)的操作變?yōu)橄扰c0111 11
34、11B相與,再右移一位,將得到的結(jié)果輸出。當(dāng)輸出數(shù)據(jù)的最低位為0的時(shí)候程序跳轉(zhuǎn),完成了基本功能的一個循環(huán),程序跳到循環(huán)開始的地方,即給程序重新賦值為0000 0001,進(jìn)行下一輪的循環(huán)。</p><p> 如此即可以實(shí)現(xiàn)實(shí)驗(yàn)要求的功能。</p><p> 3.1程序所用的DSP的程序空間和寄存器</p><p><b> ?。ㄒ唬┫到y(tǒng)寄存器</b
35、></p><p> 包括系統(tǒng)控制和狀態(tài)寄存器SCSR1,開始地址7018h;</p><p> 狀態(tài)寄存器ST0和ST1;</p><p> (二)I/O口的寄存器</p><p> I/O口復(fù)用控制寄存器A(MCRA),——地址7090h;</p><p> I/O口復(fù)用控制寄存器C(MCRC),—
36、—地址7094h;</p><p> 端口B數(shù)據(jù)和方向控制鍵寄存器(PBDATDIR) ——地址709Ah</p><p> 端口F數(shù)據(jù)和方向控制鍵寄存器(PFDATDIR) ——地址7096h</p><p> 前面兩者用來定義I/O的輸入輸出功能,后面兩者控制LED的亮滅。</p><p><b> ?。ㄈ┳远x寄存器
37、</b></p><p> LED寄存器,定義在數(shù)據(jù)區(qū)。由.bss定義在數(shù)據(jù)區(qū)BLK_B2,長度為1個字節(jié);</p><p> DEYH寄存器,定義在數(shù)據(jù)區(qū)。由.bss定義在數(shù)據(jù)區(qū)BLK_B2,長度為1個字節(jié);</p><p> 數(shù)據(jù)區(qū)BLK_B2在數(shù)據(jù)頁(Page 1)上定義的,地址是從Page1的0060h開始,長度20個字節(jié)。</p&g
38、t;<p><b> (四)存儲空間</b></p><p> 圖3是定義的程序的存儲控件和數(shù)據(jù)存儲空間。</p><p> 圖3 TMS320LF2402 DSP存儲器映射圖</p><p> 如圖3中所示,程序存儲在Page 0區(qū),即程序區(qū),起始位置為007Fh,終止位置為FE00h;數(shù)據(jù)存儲在Page 1,即數(shù)據(jù)區(qū)
39、,數(shù)據(jù)區(qū)的data0中,LED寄存器的地址從0060h到0061h;DEYH寄存器的地址是從0061h到0062h。</p><p><b> 3.2程序流程框圖</b></p><p> 根據(jù)設(shè)計(jì)依據(jù)中介紹的算法,進(jìn)行編程。主程序的流程圖如圖4所示:</p><p> 圖4 主程序流程圖</p><p>
40、其他子程序,如系統(tǒng)初始化,軟件延時(shí)等的框圖從略。</p><p> 3.3.程序重要部分的說明</p><p> 該程序最重要的部分是通過端口的賦值點(diǎn)亮LED顯示管和點(diǎn)亮之后循環(huán)顯示的過程中的算法運(yùn)算。</p><p> 在第2部分基本理論里面已經(jīng)說了數(shù)字I/O口的I/O復(fù)用寄存器和數(shù)據(jù)、方向寄存器。第3部分講到了具體的算法。根據(jù)算法產(chǎn)生的數(shù)據(jù)賦值到端口的數(shù)據(jù)
41、寄存器上,數(shù)據(jù)寄存器的數(shù)據(jù)經(jīng)過74HC273產(chǎn)生的驅(qū)動脈沖驅(qū)動輸出,當(dāng)對應(yīng)的數(shù)據(jù)位輸出為高電平的時(shí)候,就點(diǎn)亮所在LED顯示管的相應(yīng)的位置。同時(shí)產(chǎn)生的鎖存脈沖使得被點(diǎn)亮的LED燈一直保持點(diǎn)亮的狀態(tài),直到軟件延時(shí)結(jié)束之后,DSP將新的數(shù)據(jù)輸送到端口寄存器,端口的數(shù)據(jù)被刷新,LED顯示管的各位的燈就按照程序設(shè)計(jì)的方式被點(diǎn)亮起來。</p><p> 算法的重要性體現(xiàn)在燈的循環(huán)點(diǎn)亮的過程中,實(shí)際上是在每個循環(huán)中分為兩個部
42、分完成的。首先由第一個燈被點(diǎn)亮到1、2個被點(diǎn)亮,…,到1-4全部點(diǎn)亮,這個過程是一部分,通過對初始值01H左移后與01H相或,使得二進(jìn)制初始值中的為1的最后一位不斷前移,而且在移動的過程中不斷補(bǔ)充后面左移得到的0,使之為1,那么就可以得到實(shí)驗(yàn)要求的循環(huán)的前面半部分;而后面的半部分是和前面的相反,但又不是僅僅相反而已。實(shí)際上實(shí)現(xiàn)程序的后半部分可以將前半部分顯示過的數(shù)據(jù)進(jìn)行逆運(yùn)算完成,而這個過程結(jié)束判斷的標(biāo)志位也相應(yīng)的發(fā)生了變化。</
43、p><p> 將現(xiàn)有的輸送到端口的值進(jìn)行判斷(根據(jù)寄存器的第9位的值是否為1),達(dá)到要求的時(shí)候認(rèn)為前半部分的點(diǎn)亮完成;進(jìn)入逆運(yùn)算。將數(shù)據(jù)右移之后并與7FH相與,即是和0111 1111B(二進(jìn)制數(shù))相與,可以把寄存器的數(shù)據(jù)的較高位的1移到下一位,并將原來的高位置零。這正是實(shí)驗(yàn)的目的。此時(shí)判斷的條件其實(shí)變化為讀取寄存器的最低位是否為0,當(dāng)滿足條件的時(shí)候就認(rèn)為程序的一個循環(huán)結(jié)束了,跳轉(zhuǎn)到循環(huán)開始之初,即賦初值的地方去就
44、可以實(shí)現(xiàn)實(shí)驗(yàn)要求的功能了。</p><p><b> 3.4.源程序</b></p><p> #include "2407c.h"</p><p> #include<ioports.h></p><p> #define uint unsigned int</p>
45、<p> unsigned char data[4]={0x01,0x02,0x04,0x08} ;</p><p> uint index;</p><p> void disable()</p><p> { asm(" setc INTM");}</p><p> void enable()&l
46、t;/p><p> { asm(" clrc INTM");</p><p><b> } </b></p><p> void initial()</p><p><b> {</b></p><p> asm(" setcSXM&qu
47、ot;);// 抑制符號位擴(kuò)展</p><p> asm(" clrcOVM");// 累加器中結(jié)果正常溢出</p><p> asm(" clrcCNF");// B0被配置為數(shù)據(jù)存儲空間</p><p> asm(" setcINTM");// 禁止所有中斷
48、</p><p> *SCSR1=0x0E04;// CLKIN=15M,CLKOUT=2*CLKIN=30M</p><p> *WDCR=0x00E8;// 不使能看門狗,因?yàn)镾CSR2中的WDOVERRIDE</p><p> // 即WD保護(hù)位復(fù)位后的缺省值為1,故可以用軟件禁止看門狗</p><p> *IMR=0
49、x0002;// INT2中斷</p><p> *IFR=0x0FFFF;// 清除全部中斷標(biāo)志,"寫1清0"</p><p> *MCRA=0X0000;</p><p><b> index=0;</b></p><p><b> }</b>&l
50、t;/p><p> void timerlint()</p><p><b> {</b></p><p> *EVAIMRA=*EVAIMRA|0X0780; //允許定時(shí)器1周期中斷</p><p> *EVAIFRA=*EVAIFRA&0X0780; //清除定時(shí)器1周期中斷標(biāo)志</p>
51、<p> *T1CON=0X1602; //timer為連續(xù)增記數(shù)模式,</p><p> *T1PR=0X0F00E; //</p><p> *T1CMPR=0x00FF;</p><p> *T1CNT=0X00; //</p><p><b&
52、gt; }</b></p><p> void interrupt T1INT()</p><p><b> {</b></p><p><b> int flag;</b></p><p> flag=*EVAIFRA&0x0080; //讀取中斷標(biāo)志</p&
53、gt;<p> /*switch(flag) //判斷中斷</p><p><b> {</b></p><p><b> }*/</b></p><p> if(flag!=0)</p><p><b> {</b></p><
54、p> outport(3,data[index]);</p><p> *T1CNT=0x00; </p><p> *EVAIFRA=*EVAIFRA&0x0080;</p><p><b> index+=1;</b></p><p> if(index==4)</p>&
55、lt;p> index=0; </p><p><b> }</b></p><p> enable(); return;</p><p><b> }</b></p><p> void interrupt nothing()</p><p> {
56、 enable();</p><p><b> return;</b></p><p><b> }</b></p><p><b> main()</b></p><p><b> {</b></p><p> dis
57、able();</p><p> initial();</p><p> timerlint();</p><p><b> enable();</b></p><p> *T1CON=*T1CON|0x0040;</p><p> while(1){;}</p><
58、p><b> }</b></p><p><b> ;程序結(jié)束</b></p><p><b> 第四章、測試</b></p><p> CCS集成開發(fā)工具與測試</p><p> 4.1 CCS是什么</p><p> 通常,DSP
59、廠商和第三方都會為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)境。</p><p> CCS內(nèi)部集成了以下軟件工具:&l
60、t;/p><p> DSP代碼生成工具(包括DSP的C編譯器、匯編優(yōu)化器、匯編器和鏈接器等)</p><p> CCS集成開發(fā)工具(編輯、鏈接和調(diào)試DSP目標(biāo)程序)。</p><p> 實(shí)時(shí)分析插件DSP/BIOS和實(shí)時(shí)數(shù)據(jù)交換模塊RTDX等(必須有硬件開發(fā)板)。</p><p> CCS是一種可視化集成開發(fā)工具,它集代碼生成軟件和代碼調(diào)
61、試工具</p><p> 于一體,具有強(qiáng)大的應(yīng)用開發(fā)功能:</p><p> ?、趴梢暬a編輯界面:可以直接編寫匯編語言和C語言程序、.H頭文件和.CMD命令文件等。</p><p> ?、拼a生成工具:包括DSP的匯編器、C編譯器和鏈接器等。</p><p> ?、歉鞣N調(diào)試工具:包括加載執(zhí)行文件、運(yùn)行、單步操作、設(shè)置斷點(diǎn)、查看編輯存儲器
62、和寄存器、觀察變量、評估程序和執(zhí)行時(shí)間等。</p><p> ?、忍结樄ぞ撸嚎蓪C機(jī)數(shù)據(jù)文件中的數(shù)據(jù)傳到DSP,或者將DSP中數(shù)據(jù)傳到PC機(jī)數(shù)據(jù)文件中,以便實(shí)現(xiàn)各種算法仿真和數(shù)據(jù)監(jiān)視。</p><p> ?、蓤D形顯示工具:可以將DSP程序生成的數(shù)據(jù)繪制成時(shí)域/頻域圖等,以便于觀察和分析。</p><p> ⑹通用擴(kuò)展語言GEL:可以讓用戶通過GEL語言編程,建立
63、需要的GEL函數(shù)來擴(kuò)展CCS的功能,包括配置各種參數(shù)、修改變量等。</p><p> ⑺DSP/BIOS工具:它是DSP芯片簡化了的操作系統(tǒng)內(nèi)核,即各種DSP芯片操作系統(tǒng)的底層文件,為嵌入式系統(tǒng)應(yīng)用提供基本的運(yùn)行服務(wù),具有代碼較少、邏輯精簡等優(yōu)點(diǎn)。</p><p> ?、涕_放式的插入架構(gòu)技術(shù):只需安裝相應(yīng)的驅(qū)動程序,就能夠集成第三方的專用插件。</p><p>
64、 4.2 CCS窗口簡介</p><p> 4.2.1 CCS窗口示例</p><p> CCS系統(tǒng)設(shè)置完成后,就可以打開CCS應(yīng)用程序,在CCS集成開發(fā)環(huán)境下完成工程定義,程序的編輯、編譯、鏈接和調(diào)試,以及程序運(yùn)行結(jié)果的分析和評估等工作。一個典型的CCS集成開發(fā)環(huán)境住窗口如圖3-1所示。該示例窗口由菜單欄、工具欄、工程窗口、源程序編輯和調(diào)試窗口、存儲器窗口、CPU寄存器窗口、輸出
65、窗口等組成。此外,還可以根據(jù)需要打開反匯編窗口、圖形顯示窗口、變量觀察窗口,以及時(shí)鐘窗口等。</p><p> 圖3-1 CCS應(yīng)用窗口示例</p><p> 4.2.2 CCS中常用的工具</p><p> 菜單欄——和CCS所有功能相關(guān)的菜單都在這里面。 </p><p> 編譯工具欄——編譯程序時(shí)常用的一些工具。 </
66、p><p> 調(diào)試工具欄——調(diào)試程序時(shí)常用的一些工具。 </p><p> 工程文件框——打開的工程所有文件會按類別放在這里,便于我們編程時(shí)在各個文件之間的切換。 </p><p> 代碼編輯區(qū)——顧名思義,代碼都是在這里編輯完成的了,是我們最主要的工作區(qū)域。 </p><p> 編譯信息輸出區(qū)——編譯時(shí)產(chǎn)生的信息會在這個區(qū)域內(nèi)輸出,能讓
67、我們直觀的了解到正在編譯哪個文件,編譯過程中是否產(chǎn)生了錯誤,而這些錯誤是哪些,由于什么原因引起的,這些內(nèi)容都會顯示在這里。</p><p> 4.3 CCS的安裝與設(shè)置</p><p> CCS的安裝步驟如下:</p><p> ?。?)將CCS的安裝光盤插入計(jì)算機(jī)的CD-ROM光盤驅(qū)動器中,運(yùn)行CCS安裝程序Set-up.exe.按屏幕提示,將CCS系統(tǒng)安裝
68、到C:\ti(默認(rèn)系統(tǒng))安裝目錄下。安裝完成后:</p><p> ?、僭谧烂嫔蠈⒊霈F(xiàn)Set-upCCS2(’C5000)和CCS2(’C5000)兩個快捷方式圖標(biāo),分別對應(yīng)CCS配置程序和CCS應(yīng)用程序。</p><p> ?、谠贑:\ti目錄下有bin、c5400、c5500、cc、docs、drivers、examples、myprojects、plugins、 tutoria、un
69、install共11個文件夾,以及DosRun等3個文件夾,用戶的工程文件都將存放在myprojects文件夾下。</p><p> ?。?)單擊Set-upCCS2(’C5000)快捷方式圖標(biāo),運(yùn)行CCS配置程序,彈出對話框如圖3-2所示。</p><p> 圖3-2 CSS配置對話框</p><p> 從對話框的Available Configuratio
70、ns列表框中選擇應(yīng)用平臺類型。配置完成后,保存設(shè)置并退出。CCS系統(tǒng)將C5402軟件仿真器作為系統(tǒng)配置,顯示在System Configuration列表框中。</p><p><b> 第五章、心得體會</b></p><p><b> 第六章、參考文獻(xiàn)</b></p><p> 劉和平《DSP原理及電機(jī)控制應(yīng)用
71、》北京航空航天大學(xué)出版社2006年</p><p> 程佩青《數(shù)字信號處理教程》(第二版) 清華大學(xué)出版社 2001年</p><p> 戴明幀 周建江《TMS320C2407X DSP結(jié)構(gòu)、原理及應(yīng)用》(第二版)</p><p> 北京航空航天大學(xué)出版社 2007</p><p><b> 第七章、附錄</b&
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 流水燈課程設(shè)計(jì)
- 流水燈的實(shí)現(xiàn)的課程設(shè)計(jì)--基于dsp2407的流水燈的實(shí)現(xiàn)
- 流水燈課程設(shè)計(jì)
- 流水燈課程設(shè)計(jì)
- 流水燈課程設(shè)計(jì)
- 花樣流水燈課程設(shè)計(jì)
- plc課程設(shè)計(jì)--流水燈
- 流水燈課程設(shè)計(jì)告
- 流水燈課程設(shè)計(jì) (2)
- 花樣流水燈課程設(shè)計(jì)
- 課程設(shè)計(jì)---流水燈設(shè)計(jì)報(bào)告
- eda課程設(shè)計(jì)----流水燈設(shè)計(jì)
- 簡易音樂流水燈課程設(shè)計(jì)
- eda流水燈電路課程設(shè)計(jì)
- 心形流水燈課程設(shè)計(jì)
- 課程設(shè)計(jì)--流水燈設(shè)計(jì)與制作
- 十位流水燈課程設(shè)計(jì)
- 課程設(shè)計(jì)--多功能流水燈
- 單片機(jī)流水燈課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)---流水燈
評論
0/150
提交評論