畢業(yè)設(shè)計(jì)-移動通信系統(tǒng)中數(shù)字基帶信號的處理_第1頁
已閱讀1頁,還剩77頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p>  移動通信系統(tǒng)中數(shù)字基帶信號的處理</p><p><b>  摘 要</b></p><p>  20世紀(jì)90年代以來,數(shù)字移動通信得到了迅猛的發(fā)展,與此同時(shí),隨著計(jì)算機(jī)和信息產(chǎn)業(yè)的飛速發(fā)展數(shù)字信號處理不但在理論上而且在方法上都獲得了迅速發(fā)展 。DSP在移動通信中的應(yīng)用更是使移動通信的發(fā)展如虎添翼。</p><p>  D

2、SP狹義的理解可譯為數(shù)字信號處理器,是一種適合于進(jìn)行實(shí)時(shí)數(shù)字信號處理運(yùn)算的微處理器,其實(shí)主要應(yīng)用是實(shí)時(shí)快速的實(shí)現(xiàn)各種數(shù)字信號處理算法。廣義的理解可以解釋為數(shù)字信號處理技術(shù),是利用計(jì)算機(jī)或其他數(shù)字信號處理設(shè)備以數(shù)字形式對信號進(jìn)行采集、變換、濾波、估值、增強(qiáng)、壓縮、識別等處理,以得到滿足不同應(yīng)用需要的信號形式。</p><p>  移動通信是目前國內(nèi)外發(fā)展最快的新技術(shù)之一。它的主要特點(diǎn)是高技術(shù)含量大,新技術(shù)層出不窮。

3、本文就以數(shù)字基帶信號處理為例簡要論述了移動電話短信息收發(fā)系統(tǒng)下行線路的功能。包括CRC校驗(yàn),卷積編碼,二進(jìn)制移相鍵控及二進(jìn)制差分相位鍵控以及擴(kuò)頻技術(shù)。運(yùn)用C語言對其各部分功能進(jìn)行軟件編程,最終在DSP開發(fā)環(huán)境CCS中仿真實(shí)現(xiàn)。</p><p>  關(guān)鍵詞:DSP,移動通信,C語言</p><p><b>  Abstract</b></p><p&

4、gt;  Since 20 centry 90 years,the digital mobile correspondence has a swift and violent developed speedy not only in theory but also in methods along with the development of computer and information industry.Theapplicati

5、ons in mobile correspondence of DSP makes the mobile correspondence develop more fast.</p><p>  DSP can translate to digital signal processor in narrow sense.It is a sort of microprocessor used for real tim

6、e digital signal processing operation.In fact,it is mostly used for real time fast arithmeticof kinds of digital signal processing.Comprehend in broad sense,DSP can translate to digital signal arithmetic.It uses computer

7、 or any other digital signal processing equipment to collection,transform,buildup,compress,identify.ect.In order to satisfy signal form of different appliance needed.</p><p>  The mobile correspondence is on

8、e of the new technology which is developed speedly inside and outside.The mostly characteristic is it has large content of high tech,and new tech is emerge in endlessly.Build on digital baseband signal processing,this te

9、xt brief discusses the function of mobile telephone note’s receive system.Include CRC verify,coding,PSK and DPSK.Uses C language programmed for its every part.Finally make it come true in DSP’s empolder environment CCS.&

10、lt;/p><p>  Keywords;DSP,Mobile correspondence,C language</p><p><b>  目 錄</b></p><p>  前言……………………………………………………………………...1</p><p>  DSP概述……………………………………………………….2&l

11、t;/p><p>  DSP芯片基礎(chǔ)知識…………………………………………….2</p><p>  DSP系統(tǒng)的設(shè)計(jì)……………………………………………….5</p><p>  DSP的應(yīng)用………………………………………………….…6</p><p>  TMS320C54x體系結(jié)構(gòu)……………………………………….7</p><

12、;p>  2.1 TMS320C54X的總線結(jié)構(gòu)……………………………………..9</p><p>  2.2 中央處理單(CPU)………………………………………….11</p><p>  2.3 內(nèi)部存儲器…………………………………………………….15</p><p>  2.4 在片外設(shè)………………………………………………………..19</p>

13、;<p>  DSP的軟件開發(fā)方法…………………………………………22</p><p>  3.1 TMS320C54x的C語言開發(fā)知識準(zhǔn)備……………………...22</p><p>  3.2 CCS開發(fā)工具…………………………………………………23</p><p>  移動通信系統(tǒng)中數(shù)字基帶信號的處理……………………….31</p>

14、<p>  4.1 DSP在移動通信中的應(yīng)用……………………………………31</p><p>  4.2 CRC 校驗(yàn)……………………………………………………..33</p><p>  4.3 信道編碼………………………………………………………34</p><p>  4.4 調(diào)制技術(shù)……………………………………………………….42</

15、p><p>  4.5 擴(kuò)頻通信……………………………………………………….47</p><p>  4.6 移動終端短信息發(fā)送系統(tǒng)的仿真實(shí)現(xiàn)...................................50</p><p>  結(jié)束語………………………..…………………………………………..54</p><p>  致謝………………

16、…….………………………………………………...55</p><p>  參考文獻(xiàn)………………………………………………………..………..56</p><p><b>  附錄一 英文原文</b></p><p><b>  附錄二 漢語翻譯</b></p><p>  附錄三 程序詳細(xì)清單<

17、/p><p><b>  前 言</b></p><p>  在過去的十幾年里,移動通信技術(shù)獲得了很大的進(jìn)步,從傳統(tǒng)的單基站大功率系統(tǒng)到蜂窩移動系統(tǒng),從本地覆蓋到區(qū)域、全國覆蓋,并實(shí)現(xiàn)了國內(nèi)甚至國際漫游,從提供話音業(yè)務(wù)到提供包括低速數(shù)據(jù)的綜合業(yè)務(wù),從模擬移動通信系統(tǒng)到數(shù)字移動通信系統(tǒng)…今后移動通信技術(shù)還會進(jìn)一步的發(fā)展和演進(jìn),隨著第三代移動通信技術(shù)的實(shí)現(xiàn)和移動通信與互聯(lián)網(wǎng)的

18、融合,未來無線數(shù)據(jù)傳輸速率將高達(dá)2 Mbit/s,全球正在迅速向著移動信息時(shí)代邁進(jìn)。無論是2G還是3G,都是建立在一定的通信標(biāo)準(zhǔn)或協(xié)議之上的。移動通信的通信協(xié)議分為四層,即應(yīng)用層、網(wǎng)絡(luò)層、數(shù)據(jù)鏈路層和物理層。DSP用于完成物理層的處理,傾向于數(shù)字基帶信號的處理。</p><p>  DSP芯片的高速發(fā)展,一方面得益于集成電路的發(fā)展,另一方面也得益于巨大的市場。經(jīng)過二十余年的發(fā)展,DSP應(yīng)用領(lǐng)域日漸寬廣,DSP芯片

19、已經(jīng)在信號處理、通信、雷達(dá)等許多領(lǐng)域得到廣泛的應(yīng)用。本文主要講述的是DSP在移動通信中的應(yīng)用 。首先在了解DSP的功能基礎(chǔ)上講述DSP的設(shè)計(jì)流程及算法,并闡述了DSP軟件編程及調(diào)試,這是本節(jié)的精華所在;以及本次設(shè)計(jì)中所使用的具體TMS320C5402的功能、結(jié)構(gòu)和兼容性、資源使用。 在DSP這一部分中的重要部分是集成開發(fā)軟件包CCS的簡介和在具體過程算法實(shí)現(xiàn)及源文件的的使用實(shí)現(xiàn)。CCS是一個(gè)開放的和具有強(qiáng)大集成能力的開發(fā)環(huán)境,該套開發(fā)環(huán)

20、境集代碼生成工具和代碼調(diào)試工具為一體,能完成DSP系統(tǒng)開發(fā)過程各個(gè)環(huán)節(jié)。它由C編譯器,模擬器軟件,調(diào)試軟件及插件等組成。在這里,主要用于解決移動終端短信息收發(fā)系統(tǒng)上行線路的實(shí)現(xiàn)。</p><p><b>  DSP概述</b></p><p>  步入21世紀(jì)之后,社會也進(jìn)入數(shù)字化的時(shí)代,而數(shù)字信號處理器(Digital signal process,DSP)正是這場

21、數(shù)字化革命的核心。從20世紀(jì)60年代數(shù)字信號處理理論的崛起,到80年代數(shù)字信號處理器的發(fā)展迅猛異常。今天數(shù)字信號處理器已經(jīng)廣泛應(yīng)用在社會的各個(gè)領(lǐng)域也滲透到我們的生活中,正改變著我們的生活方式。數(shù)字產(chǎn)品必將代替模擬產(chǎn)品,其中數(shù)字信號處理器將發(fā)揮十分關(guān)鍵的作用,決定著數(shù)字信號處理的未來。</p><p><b>  DSP芯片基礎(chǔ)知識</b></p><p>  1. D

22、SP芯片的概念</p><p>  DSP 有兩種解釋:一種是digital signal procssing,指的是數(shù)字處理技術(shù);另一種是digital signal procssor,指的是數(shù)字信號處理器,也稱DSP芯片,是一種專門用于數(shù)字信號處理的微處理器。DSP芯片的內(nèi)部采用程序和數(shù)據(jù)總線分開的哈佛結(jié)構(gòu),具有專門的硬件乘法器,采用流水線操作,提供特殊的DSP 指令,可以用來快速地實(shí)現(xiàn)各種數(shù)字信號處理算法。

23、根據(jù)數(shù)字信號處理的要求,DSP芯片一般具有以下幾個(gè)主要特點(diǎn):</p><p>  在一個(gè)指令周期內(nèi)可以完成一次乘法和一次加法;</p><p>  程序和數(shù)據(jù)空間分開,可以同時(shí)訪問數(shù)據(jù)空間和程序空間;</p><p>  片內(nèi)具有快速RAM,通??赏瑫r(shí)訪問兩塊芯片;</p><p>  具有低開銷或零開銷循環(huán)及跳轉(zhuǎn)的硬件支持;</p&g

24、t;<p>  快速的中斷處理和硬件I/O支持;</p><p>  具有在單周期內(nèi)操作的多個(gè)硬件地址產(chǎn)生器;</p><p>  可以并行執(zhí)行多個(gè)操作;</p><p>  支持流水線操作,取指、譯碼和執(zhí)行等操作可以流水線執(zhí)行;</p><p>  所謂哈佛結(jié)構(gòu),是將程序與數(shù)據(jù)的存儲空間分開,各有各的地址總線和數(shù)據(jù)總線。這樣同

25、一條指令可以同時(shí)對不同的數(shù)據(jù)空間進(jìn)行讀操作和寫操作,從而提高處理速度。和哈佛結(jié)構(gòu)相配合使用的就是流水線操作。如果一條指令僅僅對一個(gè)數(shù)據(jù)空間操作,哈佛結(jié)構(gòu)必然失去其存在的意義,而DSP指令又不可避免地需要一些單操作指令(僅僅對一個(gè)數(shù)據(jù)空間操作)。為了解決這個(gè)問題,DSP采用流水線操作。DSP執(zhí)行一條指令,需要經(jīng)過取指、譯碼、執(zhí)行等幾個(gè)步驟。所謂流水線操作,就是將各條指令的執(zhí)行時(shí)間重疊,執(zhí)行完第一條指令后,緊接執(zhí)行該指令的第二步,同時(shí)執(zhí)行下

26、一條指令的第一步,使得指令執(zhí)行加快,使大多數(shù)指令都可以在單個(gè)指令周期完成。</p><p>  DSP是一種特殊的微處理器,不僅具有可編程性,而且其實(shí)時(shí)運(yùn)行速度超過通用微處理器。其特殊的內(nèi)部結(jié)構(gòu)、強(qiáng)大的信息處理能力以及較高的運(yùn)行速度,是DSP最重要的特點(diǎn)。</p><p>  DSP芯片是一種專用微處理器,是高性能系統(tǒng)的核心。它接收模擬信號,如光和聲,將它們轉(zhuǎn)化成數(shù)字信號,實(shí)時(shí)地對大量數(shù)據(jù)

27、進(jìn)行數(shù)字技術(shù)處理。這種實(shí)時(shí)能力使DSP在像聲音處理、圖象處理等不允許時(shí)遲領(lǐng)域的應(yīng)用十分理想,成了全球百分之七十?dāng)?shù)字電話的“心臟”,同時(shí)DSP在網(wǎng)絡(luò)領(lǐng)域也有廣泛的應(yīng)用。</p><p>  2.DSP芯片的分類</p><p>  DSP芯片可以按照以下3種方式進(jìn)行分類。</p><p>  (1) 按基礎(chǔ)特性分類</p><p>  這是根據(jù)

28、DSP芯片的工作時(shí)鐘和指令類型來分類的。如果DSP芯片在某時(shí)鐘頻率范圍內(nèi)以任何頻率都能正常工作,除計(jì)算速度外性能沒有下降,這類DSP芯片一般稱為靜態(tài)DSP芯片。如果有兩種或兩種以上的DSP芯片它們的指令集和相應(yīng)的機(jī)器代碼機(jī)管腳結(jié)構(gòu)相互兼容,則這類DSP芯片稱為具有一致性的DSP芯片。</p><p>  (2) 按數(shù)據(jù)格式分類</p><p>  根據(jù)DSP芯片工作的數(shù)據(jù)格式,DSP芯片可

29、分為定點(diǎn)DSP芯片和浮點(diǎn)DSP芯片。數(shù)據(jù)以定點(diǎn)格式工作的DSP芯片稱為定點(diǎn)DSP芯片,以浮點(diǎn)格式工作的稱為浮點(diǎn)DSP芯片。不同的浮點(diǎn)DSP芯片所采用的浮點(diǎn)格式不完全一樣,有的DSP芯片采用自定義的浮點(diǎn)格式,有的DSP芯片則采用IEEE的標(biāo)準(zhǔn)浮點(diǎn)格式。</p><p><b>  (3) 按用途分類</b></p><p>  根據(jù) DSP芯片的用途,DSP芯片可分為通

30、用型 DSP芯片和專用型 DSP芯片。通用型 DSP芯片適合普通的 DSP應(yīng)用,如 TI公司的一系列 DSP芯片。專用型 DSP芯片專為特定的DSP運(yùn)算而設(shè)計(jì),更適合特殊的運(yùn)算,如數(shù)字濾波、卷積和傅里葉變換等。</p><p>  3.DSP系統(tǒng)的特點(diǎn)</p><p>  DSP系統(tǒng)以數(shù)字信號處理為基礎(chǔ),因此具有數(shù)字處理的全部特點(diǎn):</p><p>  (1)高速性

31、: DSP系統(tǒng)的運(yùn)行速度較高,最新的 DSP運(yùn)行速度高達(dá) 10GMIPS以上。</p><p> ?。?)編程方便:可編程DSP可使設(shè)計(jì)人員在開發(fā)過程中靈活方便第對軟件進(jìn)行修改和升級。</p><p>  (3)穩(wěn)定性好:DSP系統(tǒng)以數(shù)字處理為基礎(chǔ),受環(huán)境以及噪聲的影響較小,可靠性高。</p><p>  (4)可重復(fù)性好:模擬系統(tǒng)的性能受元器件參數(shù)性能的影響比較大

32、,而數(shù)字系統(tǒng)基本上不受影響,因此數(shù)字系統(tǒng)便于測試、調(diào)試和大規(guī)模生產(chǎn)。</p><p> ?。?)DSP系統(tǒng)中的數(shù)字部件有高度的規(guī)范性,便于大規(guī)模集成。</p><p>  (6)性價(jià)比高:常用的DSP的價(jià)格在5美元以下。</p><p><b>  DSP系統(tǒng)的設(shè)計(jì)</b></p><p>  使用DSP進(jìn)行系統(tǒng)設(shè)計(jì)的一

33、般流程如圖1-3所示,其設(shè)計(jì)步驟為:</p><p>  算法模擬階段,即根據(jù)應(yīng)用系統(tǒng)目標(biāo)確定系統(tǒng)的性能指標(biāo)。首先應(yīng)根據(jù)系統(tǒng)要求進(jìn)行算法仿真和高級語言模擬實(shí)現(xiàn)。為了得到最佳系統(tǒng)性能,在這一步驟應(yīng)確定最佳處理方法。例如,為實(shí)現(xiàn)針對移動通信的視頻顯示,需要在給定的實(shí)現(xiàn)目標(biāo)上作運(yùn)算選擇、模擬和實(shí)現(xiàn)。最終找到既能滿足設(shè)計(jì)又盡可能少的實(shí)現(xiàn)算法。</p><p>  選擇芯片。根據(jù)算法要求(運(yùn)算速度、

34、運(yùn)算精度要求、存儲器需求等)選擇DSP芯片。</p><p>  設(shè)計(jì)實(shí)時(shí)DSP系統(tǒng)。此階段包括硬件設(shè)計(jì)和軟件設(shè)計(jì)兩個(gè)方面。硬件設(shè)計(jì)主要根據(jù)系統(tǒng)要求設(shè)計(jì)DSP芯片外圍電路和其他電路(如轉(zhuǎn)換、控制、存儲、輸出等電路)。軟件設(shè)計(jì)主要根據(jù)系統(tǒng)要求和所選DSP芯片編寫相應(yīng)的匯編軟件。如果運(yùn)算量系統(tǒng)運(yùn)算量不大,可以采用高級語言和匯編語言混合編程。本文之討論軟件設(shè)計(jì)。</p><p>  硬件和軟件調(diào)

35、試階段。硬件調(diào)試一般采用硬件仿真器進(jìn)行。軟件調(diào)試一般借助DSP開發(fā)工具如軟件模擬器、DSP開發(fā)系統(tǒng)或仿真器等進(jìn)行。通過比較在DSP執(zhí)行的實(shí)時(shí)程序和模擬程序執(zhí)行的情況來判斷軟件設(shè)計(jì)是否正確。</p><p> ?。?)集成和系統(tǒng)測試階段。調(diào)試階段完成后,實(shí)時(shí)程序被固化在DSP系統(tǒng)中。DSP系統(tǒng)加入到更大的系統(tǒng)中進(jìn)行測試,評估是否完成了設(shè)計(jì)目標(biāo)。</p><p>  圖1-1 DSP系統(tǒng)設(shè)計(jì)流

36、程</p><p><b>  DSP的應(yīng)用</b></p><p>  DSP芯片的高速發(fā)展,一方面得益于集成電路的發(fā)展,另一方面也得益于巨大的市場。經(jīng)過二十余年的發(fā)展,DSP應(yīng)用領(lǐng)域日漸寬廣,DSP芯片已經(jīng)在信號處理、通信、雷達(dá)等許多領(lǐng)域得到廣泛的應(yīng)用。目前,DSP芯片的價(jià)格也越來越低,性能價(jià)格比日益提高,具有巨大的應(yīng)用潛力。DSP芯片的應(yīng)用主要有以下9個(gè)方面。&

37、lt;/p><p>  (1) 經(jīng)典信號處理:數(shù)字濾波、自適應(yīng)濾波、快速傅立葉變換、相關(guān)運(yùn)算、頻譜分析、卷積等。</p><p>  (2) 現(xiàn)代信號處理:AR、ARMA、卡爾曼濾波、小波分析等。</p><p>  (3)語音處理:語音編碼、語音合成、語音識別、語音增強(qiáng)、語音郵件、語音存儲等。</p><p>  (4)圖象/圖形:二維和三維圖

38、形處理、圖形壓縮與傳輸、圖象識別、動畫、機(jī)器人視覺、多媒體、電子地圖、圖象增強(qiáng)等。</p><p>  (5) 軍事:保密通信、雷達(dá)處理、聲納處理、導(dǎo)航、全球定位、調(diào)頻電臺、搜索和反搜索等。</p><p>  (6)儀器儀表:頻譜分析、函數(shù)分析、數(shù)據(jù)采集、地震處理等。</p><p>  (7)自動控制:控制、自動駕駛、機(jī)器人控制、磁盤控制等。</p>

39、<p>  (8) 醫(yī)療:助聽、超聲設(shè)備、診斷工具、病人監(jiān)護(hù)、心電圖等。</p><p>  (9) 家用電器:數(shù)字音響、數(shù)字電視、可視電話、音樂合成、音調(diào)控制、玩具與游戲等。</p><p>  TMS320C54x體系結(jié)構(gòu)</p><p>  在TI DSP中,TMS320C54x是定點(diǎn)的數(shù)字信號處理器(簡寫為C54x)C54x器件的中央處理單元(

40、CPU)具有改進(jìn)的哈佛結(jié)構(gòu),功耗更低,并行性更高。它的尋址模式和指令集改善了整個(gè)系統(tǒng)的性能。由于C54x具有優(yōu)化的結(jié)構(gòu)和強(qiáng)大的指令集,因而它可以滿足實(shí)時(shí)處理的需要。尤其是在電信方面,C54x表現(xiàn)出了優(yōu)越的性能。</p><p>  TMS320C54x具有高級的改進(jìn)哈佛結(jié)構(gòu),是圍繞1條程序總線、3條數(shù)據(jù)總線和4條地址總線而建立起來的。CPU具有高度并行性并帶有專用的硬件邏輯,提供更高、更快的性能。芯片上集成了片內(nèi)

41、存儲器和在片外設(shè),降低了系統(tǒng)的費(fèi)用,節(jié)省了電路板的空間。另外,C54x具有高度專業(yè)化的指令集,可以提供更快的代數(shù)運(yùn)算和優(yōu)化的高級語言的操作。</p><p>  所有C54x器件的CPU都是相同的。他們的不同之處在于片內(nèi)存儲容量大小、在片外設(shè)、供電電壓、速度及封裝等方面的差異。C54x器件有多種品種,其特性列于下表</p><p>  表2-1 TMS320C54x特性一覽表</p&

42、gt;<p>  C54x的體系結(jié)構(gòu)主要包括中央處理單元(CPU)、片內(nèi)存儲器和在片外設(shè)。以下各節(jié)將逐步介紹C54x內(nèi)部硬件各部分的功能,其中包括基本的模塊和總線結(jié)構(gòu)。</p><p>  2.1 TMS320C54X的總線結(jié)構(gòu)</p><p>  圖2-1 TMS320C54X內(nèi)部硬件功能圖</p><p>  如圖2-1所示,C54x結(jié)構(gòu)主要是圍繞

43、8條16比特的總線而建立的。這8條總線包括4條程序/數(shù)據(jù)總線和4條地址總線。它們的作用如下:</p><p> ?、?程序總線PB傳送從程序存儲器取得的指令碼和立即數(shù)。</p><p> ?、?3條數(shù)據(jù)總線CB,DB和EB連接各個(gè)組成部分,如CPU,數(shù)據(jù)地址產(chǎn)生邏輯,程序地址產(chǎn)生邏輯,在片外設(shè)和數(shù)據(jù)存儲器。CB和DB傳送從數(shù)據(jù)存儲器讀出的操作數(shù),EB傳送要寫回存儲器的數(shù)據(jù)。</p&g

44、t;<p>  ③ 4條地址總線PAB,CAB,DAB和EAB傳送指令行所需要的地址。</p><p>  C54X器件的總線結(jié)構(gòu)為指令的并行執(zhí)行提供了硬件支持。例如,C54X可以利用兩個(gè)輔助寄存器算術(shù)單元在單周期內(nèi)最多產(chǎn)生兩個(gè)數(shù)據(jù)存儲器地址,可以同時(shí)讀取兩個(gè)操作數(shù)。PB能把存儲在程序空間的數(shù)據(jù)操作數(shù)傳送到乘/累加單元進(jìn)行乘/累加操作,或在執(zhí)行數(shù)據(jù)移動指令時(shí),將數(shù)據(jù)傳送到數(shù)據(jù)的某個(gè)目的地。這種傳送能

45、力再加上讀雙操作數(shù)的特點(diǎn),使得C54X器件可支持三操作數(shù)指令的執(zhí)行,如FIR指令(用于設(shè)計(jì)對稱的FIR濾波器)。</p><p>  表2-2 各種讀寫訪問總線使用一覽表</p><p>  C54X還有一條訪問在片外設(shè)的雙向總線。這條總線通過CPU接口中的總線變換器連接到DB和EB上。使用這條總線進(jìn)行讀和寫訪問需要兩個(gè)或多個(gè)周期,這取決于外設(shè)的結(jié)構(gòu),表2-2所示出了不同訪問所使用的總線情

46、況。</p><p>  2.2 中央處理單元(CPU)</p><p>  所有的C54x器件的CPU都是相同的,主要包括如下一些部件:40比特算術(shù)邏輯單元(ALU);兩個(gè)40比特累加器;桶形移位器;17×17比特乘法器;40比特加法器;比較,選擇和存儲單元(CSSU);指數(shù)編碼器;數(shù)據(jù)地址產(chǎn)生單元;程序地址產(chǎn)生單元。</p><p>  算術(shù)邏輯單元(

47、ALU)</p><p>  C54X有一個(gè)40比特的算術(shù)邏輯單元(ALU),可進(jìn)行算術(shù)邏輯運(yùn)算,并且ALU進(jìn)行的大多數(shù)運(yùn)算都是在單周期內(nèi)完成。ALU的運(yùn)算結(jié)果常常送往累加器(累加器A和累加器B),它們一起可完成二進(jìn)制補(bǔ)碼運(yùn)算。在進(jìn)行算術(shù)運(yùn)算時(shí),ALU可當(dāng)做兩個(gè)16比特的ALU來使用,在單周期內(nèi)可同時(shí)完成兩個(gè)16比特的操作。ALU的功能框圖如圖2-2所示。</p><p>  ALU有兩個(gè)

48、輸入端,一個(gè)輸出端。它的輸入端有以下幾種數(shù)據(jù)來源:</p><p><b>  16比特立即數(shù);</b></p><p>  來自數(shù)據(jù)存儲器的16比特字;</p><p>  暫存器T中的16比特字;</p><p>  來自數(shù)據(jù)存儲器的兩個(gè)16比特字;</p><p>  來自數(shù)據(jù)存儲器的32比

49、特字;</p><p>  來自任意一個(gè)累加器的40比特字。</p><p>  另外,ALU中還有一個(gè)相關(guān)的進(jìn)位C,支持?jǐn)U展精度的算術(shù)運(yùn)算。ALU中的飽和邏輯電路可進(jìn)行溢出處理。</p><p>  圖2-2 ALU的功能圖</p><p><b>  2. 累加器</b></p><p> 

50、 C54x器件有兩個(gè)獨(dú)立的40比特累加器:累加器A和累加器B。每一個(gè)累加器可分成3個(gè)部分,如圖2-3所示。</p><p>  圖2-3 累加器結(jié)構(gòu)圖</p><p>  保護(hù)位(AG和BG)作為運(yùn)算時(shí)的頭區(qū)(Headmargin),用于防止諸如自相關(guān)運(yùn)算時(shí)產(chǎn)生的溢出。AG,BG,AH,BH,AL,BL是存儲器映射的寄存器,它們的內(nèi)容可以被壓入或彈出堆棧,也可以存入存儲器或從存儲器里恢復(fù)。

51、這些寄存器還可用于尋址操作。</p><p>  累加器A和B可以作為ALU或乘/累加單元的目標(biāo)地址,用來存放它們的結(jié)果,也可以給ALU提供一個(gè)輸入。累加器A和累加器B的不同之處在于累加器A的高位字可以作為乘/累加單元的一個(gè)輸入。</p><p>  C54X提供一些與累加器有關(guān)的指令,如保存保護(hù)位指令,在數(shù)據(jù)存儲器里存累加器高位字和低位字指令,傳送32比特累加器字進(jìn)/出數(shù)據(jù)存儲器指令等。

52、每一個(gè)累加器可以暫存另一個(gè)累加器的內(nèi)容。</p><p>  3. 桶形移位寄存器</p><p>  40比特桶形移位器的作用是對一些操作進(jìn)行標(biāo)定和標(biāo)準(zhǔn)化,可以進(jìn)行0~31位的左移和0~16位的右移。圖2-4為桶形移位寄存器的功能框從圖中可見,它的輸入數(shù)據(jù)有以下幾個(gè)來源:</p><p>  圖2-4桶形移位寄存器功能圖</p><p> 

53、 來自DB的16比特操作數(shù);</p><p>  來自DB和CB的32比特操作數(shù);</p><p>  來自兩個(gè)40比特累加器的操作數(shù)。</p><p>  40比特輸出結(jié)果送到ALU的輸入端和高位字/低位字(MSW/LSW)選擇單元。</p><p>  實(shí)際操作時(shí),移位值要定義在指令的移位計(jì)數(shù)字段,狀態(tài)寄存器ST1中的移位計(jì)數(shù)字段ASM或

54、暫存器T中(當(dāng)T被指定為一個(gè)移位計(jì)數(shù)寄存器時(shí))。</p><p><b>  4. 乘/累加單元</b></p><p>  乘/累加單是DSP中一個(gè)重要的組成部分。C54X的乘累加單元功能示于圖2-5,它包括一個(gè)17(比特)×17(比特)的乘法器和一個(gè)40比特的專用加法器。乘/累加單元在一個(gè)流水線周期內(nèi)可完成乘/累加操作。</p><p

55、>  圖2-5 乘法/累加單元功能圖</p><p>  圖2-5中的乘法器可以進(jìn)行有符號數(shù)乘有符號數(shù),無符號數(shù)乘無符號數(shù),有符號數(shù)乘無符號數(shù)的運(yùn)算。當(dāng)兩個(gè)有符號數(shù)相乘時(shí),每一個(gè)16比特的操作數(shù)添加一位符號位,擴(kuò)展成17比特的有符號數(shù),然后再進(jìn)行運(yùn)算。當(dāng)兩個(gè)無符號數(shù)相乘時(shí),在每一個(gè)16比特的操作數(shù)的最高端加一位0,形成17比特操作數(shù)相乘。對有符號數(shù)乘無符號數(shù)的乘法,有符號數(shù)做符號位擴(kuò)展,無符號數(shù)在最高端補(bǔ)0

56、。在兩個(gè)小數(shù)相乘時(shí),兩個(gè)16比特二進(jìn)制補(bǔ)碼相乘會產(chǎn)生兩個(gè)符號位,可以通過將乘法器輸出結(jié)果左移一位去掉一個(gè)多余的符號位。</p><p>  圖2-5中的加法器包括一個(gè)零檢測器,一個(gè)舍入器(二進(jìn)制補(bǔ)碼)和溢出/飽和邏輯。舍入的過程是先將加到目標(biāo)累加器,然后將目標(biāo)累加器的低16位清零。在一些乘法,乘/累加(MAC),乘/減法(MAS)的指令后面加上后綴“R”,就可執(zhí)行四舍五入操作。LMS指令在更新系數(shù)時(shí),也執(zhí)行舍入操

57、作以減少量化誤差。加法器的輸入一個(gè)來自乘法器的輸出,一個(gè)來自兩個(gè)累加器之一。一旦乘法操作完成,結(jié)果就被傳送給目標(biāo)累加器A或B。</p><p>  5. 比較,選擇和存儲單元(CSSU)</p><p>  比較,選擇和存儲單元(CSSU)是為Viterbi蝶式運(yùn)算中的加/比較/選擇操作(ACS操作)而設(shè)計(jì)的專用硬件電路,它常常與ALU一起來完成ACS操作。這個(gè)電路支持均衡器和通道解碼中各

58、種Viterbi蝶式算法。</p><p><b>  6. 指數(shù)編碼器</b></p><p>  指數(shù)編碼器是用于支持單周期EXP指令的專用硬件電路。EXP指令可以對累加器中的值進(jìn)行求指數(shù)運(yùn)算,求得的指數(shù)以二進(jìn)制補(bǔ)碼的形式存放在暫存器T中。這里指數(shù)的定義為累加器中多余符號位的個(gè)數(shù)減去8,因此,指數(shù)的范圍是-8~31。</p><p><

59、;b>  2.3內(nèi)部存儲器</b></p><p>  C54X共有192K×16比特存儲器空間,分成3個(gè)獨(dú)立可選的部分:程序空間,數(shù)據(jù)空間和I/O空間。所有的C54X器件都包含片內(nèi)的隨機(jī)存取存儲器(RAM)和只讀存儲器(ROM)。RAM又有兩種類型:雙重訪問RAM(DARAM)和單次訪問RAM(SARAM)。另外,C54X有26個(gè)CPU寄存器,外設(shè)寄存器映射到數(shù)據(jù)存儲器空間。<

60、/p><p><b>  片內(nèi)ROM</b></p><p>  片內(nèi)ROM是程序存儲器空間的一部分。在某些情況下,也可以是數(shù)據(jù)存儲器空間的一部分。在ROM容量比較小(如2K)的器件中,ROM包含一個(gè)引導(dǎo)裝入程序,可以對更快的片內(nèi)RAM或片外RAM進(jìn)行引導(dǎo)。在ROM容量比較大的器件中,ROM中的一部分被同時(shí)映射到數(shù)據(jù)空間和程序空間。容量較大的ROM也是定制ROM,用戶可以

61、以目標(biāo)文件(Object File)的格式提供要寫入ROM的編碼和數(shù)據(jù),德州儀器(TI)公司可對此進(jìn)行ROM編程。</p><p>  2. 片內(nèi)雙重訪問RAM(DARAM)</p><p>  片內(nèi)DARAM是通過分塊來進(jìn)行組織的。因?yàn)槊總€(gè)DARAM塊在單機(jī)器周期可以被訪問兩次,所以CPU可以在一個(gè)周期內(nèi)對同一DARAM塊進(jìn)行讀和寫。DARAM一般總是映射到數(shù)據(jù)空間,主要用來存儲數(shù)據(jù)。也

62、可以映射到程序空間,用來存儲程序編碼。</p><p>  3. 片內(nèi)單次訪問RAM(SARAM)</p><p>  片內(nèi)SARAM也是通過分塊來進(jìn)行組織的,每一塊在單機(jī)器周期內(nèi)只能進(jìn)行一次讀或?qū)懺L問。SARAM一般總是映射到數(shù)據(jù)空間,主要用來存儲數(shù)據(jù)。也可以映射到程序空間,用來存儲程序編碼。</p><p><b>  存儲器映射寄存器</b&g

63、t;</p><p>  64KB數(shù)據(jù)存儲器空間中包含有CPU和在片外設(shè)中的存儲器映射寄存器,這些寄存器駐留在數(shù)據(jù)0頁(數(shù)據(jù)地址0000H-007FH)中。存儲器映射的訪問方式可以簡化對它們的訪問,便于上下文轉(zhuǎn)換時(shí)存取寄存器,便于在累加器具和其他寄存器間傳送信息。數(shù)據(jù)0頁包括以下內(nèi)容。</p><p>  ● CPU寄存器:一共26個(gè),訪問時(shí)不需要等待狀態(tài)。</p><

64、p>  ● 外設(shè)寄存器:是外設(shè)電路中控制和數(shù)據(jù)寄存器。這些寄存器駐留在0020H~005FH中并且在一個(gè)專用的外設(shè)總線結(jié)構(gòu)中。當(dāng)訪問它們時(shí),至少需要兩個(gè)周期。不同的C54X器件具有不同的外設(shè),其所需的周期數(shù)也有所不同。</p><p>  ● 便箋式RAM塊:位于數(shù)據(jù)存儲器中60H~70H單元,包括32字的DARAM,用于各種存儲,以避免一個(gè)大的RAM塊被分割開。</p><p> 

65、 表2-3列出了CPU中存儲器映射寄存器,我們把它們簡單總結(jié)一下。</p><p>  (1) 中斷寄存器(IMR,IFR):中斷屏蔽寄存器(IMR)在需要的時(shí)候可以屏蔽掉某些中斷。中斷標(biāo)志寄存器(IFR)指出當(dāng)前中斷的狀態(tài)。</p><p>  (2) 狀態(tài)寄存器(ST0,ST1):狀態(tài)寄存器ST0和ST1包含C54X器件各種條件和模式的狀態(tài)。ST0包括算術(shù)操作和位操作產(chǎn)生的各種標(biāo)志(O

66、VA,OVB,C和TC)。另外ST0還包括DP和ARP字段。ST1反映處理器運(yùn)行的模式和指令狀態(tài)。</p><p>  (3) 累加器(A,B):兩個(gè)40比特的累加器,每個(gè)累加器都是存儲器映射方式,分成累加器低位字(AL,BL),累加器高位字(AH,BH)和累加器保護(hù)位(AG,BG)。</p><p>  (4) 暫存器(T):暫存器T有許多用處,例如,它可存放下列值。</p>

67、<p>  。乘法指令和乘/累加指令的一個(gè)操作數(shù)。</p><p>  。帶有移位操作指令的動態(tài)移位值。如ADD,LD和SUB。</p><p>  。BITT指令的一個(gè)動態(tài)位地址。</p><p>  。DADST和DSADT指令中用的轉(zhuǎn)移尺度。這些指令用于Viterbi解碼的ACS操作。</p><p>  (5) 狀態(tài)轉(zhuǎn)移

68、寄存器(TRN):TRN用來在Viterbi算法中記錄轉(zhuǎn)移路徑。CMPS指令比較選擇最大值并將其存儲。在累加器高位字和低位字比較的基礎(chǔ)上,修改TRN寄存器內(nèi)容。</p><p>  (6) 輔助寄存器(AR0!AR7):8個(gè)16位的輔寄存器可以被CPU訪問,可以用輔助寄存器算術(shù)單元(RAU)進(jìn)行修改。輔助寄存器最主要的功能是產(chǎn)生訪問數(shù)據(jù)空間的16位地址,也可以作為通用寄存器或計(jì)數(shù)器來使用。</p>

69、<p>  (7) 堆棧指針寄存器(SP):16位堆棧指針寄存器(SP)存有系統(tǒng)堆棧棧頂?shù)牡刂贰P總是指向最后一個(gè)壓入堆棧的元素。在中斷,陷阱,調(diào)用,返回中要使用堆棧。PSHD,PSHM,POPM指令也要對堆棧進(jìn)行操作。在數(shù)據(jù)壓入堆棧之前,SP中的16位值要執(zhí)行遞減操作,然后才能將數(shù)據(jù)壓入堆棧。而當(dāng)數(shù)據(jù)彈出堆棧之后,SP的值要執(zhí)行增量運(yùn)算。</p><p>  表2-3 CPU中存儲器映射寄存器<

70、;/p><p>  (8) 循環(huán)緩沖器大小寄存器(BK):在循環(huán)尋址中,ARAU利用16位循環(huán)緩沖器大小寄存器(BK)來指明數(shù)據(jù)塊大小。</p><p>  (9) 塊重復(fù)寄存器(BRC,RSA和REA):當(dāng)一個(gè)代碼段要重復(fù)執(zhí)行時(shí),用16位的塊重復(fù)計(jì)數(shù)寄存器(BRC)來指明代碼段重復(fù)執(zhí)行的次數(shù)。16位的塊重復(fù)開始地址寄存器(RSA)和16位的塊重復(fù)結(jié)束地址寄存器(REA)分別存放要重復(fù)執(zhí)行的程

71、序存儲器的首地址和末地址。</p><p>  (10) 處理器模式狀態(tài)寄存器(PMST):處理器模式狀態(tài)寄存器(PMST)控制C54X器件的存儲器配置狀態(tài),它的內(nèi)部存放存儲器建立時(shí)的狀態(tài)和控制信息。例如中斷向量指針,微處理器/微處理機(jī)模式,RAM重疊方式,數(shù)據(jù)RAM的設(shè)置等。</p><p>  (11)程序計(jì)數(shù)器擴(kuò)展寄存器(XPC):只有C548/C549/C5402/C5410/C5

72、420幾種器件具有程序計(jì)數(shù)器擴(kuò)展寄存器(XPC)。XPC存放當(dāng)前程序存儲器地址的高7位,即進(jìn)行頁選擇。</p><p><b>  4在片外設(shè)</b></p><p>  不同的C54X器件連接的在片外設(shè)不同,C54X器件可能有以下在片外設(shè):</p><p>  通用的I/O引腳(BIO和XF)。</p><p>  軟

73、件可編程等待狀態(tài)產(chǎn)生器。</p><p><b>  可編程塊開關(guān)模塊。</b></p><p><b>  定時(shí)器。</b></p><p><b>  時(shí)鐘產(chǎn)生器。</b></p><p>  主機(jī)接口:TMS320C5402芯片采用8比特增強(qiáng)型主機(jī)接口。</p>

74、;<p>  串行口:TMS320C5402芯片包含2個(gè)多通道帶緩沖串口。</p><p>  1.通用的I/O引腳</p><p>  每種C54X器件都有兩個(gè)通用的I/O引腳:轉(zhuǎn)移控制輸入引腳BIO和外部標(biāo)志輸出引腳XF。BIO引腳用來監(jiān)視外部器件的狀態(tài),當(dāng)實(shí)時(shí)處理不能被打斷時(shí),可以用BIO信號代替中斷,根據(jù)BIO引腳的輸入狀態(tài)決定是否執(zhí)行條件轉(zhuǎn)移。XF是一個(gè)軟件控制的輸

75、出引腳,可以給外部器件發(fā)信號。通過對狀態(tài)寄存器ST1中的XF字段置位或清零,使XF引腳輸出高電位或低電位。</p><p>  2.編程等待狀態(tài)產(chǎn)生器</p><p>  軟件可編程等待狀態(tài)產(chǎn)生器可將外部總線周期延長到7個(gè)機(jī)器周期,以便與慢速的片外存儲器和I/O器件接口。軟件等狀態(tài)產(chǎn)生器由16比特的軟件等待狀態(tài)寄存器(SWWSR)控制,不需要任何外部硬件。在這里,由于程序空間(64KB)和

76、數(shù)據(jù)空間(64KB)都被分成2個(gè)32KB的存儲塊,I/O空間作為1個(gè)64KB字的塊,所以相應(yīng)就有5個(gè)塊。SWWSR寄存器中有5個(gè)3比特字段分別對應(yīng)上述5個(gè)塊,這5個(gè)塊分別可在SWWSK中設(shè)置0~7個(gè)等狀態(tài)。</p><p><b>  3.編程塊開關(guān)模塊</b></p><p>  在程序存儲器或數(shù)據(jù)存儲器中,當(dāng)訪問越過了存儲塊的邊界時(shí),可編程塊開關(guān)可以自動插入一個(gè)周

77、期。同樣,當(dāng)訪問從程序存儲器跳到數(shù)據(jù)存儲器時(shí),也會插入一個(gè)周期。這個(gè)附加周期可防止總線競爭,使得存儲器在其他器件驅(qū)動總線之前,先釋放掉總線。塊開關(guān)可控制的存儲塊大小是由存儲開關(guān)控制寄存器(BSCR)確定的。</p><p><b>  4.定時(shí)器</b></p><p>  片內(nèi)硬件定時(shí)器是一個(gè)可編程控制的定時(shí)器,包括定時(shí)寄存器(TIM),周期寄存器(PRD)和定時(shí)控

78、制寄存器(TCR),它們能產(chǎn)生周期性的中斷信號。定時(shí)器的分辨率位處理CPU時(shí)鐘的速率。由于硬件定時(shí)器中有一個(gè)4比特的預(yù)定標(biāo)器(PSC)和一個(gè)16比特的計(jì)數(shù)器,使得它計(jì)時(shí)的范圍相當(dāng)大。定時(shí)器每個(gè)時(shí)鐘周期減1,當(dāng)定時(shí)計(jì)數(shù)器減到0,就產(chǎn)生一個(gè)定時(shí)中斷。用戶可能過狀態(tài)位的設(shè)置使定時(shí)器停止,重啟,復(fù)位或無效。</p><p><b>  5.時(shí)鐘產(chǎn)生器</b></p><p>

79、  時(shí)鐘產(chǎn)生器包括一個(gè)內(nèi)部振蕩器和一個(gè)鎖相環(huán)(PLL)。這個(gè)時(shí)鐘產(chǎn)生器的激勵(lì)源可以采取兩種方式:一個(gè)外接晶體振蕩器,它與內(nèi)部振蕩電路一起產(chǎn)生時(shí)鐘信號;二是由一個(gè)外部時(shí)鐘源直接驅(qū)動。PLL電路可以通過對時(shí)鐘源信號倍頻來產(chǎn)生CPU時(shí)鐘,所以用戶應(yīng)該選擇一個(gè)比CPU時(shí)鐘低的時(shí)鐘源。</p><p>  C54X器件有兩種類型的PLL。一些器件如C541,C542,C543,C545,和C546是硬件配置的PLL電路。而

80、另一類器件如C541B,C542A,C546A,C548,C549,C5402,C5410,C5420等是軟件可編程的PLL。</p><p><b>  6.主機(jī)接口</b></p><p>  主機(jī)接口(HPI)是一個(gè)8比特的并行口,可以用來與一個(gè)主機(jī)進(jìn)行連接。通過既能被主機(jī)訪問又能被C54X訪問的C54X片內(nèi)存儲器,可在C54X和主機(jī)之間交換信息。</p&

81、gt;<p>  HPI作為一個(gè)外設(shè)接到主機(jī)上,主機(jī)是接口的控制者,因此主機(jī)對接口的訪問就變得非常容易。主機(jī)通過專用地址,數(shù)據(jù)寄存器和HPI控制寄存器與HPI通信。C54X不能直接訪問專用的地址和數(shù)據(jù)寄存器,但主機(jī)和C54X都可直接訪問HPI控制寄存器。圖2-6示出了HPI的功能框圖。</p><p>  圖2-6 HPI功能圖</p><p>  DSP的軟件開發(fā)方法<

82、;/p><p>  DSP軟件的開發(fā)包括C語言開發(fā)和匯編語言的開發(fā)。相對于C語言開發(fā)來說,匯編語言是一件比較繁瑣的事情,而且匯編語言的可移植性比較差,有鑒于此,目前的很多DSP都有相應(yīng)的高級語言編程,從而使DSP軟件的開發(fā)速度大大加快,并便于修改和移植。</p><p>  3.1 TMS320C54x的C語言開發(fā)知識準(zhǔn)備</p><p><b>  1 .存

83、儲器模式</b></p><p>  TMS320C54x定點(diǎn)處理器有兩種類型的存儲器:程序存儲器和數(shù)據(jù)存儲器。在程序存儲器中包含的是可執(zhí)行代碼。而數(shù)據(jù)存儲器中則是一些程序所需的外部變量、靜態(tài)變量和系統(tǒng)堆棧。</p><p>  2 C編譯器生成的塊</p><p>  編譯器對C語言程序編譯后生成若干個(gè)可以進(jìn)行重新定位的代碼和數(shù)據(jù)塊,這些可以用不同的

84、方式分配到存儲器以符合不同系統(tǒng)配置的需要。這些塊分為兩種類型,一種是已初始化塊,另一種是未初始化塊。</p><p>  已初始化塊主要包括數(shù)據(jù)表和可執(zhí)行代碼。C編譯器共創(chuàng)建4個(gè)已初始化塊:.text塊、.cinit塊、.const塊和.switch塊。</p><p>  未初始化塊用于保留存儲空間,程序利用這些空間運(yùn)行時(shí)創(chuàng)建和存儲變量。C編譯器創(chuàng)建3個(gè)未初始化塊:.bss塊、.stac

85、k塊、.sysmen塊。</p><p><b>  3 系統(tǒng)初始化</b></p><p>  在C程序運(yùn)行之前,首相必須建立C語言的運(yùn)行環(huán)境,這項(xiàng)任務(wù)由C語言初始化程序(boot)完成。這個(gè)引導(dǎo)程序是一個(gè)名為c_int00的函數(shù)。</p><p>  運(yùn)行c_int00函數(shù)有許多種方法,可以跳轉(zhuǎn)到這個(gè)函數(shù),也可以調(diào)用這個(gè)函數(shù),還可以把它作為

86、硬件復(fù)位后的中斷矢量入口。這個(gè)函數(shù)包含在運(yùn)行支持庫中,必須與其他的C目標(biāo)模塊相鏈接。在鏈接時(shí),需要包含rts.lib運(yùn)行支持庫,并使用-c,-cr選項(xiàng),c_int00就會自動鏈入。在包含rts.lib時(shí),如果rts.lib就在當(dāng)前目錄內(nèi),則不需要制定什么特別的選項(xiàng),但是如果它不再當(dāng)前目錄內(nèi),那么就必須使用-l參數(shù)高速鏈接器要尋找的目錄名稱。鏈接C程序時(shí),鏈接器可執(zhí)行模塊的入口點(diǎn)為c_int00。</p><p>

87、  C_int00初始化C環(huán)境時(shí)完成如下工作:</p><p>  為系統(tǒng)堆棧定義一個(gè)名為.stack的塊,并建立初始化堆棧和幀指針。</p><p>  將.cinit塊中的數(shù)據(jù)拷貝到.bss塊中。對全局和靜態(tài)變量進(jìn)行初始化。在小模式中,常數(shù)表也是從.cinit塊拷貝到.bss塊中。在RAM初始化模式中,此項(xiàng)任務(wù)由裝入器完成。</p><p>  對小模式而言,設(shè)

88、置頁指針DP,指向.bss塊的全局存儲器頁</p><p>  調(diào)用main()函數(shù),開始運(yùn)行程序。</p><p>  3.2 CCS開發(fā)工具</p><p>  為了提高實(shí)時(shí)信號處理系統(tǒng)的開發(fā)過程,TI公司針對TMS320C2XX,C54X\C54XX\C55X,C6X,C3X\C4X分別提供了一套全新的集成開發(fā)環(huán)境CCS。</p><p&

89、gt;  CCS是一個(gè)開放的和具有強(qiáng)大集成能力的開發(fā)環(huán)境,該套開發(fā)環(huán)境集代碼生成工具和代碼調(diào)試工具為一體,能完成DSP系統(tǒng)開發(fā)過程各個(gè)環(huán)節(jié)。它由C編譯器,模擬器軟件,調(diào)試軟件及插件等組成。</p><p>  CCS提供了非常良好的用戶界面,面向窗口,支持鼠標(biāo),菜單式接口,具備豐富的圖形圖標(biāo),輔之以完整的可即時(shí)訪問的在線幫助文檔,使設(shè)計(jì)人員不必記憶復(fù)雜命令,就能夠輕松的掌握和使用CCS開發(fā)系統(tǒng)。</p>

90、;<p>  下面我們將介紹CCS的設(shè)計(jì)過程及其查看調(diào)試中信息的方法和畫圖功能(即數(shù)據(jù)顯示功能),這些對于程序的調(diào)試和算法的模擬都有很大的幫助,而這里不再贅述CCS的一般應(yīng)用和操作過程。</p><p>  1.CCS的設(shè)計(jì)過程</p><p>  這里將簡單介紹CCS的設(shè)計(jì)過程。圖3-1顯示的是DSP實(shí)時(shí)系統(tǒng)軟件開發(fā)流程,其中最常見的開發(fā)路徑如圖中陰影部分所示,其他部分是可

91、以選擇的。</p><p><b>  工具說明:</b></p><p>  (1)TMS320C54X C編譯器把C源代碼轉(zhuǎn)換為TMS320C54X匯編語言代碼。</p><p>  (2)匯編器把匯編語言源代碼轉(zhuǎn)換為機(jī)器語言COFF目標(biāo)語言。源代碼文件可以包括指令,匯編語言偽指令及宏偽指令。用戶可以匯編偽指令控制匯編過程的各個(gè)方面,例如原

92、列表格式,數(shù)據(jù)的對準(zhǔn)以及段的內(nèi)容。</p><p>  (3)助記符-代數(shù)式原程序翻譯程序?qū)⒂弥浄噶罘绞降膮R編代碼翻譯成用代數(shù)指令方式的匯編語言程序。</p><p>  (4)歸檔器允許用戶把文件組收集到單個(gè)歸檔文件中,例如:用戶可以把幾個(gè)宏收集到宏庫內(nèi),這樣匯編器將搜索該庫并調(diào)用被源文件稱為宏的庫成員。用戶也可以使用歸檔器把目標(biāo)文件組收集到目標(biāo)庫內(nèi),在庫內(nèi)鏈接器將包括用于解決鏈接期

93、間外部引用的庫成員。</p><p>  圖3-1 DSP實(shí)時(shí)系統(tǒng)軟件開發(fā)流程</p><p>  鏈接器把目標(biāo)文件組合為單個(gè)可執(zhí)行的COFF目標(biāo)模塊.當(dāng)它創(chuàng)建可執(zhí)行模塊時(shí),它實(shí)現(xiàn)重定位并解決外部引用。鏈接器接受匯編器所創(chuàng)建的可重定位COFF目標(biāo)文件作為輸入,它也接受歸檔器庫成員以及由前次鏈接器運(yùn)行所創(chuàng)建的輸出模塊。鏈接器偽指令允許用戶組合目標(biāo)文件段,把段或符號約束在某地址或在存儲器范圍內(nèi)

94、,并定義全局符號。</p><p>  (6) 絕對列表器生成可以被重新匯編從而產(chǎn)生目標(biāo)文件絕對地址列表的文件。</p><p>  (7) 交叉引用列表器使用目標(biāo)文件以產(chǎn)生交叉引用列表,此列表顯示符號及其定義,以及在已鏈接源文件內(nèi)對它們的引用。</p><p>  (8) TMS320C54x調(diào)試工具接受COFF文件(*.out)作為輸入,但大多數(shù)EPROM

95、編程器并不接受.十六進(jìn)制轉(zhuǎn)換程序把COFF目標(biāo)文件轉(zhuǎn)換為ASCII-hex,TI-Tagged,Intel或Motorola-S格式,已轉(zhuǎn)換的文件可被下載到EPROM編程器。</p><p>  2.查看調(diào)試中的信息</p><p>  在程序調(diào)試過程中,需要CCS顯示出程序運(yùn)行的結(jié)果,以便和預(yù)期的結(jié)果進(jìn)行比較。CCS在這方面提供了強(qiáng)大的功能,比一般的仿真程序提供更多的程序運(yùn)行中的信息,并

96、且內(nèi)置了許多常用的函數(shù)供用戶使用。</p><p><b>  查看寄存器</b></p><p>  查看寄存器是最常用的程序運(yùn)行中的信息,在CCS選擇View菜單中的CPU Registers就可以了。查看寄存器窗口如圖3-2所示。</p><p>  圖3-2 查看寄存器窗口</p><p>  在圖3-2中,右邊

97、的浮動窗口就是CCS所顯示的寄存器的內(nèi)容,基本上包括了用戶所要查看的的內(nèi)容。窗口寄存器的內(nèi)容以黑色或紅色表示,未更新的值為黑色,更新的值為紅色。在這個(gè)窗口中,用戶也可以直接修改寄存器的值以方便調(diào)試程序。修改寄存器值只要雙擊浮動窗口中的一個(gè)寄存器,彈出如圖3-3所示對話框,在對話框中直接輸入新的數(shù)據(jù)就可以了。</p><p>  圖3-3 修改寄存器對話框</p><p><b>

98、 ?。?)查看數(shù)據(jù)</b></p><p>  查看數(shù)據(jù)也是程序調(diào)試中常用的手段之一。在CCS中可以用多種形式查看數(shù)據(jù)單元中的值,以滿足各種需要。</p><p>  查看數(shù)據(jù)單元時(shí),可選擇View菜單中的Memory,會彈出如圖3-4所示窗口。</p><p><b>  其中:</b></p><p> 

99、 Adress表示所要查看數(shù)據(jù)的開始單元地址,注意必須以0x開頭;</p><p>  Q-Value表示所要查看數(shù)據(jù)的小數(shù)點(diǎn)的位置,值可以在0~31之間。如果選擇0,數(shù)據(jù)將以整數(shù)方式顯示其中的內(nèi)容,如果選擇15,數(shù)據(jù)將以純小數(shù)顯示其中的內(nèi)容;</p><p>  Format表示所要查看數(shù)據(jù)的格式,在這個(gè)菜單中有多個(gè)供選擇的選項(xiàng),用戶可以根據(jù)自己的需要選擇相應(yīng)的數(shù)據(jù)格式。</p&g

100、t;<p><b>  圖3-4 查看數(shù)據(jù)</b></p><p> ?。?)查看反匯編程序</p><p>  CCS載入程序時(shí)自動打開反匯編窗口,顯示反匯編的程序。反匯編的程序和工程中世紀(jì)的程序比較有一些小的變化,例如,常數(shù)已經(jīng)不再以符</p><p>  圖3-5 反匯編窗口設(shè)置</p><p>  

101、號顯示而是以數(shù)據(jù)顯示,注釋已經(jīng)不再顯示。為了方便調(diào)試,一般情況下仍然需要打開源程序進(jìn)行查看。反匯編窗口顯示的格式可以在CCS的option中Dis-assembly中進(jìn)行設(shè)置,如圖3-5所示。 </p><p>  在反匯編窗口中默認(rèn)的開始地址從代碼段起點(diǎn)顯示,運(yùn)行時(shí)更新顯示內(nèi)容。如果在當(dāng)前窗口查看其他地址內(nèi)容,可以在反匯編窗口右擊,將彈出Start Adress就可以顯示選擇的地址的內(nèi)容,同時(shí)PC指針不會改

102、變。 </p><p>  3. CCS的畫圖功能</p><p>  CCS具有強(qiáng)大的畫圖功能,這一點(diǎn)在數(shù)字信號處理中有很大的幫助,可以從總體上分析處理前和處理后的數(shù)據(jù),以觀察程序運(yùn)行的效果。</p><p>  在CCS的View菜單下選擇Graph將彈出選擇菜單。打開畫圖的方法如圖3-6所示。</p><p> 

103、 圖3-6 打開畫圖的方法</p><p>  選擇4個(gè)選項(xiàng)的任何一個(gè)都將彈出同樣的設(shè)置,如圖3-7所示。</p><p><b>  圖3-7畫圖設(shè)置</b></p><p>  在這些選項(xiàng)中有一些是圖形的設(shè)置,例如光標(biāo)顯示的類型(Curosor Mode)、格點(diǎn)顯示類型(Grid Style)、坐標(biāo)顯示選擇(Axes Display)等,這

104、些設(shè)置不影響查看數(shù)據(jù)的整體情況。在這里不做描述,請參考CCS的幫助文件。</p><p> ?。_始地址(Starr Address):輸入顯示數(shù)據(jù)的開始地址,由所需要查看的數(shù)據(jù)開始點(diǎn)決定;</p><p> ?。?dāng)?shù)據(jù)增量(Index Incerement):默認(rèn)值為1,即顯示每一個(gè)點(diǎn),如果選擇2,則隔點(diǎn)顯示;</p><p>  .?dāng)?shù)據(jù)量(Display Data

105、 Size):顯示數(shù)據(jù)的總的點(diǎn)數(shù),由所需要顯示的數(shù)據(jù)的范圍決定;</p><p> ?。?dāng)?shù)據(jù)類型(DSP Data Type):可以選擇多種類型,包括16位有符號數(shù)、16位無符號數(shù)、32位無符號數(shù)、32位浮點(diǎn)數(shù)、32位IEEE浮點(diǎn)數(shù)等, </p><p>  由程序中的設(shè)置數(shù)據(jù)的類型所決定;</p><p> ?。?shù)點(diǎn)位置(Q-Value):選擇小數(shù)點(diǎn)放置的位置,

106、可以是1~31中的任何一個(gè)數(shù),默認(rèn)的小數(shù)點(diǎn)位置為0,也就是整數(shù)。圖3-3中顯示的數(shù)據(jù)的小數(shù)點(diǎn)位置是0,也就是整數(shù)。</p><p>  下拉圖3-7中的Display Type欄右邊的Signal Time選項(xiàng)可以看到畫圖類型選項(xiàng),分別有:</p><p>  Signal Time 畫一組數(shù)據(jù)的時(shí)域圖;</p><p>  Dual Time 畫兩組數(shù)據(jù)時(shí)

107、域圖;</p><p>  FFT Magnitude 畫數(shù)據(jù)的FFT功率譜圖;</p><p>  Complex FFT 以復(fù)數(shù)輸入畫FFT功率譜;</p><p>  FFT Magnitude and Phase 在FFT Magnitude基礎(chǔ)上加相位;</p><p>  FFT Waterfall 畫出按照時(shí)間序列計(jì)算出的

108、FFT幅頻圖;</p><p>  Constellation 畫坐標(biāo)可以選擇適合用戶的坐標(biāo)圖;</p><p>  Eye Disgran 畫出數(shù)字信號波形的眼圖。</p><p>  移動通信系統(tǒng)中數(shù)字基帶信號的處理</p><p>  4.1 DSP在移動通信中的應(yīng)用</p><p>  近十幾年,數(shù)字移動通信得

109、到了迅猛發(fā)展。以GSM為代表的第二代數(shù)字移動通信(2G)在全世界范圍內(nèi)得到了廣泛的應(yīng)用。自1998年ITU提出IMT2000概念以來,各國通信專家和著名電信商都在為制定一個(gè)統(tǒng)一、高效的無線移動標(biāo)準(zhǔn)而努力。第三代移動通信(3G)產(chǎn)品的目標(biāo)在于提供一個(gè)全球統(tǒng)一的、可兼容多種通信制式的無線傳輸空中接口,并能提供寬帶數(shù)據(jù)業(yè)務(wù)。3G產(chǎn)品廣泛地應(yīng)用了CDMA(碼分多址)、智能天線、軟件無線電和多用戶檢測等尖端技術(shù)。在3G產(chǎn)品尚未大規(guī)模問世前,兼容2

110、G產(chǎn)品、同時(shí)體現(xiàn)3G技術(shù)優(yōu)勢的過渡產(chǎn)品(2.5G產(chǎn)品)將會成為市場主流。</p><p>  無論是2G、2.5G,還是3G,都是建立在一定的通信標(biāo)準(zhǔn)或協(xié)議之上的。移動通信的通信決議通常分為4層,即應(yīng)用層、網(wǎng)絡(luò)層、數(shù)據(jù)鏈路層和物理層。根據(jù)這種分層協(xié)議,移動通信終端幾乎都采用圖4-1所示的結(jié)構(gòu)。其中,RF(射頻)部分負(fù)責(zé)無線信號的收發(fā),ABB(模擬基帶)負(fù)責(zé)A/D和D/A變換及控制接口等,DBB(數(shù)字基帶)負(fù)責(zé)四層

111、軟件的運(yùn)行,完成各層功能。</p><p>  由圖4-1可見,DBB部分包括DSP、微處理器(MCU)、存儲器和硬件邏輯等。其中,MCU用于完成應(yīng)用層(如人機(jī)界面MMI)、網(wǎng)絡(luò)層和數(shù)據(jù)鏈路層的處理,傾向子系統(tǒng)控制;DSP用于完成物理層的處理,傾向于數(shù)字基帶信號的處理,包括通用的信號處理(如 FIR濾波、FFT葉等)和移動通信的信號處理(如 CRC校驗(yàn)、信道編碼、數(shù)據(jù)調(diào)制、擴(kuò)頻調(diào)制和 Viterbi譯碼等)。&l

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論