2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩27頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p><b>  第一章 緒 論</b></p><p>  1.1 本論文的背景</p><p>  隨著信息技術(shù)的飛速發(fā)展,數(shù)字信號處理技術(shù)已經(jīng)發(fā)展成為一門關(guān)鍵的技術(shù)學(xué)科,而DSP芯片的出現(xiàn)則為數(shù)字信號處理算法的實(shí)現(xiàn)提供了可能,這一方面促進(jìn)了數(shù)字信號處理技術(shù)的進(jìn)一步發(fā)展,也使數(shù)字信號處理的應(yīng)用領(lǐng)域得到了極大的拓展。在近20年里,DSP芯片已經(jīng)在通信

2、和家用電器等領(lǐng)域得到了廣泛的應(yīng)用。</p><p>  1.1.1 數(shù)字信號處理器的發(fā)展?fàn)顩r</p><p>  DSP(Digital Signal Processing)也稱數(shù)字信號處理器,是一種具有特殊結(jié)構(gòu)的微處理器,是建立在數(shù)字信號處理的各種理論和算法基礎(chǔ)上,專門完成各種實(shí)時數(shù)字信息處理的芯片。與單片機(jī)相比,DSP有著更適合數(shù)字信號處理的優(yōu)點(diǎn)。芯片內(nèi)部采用程序和數(shù)據(jù)分開的哈佛結(jié)構(gòu),

3、具有專門的硬件乘法器,廣泛采用流水線操作,具有良好的并行特性,提供特殊的DSP指令,可以快速地實(shí)現(xiàn)各種數(shù)字信號處理算法[1]。</p><p>  DSP發(fā)展歷程大致分為三個階段:70年代理論先行,80年代產(chǎn)品普及,90年代突飛猛進(jìn)。在DSP出現(xiàn)之前數(shù)字信號處理主要依靠MPU(微處理器)來完成。但MPU較低的處理速度無法滿足高速實(shí)時的要求。因此,直到70年代才提出了DSP的理論和算法基礎(chǔ)。隨著大規(guī)模集成電路技術(shù)的

4、發(fā)展,1982年世界上誕生了首枚通用可編程DSP芯片TI的TMS32010。DSP芯片的問世是個里程碑,它標(biāo)志著DSP應(yīng)用系統(tǒng)由大型系統(tǒng)向小型化邁進(jìn)了一大步。進(jìn)入80年代后期,隨著數(shù)字信號處理技術(shù)應(yīng)用范圍的擴(kuò)大,要求提高處理速度,到1988年出現(xiàn)了浮點(diǎn)DSP,同時提供了高級語言的編譯器,使運(yùn)算速度進(jìn)一步提高,其應(yīng)用范圍逐步擴(kuò)大到通信、計(jì)算機(jī)領(lǐng)域。90年代相繼出現(xiàn)了第四代和第五代DSP器件。以DSP作為主要元件,再加上外圍設(shè)備和特定功能單

5、元綜合成的單一芯片,加速了DSP解決方案的發(fā)展,同時產(chǎn)品價格降低,運(yùn)算速度和集成度大幅提高[2]。</p><p>  進(jìn)入21世紀(jì),現(xiàn)在DSP向著高速,高系統(tǒng)集成,高性能方向發(fā)展。當(dāng)前的DSP多數(shù)基于RISC(精簡指令集計(jì)算機(jī))結(jié)構(gòu),且進(jìn)入了VLSI(超大規(guī)模集成電路)階段。如TI公司的TMS320C80代表了新一代芯片集成技術(shù),它將4個32位的DSP,1個32位RISC主處理器,1個傳輸控制器,2個視頻控制器

6、和50Kb SRAM集成在一個芯片上。這樣的芯片通常稱之為MVP(多媒體視頻處理器)。它可支持各種圖像規(guī)格和各種算法,功能相當(dāng)強(qiáng)。而第六代TMSC6000系列則是目前速度最快,性能最高的DSP芯片,該系列芯片的發(fā)展藍(lán)圖中有高至5000MIPS,3G FLOPS的處理性能。而按照CMOS的發(fā)展趨勢,DSP的運(yùn)算速度提高到1000MIPS是完全有可能的。TI公司將常用的DSP芯片歸納為三大系列,即TMS320C2000系列(TMS320C2

7、x/C2xx),TMS320C5000系列(TMS320C5x/C54x/54xx/C55x),TMS320C6000系列(TMS320C62x/67x)。其中C54xx以其低廉的價格,低功耗和高性能等特點(diǎn)被廣泛應(yīng)用到通信和個人消費(fèi)電子領(lǐng)域。而以C54xx系列內(nèi)核</p><p>  1.1.2 數(shù)字信號處理的實(shí)現(xiàn)方法</p><p>  數(shù)字信號處理是圍繞著數(shù)字信號處理的理論、實(shí)現(xiàn)和應(yīng)用

8、等幾個方面發(fā)展起來的。數(shù)字信號處理在理論上的發(fā)展推動了其應(yīng)用的發(fā)展。反過來,數(shù)字信號處理的應(yīng)用又促進(jìn)了其理論的提高。而數(shù)字信號處理的實(shí)現(xiàn)則是理論和應(yīng)用的橋梁。數(shù)字信號處理的實(shí)現(xiàn)方法一般有以下幾種[1]:</p><p>  1、在通用的計(jì)算機(jī)(如PC機(jī))上用軟件(如Fortran,C語言)實(shí)現(xiàn)。</p><p>  2、在通用的計(jì)算機(jī)系統(tǒng)中加上專用的加速片來實(shí)現(xiàn)。在此類系統(tǒng)中的加速片上帶有

9、智能芯片DSP,加速片在計(jì)算機(jī)系統(tǒng)中充當(dāng)處理器的角色,通用計(jì)算機(jī)僅充當(dāng)沒有實(shí)時要求的管理者角色,而不參與實(shí)時的數(shù)字信號處理。DSP與通用計(jì)算機(jī)的數(shù)據(jù)交流及控制可以通過PCI等擴(kuò)展槽完成。</p><p>  3、用通用的單片機(jī)(如MCS-51,96系列等)實(shí)現(xiàn),這種方法可用于一些不太復(fù)雜的數(shù)字信號處理,如數(shù)字控制等。</p><p>  4、用專用DSP芯片來實(shí)現(xiàn)。國際上已經(jīng)推出了不少專用

10、于FFT、FIR濾波、卷積、相關(guān)等算法的專用芯片,如,TDCl028可以實(shí)現(xiàn)FIR濾波器和相關(guān)運(yùn)算。Motorola公司的DSP56200,Zoron公司的ZR34881,也都屬于專用型DSP芯片。在專用的DSP芯片中,其軟件算法已經(jīng)在芯片內(nèi)部用硬件實(shí)現(xiàn),無需進(jìn)行編程。使用者給出輸入數(shù)據(jù),經(jīng)過簡單的組合即可在輸出端得到結(jié)果。這一般用于對速度要求很高的場合。這種方案的缺點(diǎn)是靈活性差,并且開發(fā)工具還不完善。</p><p

11、>  5、用通用的可編程DSP芯片實(shí)現(xiàn)。同其它智能芯片相比,通用DSP有更適合于數(shù)字信號處理的優(yōu)點(diǎn)。如采用改進(jìn)的哈佛總線結(jié)構(gòu)、內(nèi)部有硬件乘法器、累加器、使用流水線結(jié)構(gòu)、具有良好的并行特性、并設(shè)計(jì)有專門用于數(shù)字信號處理的指令系統(tǒng)等。目前市場上的DSP芯片以美國德州儀器(TI)的系列芯片為主流。 </p><p>  1.2 本論文目的及意義</p><p>  DSP最小系統(tǒng)是DSP

12、應(yīng)用系統(tǒng)的最核心部分,本課題設(shè)計(jì)基于TMS320VC5402 DSP芯片,構(gòu)建了TMS320VC5402 DSP最小系統(tǒng),并通過I/O口電路測試了DSP最小系統(tǒng)板的可用性,為以后的學(xué)習(xí)提供了最核心的電路模塊。</p><p>  1.3 本論文的主要內(nèi)容</p><p>  本論文的主要內(nèi)容有:</p><p>  (1)基于TMS320VC5402的結(jié)構(gòu)和功能,

13、結(jié)合TMS320VC54X系列DSP實(shí)驗(yàn)教學(xué)的內(nèi)容和要求,對DSP最小系統(tǒng)進(jìn)行總體設(shè)計(jì)。</p><p>  (2)基于TMS320VC5402的DSP最小系統(tǒng)的設(shè)計(jì),包括電源電路、時鐘和復(fù)位電路、片外存儲器電路以及JTAG仿真電路的設(shè)計(jì)。</p><p>  (3)在CCS集成開發(fā)環(huán)境下,實(shí)現(xiàn)系統(tǒng)自舉加載和I/O口電路測試實(shí)驗(yàn)。</p><p>  第二章 系統(tǒng)

14、總體設(shè)計(jì)</p><p>  本章介紹了TMS320VC5402芯片的結(jié)構(gòu)和功能,在此基礎(chǔ)上對DSP最小系統(tǒng)的功能方框圖進(jìn)行了規(guī)劃,并對整個系統(tǒng)的設(shè)計(jì)方法進(jìn)行了介紹。</p><p>  2.1 TMS320VC5402簡介</p><p>  TMS320VC54X是為實(shí)現(xiàn)低功耗、高性能而設(shè)計(jì)的定點(diǎn)DSP芯片,主要應(yīng)用在通信系統(tǒng)方面。該芯片的內(nèi)部結(jié)構(gòu)及指令系統(tǒng)都是

15、全新設(shè)計(jì)的,它的主要特點(diǎn)是[3][4][5]:</p><p><b>  CPU特點(diǎn):</b></p><p><b>  先進(jìn)的多總線結(jié)構(gòu)。</b></p><p>  40位算術(shù)邏輯運(yùn)算單元(ALU)。</p><p>  17位x 17位并行乘法器與40位專用加法器相連。</p>

16、<p>  比較、選擇、存儲單元(CSSU)。</p><p>  指數(shù)編碼器可以在單個周期內(nèi)計(jì)算40位累加器中數(shù)值的指數(shù)。</p><p>  雙地址生成器包括8個輔助寄存器和兩個輔助寄存器算術(shù)運(yùn)算單元(ARAU)。</p><p><b>  存儲器特點(diǎn):</b></p><p>  64 K字程序存儲

17、器、64 K字?jǐn)?shù)據(jù)存儲器以及64 K字I/O空間。</p><p><b>  指令系統(tǒng)特點(diǎn):</b></p><p>  單指令重復(fù)和塊指令重復(fù)操作。</p><p><b>  塊存儲器傳送指令。</b></p><p>  32位長操作數(shù)指令。</p><p>  同時

18、讀入兩個或3個操作數(shù)的指令。</p><p>  并行存儲和并行加載的算術(shù)指令。</p><p><b>  條件存儲指令。</b></p><p>  從中斷快速返回指令。</p><p><b>  在片外圍電路特點(diǎn):</b></p><p>  軟件可編程等待狀態(tài)發(fā)生器

19、。</p><p>  可編程分區(qū)轉(zhuǎn)換邏輯電路。</p><p><b>  帶有內(nèi)部振蕩器。</b></p><p>  外部總線關(guān)斷控制,以斷開外部的數(shù)據(jù)總線、地址總線和控制信號。</p><p>  數(shù)據(jù)總線具有總線保持特性。</p><p><b>  可編程定時器。</b

20、></p><p><b>  電源特點(diǎn):</b></p><p>  可用IDLEl、IDLE2和IDLE3指令控制功耗,以工作在省電方式。</p><p>  可以控制關(guān)斷CLKOUT輸出信號。</p><p><b>  在片仿真接口特點(diǎn):</b></p><p>

21、;  具有符合IEEEll49.1標(biāo)準(zhǔn)的在片仿真接口(JTAG)。</p><p>  2.2系統(tǒng)功能方框圖</p><p>  基于TMS320VC5402 DSP最小系統(tǒng)的設(shè)計(jì),此最小系統(tǒng)主要由時鐘及復(fù)位電路、電源電路、JTAG仿真接口電路以及片外存儲器電路等構(gòu)成。系統(tǒng)框圖如圖2-1所示[6]。</p><p>  圖2-1 TMS320VC5402最小系統(tǒng)框圖

22、</p><p>  2.3 系統(tǒng)的設(shè)計(jì)方法 </p><p>  本系統(tǒng)設(shè)計(jì)以模塊電路為基礎(chǔ),主要采用實(shí)驗(yàn)和仿真的設(shè)計(jì)方法對各模塊電路硬件和軟件展開設(shè)計(jì)。整個系統(tǒng)設(shè)計(jì)的大致步驟如圖2-2所示。</p><p>  軟件部分的設(shè)計(jì)步驟為:</p><p>  (1)根據(jù)需要用匯編語言或C語言編寫程序。</p><p>

23、  (2)將程序轉(zhuǎn)化成DSP匯編,并送到編譯器進(jìn)行編譯,生成目標(biāo)文件。</p><p>  (3)將目標(biāo)文件送鏈接器進(jìn)行鏈接,得到可執(zhí)行文件。</p><p>  (4)將可執(zhí)行文件調(diào)入調(diào)試器進(jìn)行調(diào)試,檢查運(yùn)行結(jié)果是否正確。如果正確繼續(xù),否則返回修改。</p><p>  (5)進(jìn)行代碼轉(zhuǎn)換,將代碼寫入FLASH,并脫離仿真器運(yùn)行程序,檢查結(jié)果是否正確。</p

24、><p>  硬件部分設(shè)計(jì)步驟為:</p><p>  (1)設(shè)計(jì)硬件實(shí)現(xiàn)方案,即根據(jù)性能指標(biāo)、功能要求等確定最優(yōu)硬件實(shí)現(xiàn)方案,并畫出其硬件系統(tǒng)框圖。</p><p>  (2)進(jìn)行器件選型,根據(jù)功能、成本和使用經(jīng)驗(yàn)等要求確定系統(tǒng)中的主要器件,最重要的是根據(jù)需要選擇系統(tǒng)中主要芯片型號。</p><p>  (3)設(shè)計(jì)原理圖,在原理圖的設(shè)計(jì)時必須熟

25、悉系統(tǒng)的工作原理和器件的使用方法,對于一些關(guān)鍵的環(huán)節(jié)有必要進(jìn)行一定的實(shí)驗(yàn)或仿真,原理圖設(shè)計(jì)的成功與否是DSP系統(tǒng)能否正常工作的一個最重要因素。</p><p>  圖2-2實(shí)驗(yàn)開發(fā)系統(tǒng)的設(shè)計(jì)步驟</p><p>  第三章 系統(tǒng)硬件設(shè)計(jì)</p><p>  最小系統(tǒng)是使得DSP芯片TMS320VC5402能夠工作的最精簡模塊,它主要包括電源電路、復(fù)位電路、時鐘電路、

26、片外存儲器接口電路和JTAG仿真接口電路。DSP最小系統(tǒng)原理圖見附錄一。</p><p><b>  3.1 電源電路</b></p><p>  本系統(tǒng)中除了DSP以外其它器件工作電壓為3.3V,所以我們采用5V電源供電。VC5402所要的工作電壓分別是1.8V內(nèi)核電壓(CVDD)和3.3V I/O電壓(DVDD),并且DSP對這兩種電源加電次序也有要求,理想情況下

27、兩個電源同時加電,但是一般場合很難做到,這時應(yīng)先對CVDD加電,然后對DVDD上電。講究供電次序的原因在于:如果只有CPU內(nèi)核獲得供電,周邊I/O沒有供電,對芯片是不會產(chǎn)生任何損害的,只是沒有輸入/輸出能力而已;如果反過來,周邊I/O得到供電而CPU內(nèi)核沒有供電。那么芯片緩沖/驅(qū)動部分的三極管在一個未知狀態(tài)下工作,這是非常危險的[7]。我們通過TI公司提供的DSP專用電源芯片TPS73HD318來構(gòu)建電源電路,實(shí)現(xiàn)5V向3.3V和1.8

28、V的電壓轉(zhuǎn)換,同時也避免了上電次序的問題。</p><p>  圖3-1為根據(jù)TPS73HD318芯片性能設(shè)計(jì)實(shí)現(xiàn)雙電壓輸出的電源電路方案,具體分析如下[8]:</p><p>  (1)TPS73HD318芯片可以提供最高750mA的電流,為了適應(yīng)較大的電流輸出場合,該芯片輸入和輸出的管腳都采用兩個管腳,這樣可以提高電流的通過率并有利于芯片散熱。</p><p>

29、  (2)1.8V穩(wěn)壓器輸入部分為1IN兩個管腳,輸入+5V的VCC,用10pF的電容對輸入電源濾波;輸出部分為1OUT兩個管腳,以提供高穩(wěn)定性的1.8V輸出。</p><p>  (3)3.3V穩(wěn)壓器輸入部分為2IN兩個管腳,輸入+5V的VCC,用10pF的電容對輸入電源濾波;輸出部分為兩個20UT管腳,以提供高穩(wěn)定性的3.3V輸出。</p><p>  (4)系統(tǒng)的電源輸入為+5V,同

30、時設(shè)計(jì)電源指示燈LED,用來指示電源的通斷。</p><p><b>  圖3-1 電源電路</b></p><p><b>  3.2 復(fù)位電路</b></p><p>  C5402的復(fù)位輸入引腳RS為處理器提供了一種硬件初始化的方法,它是一種不可屏蔽的外部中斷,可在任何時候?qū)54x進(jìn)行復(fù)位。當(dāng)系統(tǒng)上電后,RS引腳應(yīng)

31、至少保持5個時鐘周期穩(wěn)定的低電平,以確保數(shù)據(jù)、地址和控制線的正確配置。復(fù)位后,CPU從程序存儲器的FF80H單元取指,并開始執(zhí)行程序。</p><p>  C5402的復(fù)位分為軟件復(fù)位和硬件復(fù)位,軟件復(fù)位是通過執(zhí)行指令實(shí)現(xiàn)芯片的復(fù)位,硬件復(fù)位是通過硬件電路實(shí)現(xiàn)芯片的復(fù)位,硬件復(fù)位有上電復(fù)位、手動復(fù)位和自動復(fù)位三種[9]。在DSP最小系統(tǒng)中采用手動復(fù)位方式。</p><p>  手動復(fù)位電路

32、是通過上電或按鈕兩種方式對芯片進(jìn)行復(fù)位,如圖3-2所示。當(dāng)按鈕閉合時,電容C5通過按鈕和R9進(jìn)行放電,使電容C5上的電壓降為0;當(dāng)按鈕斷開時,對電容C5進(jìn)行充電,從而實(shí)現(xiàn)手動復(fù)位。</p><p>  圖3-2 手動復(fù)位電路</p><p><b>  3.3 時鐘電路</b></p><p>  時鐘電路用來為C5402芯片提供時鐘信號,由一

33、個內(nèi)部振蕩器和一個鎖相環(huán)PLL組成,可通過芯片內(nèi)部的晶體振蕩器或外部的時鐘電路驅(qū)動。C5402時鐘信號的產(chǎn)生有兩種方法:使用外部時鐘源、使用芯片內(nèi)部的振蕩器。若使用外部時鐘源,只要將外部時鐘信號直接加到DSP芯片的X2/CLKIN引腳,而X1引腳懸空;若使用芯片內(nèi)部的振蕩器,只要在芯片的X1和X2/CLKIN引腳之間接入一個晶體,用于啟動內(nèi)部振蕩器。本系統(tǒng)采用內(nèi)部振蕩器,在管腳X1和X2/CLKOUT之間連接一個10MHz晶體來啟動內(nèi)部

34、振蕩器,如圖3-3所示[10]。</p><p>  為了實(shí)現(xiàn)DSP系統(tǒng)實(shí)時處理信號的效果,希望系統(tǒng)頻率越快越好。C5402最高可達(dá)100MHz工作頻率,如果仍采用傳統(tǒng)的2分頻或4分頻的方式,勢必要求外部頻率很高,這里我們采用了更加靈活的可編程PLL(Programmable Phase—Locked Loop)方式。</p><p>  C5402內(nèi)部具有一個可編程鎖相環(huán)(PLL),它可

35、以配置為以下兩種模式:</p><p>  (1)PLL模式,輸入時鐘乘以一個l~31之間的常數(shù)。</p><p>  (2)DIV模式,輸入時鐘除以2或40。</p><p>  PLL有倍頻的功能,其輸出信號的頻率是輸入信號的頻率乘上一個倍數(shù),正是PLL把外部基準(zhǔn)頻率變成多種頻率提供給不同的具體系統(tǒng),以滿足各種應(yīng)用的需要。PLL受存儲器映射的時鐘模式寄存器CLK

36、MD控制,復(fù)位后CLKMD的值根據(jù)DSP芯片三根輸入引腳CLKMD1~CLKMD3確定,從而確定DSP的工作時鐘。本方案中,外接晶體頻率為10MHz,為了得到倍頻系數(shù)10,需設(shè)置時鐘模式寄存器CLKMD的值為9007h,引腳CLKMDl~CLKMD3設(shè)計(jì)成001,則復(fù)位后C5402的工作頻率是10×1O=1OOMHz。</p><p><b>  圖3-3 時鐘電路</b><

37、/p><p><b>  3.4片外存儲器</b></p><p>  C5402的存儲空間可達(dá)192K×16bits,64K程序空間,64K數(shù)據(jù)空間,64KI/O空間。C5402片內(nèi)具有4K×16bits的ROM和16K×16bits的RAM。片內(nèi)ROM和RAM可以根據(jù)PMST寄存器中的DROM、OVLY來靈活設(shè)置,使其映像在程序空間和數(shù)據(jù)

38、空間。程序空間和數(shù)據(jù)空間未被映像的部分和64K的I/O空間全部在片外,用片外存儲器來補(bǔ)充。在實(shí)際的應(yīng)用中,應(yīng)該根據(jù)程序量的大小來選擇作為片外空間的存儲芯片的容量,以免造成不必要的浪費(fèi),本文選擇IS61LV25616AL(256K×16bits)作為程序存儲器的片外存儲芯片,選擇SST39LF200A(128K×16bits)的Flash作為數(shù)據(jù)存儲器的片外存儲芯片,以實(shí)現(xiàn)自舉加載,使C5402自成獨(dú)立系統(tǒng),圖3-4為

39、硬件連接圖[11]。</p><p>  圖3-4 外部存儲器擴(kuò)展電路圖</p><p>  IS61LV25616AL的工作電壓為3V~3.6V,可以直接與TMS320C5402接口連接,而不必再使用電壓接口芯片進(jìn)行轉(zhuǎn)接,使硬件電路更為簡單。SST39LF200A是SST公司生產(chǎn)的Flash存儲器,其主要特點(diǎn)有:3V~3.6V單電源供電,可使內(nèi)部產(chǎn)生高電壓進(jìn)行編程和擦除操作;支持JED

40、EC單電源Flash存儲器標(biāo)準(zhǔn);只需向其命令寄存器寫入標(biāo)準(zhǔn)的微處理器指令,具體編程、擦除操作由內(nèi)部嵌入的算法實(shí)現(xiàn),并且可以通過查詢特定的引腳或數(shù)據(jù)線監(jiān)控操作是否完成;可以對任一扇區(qū)進(jìn)行讀、寫或擦除操作,而不影響其它部分的數(shù)據(jù)[12]。</p><p>  訪問存儲空間時,當(dāng)?shù)刂仿湓谄瑑?nèi)存儲區(qū)域內(nèi),自動對這些區(qū)域進(jìn)行訪問;當(dāng)?shù)刂仿湓谄鈪^(qū)域,自動訪問外部存儲器。使用片內(nèi)存儲器有三個優(yōu)點(diǎn):高速執(zhí)行(不需要等待),低開

41、銷,低功耗,所以我們應(yīng)盡量使用片內(nèi)存儲器。</p><p>  3.5 JTAG仿真接口電路</p><p>  在做實(shí)驗(yàn)時,需要一個DSP仿真器,把在計(jì)算機(jī)上編譯并生成的執(zhí)行代碼下載到C5402芯片上,實(shí)現(xiàn)在線調(diào)試DSP硬件和軟件。仿真器有兩端接口,其中一端與計(jì)算機(jī)的并行口或USB口相連,這取決于仿真器的類型,另一端與DSP芯片的JTAG接口相連,這是一個14針的接口,其硬件連接如圖3-

42、5所示[13]。</p><p>  圖 3-5 JTAG接口電路</p><p>  第四章 系統(tǒng)軟件設(shè)計(jì)</p><p>  本章介紹系統(tǒng)軟件的實(shí)現(xiàn)方法。主要介紹了自舉加載器的設(shè)計(jì)。</p><p>  4.1軟件開發(fā)工具介紹</p><p>  C5402的開發(fā)工具包括代碼生成和代碼調(diào)試工具兩大類。代碼生成工具

43、是將源程序進(jìn)行編譯、匯編并鏈接成可執(zhí)行程序。代碼調(diào)試工具是對可執(zhí)行程序進(jìn)行調(diào)試,使其能夠達(dá)到預(yù)計(jì)目標(biāo)。</p><p>  CCS(Code Composer Studio)是TI公司推出的用于開發(fā)DSP芯片的集成開發(fā)環(huán)境,它采用Windows風(fēng)格界面,集編輯、編譯、鏈接、軟件仿真、硬件調(diào)試以及實(shí)時跟蹤等功能于一體,能完成DSP系統(tǒng)開發(fā)過程的各個環(huán)節(jié),極大地方便了DSP芯片的開發(fā)與設(shè)計(jì),是目前使用最為廣泛的DSP

44、開發(fā)軟件之一。CCS有兩種工作模式,即:軟件仿真器模式和硬件在線編程模式;前者可以脫離DSP芯片,在PC機(jī)上模擬DSP的指令集和工作機(jī)制,主要用于前期算法實(shí)現(xiàn)和調(diào)試;后者可以實(shí)時運(yùn)行在DSP芯片上,與硬件開發(fā)板相結(jié)合在線編程和調(diào)試應(yīng)用程序。CCS運(yùn)行時的主窗口如圖4-1所示[2]。</p><p>  圖4-1 CCS運(yùn)行界面</p><p>  4.1.1 CCS的組成</p>

45、;<p>  CCS的開發(fā)系統(tǒng)主要由以下組件構(gòu)成:</p><p> ?、賂MS320VC54X集成代碼產(chǎn)生工具;</p><p> ?、贑CS集成開發(fā)環(huán)境;</p><p> ?、跠SP/BIOS實(shí)時內(nèi)核插件及其應(yīng)用程序接口API;</p><p>  ④實(shí)時數(shù)據(jù)交換的RTDX插件以及相應(yīng)的程序接口API;</p>

46、<p> ?、萦蒚I公司以外的第三方提供的各種應(yīng)用模塊插件。</p><p>  4.1.2 CCS的主要功能</p><p>  CCS的功能十分強(qiáng)大,它集成了代碼的編輯、編譯、鏈接和調(diào)試等諸多功能,而且支持C/C++和匯編的混合編程,其主要功能如下:</p><p>  具有集成可視化代碼編輯界面,用戶可通過其界面直接編寫C、匯編、.cmd文件等

47、;</p><p>  含有集成代碼生成工具,包括匯編器、優(yōu)化C編譯器、鏈接器等,將代碼的編輯、編譯、鏈接和調(diào)試等諸多功能集成到一個軟件環(huán)境中;</p><p>  高性能編輯器支持匯編文件的動態(tài)語法加亮顯示,使用戶很容易閱讀代碼,發(fā)現(xiàn)語法錯誤;</p><p>  工程項(xiàng)目管理工具可對用戶程序?qū)嵭许?xiàng)目管理。在生成目標(biāo)程序和程序庫的過程中,建立不同程序的跟蹤信息,通

48、過跟蹤信息對不同的程序進(jìn)行分類管理;</p><p>  基本調(diào)試工具具有裝入執(zhí)行代碼、查看寄存器、存儲器、反匯編、變量窗口等功能,并支持C源代碼級調(diào)試;</p><p>  斷點(diǎn)工具,能在調(diào)試程序的過程中,完成硬件斷點(diǎn)、軟件斷點(diǎn)和條件斷點(diǎn)的設(shè)置;</p><p>  探測點(diǎn)工具,可用于算法的仿真,數(shù)據(jù)的實(shí)時監(jiān)視等;</p><p>  分析

49、工具,包括模擬器和仿真器分析,可用于模擬和監(jiān)視硬件的功能、評價代碼執(zhí)行的時鐘;</p><p>  數(shù)據(jù)的圖形顯示工具,可以將運(yùn)算結(jié)果用圖形顯示,包括顯示時域/頻域波形、眼圖、星座圖、圖像等,并能進(jìn)行自動刷新;</p><p>  提供GEL工具,利用GEL擴(kuò)展語言,用戶可以編寫自己的控制面板/菜單,設(shè)置GEL菜單選項(xiàng),方便直觀地修改變量,配置參數(shù)等;</p><p&g

50、t;  支持多DSP的調(diào)試;</p><p>  支持RTDX技術(shù),可在不中斷目標(biāo)系統(tǒng)運(yùn)行的情況下,實(shí)現(xiàn)DSP與其他應(yīng)用程序的數(shù)據(jù)交換;</p><p>  提供DSP/BIOS工具,增強(qiáng)對代碼的實(shí)時分析能力。</p><p>  4.2系統(tǒng)自舉加載器的設(shè)計(jì)</p><p>  TI公司的DSP芯片出廠時,在片內(nèi)ROM中固化有引導(dǎo)裝載程序Bo

51、otloader,其主要功能就是將外部的程序裝載到片內(nèi)RAM中運(yùn)行,以提高系統(tǒng)的運(yùn)行速度。TMS320VC5402的Bootloader程序位于片內(nèi)ROM的0F800H~OFBFFH空間。系統(tǒng)上電時,DSP將檢查外部引腳MP/MC的狀態(tài),如果該引腳為高電平,則DSP按微處理器模式啟動,從片外OFF80H地址處開始執(zhí)行程序;如果該引腳為低電平,則DSP按微計(jì)算機(jī)模式啟動,系統(tǒng)從片內(nèi)OFF80H地址處開始執(zhí)行程序,片內(nèi)OFF80H~OFFF

52、FH是固化的中斷矢量表,此處有一條跳轉(zhuǎn)指令。因此,如果系統(tǒng)上電時MP/MC的狀態(tài)為低電平,DSP復(fù)位后將從FF80H處跳轉(zhuǎn)到0F800H開始執(zhí)行Bootloader自動裝載程序。在裝載程序之前,先自動進(jìn)行如下初始化工作:INTM=1(使中斷無效),OVLY=1(內(nèi)部RAM映像程序/數(shù)據(jù)存儲器),對程序和數(shù)據(jù)區(qū)均設(shè)置7個等待狀態(tài)等。然后,選擇有效的自舉方式進(jìn)行自舉加載程序。</p><p>  4.2.1 選擇自舉

53、方式</p><p>  Bootloader能提供許多種引導(dǎo)方式以適配不同的系統(tǒng)設(shè)備,包括兩種并行總線方式、串口方式以及主機(jī)口方式(HPI),還可以支持8bits和16bits的模式,具有很強(qiáng)的系統(tǒng)靈活性。在判斷前面的引導(dǎo)方式無效后,Bootloader會進(jìn)入并行引導(dǎo)裝載模式,Bootloader首先讀取地址為OFFFFH的I/O空間單元,并將該單元的值作為引導(dǎo)表的首地址。在數(shù)據(jù)地址空間中讀取引導(dǎo)表的第一個字,

54、來判斷是8bits引導(dǎo)模式還是16bits引導(dǎo)模式[14]。在本設(shè)計(jì)中,引導(dǎo)表的首地址是存放在數(shù)據(jù)存儲器OFFFFH單元,Bootloader從I/O地址空間中讀取的引導(dǎo)表首地址所對應(yīng)的引導(dǎo)表中得不到正確的引導(dǎo)信息,于是Bootloader會自動轉(zhuǎn)向數(shù)據(jù)空間,從數(shù)據(jù)空間的OFFFFH地址再去讀一個字作為引導(dǎo)表首地址,進(jìn)而再從引導(dǎo)表首地址讀取一個字。如果該字為1OAAH,則立即進(jìn)入16bits引導(dǎo)模式,否則,將按8bits方式處理:從OF

55、FFFH讀取一字節(jié)作為引導(dǎo)表首地址的低字節(jié),從OFFFEH讀取一字節(jié)作為引導(dǎo)首地址的高字節(jié),再從引導(dǎo)表首地址讀取一個值,如果低字節(jié)為08H,則再讀引導(dǎo)表的下一個值,如果為</p><p>  圖4-2 TMS320VC5402 16bits并行Bootloader選擇圖</p><p>  4.2.2 FLASH的數(shù)據(jù)組織</p><p>  自舉表內(nèi)容包括Boot

56、表頭和欲加載的應(yīng)用程序代碼。Boot表頭包括欲加載的應(yīng)用程序代碼長度、代碼段存放的目標(biāo)地址、程序入口地址等信息。若要完成自舉引導(dǎo)功能,必須建立正確的自舉表,如表4-1[15]。自舉表可以由hex500格式轉(zhuǎn)換器自動生成,也可以手動建立自舉表,就是把被燒寫的程序直接放在燒寫程序中,根據(jù)被燒寫程序的相關(guān)信息手動建立自舉表。</p><p><b>  表4-1 自舉表</b></p>

57、<p>  第五章 I/O電路的測試</p><p>  通過構(gòu)建基于TMS320VC5402的DSP最小系統(tǒng),為DSP開發(fā)系統(tǒng)版提供最核心硬件模塊。通過基本I/O電路測試了最小系統(tǒng)版的可行性[16][17]。</p><p>  5.1 CCS環(huán)境下通用I/O電路測試實(shí)驗(yàn)</p><p><b>  一、實(shí)驗(yàn)?zāi)康?lt;/b><

58、/p><p>  TMS320VC5402 的XF管腳外接LED,通過程序控制LED燈的閃爍,測試通用I/O口。</p><p><b>  二、實(shí)驗(yàn)設(shè)備</b></p><p>  計(jì)算機(jī)、仿真器、DSP最小系統(tǒng)板</p><p><b>  三、實(shí)驗(yàn)原理</b></p><p&g

59、t;<b>  1.實(shí)驗(yàn)流程圖</b></p><p>  程序框圖如圖5-1所示。</p><p>  圖5-1 程序流程圖</p><p><b>  2.主要程序代碼</b></p><p>  asm(“rsbx xf”)//將狀態(tài)寄存器指定為xf復(fù)位xf=0;</p><

60、;p>  asm(“ssbx xf”)//將狀態(tài)寄存器指定為xf置位xf=1;</p><p>  通過把XF位置位和復(fù)位來控制LED燈的亮滅。</p><p><b>  源程序見附錄三。</b></p><p><b>  四、實(shí)驗(yàn)現(xiàn)象</b></p><p>  DSP最小系統(tǒng)版上I/O

61、電路XF連接的LED燈以一定的頻率間隔閃爍。通過調(diào)整程序參數(shù) “for(i=0;i<30000;i++) for(j=0;j<10;j++)”為“for(i=0;i<30000;i++) for(j=0;j<100;j++)”,LED燈的閃爍頻率減小,LED燈閃爍變慢。</p><p>  5.2 基本I/O電路測試實(shí)驗(yàn)</p><p><b>  一、實(shí)

62、驗(yàn)?zāi)康?lt;/b></p><p>  通過實(shí)驗(yàn)學(xué)習(xí)使用 C5402 DSP 的擴(kuò)展端口控制外圍設(shè)備的方法,測試基于TMS320VC5402 DSP最小系統(tǒng)的基本I/O口。</p><p><b>  二、實(shí)驗(yàn)設(shè)備</b></p><p>  計(jì)算機(jī)、仿真器、DSP最小系統(tǒng)板</p><p><b>

63、  三、實(shí)驗(yàn)原理</b></p><p>  1. 程序框圖如圖5-2所示。</p><p><b>  圖5-2 程序流程</b></p><p><b>  2.主要程序代碼</b></p><p>  #define LBDS (*((unsigned int *)0xaaaa))

64、</p><p>  //定義指示燈寄存器地址和寄存器類型;</p><p>  for ( i=0;i<8;i++ )</p><p><b>  {</b></p><p>  LBDS=uLED[i];</p><p>  Delay(256);</p><

65、;p><b>  }</b></p><p>  //向指示燈寄存器寫數(shù)據(jù)。</p><p><b>  源程序見附錄二。</b></p><p><b>  四、實(shí)驗(yàn)現(xiàn)象</b></p><p>  數(shù)據(jù)口D0—D3連接LED燈后,LED燈以BCD碼的規(guī)律從全滅顯示到全

66、亮,當(dāng)4個LED燈全亮后,又以BCD碼的規(guī)律從全亮減小到LED燈全滅,并循環(huán)顯示。</p><p><b>  第六章 總結(jié)</b></p><p>  本課題的研究工作是以TI公司TMS320VC5402芯片為核心,以模塊電路為基礎(chǔ),構(gòu)建DSP實(shí)驗(yàn)開發(fā)系統(tǒng)。本文從系統(tǒng)方案制定、模塊電路軟硬件實(shí)現(xiàn)、CCS環(huán)境下實(shí)驗(yàn)驗(yàn)證等方面,系統(tǒng)的闡述其設(shè)計(jì)過程。主要完成了以下內(nèi)容:

67、</p><p>  1、參考了DSP技術(shù)的應(yīng)用,分析信號信息處理的特點(diǎn),制定了基于TMS320VC5402芯片的最小系統(tǒng)設(shè)計(jì)的總體方案。</p><p>  2、完成了系統(tǒng)各模塊電路的軟硬件設(shè)計(jì)。完成了電源、晶振、復(fù)位電路、JTAG接口電路、SRAM接口電路、FLASH接口電路的設(shè)計(jì)。</p><p>  3、在模塊電路電路的基礎(chǔ)上,采用層次原理圖的設(shè)計(jì)方法,完成

68、了系統(tǒng)原理圖的繪制和PCB布線制版。</p><p>  4、在CCS環(huán)境下測試了基于TMS320VC5402最小系統(tǒng)的基本I/O電路。</p><p>  通過課題的設(shè)計(jì),使我進(jìn)一步掌握了DSP基本理論,對DSP技術(shù)及DSP技術(shù)的應(yīng)用有了更深刻的認(rèn)識,并使自己所學(xué)的各種知識得到了全面的應(yīng)用,提高了分析問題解決問題的能力。由于初次進(jìn)行基于TMS320VC5402的最小系統(tǒng)設(shè)計(jì),缺少實(shí)際經(jīng)驗(yàn)

69、以及個人水平和實(shí)踐的問題,要使系統(tǒng)更加實(shí)用化、完善化還需要做大量的探索和試驗(yàn)。在本文設(shè)計(jì)的實(shí)驗(yàn)系統(tǒng)的基礎(chǔ)上,硬件資源還可以進(jìn)一步擴(kuò)展,軟件功能也可進(jìn)一步改進(jìn)。</p><p><b>  參考文獻(xiàn)</b></p><p>  [1]彭啟宗.TMS320VC54X實(shí)用教程[C].成都:電子科技大學(xué)出版社,2000</p><p>  [2]李利.

70、DSP原理及應(yīng)用[C].北京:中國水利水電出版社,2004</p><p>  [3]李哲英,駱麗,劉元盛.DSP基礎(chǔ)理論與應(yīng)用技術(shù)[C].北京:北京航空航天大學(xué)出版社,2002</p><p>  [4]TMS320VC5402 Fixed-Point Digital Signal Processor Datasheet,2000</p><p>  [5]TMS

71、320VC54x DSP CPU and Peripherals Reference Set,1999</p><p>  [6]梁曉雯,裴小平,李玉虎.TMS320C54X系列DSP的CPU與外設(shè)[C].北京:清華大學(xué)出版社,2006</p><p>  [7]張雄偉,陳亮,徐光輝.DSP芯片的原理與開發(fā)應(yīng)用[C].北京:電子工業(yè)出版社,2003</p><p>

72、  [8]TPS73HD318 Datasheet.Texas Instruments,1999</p><p>  [9]鄒彥,唐冬,寧志剛.DSP原理及應(yīng)用[C].北京:電子工業(yè)出版社,2005</p><p>  [10]陳財明.基于TMS320C5402的客流統(tǒng)計(jì)系統(tǒng)[D].杭州:浙江大學(xué),2005</p><p>  [11]楊靜.基于DSP的嵌入式實(shí)時操

73、作系統(tǒng)平臺及其應(yīng)用[D].杭州:浙江大學(xué),2005</p><p>  [12]IS61LV25616AL Datasheet.Integrated Silion Solution Inc,2003</p><p>  [13]汪安明.TMS320C54XXDSP應(yīng)用技術(shù)[C].北京:清華大學(xué)出版社,2002</p><p>  [14]沈琰.TMS320VC540

74、2 8位并行自舉引導(dǎo)方案[J].電腦知識與技術(shù),2006</p><p>  [15]吳曉春.用C語言設(shè)計(jì)TMS320VC54X系列DSP的用戶bootloader程序[J].計(jì)算機(jī)與網(wǎng)絡(luò),2009</p><p>  [16]汪烈軍,賈振紅.電子綜合設(shè)計(jì)與實(shí)驗(yàn)[C].西安:西安交通大學(xué)出版社,2010</p><p>  [17]汪安平,程昱.DSP應(yīng)用開發(fā)實(shí)用子

75、程序[C].北京:人民郵電出版社,2005</p><p><b>  附錄</b></p><p>  附錄一 DSP最小系統(tǒng)原理圖</p><p>  DSP最小系統(tǒng)原理圖</p><p><b>  PCB布線圖</b></p><p>  DXP仿真DSP最小系統(tǒng)版

76、</p><p>  附錄二 基本I/O電路測試實(shí)驗(yàn)</p><p><b>  主程序:</b></p><p>  #include "DspRegDefine.h" //VC5402 寄存器定義</p><p>  #include "stdio.h" </p&g

77、t;<p>  #include "e300_codec.h"</p><p>  // 定義指示燈寄存器地址和寄存器類型</p><p>  #define LBDS (*((unsigned int *)0xaaaa))</p><p><b>  // 子程序接口</b></p><p

78、>  void Delay(unsigned int nDelay);// 延時子程序</p><p>  void main()</p><p><b>  {</b></p><p>  unsigned int uLED[9]={0,1,2,3,4,5,6,7,8};// 控制字,逐位置1int i;</p>&

79、lt;p>  cpu_init();// 初始化DSP運(yùn)行時鐘</p><p>  while ( 1 )</p><p><b>  {</b></p><p><b>  for(;;)</b></p><p><b>  {</b></p>

80、<p>  for ( i=0;i<8;i++ )</p><p><b>  {</b></p><p>  LBDS=uLED[i];// 正向順序送控制字</p><p>  Delay(256);// 延時</p><p><b>  }</b></p>

81、<p>  for ( i=8;i>=0;i-- )</p><p><b>  {</b></p><p>  LBDS=uLED[i];// 反向順序送控制字</p><p>  Delay(256);// 延時</p><p><b>  }</b></p&

82、gt;<p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  void Delay(unsigned int nDelay) //延時子程序</p><p><b>  {&l

83、t;/b></p><p>  unsigned int i,j;</p><p>  for(i=0;i<4000;i++)</p><p>  for(j=0;j<nDelay;j++);</p><p><b>  }</b></p><p><b>  CP

84、U初始化程序:</b></p><p>  #include "DspRegDefine.h" //VC5402 寄存器定義</p><p>  #include "e300_codec.h "</p><p>  void cpu_init(void)</p><p><b>

85、;  {</b></p><p>  asm(" nop ");</p><p>  asm(" nop ");</p><p>  asm(" nop ");</p><p>  *(unsigned int*)CLKMD=0x0; //switch

86、to DIV mode clkout= 1/2 clkin</p><p>  while(((*(unsigned int*)CLKMD)&01)!=0);</p><p>  *(unsigned int*)CLKMD=0x07ff; //switch to PLL X 1 mode</p><p>  *(unsigned int*)PMST

87、=0x3FFA;</p><p>  *(unsigned int*)SWWSR=0x7fff;</p><p>  *(unsigned int*)SWCR=0x0001;</p><p>  *(unsigned int*)BSCR=0xf800;</p><p>  asm(" ssbx intm "); //Dis

88、able all mask interrupts </p><p>  *(unsigned int*)IMR=0x0;</p><p>  *(unsigned int*)IFR=0xffff;</p><p>  asm(" nop ");</p><p>  asm(" nop ");</p

89、><p>  asm(" nop ");</p><p><b>  } </b></p><p>  附錄三 CCS環(huán)境下通用I/O電路測試實(shí)驗(yàn)</p><p>  #include <math.h></p><p>  #define pi 3.1415926&l

90、t;/p><p>  #define N 500</p><p>  void main()</p><p>  { </p><p><b>  int i,j;</b></p><p><b>  int *p;</b></p>&

91、lt;p>  int x[500];</p><p>  for(i=0;i<N;i++)</p><p><b>  x[i]=0;</b></p><p>  for(i=0;i<N;i++) </p><p><b>  { </b></p><p>

92、;  x[i]=(int)1000*sin(2*pi*i/125);</p><p><b>  }</b></p><p>  p=(int *)0x1000;</p><p>  for(i=0;i<N;i++) </p><p><b>  { </b></p><

93、p><b>  *p=x[i];</b></p><p><b>  p++ ;</b></p><p><b>  }</b></p><p><b>  for(;;)</b></p><p><b>  {</b><

94、/p><p>  asm(" rsbx xf");</p><p>  for(i=0;i<30000;i++)</p><p>  for(j=0;j<10;j++)</p><p><b>  {</b></p><p>  asm(" nop"

95、);</p><p>  asm(" nop");</p><p><b>  }</b></p><p>  asm(" ssbx xf"); </p><p>  for(i=0;i<30000;i++)</p><p>  for(j=0;j&l

96、t;10;j++)</p><p><b>  {</b></p><p>  asm(" nop");</p><p>  asm(" nop");</p><p><b>  }</b></p><p><b>  } &

97、lt;/b></p><p><b>  }</b></p><p><b>  致謝</b></p><p>  經(jīng)過幾個月的艱苦努力,學(xué)位論文終于順利完成。在本論文完成之際,我首先要感謝我的老師**老師。從論文的選題到課題的設(shè)計(jì),最后到論文的完成,每一步都得到了*老師的悉心指導(dǎo)和幫助。我從她的身上不僅學(xué)到了應(yīng)該掌

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論