版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 移動(dòng)通信系統(tǒng)中數(shù)字基帶信號(hào)的處理</p><p><b> 摘 要</b></p><p> 20世紀(jì)90年代以來(lái),數(shù)字移動(dòng)通信得到了迅猛的發(fā)展,與此同時(shí),隨著計(jì)算機(jī)和信息產(chǎn)業(yè)的飛速發(fā)展數(shù)字信號(hào)處理不但在理論上而且在方法上都獲得了迅速發(fā)展 。DSP在移動(dòng)通信中的應(yīng)用更是使移動(dòng)通信的發(fā)展如虎添翼。</p><p> D
2、SP狹義的理解可譯為數(shù)字信號(hào)處理器,是一種適合于進(jìn)行實(shí)時(shí)數(shù)字信號(hào)處理運(yùn)算的微處理器,其實(shí)主要應(yīng)用是實(shí)時(shí)快速的實(shí)現(xiàn)各種數(shù)字信號(hào)處理算法。廣義的理解可以解釋為數(shù)字信號(hào)處理技術(shù),是利用計(jì)算機(jī)或其他數(shù)字信號(hào)處理設(shè)備以數(shù)字形式對(duì)信號(hào)進(jìn)行采集、變換、濾波、估值、增強(qiáng)、壓縮、識(shí)別等處理,以得到滿足不同應(yīng)用需要的信號(hào)形式。</p><p> 移動(dòng)通信是目前國(guó)內(nèi)外發(fā)展最快的新技術(shù)之一。它的主要特點(diǎn)是高技術(shù)含量大,新技術(shù)層出不窮。
3、本文就以數(shù)字基帶信號(hào)處理為例簡(jiǎn)要論述了移動(dòng)電話短信息收發(fā)系統(tǒng)下行線路的功能。包括CRC校驗(yàn),卷積編碼,二進(jìn)制移相鍵控及二進(jìn)制差分相位鍵控以及擴(kuò)頻技術(shù)。運(yùn)用C語(yǔ)言對(duì)其各部分功能進(jìn)行軟件編程,最終在DSP開(kāi)發(fā)環(huán)境CCS中仿真實(shí)現(xiàn)。</p><p> 關(guān)鍵詞:DSP,移動(dòng)通信,C語(yǔ)言</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ǔ)知識(shí)…………………………………………….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)部存儲(chǔ)器…………………………………………………….15</p><p> 2.4 在片外設(shè)………………………………………………………..19</p>
13、;<p> DSP的軟件開(kāi)發(fā)方法…………………………………………22</p><p> 3.1 TMS320C54x的C語(yǔ)言開(kāi)發(fā)知識(shí)準(zhǔn)備……………………...22</p><p> 3.2 CCS開(kāi)發(fā)工具…………………………………………………23</p><p> 移動(dòng)通信系統(tǒng)中數(shù)字基帶信號(hào)的處理……………………….31</p>
14、<p> 4.1 DSP在移動(dòng)通信中的應(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 移動(dòng)終端短信息發(fā)送系統(tǒng)的仿真實(shí)現(xiàn)...................................50</p><p> 結(jié)束語(yǔ)………………………..…………………………………………..54</p><p> 致謝………………
16、…….………………………………………………...55</p><p> 參考文獻(xiàn)………………………………………………………..………..56</p><p><b> 附錄一 英文原文</b></p><p><b> 附錄二 漢語(yǔ)翻譯</b></p><p> 附錄三 程序詳細(xì)清單<
17、/p><p><b> 前 言</b></p><p> 在過(guò)去的十幾年里,移動(dòng)通信技術(shù)獲得了很大的進(jìn)步,從傳統(tǒng)的單基站大功率系統(tǒng)到蜂窩移動(dòng)系統(tǒng),從本地覆蓋到區(qū)域、全國(guó)覆蓋,并實(shí)現(xiàn)了國(guó)內(nèi)甚至國(guó)際漫游,從提供話音業(yè)務(wù)到提供包括低速數(shù)據(jù)的綜合業(yè)務(wù),從模擬移動(dòng)通信系統(tǒng)到數(shù)字移動(dòng)通信系統(tǒng)…今后移動(dòng)通信技術(shù)還會(huì)進(jìn)一步的發(fā)展和演進(jìn),隨著第三代移動(dòng)通信技術(shù)的實(shí)現(xiàn)和移動(dòng)通信與互聯(lián)網(wǎng)的
18、融合,未來(lái)無(wú)線數(shù)據(jù)傳輸速率將高達(dá)2 Mbit/s,全球正在迅速向著移動(dòng)信息時(shí)代邁進(jìn)。無(wú)論是2G還是3G,都是建立在一定的通信標(biāo)準(zhǔn)或協(xié)議之上的。移動(dòng)通信的通信協(xié)議分為四層,即應(yīng)用層、網(wǎng)絡(luò)層、數(shù)據(jù)鏈路層和物理層。DSP用于完成物理層的處理,傾向于數(shù)字基帶信號(hào)的處理。</p><p> DSP芯片的高速發(fā)展,一方面得益于集成電路的發(fā)展,另一方面也得益于巨大的市場(chǎng)。經(jīng)過(guò)二十余年的發(fā)展,DSP應(yīng)用領(lǐng)域日漸寬廣,DSP芯片
19、已經(jīng)在信號(hào)處理、通信、雷達(dá)等許多領(lǐng)域得到廣泛的應(yīng)用。本文主要講述的是DSP在移動(dòng)通信中的應(yīng)用 。首先在了解DSP的功能基礎(chǔ)上講述DSP的設(shè)計(jì)流程及算法,并闡述了DSP軟件編程及調(diào)試,這是本節(jié)的精華所在;以及本次設(shè)計(jì)中所使用的具體TMS320C5402的功能、結(jié)構(gòu)和兼容性、資源使用。 在DSP這一部分中的重要部分是集成開(kāi)發(fā)軟件包CCS的簡(jiǎn)介和在具體過(guò)程算法實(shí)現(xiàn)及源文件的的使用實(shí)現(xiàn)。CCS是一個(gè)開(kāi)放的和具有強(qiáng)大集成能力的開(kāi)發(fā)環(huán)境,該套開(kāi)發(fā)環(huán)
20、境集代碼生成工具和代碼調(diào)試工具為一體,能完成DSP系統(tǒng)開(kāi)發(fā)過(guò)程各個(gè)環(huán)節(jié)。它由C編譯器,模擬器軟件,調(diào)試軟件及插件等組成。在這里,主要用于解決移動(dòng)終端短信息收發(fā)系統(tǒng)上行線路的實(shí)現(xiàn)。</p><p><b> DSP概述</b></p><p> 步入21世紀(jì)之后,社會(huì)也進(jìn)入數(shù)字化的時(shí)代,而數(shù)字信號(hào)處理器(Digital signal process,DSP)正是這場(chǎng)
21、數(shù)字化革命的核心。從20世紀(jì)60年代數(shù)字信號(hào)處理理論的崛起,到80年代數(shù)字信號(hào)處理器的發(fā)展迅猛異常。今天數(shù)字信號(hào)處理器已經(jīng)廣泛應(yīng)用在社會(huì)的各個(gè)領(lǐng)域也滲透到我們的生活中,正改變著我們的生活方式。數(shù)字產(chǎn)品必將代替模擬產(chǎn)品,其中數(shù)字信號(hào)處理器將發(fā)揮十分關(guān)鍵的作用,決定著數(shù)字信號(hào)處理的未來(lái)。</p><p><b> DSP芯片基礎(chǔ)知識(shí)</b></p><p> 1. D
22、SP芯片的概念</p><p> DSP 有兩種解釋:一種是digital signal procssing,指的是數(shù)字處理技術(shù);另一種是digital signal procssor,指的是數(shù)字信號(hào)處理器,也稱DSP芯片,是一種專門(mén)用于數(shù)字信號(hào)處理的微處理器。DSP芯片的內(nèi)部采用程序和數(shù)據(jù)總線分開(kāi)的哈佛結(jié)構(gòu),具有專門(mén)的硬件乘法器,采用流水線操作,提供特殊的DSP 指令,可以用來(lái)快速地實(shí)現(xiàn)各種數(shù)字信號(hào)處理算法。
23、根據(jù)數(shù)字信號(hào)處理的要求,DSP芯片一般具有以下幾個(gè)主要特點(diǎn):</p><p> 在一個(gè)指令周期內(nèi)可以完成一次乘法和一次加法;</p><p> 程序和數(shù)據(jù)空間分開(kāi),可以同時(shí)訪問(wèn)數(shù)據(jù)空間和程序空間;</p><p> 片內(nèi)具有快速RAM,通??赏瑫r(shí)訪問(wèn)兩塊芯片;</p><p> 具有低開(kāi)銷或零開(kāi)銷循環(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ù)的存儲(chǔ)空間分開(kāi),各有各的地址總線和數(shù)據(jù)總線。這樣同
25、一條指令可以同時(shí)對(duì)不同的數(shù)據(jù)空間進(jìn)行讀操作和寫(xiě)操作,從而提高處理速度。和哈佛結(jié)構(gòu)相配合使用的就是流水線操作。如果一條指令僅僅對(duì)一個(gè)數(shù)據(jù)空間操作,哈佛結(jié)構(gòu)必然失去其存在的意義,而DSP指令又不可避免地需要一些單操作指令(僅僅對(duì)一個(gè)數(shù)據(jù)空間操作)。為了解決這個(gè)問(wèn)題,DSP采用流水線操作。DSP執(zhí)行一條指令,需要經(jīng)過(guò)取指、譯碼、執(zhí)行等幾個(gè)步驟。所謂流水線操作,就是將各條指令的執(zhí)行時(shí)間重疊,執(zhí)行完第一條指令后,緊接執(zhí)行該指令的第二步,同時(shí)執(zhí)行下
26、一條指令的第一步,使得指令執(zhí)行加快,使大多數(shù)指令都可以在單個(gè)指令周期完成。</p><p> DSP是一種特殊的微處理器,不僅具有可編程性,而且其實(shí)時(shí)運(yùn)行速度超過(guò)通用微處理器。其特殊的內(nèi)部結(jié)構(gòu)、強(qiáng)大的信息處理能力以及較高的運(yùn)行速度,是DSP最重要的特點(diǎn)。</p><p> DSP芯片是一種專用微處理器,是高性能系統(tǒng)的核心。它接收模擬信號(hào),如光和聲,將它們轉(zhuǎn)化成數(shù)字信號(hào),實(shí)時(shí)地對(duì)大量數(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í)鐘和指令類型來(lái)分類的。如果DSP芯片在某時(shí)鐘頻率范圍內(nèi)以任何頻率都能正常工作,除計(jì)算速度外性能沒(méi)有下降,這類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ù)字信號(hào)處理為基礎(chǔ),因此具有數(shù)字處理的全部特點(diǎn):</p><p> ?。?)高速性
31、: DSP系統(tǒng)的運(yùn)行速度較高,最新的 DSP運(yùn)行速度高達(dá) 10GMIPS以上。</p><p> (2)編程方便:可編程DSP可使設(shè)計(jì)人員在開(kāi)發(fā)過(guò)程中靈活方便第對(duì)軟件進(jìn)行修改和升級(jí)。</p><p> ?。?)穩(wěn)定性好:DSP系統(tǒng)以數(shù)字處理為基礎(chǔ),受環(huán)境以及噪聲的影響較小,可靠性高。</p><p> (4)可重復(fù)性好:模擬系統(tǒng)的性能受元器件參數(shù)性能的影響比較大
32、,而數(shù)字系統(tǒng)基本上不受影響,因此數(shù)字系統(tǒng)便于測(cè)試、調(diào)試和大規(guī)模生產(chǎn)。</p><p> ?。?)DSP系統(tǒng)中的數(shù)字部件有高度的規(guī)范性,便于大規(guī)模集成。</p><p> ?。?)性價(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)行算法仿真和高級(jí)語(yǔ)言模擬實(shí)現(xiàn)。為了得到最佳系統(tǒng)性能,在這一步驟應(yīng)確定最佳處理方法。例如,為實(shí)現(xiàn)針對(duì)移動(dòng)通信的視頻顯示,需要在給定的實(shí)現(xiàn)目標(biāo)上作運(yùn)算選擇、模擬和實(shí)現(xiàn)。最終找到既能滿足設(shè)計(jì)又盡可能少的實(shí)現(xiàn)算法。</p><p> 選擇芯片。根據(jù)算法要求(運(yùn)算速度、
34、運(yùn)算精度要求、存儲(chǔ)器需求等)選擇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)換、控制、存儲(chǔ)、輸出等電路)。軟件設(shè)計(jì)主要根據(jù)系統(tǒng)要求和所選DSP芯片編寫(xiě)相應(yīng)的匯編軟件。如果運(yùn)算量系統(tǒng)運(yùn)算量不大,可以采用高級(jí)語(yǔ)言和匯編語(yǔ)言混合編程。本文之討論軟件設(shè)計(jì)。</p><p> 硬件和軟件調(diào)
35、試階段。硬件調(diào)試一般采用硬件仿真器進(jìn)行。軟件調(diào)試一般借助DSP開(kāi)發(fā)工具如軟件模擬器、DSP開(kāi)發(fā)系統(tǒng)或仿真器等進(jìn)行。通過(guò)比較在DSP執(zhí)行的實(shí)時(shí)程序和模擬程序執(zhí)行的情況來(lái)判斷軟件設(shè)計(jì)是否正確。</p><p> ?。?)集成和系統(tǒng)測(cè)試階段。調(diào)試階段完成后,實(shí)時(shí)程序被固化在DSP系統(tǒng)中。DSP系統(tǒng)加入到更大的系統(tǒng)中進(jìn)行測(cè)試,評(píng)估是否完成了設(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ā)展,另一方面也得益于巨大的市場(chǎng)。經(jīng)過(guò)二十余年的發(fā)展,DSP應(yīng)用領(lǐng)域日漸寬廣,DSP芯片已經(jīng)在信號(hào)處理、通信、雷達(dá)等許多領(lǐng)域得到廣泛的應(yīng)用。目前,DSP芯片的價(jià)格也越來(lái)越低,性能價(jià)格比日益提高,具有巨大的應(yīng)用潛力。DSP芯片的應(yīng)用主要有以下9個(gè)方面。&
37、lt;/p><p> (1) 經(jīng)典信號(hào)處理:數(shù)字濾波、自適應(yīng)濾波、快速傅立葉變換、相關(guān)運(yùn)算、頻譜分析、卷積等。</p><p> (2) 現(xiàn)代信號(hào)處理:AR、ARMA、卡爾曼濾波、小波分析等。</p><p> (3)語(yǔ)音處理:語(yǔ)音編碼、語(yǔ)音合成、語(yǔ)音識(shí)別、語(yǔ)音增強(qiáng)、語(yǔ)音郵件、語(yǔ)音存儲(chǔ)等。</p><p> (4)圖象/圖形:二維和三維圖
38、形處理、圖形壓縮與傳輸、圖象識(shí)別、動(dòng)畫(huà)、機(jī)器人視覺(jué)、多媒體、電子地圖、圖象增強(qiáng)等。</p><p> (5) 軍事:保密通信、雷達(dá)處理、聲納處理、導(dǎo)航、全球定位、調(diào)頻電臺(tái)、搜索和反搜索等。</p><p> (6)儀器儀表:頻譜分析、函數(shù)分析、數(shù)據(jù)采集、地震處理等。</p><p> (7)自動(dòng)控制:控制、自動(dòng)駕駛、機(jī)器人控制、磁盤(pán)控制等。</p>
39、<p> (8) 醫(yī)療:助聽(tīng)、超聲設(shè)備、診斷工具、病人監(jiān)護(hù)、心電圖等。</p><p> (9) 家用電器:數(shù)字音響、數(shù)字電視、可視電話、音樂(lè)合成、音調(diào)控制、玩具與游戲等。</p><p> TMS320C54x體系結(jié)構(gòu)</p><p> 在TI DSP中,TMS320C54x是定點(diǎn)的數(shù)字信號(hào)處理器(簡(jiǎn)寫(xiě)為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í)的改進(jìn)哈佛結(jié)構(gòu),是圍繞1條程序總線、3條數(shù)據(jù)總線和4條地址總線而建立起來(lái)的。CPU具有高度并行性并帶有專用的硬件邏輯,提供更高、更快的性能。芯片上集成了片內(nèi)
41、存儲(chǔ)器和在片外設(shè),降低了系統(tǒng)的費(fèi)用,節(jié)省了電路板的空間。另外,C54x具有高度專業(yè)化的指令集,可以提供更快的代數(shù)運(yùn)算和優(yōu)化的高級(jí)語(yǔ)言的操作。</p><p> 所有C54x器件的CPU都是相同的。他們的不同之處在于片內(nèi)存儲(chǔ)容量大小、在片外設(shè)、供電電壓、速度及封裝等方面的差異。C54x器件有多種品種,其特性列于下表</p><p> 表2-1 TMS320C54x特性一覽表</p&
42、gt;<p> C54x的體系結(jié)構(gòu)主要包括中央處理單元(CPU)、片內(nèi)存儲(chǔ)器和在片外設(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傳送從程序存儲(chǔ)器取得的指令碼和立即數(shù)。</p><p> ?、?3條數(shù)據(jù)總線CB,DB和EB連接各個(gè)組成部分,如CPU,數(shù)據(jù)地址產(chǎn)生邏輯,程序地址產(chǎn)生邏輯,在片外設(shè)和數(shù)據(jù)存儲(chǔ)器。CB和DB傳送從數(shù)據(jù)存儲(chǔ)器讀出的操作數(shù),EB傳送要寫(xiě)回存儲(chǔ)器的數(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ù)存儲(chǔ)器地址,可以同時(shí)讀取兩個(gè)操作數(shù)。PB能把存儲(chǔ)在程序空間的數(shù)據(jù)操作數(shù)傳送到乘/累加單元進(jìn)行乘/累加操作,或在執(zhí)行數(shù)據(jù)移動(dòng)指令時(shí),將數(shù)據(jù)傳送到數(shù)據(jù)的某個(gè)目的地。這種傳送能
45、力再加上讀雙操作數(shù)的特點(diǎn),使得C54X器件可支持三操作數(shù)指令的執(zhí)行,如FIR指令(用于設(shè)計(jì)對(duì)稱的FIR濾波器)。</p><p> 表2-2 各種讀寫(xiě)訪問(wèn)總線使用一覽表</p><p> C54X還有一條訪問(wèn)在片外設(shè)的雙向總線。這條總線通過(guò)CPU接口中的總線變換器連接到DB和EB上。使用這條總線進(jìn)行讀和寫(xiě)訪問(wèn)需要兩個(gè)或多個(gè)周期,這取決于外設(shè)的結(jié)構(gòu),表2-2所示出了不同訪問(wèn)所使用的總線情
46、況。</p><p> 2.2 中央處理單元(CPU)</p><p> 所有的C54x器件的CPU都是相同的,主要包括如下一些部件:40比特算術(shù)邏輯單元(ALU);兩個(gè)40比特累加器;桶形移位器;17×17比特乘法器;40比特加法器;比較,選擇和存儲(chǔ)單元(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來(lái)使用,在單周期內(nèi)可同時(shí)完成兩個(gè)16比特的操作。ALU的功能框圖如圖2-2所示。</p><p> ALU有兩個(gè)
48、輸入端,一個(gè)輸出端。它的輸入端有以下幾種數(shù)據(jù)來(lái)源:</p><p><b> 16比特立即數(shù);</b></p><p> 來(lái)自數(shù)據(jù)存儲(chǔ)器的16比特字;</p><p> 暫存器T中的16比特字;</p><p> 來(lái)自數(shù)據(jù)存儲(chǔ)器的兩個(gè)16比特字;</p><p> 來(lái)自數(shù)據(jù)存儲(chǔ)器的32比
49、特字;</p><p> 來(lái)自任意一個(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是存儲(chǔ)器映射的寄存器,它們的內(nèi)容可以被壓入或彈出堆棧,也可以存入存儲(chǔ)器或從存儲(chǔ)器里恢復(fù)。
51、這些寄存器還可用于尋址操作。</p><p> 累加器A和B可以作為ALU或乘/累加單元的目標(biāo)地址,用來(lái)存放它們的結(jié)果,也可以給ALU提供一個(gè)輸入。累加器A和累加器B的不同之處在于累加器A的高位字可以作為乘/累加單元的一個(gè)輸入。</p><p> C54X提供一些與累加器有關(guān)的指令,如保存保護(hù)位指令,在數(shù)據(jù)存儲(chǔ)器里存累加器高位字和低位字指令,傳送32比特累加器字進(jìn)/出數(shù)據(jù)存儲(chǔ)器指令等。
52、每一個(gè)累加器可以暫存另一個(gè)累加器的內(nèi)容。</p><p> 3. 桶形移位寄存器</p><p> 40比特桶形移位器的作用是對(duì)一些操作進(jìn)行標(biāo)定和標(biāo)準(zhǔn)化,可以進(jìn)行0~31位的左移和0~16位的右移。圖2-4為桶形移位寄存器的功能框從圖中可見(jiàn),它的輸入數(shù)據(jù)有以下幾個(gè)來(lái)源:</p><p> 圖2-4桶形移位寄存器功能圖</p><p>
53、 來(lái)自DB的16比特操作數(shù);</p><p> 來(lái)自DB和CB的32比特操作數(shù);</p><p> 來(lái)自兩個(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)行有符號(hào)數(shù)乘有符號(hào)數(shù),無(wú)符號(hào)數(shù)乘無(wú)符號(hào)數(shù),有符號(hào)數(shù)乘無(wú)符號(hào)數(shù)的運(yùn)算。當(dāng)兩個(gè)有符號(hào)數(shù)相乘時(shí),每一個(gè)16比特的操作數(shù)添加一位符號(hào)位,擴(kuò)展成17比特的有符號(hào)數(shù),然后再進(jìn)行運(yùn)算。當(dāng)兩個(gè)無(wú)符號(hào)數(shù)相乘時(shí),在每一個(gè)16比特的操作數(shù)的最高端加一位0,形成17比特操作數(shù)相乘。對(duì)有符號(hào)數(shù)乘無(wú)符號(hào)數(shù)的乘法,有符號(hào)數(shù)做符號(hào)位擴(kuò)展,無(wú)符號(hào)數(shù)在最高端補(bǔ)0
56、。在兩個(gè)小數(shù)相乘時(shí),兩個(gè)16比特二進(jìn)制補(bǔ)碼相乘會(huì)產(chǎn)生兩個(gè)符號(hào)位,可以通過(guò)將乘法器輸出結(jié)果左移一位去掉一個(gè)多余的符號(hào)位。</p><p> 圖2-5中的加法器包括一個(gè)零檢測(cè)器,一個(gè)舍入器(二進(jìn)制補(bǔ)碼)和溢出/飽和邏輯。舍入的過(guò)程是先將加到目標(biāo)累加器,然后將目標(biāo)累加器的低16位清零。在一些乘法,乘/累加(MAC),乘/減法(MAS)的指令后面加上后綴“R”,就可執(zhí)行四舍五入操作。LMS指令在更新系數(shù)時(shí),也執(zhí)行舍入操
57、作以減少量化誤差。加法器的輸入一個(gè)來(lái)自乘法器的輸出,一個(gè)來(lái)自兩個(gè)累加器之一。一旦乘法操作完成,結(jié)果就被傳送給目標(biāo)累加器A或B。</p><p> 5. 比較,選擇和存儲(chǔ)單元(CSSU)</p><p> 比較,選擇和存儲(chǔ)單元(CSSU)是為Viterbi蝶式運(yùn)算中的加/比較/選擇操作(ACS操作)而設(shè)計(jì)的專用硬件電路,它常常與ALU一起來(lái)完成ACS操作。這個(gè)電路支持均衡器和通道解碼中各
58、種Viterbi蝶式算法。</p><p><b> 6. 指數(shù)編碼器</b></p><p> 指數(shù)編碼器是用于支持單周期EXP指令的專用硬件電路。EXP指令可以對(duì)累加器中的值進(jìn)行求指數(shù)運(yùn)算,求得的指數(shù)以二進(jìn)制補(bǔ)碼的形式存放在暫存器T中。這里指數(shù)的定義為累加器中多余符號(hào)位的個(gè)數(shù)減去8,因此,指數(shù)的范圍是-8~31。</p><p><
59、;b> 2.3內(nèi)部存儲(chǔ)器</b></p><p> C54X共有192K×16比特存儲(chǔ)器空間,分成3個(gè)獨(dú)立可選的部分:程序空間,數(shù)據(jù)空間和I/O空間。所有的C54X器件都包含片內(nèi)的隨機(jī)存取存儲(chǔ)器(RAM)和只讀存儲(chǔ)器(ROM)。RAM又有兩種類型:雙重訪問(wèn)RAM(DARAM)和單次訪問(wèn)RAM(SARAM)。另外,C54X有26個(gè)CPU寄存器,外設(shè)寄存器映射到數(shù)據(jù)存儲(chǔ)器空間。<
60、/p><p><b> 片內(nèi)ROM</b></p><p> 片內(nèi)ROM是程序存儲(chǔ)器空間的一部分。在某些情況下,也可以是數(shù)據(jù)存儲(chǔ)器空間的一部分。在ROM容量比較?。ㄈ?K)的器件中,ROM包含一個(gè)引導(dǎo)裝入程序,可以對(duì)更快的片內(nèi)RAM或片外RAM進(jìn)行引導(dǎo)。在ROM容量比較大的器件中,ROM中的一部分被同時(shí)映射到數(shù)據(jù)空間和程序空間。容量較大的ROM也是定制ROM,用戶可以
61、以目標(biāo)文件(Object File)的格式提供要寫(xiě)入ROM的編碼和數(shù)據(jù),德州儀器(TI)公司可對(duì)此進(jìn)行ROM編程。</p><p> 2. 片內(nèi)雙重訪問(wèn)RAM(DARAM)</p><p> 片內(nèi)DARAM是通過(guò)分塊來(lái)進(jìn)行組織的。因?yàn)槊總€(gè)DARAM塊在單機(jī)器周期可以被訪問(wèn)兩次,所以CPU可以在一個(gè)周期內(nèi)對(duì)同一DARAM塊進(jìn)行讀和寫(xiě)。DARAM一般總是映射到數(shù)據(jù)空間,主要用來(lái)存儲(chǔ)數(shù)據(jù)。也
62、可以映射到程序空間,用來(lái)存儲(chǔ)程序編碼。</p><p> 3. 片內(nèi)單次訪問(wèn)RAM(SARAM)</p><p> 片內(nèi)SARAM也是通過(guò)分塊來(lái)進(jìn)行組織的,每一塊在單機(jī)器周期內(nèi)只能進(jìn)行一次讀或?qū)懺L問(wèn)。SARAM一般總是映射到數(shù)據(jù)空間,主要用來(lái)存儲(chǔ)數(shù)據(jù)。也可以映射到程序空間,用來(lái)存儲(chǔ)程序編碼。</p><p><b> 存儲(chǔ)器映射寄存器</b&g
63、t;</p><p> 64KB數(shù)據(jù)存儲(chǔ)器空間中包含有CPU和在片外設(shè)中的存儲(chǔ)器映射寄存器,這些寄存器駐留在數(shù)據(jù)0頁(yè)(數(shù)據(jù)地址0000H-007FH)中。存儲(chǔ)器映射的訪問(wèn)方式可以簡(jiǎn)化對(duì)它們的訪問(wèn),便于上下文轉(zhuǎn)換時(shí)存取寄存器,便于在累加器具和其他寄存器間傳送信息。數(shù)據(jù)0頁(yè)包括以下內(nèi)容。</p><p> ● CPU寄存器:一共26個(gè),訪問(wèn)時(shí)不需要等待狀態(tài)。</p><
64、p> ● 外設(shè)寄存器:是外設(shè)電路中控制和數(shù)據(jù)寄存器。這些寄存器駐留在0020H~005FH中并且在一個(gè)專用的外設(shè)總線結(jié)構(gòu)中。當(dāng)訪問(wèn)它們時(shí),至少需要兩個(gè)周期。不同的C54X器件具有不同的外設(shè),其所需的周期數(shù)也有所不同。</p><p> ● 便箋式RAM塊:位于數(shù)據(jù)存儲(chǔ)器中60H~70H單元,包括32字的DARAM,用于各種存儲(chǔ),以避免一個(gè)大的RAM塊被分割開(kāi)。</p><p>
65、 表2-3列出了CPU中存儲(chǔ)器映射寄存器,我們把它們簡(jiǎn)單總結(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è)累加器都是存儲(chǔ)器映射方式,分成累加器低位字(AL,BL),累加器高位字(AH,BH)和累加器保護(hù)位(AG,BG)。</p><p> (4) 暫存器(T):暫存器T有許多用處,例如,它可存放下列值。</p>
67、<p> 。乘法指令和乘/累加指令的一個(gè)操作數(shù)。</p><p> 。帶有移位操作指令的動(dòng)態(tài)移位值。如ADD,LD和SUB。</p><p> 。BITT指令的一個(gè)動(dòng)態(tài)位地址。</p><p> 。DADST和DSADT指令中用的轉(zhuǎn)移尺度。這些指令用于Viterbi解碼的ACS操作。</p><p> (5) 狀態(tài)轉(zhuǎn)移
68、寄存器(TRN):TRN用來(lái)在Viterbi算法中記錄轉(zhuǎn)移路徑。CMPS指令比較選擇最大值并將其存儲(chǔ)。在累加器高位字和低位字比較的基礎(chǔ)上,修改TRN寄存器內(nèi)容。</p><p> (6) 輔助寄存器(AR0!AR7):8個(gè)16位的輔寄存器可以被CPU訪問(wèn),可以用輔助寄存器算術(shù)單元(RAU)進(jìn)行修改。輔助寄存器最主要的功能是產(chǎn)生訪問(wèn)數(shù)據(jù)空間的16位地址,也可以作為通用寄存器或計(jì)數(shù)器來(lái)使用。</p>
69、<p> (7) 堆棧指針寄存器(SP):16位堆棧指針寄存器(SP)存有系統(tǒng)堆棧棧頂?shù)牡刂?。SP總是指向最后一個(gè)壓入堆棧的元素。在中斷,陷阱,調(diào)用,返回中要使用堆棧。PSHD,PSHM,POPM指令也要對(duì)堆棧進(jìn)行操作。在數(shù)據(jù)壓入堆棧之前,SP中的16位值要執(zhí)行遞減操作,然后才能將數(shù)據(jù)壓入堆棧。而當(dāng)數(shù)據(jù)彈出堆棧之后,SP的值要執(zhí)行增量運(yùn)算。</p><p> 表2-3 CPU中存儲(chǔ)器映射寄存器<
70、;/p><p> (8) 循環(huán)緩沖器大小寄存器(BK):在循環(huán)尋址中,ARAU利用16位循環(huán)緩沖器大小寄存器(BK)來(lái)指明數(shù)據(jù)塊大小。</p><p> (9) 塊重復(fù)寄存器(BRC,RSA和REA):當(dāng)一個(gè)代碼段要重復(fù)執(zhí)行時(shí),用16位的塊重復(fù)計(jì)數(shù)寄存器(BRC)來(lái)指明代碼段重復(fù)執(zhí)行的次數(shù)。16位的塊重復(fù)開(kāi)始地址寄存器(RSA)和16位的塊重復(fù)結(jié)束地址寄存器(REA)分別存放要重復(fù)執(zhí)行的程
71、序存儲(chǔ)器的首地址和末地址。</p><p> (10) 處理器模式狀態(tài)寄存器(PMST):處理器模式狀態(tài)寄存器(PMST)控制C54X器件的存儲(chǔ)器配置狀態(tài),它的內(nèi)部存放存儲(chǔ)器建立時(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)前程序存儲(chǔ)器地址的高7位,即進(jìn)行頁(yè)選擇。</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> 可編程塊開(kāi)關(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引腳用來(lái)監(jiān)視外部器件的狀態(tài),當(dāng)實(shí)時(shí)處理不能被打斷時(shí),可以用BIO信號(hào)代替中斷,根據(jù)BIO引腳的輸入狀態(tài)決定是否執(zhí)行條件轉(zhuǎn)移。XF是一個(gè)軟件控制的輸
75、出引腳,可以給外部器件發(fā)信號(hào)。通過(guò)對(duì)狀態(tài)寄存器ST1中的XF字段置位或清零,使XF引腳輸出高電位或低電位。</p><p> 2.編程等待狀態(tài)產(chǎn)生器</p><p> 軟件可編程等待狀態(tài)產(chǎn)生器可將外部總線周期延長(zhǎng)到7個(gè)機(jī)器周期,以便與慢速的片外存儲(chǔ)器和I/O器件接口。軟件等狀態(tài)產(chǎn)生器由16比特的軟件等待狀態(tài)寄存器(SWWSR)控制,不需要任何外部硬件。在這里,由于程序空間(64KB)和
76、數(shù)據(jù)空間(64KB)都被分成2個(gè)32KB的存儲(chǔ)塊,I/O空間作為1個(gè)64KB字的塊,所以相應(yīng)就有5個(gè)塊。SWWSR寄存器中有5個(gè)3比特字段分別對(duì)應(yīng)上述5個(gè)塊,這5個(gè)塊分別可在SWWSK中設(shè)置0~7個(gè)等狀態(tài)。</p><p><b> 3.編程塊開(kāi)關(guān)模塊</b></p><p> 在程序存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)器中,當(dāng)訪問(wèn)越過(guò)了存儲(chǔ)塊的邊界時(shí),可編程塊開(kāi)關(guān)可以自動(dòng)插入一個(gè)周
77、期。同樣,當(dāng)訪問(wèn)從程序存儲(chǔ)器跳到數(shù)據(jù)存儲(chǔ)器時(shí),也會(huì)插入一個(gè)周期。這個(gè)附加周期可防止總線競(jìng)爭(zhēng),使得存儲(chǔ)器在其他器件驅(qū)動(dòng)總線之前,先釋放掉總線。塊開(kāi)關(guān)可控制的存儲(chǔ)塊大小是由存儲(chǔ)開(kāi)關(guān)控制寄存器(BSCR)確定的。</p><p><b> 4.定時(shí)器</b></p><p> 片內(nèi)硬件定時(shí)器是一個(gè)可編程控制的定時(shí)器,包括定時(shí)寄存器(TIM),周期寄存器(PRD)和定時(shí)控
78、制寄存器(TCR),它們能產(chǎn)生周期性的中斷信號(hào)。定時(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í)中斷。用戶可能過(guò)狀態(tài)位的設(shè)置使定時(shí)器停止,重啟,復(fù)位或無(wú)效。</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í)鐘信號(hào);二是由一個(gè)外部時(shí)鐘源直接驅(qū)動(dòng)。PLL電路可以通過(guò)對(duì)時(shí)鐘源信號(hào)倍頻來(lái)產(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比特的并行口,可以用來(lái)與一個(gè)主機(jī)進(jìn)行連接。通過(guò)既能被主機(jī)訪問(wèn)又能被C54X訪問(wèn)的C54X片內(nèi)存儲(chǔ)器,可在C54X和主機(jī)之間交換信息。</p&
81、gt;<p> HPI作為一個(gè)外設(shè)接到主機(jī)上,主機(jī)是接口的控制者,因此主機(jī)對(duì)接口的訪問(wèn)就變得非常容易。主機(jī)通過(guò)專用地址,數(shù)據(jù)寄存器和HPI控制寄存器與HPI通信。C54X不能直接訪問(wèn)專用的地址和數(shù)據(jù)寄存器,但主機(jī)和C54X都可直接訪問(wèn)HPI控制寄存器。圖2-6示出了HPI的功能框圖。</p><p> 圖2-6 HPI功能圖</p><p> DSP的軟件開(kāi)發(fā)方法<
82、;/p><p> DSP軟件的開(kāi)發(fā)包括C語(yǔ)言開(kāi)發(fā)和匯編語(yǔ)言的開(kāi)發(fā)。相對(duì)于C語(yǔ)言開(kāi)發(fā)來(lái)說(shuō),匯編語(yǔ)言是一件比較繁瑣的事情,而且匯編語(yǔ)言的可移植性比較差,有鑒于此,目前的很多DSP都有相應(yīng)的高級(jí)語(yǔ)言編程,從而使DSP軟件的開(kāi)發(fā)速度大大加快,并便于修改和移植。</p><p> 3.1 TMS320C54x的C語(yǔ)言開(kāi)發(fā)知識(shí)準(zhǔn)備</p><p><b> 1 .存
83、儲(chǔ)器模式</b></p><p> TMS320C54x定點(diǎn)處理器有兩種類型的存儲(chǔ)器:程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器。在程序存儲(chǔ)器中包含的是可執(zhí)行代碼。而數(shù)據(jù)存儲(chǔ)器中則是一些程序所需的外部變量、靜態(tài)變量和系統(tǒng)堆棧。</p><p> 2 C編譯器生成的塊</p><p> 編譯器對(duì)C語(yǔ)言程序編譯后生成若干個(gè)可以進(jìn)行重新定位的代碼和數(shù)據(jù)塊,這些可以用不同的
84、方式分配到存儲(chǔ)器以符合不同系統(tǒng)配置的需要。這些塊分為兩種類型,一種是已初始化塊,另一種是未初始化塊。</p><p> 已初始化塊主要包括數(shù)據(jù)表和可執(zhí)行代碼。C編譯器共創(chuàng)建4個(gè)已初始化塊:.text塊、.cinit塊、.const塊和.switch塊。</p><p> 未初始化塊用于保留存儲(chǔ)空間,程序利用這些空間運(yùn)行時(shí)創(chuàng)建和存儲(chǔ)變量。C編譯器創(chuàng)建3個(gè)未初始化塊:.bss塊、.stac
85、k塊、.sysmen塊。</p><p><b> 3 系統(tǒng)初始化</b></p><p> 在C程序運(yùn)行之前,首相必須建立C語(yǔ)言的運(yùn)行環(huán)境,這項(xiàng)任務(wù)由C語(yǔ)言初始化程序(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)行支持庫(kù)中,必須與其他的C目標(biāo)模塊相鏈接。在鏈接時(shí),需要包含rts.lib運(yùn)行支持庫(kù),并使用-c,-cr選項(xiàng),c_int00就會(huì)自動(dòng)鏈入。在包含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塊中。對(duì)全局和靜態(tài)變量進(jìn)行初始化。在小模式中,常數(shù)表也是從.cinit塊拷貝到.bss塊中。在RAM初始化模式中,此項(xiàng)任務(wù)由裝入器完成。</p><p> 對(duì)小模式而言,設(shè)
88、置頁(yè)指針DP,指向.bss塊的全局存儲(chǔ)器頁(yè)</p><p> 調(diào)用main()函數(shù),開(kāi)始運(yùn)行程序。</p><p> 3.2 CCS開(kāi)發(fā)工具</p><p> 為了提高實(shí)時(shí)信號(hào)處理系統(tǒng)的開(kāi)發(fā)過(guò)程,TI公司針對(duì)TMS320C2XX,C54X\C54XX\C55X,C6X,C3X\C4X分別提供了一套全新的集成開(kāi)發(fā)環(huán)境CCS。</p><p&
89、gt; CCS是一個(gè)開(kāi)放的和具有強(qiáng)大集成能力的開(kāi)發(fā)環(huán)境,該套開(kāi)發(fā)環(huán)境集代碼生成工具和代碼調(diào)試工具為一體,能完成DSP系統(tǒng)開(kāi)發(fā)過(guò)程各個(gè)環(huán)節(jié)。它由C編譯器,模擬器軟件,調(diào)試軟件及插件等組成。</p><p> CCS提供了非常良好的用戶界面,面向窗口,支持鼠標(biāo),菜單式接口,具備豐富的圖形圖標(biāo),輔之以完整的可即時(shí)訪問(wèn)的在線幫助文檔,使設(shè)計(jì)人員不必記憶復(fù)雜命令,就能夠輕松的掌握和使用CCS開(kāi)發(fā)系統(tǒng)。</p>
90、;<p> 下面我們將介紹CCS的設(shè)計(jì)過(guò)程及其查看調(diào)試中信息的方法和畫(huà)圖功能(即數(shù)據(jù)顯示功能),這些對(duì)于程序的調(diào)試和算法的模擬都有很大的幫助,而這里不再贅述CCS的一般應(yīng)用和操作過(guò)程。</p><p> 1.CCS的設(shè)計(jì)過(guò)程</p><p> 這里將簡(jiǎn)單介紹CCS的設(shè)計(jì)過(guò)程。圖3-1顯示的是DSP實(shí)時(shí)系統(tǒng)軟件開(kāi)發(fā)流程,其中最常見(jiàn)的開(kāi)發(fā)路徑如圖中陰影部分所示,其他部分是可
91、以選擇的。</p><p><b> 工具說(shuō)明:</b></p><p> (1)TMS320C54X C編譯器把C源代碼轉(zhuǎn)換為T(mén)MS320C54X匯編語(yǔ)言代碼。</p><p> (2)匯編器把匯編語(yǔ)言源代碼轉(zhuǎn)換為機(jī)器語(yǔ)言COFF目標(biāo)語(yǔ)言。源代碼文件可以包括指令,匯編語(yǔ)言偽指令及宏偽指令。用戶可以匯編偽指令控制匯編過(guò)程的各個(gè)方面,例如原
92、列表格式,數(shù)據(jù)的對(duì)準(zhǔn)以及段的內(nèi)容。</p><p> (3)助記符-代數(shù)式原程序翻譯程序?qū)⒂弥浄噶罘绞降膮R編代碼翻譯成用代數(shù)指令方式的匯編語(yǔ)言程序。</p><p> (4)歸檔器允許用戶把文件組收集到單個(gè)歸檔文件中,例如:用戶可以把幾個(gè)宏收集到宏庫(kù)內(nèi),這樣匯編器將搜索該庫(kù)并調(diào)用被源文件稱為宏的庫(kù)成員。用戶也可以使用歸檔器把目標(biāo)文件組收集到目標(biāo)庫(kù)內(nèi),在庫(kù)內(nèi)鏈接器將包括用于解決鏈接期
93、間外部引用的庫(kù)成員。</p><p> 圖3-1 DSP實(shí)時(shí)系統(tǒng)軟件開(kāi)發(fā)流程</p><p> 鏈接器把目標(biāo)文件組合為單個(gè)可執(zhí)行的COFF目標(biāo)模塊.當(dāng)它創(chuàng)建可執(zhí)行模塊時(shí),它實(shí)現(xiàn)重定位并解決外部引用。鏈接器接受匯編器所創(chuàng)建的可重定位COFF目標(biāo)文件作為輸入,它也接受歸檔器庫(kù)成員以及由前次鏈接器運(yùn)行所創(chuàng)建的輸出模塊。鏈接器偽指令允許用戶組合目標(biāo)文件段,把段或符號(hào)約束在某地址或在存儲(chǔ)器范圍內(nèi)
94、,并定義全局符號(hào)。</p><p> (6) 絕對(duì)列表器生成可以被重新匯編從而產(chǎn)生目標(biāo)文件絕對(duì)地址列表的文件。</p><p> (7) 交叉引用列表器使用目標(biāo)文件以產(chǎn)生交叉引用列表,此列表顯示符號(hào)及其定義,以及在已鏈接源文件內(nèi)對(duì)它們的引用。</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)試過(guò)程中,需要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、的浮動(dòng)窗口就是CCS所顯示的寄存器的內(nèi)容,基本上包括了用戶所要查看的的內(nèi)容。窗口寄存器的內(nèi)容以黑色或紅色表示,未更新的值為黑色,更新的值為紅色。在這個(gè)窗口中,用戶也可以直接修改寄存器的值以方便調(diào)試程序。修改寄存器值只要雙擊浮動(dòng)窗口中的一個(gè)寄存器,彈出如圖3-3所示對(duì)話框,在對(duì)話框中直接輸入新的數(shù)據(jù)就可以了。</p><p> 圖3-3 修改寄存器對(duì)話框</p><p><b>
98、 (2)查看數(shù)據(jù)</b></p><p> 查看數(shù)據(jù)也是程序調(diào)試中常用的手段之一。在CCS中可以用多種形式查看數(shù)據(jù)單元中的值,以滿足各種需要。</p><p> 查看數(shù)據(jù)單元時(shí),可選擇View菜單中的Memory,會(huì)彈出如圖3-4所示窗口。</p><p><b> 其中:</b></p><p>
99、 Adress表示所要查看數(shù)據(jù)的開(kāi)始單元地址,注意必須以0x開(kāi)頭;</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í)自動(dòng)打開(kāi)反匯編窗口,顯示反匯編的程序。反匯編的程序和工程中世紀(jì)的程序比較有一些小的變化,例如,常數(shù)已經(jīng)不再以符</p><p> 圖3-5 反匯編窗口設(shè)置</p><p>
101、號(hào)顯示而是以數(shù)據(jù)顯示,注釋已經(jīng)不再顯示。為了方便調(diào)試,一般情況下仍然需要打開(kāi)源程序進(jìn)行查看。反匯編窗口顯示的格式可以在CCS的option中Dis-assembly中進(jìn)行設(shè)置,如圖3-5所示。 </p><p> 在反匯編窗口中默認(rèn)的開(kāi)始地址從代碼段起點(diǎn)顯示,運(yùn)行時(shí)更新顯示內(nèi)容。如果在當(dāng)前窗口查看其他地址內(nèi)容,可以在反匯編窗口右擊,將彈出Start Adress就可以顯示選擇的地址的內(nèi)容,同時(shí)PC指針不會(huì)改
102、變。 </p><p> 3. CCS的畫(huà)圖功能</p><p> CCS具有強(qiáng)大的畫(huà)圖功能,這一點(diǎn)在數(shù)字信號(hào)處理中有很大的幫助,可以從總體上分析處理前和處理后的數(shù)據(jù),以觀察程序運(yùn)行的效果。</p><p> 在CCS的View菜單下選擇Graph將彈出選擇菜單。打開(kāi)畫(huà)圖的方法如圖3-6所示。</p><p>
103、 圖3-6 打開(kāi)畫(huà)圖的方法</p><p> 選擇4個(gè)選項(xiàng)的任何一個(gè)都將彈出同樣的設(shè)置,如圖3-7所示。</p><p><b> 圖3-7畫(huà)圖設(shè)置</b></p><p> 在這些選項(xiàng)中有一些是圖形的設(shè)置,例如光標(biāo)顯示的類型(Curosor Mode)、格點(diǎn)顯示類型(Grid Style)、坐標(biāo)顯示選擇(Axes Display)等,這
104、些設(shè)置不影響查看數(shù)據(jù)的整體情況。在這里不做描述,請(qǐng)參考CCS的幫助文件。</p><p> ?。_(kāi)始地址(Starr Address):輸入顯示數(shù)據(jù)的開(kāi)始地址,由所需要查看的數(shù)據(jù)開(kāi)始點(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位有符號(hào)數(shù)、16位無(wú)符號(hào)數(shù)、32位無(wú)符號(hào)數(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)可以看到畫(huà)圖類型選項(xiàng),分別有:</p><p> Signal Time 畫(huà)一組數(shù)據(jù)的時(shí)域圖;</p><p> Dual Time 畫(huà)兩組數(shù)據(jù)時(shí)
107、域圖;</p><p> FFT Magnitude 畫(huà)數(shù)據(jù)的FFT功率譜圖;</p><p> Complex FFT 以復(fù)數(shù)輸入畫(huà)FFT功率譜;</p><p> FFT Magnitude and Phase 在FFT Magnitude基礎(chǔ)上加相位;</p><p> FFT Waterfall 畫(huà)出按照時(shí)間序列計(jì)算出的
108、FFT幅頻圖;</p><p> Constellation 畫(huà)坐標(biāo)可以選擇適合用戶的坐標(biāo)圖;</p><p> Eye Disgran 畫(huà)出數(shù)字信號(hào)波形的眼圖。</p><p> 移動(dòng)通信系統(tǒng)中數(shù)字基帶信號(hào)的處理</p><p> 4.1 DSP在移動(dòng)通信中的應(yīng)用</p><p> 近十幾年,數(shù)字移動(dòng)通信得
109、到了迅猛發(fā)展。以GSM為代表的第二代數(shù)字移動(dòng)通信(2G)在全世界范圍內(nèi)得到了廣泛的應(yīng)用。自1998年ITU提出IMT2000概念以來(lái),各國(guó)通信專家和著名電信商都在為制定一個(gè)統(tǒng)一、高效的無(wú)線移動(dòng)標(biāo)準(zhǔn)而努力。第三代移動(dòng)通信(3G)產(chǎn)品的目標(biāo)在于提供一個(gè)全球統(tǒng)一的、可兼容多種通信制式的無(wú)線傳輸空中接口,并能提供寬帶數(shù)據(jù)業(yè)務(wù)。3G產(chǎn)品廣泛地應(yīng)用了CDMA(碼分多址)、智能天線、軟件無(wú)線電和多用戶檢測(cè)等尖端技術(shù)。在3G產(chǎn)品尚未大規(guī)模問(wèn)世前,兼容2
110、G產(chǎn)品、同時(shí)體現(xiàn)3G技術(shù)優(yōu)勢(shì)的過(guò)渡產(chǎn)品(2.5G產(chǎn)品)將會(huì)成為市場(chǎng)主流。</p><p> 無(wú)論是2G、2.5G,還是3G,都是建立在一定的通信標(biāo)準(zhǔn)或協(xié)議之上的。移動(dòng)通信的通信決議通常分為4層,即應(yīng)用層、網(wǎng)絡(luò)層、數(shù)據(jù)鏈路層和物理層。根據(jù)這種分層協(xié)議,移動(dòng)通信終端幾乎都采用圖4-1所示的結(jié)構(gòu)。其中,RF(射頻)部分負(fù)責(zé)無(wú)線信號(hào)的收發(fā),ABB(模擬基帶)負(fù)責(zé)A/D和D/A變換及控制接口等,DBB(數(shù)字基帶)負(fù)責(zé)四層
111、軟件的運(yùn)行,完成各層功能。</p><p> 由圖4-1可見(jiàn),DBB部分包括DSP、微處理器(MCU)、存儲(chǔ)器和硬件邏輯等。其中,MCU用于完成應(yīng)用層(如人機(jī)界面MMI)、網(wǎng)絡(luò)層和數(shù)據(jù)鏈路層的處理,傾向子系統(tǒng)控制;DSP用于完成物理層的處理,傾向于數(shù)字基帶信號(hào)的處理,包括通用的信號(hào)處理(如 FIR濾波、FFT葉等)和移動(dòng)通信的信號(hào)處理(如 CRC校驗(yàn)、信道編碼、數(shù)據(jù)調(diào)制、擴(kuò)頻調(diào)制和 Viterbi譯碼等)。&l
溫馨提示
- 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于fpga數(shù)字基帶信號(hào)設(shè)計(jì)
- 通信系統(tǒng)中基帶信號(hào)的優(yōu)化方法研究.pdf
- 移動(dòng)WiMAX系統(tǒng)基帶信號(hào)陣列DSP設(shè)計(jì).pdf
- 高速跳頻系統(tǒng)中數(shù)字基帶信號(hào)處理器的設(shè)計(jì)與實(shí)現(xiàn).pdf
- TDD通信系統(tǒng)基帶信號(hào)的工程實(shí)現(xiàn).pdf
- 基于GPU的通信基帶信號(hào)處理并行算法設(shè)計(jì).pdf
- 基于fpga的基帶信號(hào)的位同步信號(hào)提取畢業(yè)設(shè)計(jì)
- 數(shù)字調(diào)頻激勵(lì)器——基帶信號(hào)的處理.pdf
- 數(shù)字基帶信號(hào)研究[文獻(xiàn)綜述]
- 基于FPGA數(shù)字基帶信號(hào)設(shè)計(jì)初稿).docx
- 基于FPGA數(shù)字基帶信號(hào)設(shè)計(jì)定稿).docx
- OFDM中頻和基帶信號(hào)處理系統(tǒng)設(shè)計(jì).pdf
- GPS衛(wèi)星信號(hào)模擬器的數(shù)字基帶信號(hào)處理實(shí)現(xiàn).pdf
- 基于matlab的數(shù)字基帶通信系統(tǒng)仿真畢業(yè)設(shè)計(jì)
- 無(wú)線通信基帶信號(hào)處理核心算法模塊設(shè)計(jì).pdf
- AES基帶信號(hào)移動(dòng)監(jiān)測(cè)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- TDD數(shù)字收發(fā)系統(tǒng)基帶信號(hào)處理中關(guān)鍵技術(shù)研究與實(shí)現(xiàn).pdf
- OFDM基帶信號(hào)處理系統(tǒng)的FPGA實(shí)現(xiàn).pdf
- 軟件無(wú)線電系統(tǒng)中基帶信號(hào)處理研究.pdf
- 畢業(yè)論文-基于fpga數(shù)字基帶信號(hào)設(shè)計(jì)【精校排版】
評(píng)論
0/150
提交評(píng)論