第8章數(shù)字信號(hào)處理的實(shí)現(xiàn)及應(yīng)用g_第1頁(yè)
第8章數(shù)字信號(hào)處理的實(shí)現(xiàn)及應(yīng)用g_第2頁(yè)
第8章數(shù)字信號(hào)處理的實(shí)現(xiàn)及應(yīng)用g_第3頁(yè)
第8章數(shù)字信號(hào)處理的實(shí)現(xiàn)及應(yīng)用g_第4頁(yè)
第8章數(shù)字信號(hào)處理的實(shí)現(xiàn)及應(yīng)用g_第5頁(yè)
已閱讀5頁(yè),還剩82頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第8章

數(shù)字信號(hào)處理的實(shí)現(xiàn)及應(yīng)用數(shù)字信號(hào)處理及應(yīng)用主要內(nèi)容8.1概述8.2DSP系統(tǒng)8.3DSP產(chǎn)品簡(jiǎn)介8.4DSP的硬件結(jié)構(gòu)8.5DSP的軟件體系8.6DSP應(yīng)用舉例8.1概述

8.1.1數(shù)字信號(hào)處理的實(shí)現(xiàn)數(shù)字信號(hào)處理的基礎(chǔ)是算法,算法一旦確立,設(shè)計(jì)者就要尋找適當(dāng)?shù)耐緩郊右詫?shí)現(xiàn)。數(shù)字信號(hào)處理的實(shí)現(xiàn)方法一般有以下幾種。(1)在通用計(jì)算機(jī)上用軟件實(shí)現(xiàn)(2)用單片機(jī)來(lái)實(shí)現(xiàn)(3)用通用的可編程DSP芯片來(lái)實(shí)現(xiàn)(4)在通用計(jì)算機(jī)系統(tǒng)中加上加速卡來(lái)實(shí)現(xiàn)(5)利用專用的DSP芯片來(lái)實(shí)現(xiàn)在上述幾種實(shí)現(xiàn)方法中,第(1)種方法速度太慢,不能用于實(shí)時(shí)系統(tǒng),只能用于教學(xué)與仿真研究。但對(duì)非實(shí)時(shí)或準(zhǔn)實(shí)時(shí)系統(tǒng)來(lái)說(shuō)是很有吸引力的;第(2)種方法由于單片機(jī)采用的是馮·諾依曼總線結(jié)構(gòu),單片機(jī)系統(tǒng)復(fù)雜,尤其是乘法運(yùn)算速度慢,在運(yùn)算量大的實(shí)時(shí)信號(hào)處理系統(tǒng)中很難有所作為;第(4)種和第(5)種方法專用性強(qiáng),應(yīng)用受到很大限制,且第(4)種方法也不便于系統(tǒng)獨(dú)立運(yùn)行;只有第(3)種方法為信號(hào)處理技術(shù)應(yīng)用于工程實(shí)際提供了可能。8.1.2DSP芯片及其主要特點(diǎn)1.什么是DSPDSP從字面上來(lái)說(shuō)有兩種解釋:一是狹義的理解,英文是DigitalSignalProcessor,譯為數(shù)字信號(hào)處理器;二是廣義的理解,英文是DigitalSignalProcessing,譯為數(shù)字信號(hào)處理技術(shù)。本章主要涉及前者,即數(shù)字信號(hào)處理器,又稱為DSP芯片。美國(guó)TI公司從20世紀(jì)80年代初推出了第一款數(shù)字信號(hào)處理器TMS32010后,強(qiáng)調(diào)運(yùn)算處理的實(shí)時(shí)性,因此除了具備普通微處理器所強(qiáng)調(diào)的高速運(yùn)算和控制功能外,主要針對(duì)實(shí)時(shí)數(shù)字信號(hào)處理,在處理器結(jié)構(gòu)、指令系統(tǒng)和數(shù)據(jù)流程上做了大的改動(dòng)。2.DSP的主要特點(diǎn)DSP是一種專門(mén)用于對(duì)數(shù)字信號(hào)進(jìn)行快速、實(shí)時(shí)處理的微處理器,其特點(diǎn)如下:(1)采用了數(shù)據(jù)總線和程序總線分離的哈佛結(jié)構(gòu)及改進(jìn)的哈佛結(jié)構(gòu)。哈佛結(jié)構(gòu)的主要特點(diǎn)是將程序和數(shù)據(jù)存儲(chǔ)在不同的存儲(chǔ)空間,即程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器是兩個(gè)互相獨(dú)立的存儲(chǔ)器,每個(gè)存儲(chǔ)器獨(dú)立編址,獨(dú)立訪問(wèn),如圖8.1所示。圖8.1哈佛結(jié)構(gòu)示意圖現(xiàn)在的DSP普遍采用改進(jìn)的哈佛結(jié)構(gòu),其結(jié)構(gòu)、特點(diǎn)是:①允許數(shù)據(jù)存放在程序存儲(chǔ)器中,并被算術(shù)指令運(yùn)算指令直接使用,增強(qiáng)了靈活性。②指令存儲(chǔ)在高速緩沖器(Cache)中,當(dāng)執(zhí)行本指令時(shí),不需要再?gòu)拇鎯?chǔ)器中讀取指令,節(jié)省一個(gè)機(jī)器周期的時(shí)間。(2)大多采用流水線以減少指令執(zhí)行時(shí)間,從而增強(qiáng)處理器的處理能力。TMS320系列芯片的流水線深度為2~6級(jí)不等。圖8.2所示為一個(gè)三級(jí)流水線操作示意圖。圖8.2三級(jí)流水線操作示意圖(3)專門(mén)的硬件乘法器和乘-累加指令MAC。在數(shù)字信號(hào)處理的算法中,大量的運(yùn)算是乘法和累加,要占用絕大部分的處理時(shí)間。例如,數(shù)字濾波、卷積、相關(guān)、向量和矩陣運(yùn)算中,有大量的乘法和累加運(yùn)算。個(gè)人計(jì)算機(jī)計(jì)算乘法需要多個(gè)周期用軟件實(shí)現(xiàn),而DSP則設(shè)置了硬件乘法器以及MAC指令,在單周期內(nèi)取兩個(gè)操作數(shù)一次完成乘-累加運(yùn)算。(4)片內(nèi)有多條總線可以同時(shí)進(jìn)行取指令和多個(gè)數(shù)據(jù)存取操作,并且有輔助寄存器用于尋址,它們可以在尋址訪問(wèn)前或訪問(wèn)后自動(dòng)修改內(nèi)容,以指向下一個(gè)要訪問(wèn)的地址。(5)大多帶有DMA通道控制器和串行通信口等,配合片內(nèi)總線結(jié)構(gòu),數(shù)據(jù)塊傳送速度會(huì)大大提高。(6)配有中斷處理器和定時(shí)控制器,可以方便地構(gòu)成一個(gè)小規(guī)模系統(tǒng)。(7)具有軟、硬件等待功能,能與各種存取速度的存儲(chǔ)器接口。(8)低功耗,DSP功耗一般為0.5~4W,而采用低功耗技術(shù)的DSP只有0.1W。8.1.3DSP芯片的分類(lèi)1.按照數(shù)據(jù)格式分類(lèi)根據(jù)芯片工作的數(shù)據(jù)格式,按其精度或動(dòng)態(tài)范圍,分為定點(diǎn)DSP和浮點(diǎn)DSP。定點(diǎn)DSP:數(shù)據(jù)以定點(diǎn)格式參加運(yùn)算,其數(shù)據(jù)長(zhǎng)度通常為16位、24位、32位。定點(diǎn)DSP的特點(diǎn)是體積小、成本低、功耗小、對(duì)存儲(chǔ)器的要求不高。但數(shù)值表示范圍較窄,必須使用定點(diǎn)定標(biāo)的方法,并要防止結(jié)果的溢出。浮點(diǎn)DSP:數(shù)據(jù)以浮點(diǎn)格式參加運(yùn)算,其數(shù)據(jù)長(zhǎng)度通常為32位、40位。由于浮點(diǎn)數(shù)的數(shù)據(jù)表示動(dòng)態(tài)范圍寬,運(yùn)算中不必顧及小數(shù)點(diǎn)的位置,因此開(kāi)發(fā)較容易。2.按照使用用途分類(lèi)按照用途,可將DSP分為通用型和專用型兩大類(lèi)。通用芯片:通用型DSP一般指可用指令編程的、適合于普通的DSP應(yīng)用,具有很強(qiáng)的處理功能,可完成復(fù)雜的數(shù)字信號(hào)處理的算法。專用芯片:專用DSP是為特定的數(shù)字信號(hào)處理運(yùn)算而專門(mén)設(shè)計(jì)芯片,更適合特殊的運(yùn)算,如數(shù)字濾波、卷積和FFT、卷積和相關(guān)算法等特殊的運(yùn)算。主要用于要求信號(hào)處理速度極快的特殊場(chǎng)合。8.1.4DSP芯片的主要技術(shù)指標(biāo)1.時(shí)鐘頻率對(duì)于時(shí)鐘頻率要考慮兩個(gè)方面:一是DSP芯片內(nèi)部工作主頻,真正的工作頻率。一般是內(nèi)部主頻越高,DSP的數(shù)據(jù)處理速度越快。另一個(gè)是DSP芯片的外部時(shí)鐘頻率,這是DSP片外所加的實(shí)際時(shí)鐘頻率,這個(gè)時(shí)鐘頻率一般要經(jīng)過(guò)DSP內(nèi)部的鎖相環(huán)倍頻至DSP的內(nèi)部工作主頻。2.機(jī)器周期機(jī)器周期是指執(zhí)行一條指令所需要的時(shí)間。DSP的大部分指令是單周期指令,即執(zhí)行時(shí)間為一個(gè)機(jī)器周期。它也從一個(gè)方面反映了DSP的數(shù)據(jù)處理速度。3.MIPSMIPS(MillionsofInstructionPerSecond)是每秒執(zhí)行的百萬(wàn)條指令。它綜合了時(shí)鐘頻率、并行度、機(jī)器周期等描述DSP處理速度的指標(biāo)。4.MOPSMOPS(MillionsofOperationPerSecond)是每秒執(zhí)行的百萬(wàn)條操作。但是操作次數(shù)并不等于指令條數(shù)。一般完成一條指令需要若干次操作。5.MFLOPSMFLOPS(MillionsofFloatOperationPerSecond)是每秒執(zhí)行的百萬(wàn)次浮點(diǎn)運(yùn)算,是衡量浮點(diǎn)DSP浮點(diǎn)運(yùn)算能力的一個(gè)指標(biāo),也是指浮點(diǎn)DSP芯片內(nèi)部浮點(diǎn)處理單元每秒鐘執(zhí)行浮點(diǎn)運(yùn)算的次數(shù)。6.MACSMACS(MultiplierandAccumulatorSecond)是指在1秒內(nèi)完成乘-累加運(yùn)算的次數(shù)。8.1.5DSP的應(yīng)用DSP常見(jiàn)的典型應(yīng)用如下所列:(1)通用數(shù)字信號(hào)處理(2)語(yǔ)音識(shí)別與處理(3)圖形/圖像處理(4)儀器(5)軍事(6)計(jì)算機(jī)(7)家用電器(8)汽車(chē)(9)多媒體個(gè)人數(shù)字化產(chǎn)品(10)醫(yī)學(xué)工程(11)自動(dòng)控制(12)通信8.2DSP系統(tǒng)8.2.1典型的DSP系統(tǒng)組成圖8.3典型的DSP系統(tǒng)構(gòu)成圖8.4一種典型移動(dòng)通信終端的原理框圖典型的DSP系統(tǒng)構(gòu)成如圖8.3所示,其中:輸入信號(hào)可以是語(yǔ)音信號(hào)、圖像信號(hào),也可以是視頻信號(hào),還可以是傳感器的輸出信號(hào)。輸入信號(hào)經(jīng)過(guò)帶限濾波后,通過(guò)A/D轉(zhuǎn)換將模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào)。數(shù)字信號(hào)處理一般是用DSP芯片和在其上運(yùn)行的實(shí)時(shí)處理軟件對(duì)A/D轉(zhuǎn)換后的數(shù)字信號(hào)按照一定的算法進(jìn)行處理,然后將處理后的信號(hào)輸出給D/A轉(zhuǎn)換器,經(jīng)D/A轉(zhuǎn)換、內(nèi)插和平滑濾波后得到的連續(xù)的模擬信號(hào)。圖8.4給出了一種典型移動(dòng)通信終端的原理框圖。其中,RF收發(fā)信機(jī)負(fù)責(zé)無(wú)線信號(hào)的收發(fā);模擬基帶處理負(fù)責(zé)A/D和D/A轉(zhuǎn)換及控制接口等;數(shù)字基帶處理完成通信協(xié)議處理。8.2.2DSP系統(tǒng)的特點(diǎn)DSP系統(tǒng)是以數(shù)字信號(hào)處理為基礎(chǔ),因此具有數(shù)字處理的全部?jī)?yōu)點(diǎn):(1)接口方便。(2)編程方便。(3)穩(wěn)定性好。(4)精度高。(5)可重復(fù)性好。(6)集成方便。(7)靈活性好。(8)保密性好。(9)時(shí)分復(fù)用。(10)可獲得高性能指標(biāo)。(11)二維與多維處理。DSP系統(tǒng)無(wú)論在性能上、成本上,還是在經(jīng)濟(jì)效益上,在很多場(chǎng)合與模擬系統(tǒng)比起來(lái),都有明顯優(yōu)勢(shì)。當(dāng)然,數(shù)字信號(hào)處理也存在一定的缺點(diǎn)。例如,對(duì)于簡(jiǎn)單的信號(hào)處理任務(wù),若采用DSP則使成本增加。8.2.3DSP系統(tǒng)的設(shè)計(jì)過(guò)程圖8.5DSP系統(tǒng)的設(shè)計(jì)流程系統(tǒng)的軟件和硬件分別調(diào)試完成后,就可以將軟件脫離開(kāi)發(fā)系統(tǒng)而直接在應(yīng)用系統(tǒng)上運(yùn)行。當(dāng)然,DSP系統(tǒng)的開(kāi)發(fā),特別是軟件開(kāi)發(fā)是一個(gè)需要反復(fù)進(jìn)行的過(guò)程,雖然通過(guò)算法模擬基本上可以知道實(shí)時(shí)系統(tǒng)的性能,但實(shí)際上模擬環(huán)境不可能做到與實(shí)時(shí)系統(tǒng)環(huán)境完全一致,而且將模擬算法移植到實(shí)時(shí)系統(tǒng)時(shí)必須考慮算法是否能夠?qū)崟r(shí)運(yùn)行的問(wèn)題。8.2.4DSP芯片的選擇1.設(shè)計(jì)DSP系統(tǒng)應(yīng)考慮的技術(shù)指標(biāo)(1)由信號(hào)的頻率范圍確定系統(tǒng)的最高采樣頻率;(2)由采樣頻率和要進(jìn)行的最復(fù)雜算法所需要時(shí)間來(lái)判斷系統(tǒng)能否實(shí)時(shí)工作;(3)由以上因素確定何種類(lèi)型的DSP芯片的指令周期可滿足需求;(4)由數(shù)據(jù)量的大小確定所使用的片內(nèi)RAM及需要擴(kuò)展的RAM的大?。唬?)由系統(tǒng)所需要的精度來(lái)確定是采用定點(diǎn)運(yùn)算還是浮點(diǎn)運(yùn)算;(6)根據(jù)系統(tǒng)是計(jì)算用還是控制用來(lái)確定I/O端口的需求。2.選擇DSP的一般原則(1)主流產(chǎn)品,在DSP市場(chǎng)上占較大的份額;(2)用戶眾多,便于與他人交流;(3)性能/價(jià)格比好。3.選擇DSP芯片需要考慮的因素(1)DSP芯片的運(yùn)算速度。(2)DSP芯片的價(jià)格。(3)DSP芯片的硬件資源。(4)DSP芯片的運(yùn)算精度。(5)DSP芯片的開(kāi)發(fā)工具。(6)DSP芯片的功耗。8.3DSP產(chǎn)品簡(jiǎn)介面對(duì)DSP的巨大市場(chǎng)和廣闊和發(fā)展前景,世界上幾個(gè)大的半導(dǎo)體公司都在DSP上開(kāi)展競(jìng)爭(zhēng),如AD、AT&T、Motorola、NEC和TI等公司都在全力開(kāi)發(fā)和生產(chǎn)DSP芯片。1.AD公司定點(diǎn)DSP:ADSP21xx系列16bit40MIPS;浮點(diǎn)DSP:ADSP21020系列32bit25MIPS;并行浮點(diǎn)DSP:ADSP2106x系列32bit40MIPS;超高性能DSP:ADSP21160系列32bit100MIPS。2.AT&T公司定點(diǎn)DSP:DSP16系列16bit40MIPS;浮點(diǎn)DSP:DSP32系列32bit12.5MIPS。3.Motorola公司定點(diǎn)DSP:DSP56000系列24bit16MIPS;浮點(diǎn)DSP:DSP96000系列32bit27MIPS。4.NEC公司定點(diǎn)DSP:μPD77Cxx系列16bit;μPD770xx系列16bit;μPD772xx系列24bit或32bit。5.TI公司眾多DSP廠商中,美國(guó)德州儀器(TI)公司是世界最大的DSP廠商表8.1TI公司DSP芯片系列定點(diǎn)浮點(diǎn)多處理器系列型號(hào)位數(shù)代數(shù)推出年代系列型號(hào)位數(shù)代數(shù)推出年代系列型號(hào)位數(shù)代數(shù)推出年代TMS320C1x1611982TMS320C3x3231990TMS320C8x3261994TMS320C2x1621987TMS320C4x3241990TMS320C5x1651993TMS320C67x3271998TMS320C54x1671996TMS320C24x1671996TMS320C6x3271997TMS320C55x16720008.4DSP的硬件結(jié)構(gòu)8.4.1’C54x的基本結(jié)構(gòu)1.’C54x的內(nèi)部結(jié)構(gòu)’C54x的基本結(jié)構(gòu)圍繞8條總線(4條程序/數(shù)據(jù)總線和4條地址總線),有中央處理器(CPU)、存儲(chǔ)器及片內(nèi)外設(shè)與專用硬件電路三類(lèi)。CPU包括算術(shù)邏輯單元(ALU)、累加器(ACC)、乘-累加單元(MAC)、移位寄存器和尋址單元等。存儲(chǔ)器包括片內(nèi)ROM、單訪問(wèn)RAM(SARAM)和雙訪問(wèn)RAM(DARAM)。片內(nèi)外設(shè)與專用硬件電路包括片內(nèi)各種類(lèi)型的同步串口、主機(jī)接口、定時(shí)器、時(shí)鐘發(fā)生器、鎖相環(huán)及各種控制電路。圖8.6’C54x內(nèi)部結(jié)構(gòu)方框圖1.各部分的功能2.內(nèi)部總線結(jié)構(gòu)TMS320C54x的結(jié)構(gòu)是以8條16位總線為核心,形成了支持高速指令執(zhí)行的硬件基礎(chǔ)。其中,程序總線1條,數(shù)據(jù)總線3條,地址總線4條,如圖8.7所示(1)程序總線PB(2)數(shù)據(jù)總線CB、DB和EB(3)地址總線PAB、CAB、DAB和EAB除此之外,’C54x芯片還為片內(nèi)的通信提供了片內(nèi)雙向總線,用于對(duì)片內(nèi)外圍電路尋址。圖8.7’C54x內(nèi)部總線結(jié)構(gòu)表8.2’C54x讀/寫(xiě)操作占用總線情況3.引腳功能TMS320VC5402共有144個(gè)引腳,其引腳分布和引腳功能分別如圖8.8和表8.4所示。TMS320VC5402引腳按功能分為數(shù)據(jù)信號(hào)引腳(36個(gè))、初始化、中段和復(fù)位信號(hào)引腳(8個(gè))、多處理器信號(hào)引腳(2個(gè))、存儲(chǔ)器控制信號(hào)引腳(11個(gè))、振蕩器/定時(shí)器信號(hào)引腳(8個(gè))、串行口信號(hào)引腳(12個(gè))、主機(jī)接口(HPI)信號(hào)引腳(18個(gè))、電源引腳(24個(gè))、測(cè)試引腳(25個(gè))。圖8.8TMS320VC5402的引腳分布表8.4’C54x系列芯片的主要特征8.4.2’C54x的中央處理器CPU’C54x的CPU采用了流水線指令執(zhí)行結(jié)構(gòu)和相應(yīng)的并行結(jié)構(gòu)設(shè)計(jì),使其能在一個(gè)指令周期內(nèi),高速地完成多項(xiàng)算術(shù)運(yùn)算。’C54xCPU的基本主要組成包括:1)40位算術(shù)邏輯運(yùn)算單元ALU;2)2個(gè)40位的累加器A和B;3)支持-16~31位移位范圍的桶形移位寄存器;4)能完成乘法-加法運(yùn)算的乘法累加器MAC;5)16位暫存寄存器T;6)16位轉(zhuǎn)移寄存器TRN;7)比較、選擇、存儲(chǔ)單元CSSU;8)指數(shù)譯碼器;9)CPU狀態(tài)和控制寄存器。1.算術(shù)邏輯運(yùn)算單元’C54x使用40位的算術(shù)邏輯運(yùn)算單元(ALU)和2個(gè)40位累加器,可完成寬范圍的算術(shù)邏輯運(yùn)算,ALU的功能結(jié)構(gòu)如圖8.9所示。圖8.9’C54x算術(shù)邏輯運(yùn)算單元ALU的功能框圖2.累加器’C54x有兩個(gè)獨(dú)立的40位累加器A和B,可以作為ALU或MAC的目標(biāo)寄存器,存放運(yùn)算結(jié)果,也可以作為ALU或MAC的一個(gè)輸入。圖8.10’C54x累加器A和B的結(jié)構(gòu)3.桶形寄存器’C54x的40位桶形移位寄存器主要用于累加器或數(shù)據(jù)區(qū)操作數(shù)的定標(biāo)圖8.11’C54x桶形移位寄存器功能框圖4.乘-累加單元乘-累加(MAC)單元包括1個(gè)17位×17位的乘法器和1個(gè)40位的專用加法器。

圖8.12乘-累加單元功能框圖5.比較、選擇和存儲(chǔ)單元比較、選擇、存儲(chǔ)單元(CSSU)是一個(gè)特殊用途的硬件電路,專門(mén)完成累加器的高位字和低位字之間最大值的比較,即選擇累加器中較大的字并存儲(chǔ)到數(shù)據(jù)存儲(chǔ)器中,其功能框圖如圖8.13所示。

圖8.13比較、選擇、存儲(chǔ)單元功能框圖CSSU工作過(guò)程如下:1)比較電路COMP將累加器A或B的高階位與低階位進(jìn)行比較;2)比較結(jié)果分別送入TRN和TC中,記錄比較結(jié)果以便程序調(diào)試;3)比較結(jié)果輸出至寫(xiě)選擇電路,選擇較大的數(shù)據(jù);4)將選擇的數(shù)據(jù)通過(guò)總線EB存入指定的存儲(chǔ)單元。6.指數(shù)編碼器指數(shù)編碼器(EXP)是一個(gè)用于支持指數(shù)運(yùn)算指令的專用硬件,可以在單周期內(nèi)執(zhí)行EXP指令,求累加器中數(shù)的指數(shù)值,如圖8.14所示。圖8.14指數(shù)編碼器7.CPU狀態(tài)控制寄存器CPU狀態(tài)控制寄存器屬于CPU的控制部件,由控制器、各種控制寄存器及流水線指令操作控制邏輯組成,用以設(shè)定和控制以時(shí)鐘頻率為基準(zhǔn)的整個(gè)芯片的運(yùn)行狀態(tài)。’C54x提供三個(gè)16位寄存器來(lái)作為CPU狀態(tài)控制寄存器,它們分別為:狀態(tài)寄存器0(ST0)狀態(tài)寄存器1(ST1)工作方式狀態(tài)寄存器(PMST)由于這些寄存器都是存儲(chǔ)器映像寄存器,因此可以很方便地對(duì)它們進(jìn)行如下數(shù)據(jù)操作:1)將它們快速地存放到數(shù)據(jù)存儲(chǔ)器;2)由數(shù)據(jù)存儲(chǔ)器對(duì)它們進(jìn)行加載;3)用子程序或中斷服務(wù)程序保存和恢復(fù)處理器的狀態(tài)。8.4.3’C54x的存儲(chǔ)空間結(jié)構(gòu)’C54x采用改進(jìn)的哈佛結(jié)構(gòu),共有192k字的存儲(chǔ)空間,分成3個(gè)相互獨(dú)立可選擇的存儲(chǔ)空間:64k字的程序存儲(chǔ)空間,用來(lái)存放要執(zhí)行的指令和指令執(zhí)行中所需要的系數(shù)表(數(shù)學(xué)用表);64k字的數(shù)據(jù)存儲(chǔ)空間,用來(lái)存放執(zhí)行指令所需要的數(shù)據(jù);64k字的I/O存儲(chǔ)空間,用來(lái)提供與外部存儲(chǔ)器映射的接口,可以作為外部數(shù)據(jù)存儲(chǔ)空間使用?!疌54x片內(nèi)存儲(chǔ)器有DARAM、SARAM和ROM三種類(lèi)型。’C54x的工作方式狀態(tài)寄存器PMST提供了三個(gè)控制位:、OVLY和DROM。圖8.18所示為T(mén)MS320VC5402的存儲(chǔ)器配置結(jié)構(gòu)圖,從中也可以看到上述三個(gè)控制位與內(nèi)存儲(chǔ)器的關(guān)系。圖8.18TMS320VC5402存儲(chǔ)器配置結(jié)構(gòu)’C54x系列不同芯片的存儲(chǔ)空間大小、配置不同,表8.5給出了不同’C54x芯片中ROM、DARAM和SARAM的配置。表8.5’C54x系列片內(nèi)各種存儲(chǔ)器的容量配置(單位:k字)1.程序存儲(chǔ)器空間程序存儲(chǔ)空間用來(lái)存放要執(zhí)行的指令和執(zhí)行中所需的系數(shù)表。1)程序存儲(chǔ)空間的映射2)0000H~3FFFH程序存儲(chǔ)空間,由OVLY的值來(lái)確定在片內(nèi)還是在片外分配。3)FF80H~FFFFH空間(內(nèi)部存儲(chǔ)器)2.數(shù)據(jù)存儲(chǔ)器空間數(shù)據(jù)存儲(chǔ)器用來(lái)存放執(zhí)行指令所使用數(shù)據(jù)或數(shù)據(jù)處理的中間結(jié)果。(1)數(shù)據(jù)存儲(chǔ)空間的配置(2)存儲(chǔ)器映像寄存器在’C54x的數(shù)據(jù)存儲(chǔ)空間中,前80H個(gè)單元(數(shù)據(jù)頁(yè)0)包含有的CPU寄存器(也稱作特殊功能寄存器)、片內(nèi)外設(shè)寄存器和暫存器。3.I/O存儲(chǔ)空間’C54x除了程序和數(shù)據(jù)存儲(chǔ)空間外,還提供了一個(gè)具有64k字的I/O空間。主要用于對(duì)片外設(shè)備的訪問(wèn),可以使用輸入指令PORTR和輸出指令PORTW對(duì)I/O空間尋址。在對(duì)I/O空間訪問(wèn)時(shí),除了使用數(shù)據(jù)總線和地址總線外,還要用到I/O選通信號(hào)控制線、I/O空間選擇信號(hào)和讀/寫(xiě)控制線。和用于選通I/O空間,用于控制訪問(wèn)方向。8.4.4’C54x的片內(nèi)外設(shè)電路片內(nèi)外設(shè)主要包括:通用I/O引腳、定時(shí)器、時(shí)鐘發(fā)生器、主機(jī)接口、軟件可編程等待狀態(tài)發(fā)生器、可編程分區(qū)轉(zhuǎn)換邏輯和串行通信接口。1.通用I/O引腳’C54x為用戶提供兩個(gè)通用的I/O引腳:和XF。2.定時(shí)器’C54x的定時(shí)器是一個(gè)帶有4位預(yù)分頻器的16位可軟件編程減法計(jì)數(shù)器。3.時(shí)鐘發(fā)生器時(shí)鐘發(fā)生器主要用來(lái)為CPU提供時(shí)鐘信號(hào),由內(nèi)部振蕩器和鎖相環(huán)(PLL)電路兩部分組成。4.主機(jī)接口主機(jī)接口(HPI)是一個(gè)8位或16位的并行接口,主要用于DSP與其他總線或主處理機(jī)進(jìn)行通信。5.軟件可編程等待狀態(tài)發(fā)生器軟件可編程等待狀態(tài)發(fā)生器可以將外部總線周期最多擴(kuò)展到14個(gè)機(jī)器周期,使’C54x芯片與慢速的外部存儲(chǔ)器和I/O設(shè)備接口。它不需要任何外部硬件,只由軟件控制。6.可編程分區(qū)轉(zhuǎn)換邏輯可編程分區(qū)轉(zhuǎn)換邏輯也稱為可編程存儲(chǔ)器轉(zhuǎn)換邏輯。當(dāng)訪問(wèn)過(guò)程跨越程序或數(shù)據(jù)存儲(chǔ)器邊界時(shí),可編程分區(qū)轉(zhuǎn)換邏輯會(huì)自動(dòng)插入一個(gè)周期。7.串行通信接口各種’C54x芯片有不同的串口,但主要有以下4種:(1)標(biāo)準(zhǔn)同步串行口(SP)(2)緩沖同步串口(BSP)(3)時(shí)分多路同步串口(TDM)(4)多通道帶緩沖同步串行口(McBSP)8.5DSP的軟件體系DSP的軟件體系主要是指其指令系統(tǒng)。指令描述了不同的操作,每條指令通常由操作碼和操作數(shù)兩部分組成。操作碼表示DSP執(zhí)行該指令將進(jìn)行何種操作,操作數(shù)表示參加操作的數(shù)的本身或其所在的地址。8.5.1’C54x的指令格式’C54x的指令系統(tǒng)包含助記符指令和代數(shù)指令兩種形式。本節(jié)著重介紹助記符指令的基本格式。1.匯編語(yǔ)言源程序格式匯編語(yǔ)言語(yǔ)句格式可以包含4個(gè)部分:標(biāo)號(hào)域、指令域、操作數(shù)域和注釋域。以助記符指令為例,匯編語(yǔ)言語(yǔ)句格式如下[標(biāo)號(hào)][:]指令[操作數(shù)列表][;注釋]其中,[]內(nèi)的部分是可選項(xiàng)。1)語(yǔ)句必須以標(biāo)號(hào)、空格、星號(hào)或分號(hào)開(kāi)始。2)標(biāo)號(hào)為可選項(xiàng)。若要使用標(biāo)號(hào),則必須從第1列開(kāi)始。標(biāo)號(hào)長(zhǎng)度最多為32個(gè)字符,由A~Z,a~z,0~9,_和$等組成,但第1個(gè)字符不能為數(shù)字。3)每個(gè)域必須由1個(gè)或多個(gè)空格分開(kāi),制表符等效于空格。4)注釋是可選項(xiàng),開(kāi)始于第1列的注釋須用星號(hào)或分號(hào)(*或;)標(biāo)示,但在其他列開(kāi)始的注釋前面只能標(biāo)分號(hào)。5)指令域一定不能從第1列開(kāi)始,否則將被視為標(biāo)號(hào)。指令域包括以下操作碼之一:助記符指令、匯編偽指令(如.data,.set)、宏偽指令(如.var,.macro)和宏調(diào)用。6)操作數(shù)域?yàn)椴僮鲾?shù)的列表,匯編器允許指定常數(shù)、符號(hào)或表達(dá)式作為地址、立即數(shù)或間接尋址。當(dāng)操作數(shù)為立即數(shù)時(shí),使用#符號(hào)作為前綴;操作數(shù)為間接尋址時(shí),使用*符號(hào)作為前綴,將操作數(shù)的內(nèi)容作為地址。2.指令系統(tǒng)中規(guī)定的符號(hào)和縮寫(xiě)’C54x的助記符指令是由操作碼和操作數(shù)兩部分組成。在進(jìn)行匯編以前,操作碼和操作數(shù)都是用助記符表示。例如:LD#0FCH,B;將立即數(shù)0FCH傳送至B操作碼源操作數(shù)目的操作數(shù)注釋8.5.2’C54x指令的尋址方式指令的尋址方式是指執(zhí)行指令時(shí)硬件尋找指令中指定的參與運(yùn)算的操作數(shù)的方法。’C54x有7種基本的數(shù)據(jù)尋址方式,如表8.10所示。1.立即尋址立即尋址在指令中含有執(zhí)行指令所需的操作數(shù),它緊隨操作碼存放在程序存儲(chǔ)器中。2.絕對(duì)尋址絕對(duì)尋址指令中含有所要尋找的操作數(shù)的16位存儲(chǔ)單元地址,該地址指向操作數(shù)所在的存儲(chǔ)單元。絕對(duì)尋址有四種類(lèi)型:數(shù)據(jù)存儲(chǔ)器地址(dmad)尋址就是用一個(gè)程序標(biāo)號(hào)或一個(gè)數(shù)據(jù)來(lái)指定指令所需要的數(shù)據(jù)空間的地址。程序存儲(chǔ)器地址(pmad)尋址就是用一個(gè)符號(hào)或一個(gè)具體的數(shù)來(lái)指定程序存儲(chǔ)器中的一個(gè)地址。端口(PA)尋址就是使用一個(gè)符號(hào)或一個(gè)16位的常數(shù)來(lái)指定外部I/O存儲(chǔ)空間的一個(gè)地址,實(shí)現(xiàn)對(duì)I/O備的讀/寫(xiě)操作。*(1k)尋址

*(1k)尋址就是使用一個(gè)符號(hào)或一個(gè)16位常數(shù)來(lái)指定數(shù)據(jù)存儲(chǔ)器的地址。3.累加器尋址累加器尋址是將累加器的內(nèi)容作為地址去訪問(wèn)該地址指向的程序存儲(chǔ)單元,用于完成程序存儲(chǔ)空間與數(shù)據(jù)存儲(chǔ)空間之間的數(shù)據(jù)傳輸。4.直接尋址直接尋址指令中的給出的低7位地址是一個(gè)數(shù)據(jù)頁(yè)內(nèi)偏移地址(dmad),而所在的數(shù)據(jù)頁(yè)由數(shù)據(jù)頁(yè)指針DP或堆棧指針SP決定。該偏移量加上ST1中DP或SP的值,決定了數(shù)據(jù)存儲(chǔ)器中的實(shí)際地址。5.間接尋址間接尋址是根據(jù)輔助寄存器給出的地址尋址數(shù)據(jù)存儲(chǔ)器。6.存儲(chǔ)器映像寄存器尋址存儲(chǔ)器映像寄存器尋址是對(duì)存儲(chǔ)器映射寄存器的值進(jìn)行修改,并以存儲(chǔ)器映射寄存器被修改后的值去尋址。7.堆棧尋址堆棧尋址就是利用SP指針,按照先進(jìn)后出的原則進(jìn)行尋址。8.5.3’C54x的指令集’C54x共有129條指令,由于尋址方式的不同衍生至205條指令,按功能分為數(shù)據(jù)傳送指令、算術(shù)運(yùn)算指令、邏輯運(yùn)算指令、程序控制指令、并行操作指令和重復(fù)操作指令6類(lèi)。2.算術(shù)運(yùn)算指令算術(shù)運(yùn)算指令是實(shí)現(xiàn)數(shù)學(xué)計(jì)算的重要指令集合。’C54x的算術(shù)指令包括加法指令、減法指令、乘法指令、乘加和乘減指令、雙字運(yùn)算指令和特殊應(yīng)用指令。2.算術(shù)運(yùn)算指令算術(shù)運(yùn)算指令是實(shí)現(xiàn)數(shù)學(xué)計(jì)算的重要指令集合?!疌54x的算術(shù)指令包括加法指令、減法指令、乘法指令、乘加和乘減指令、雙字運(yùn)算指令和特殊應(yīng)用指令。4.程序控制指令’C54x的程序控制指令共有31條,包括:分支轉(zhuǎn)移指令、子程序調(diào)用指令、中斷指令、返回指令、堆棧操作指令以及其他程序控制指令共6類(lèi)5.并行操作指令并行操作是利用流水線和并行操作的硬件電路,將單指令的數(shù)據(jù)傳送和存儲(chǔ)與各種運(yùn)算同時(shí)進(jìn)行操作。6.重復(fù)操作指令重復(fù)操作指令可以使緊隨其后的一條指令或程序塊重復(fù)執(zhí)行,分為單指令重復(fù)和程序塊重復(fù)。單指令重復(fù)操作是指通過(guò)RPT或RPTZ指令使其下一條指令被重復(fù)執(zhí)行,重復(fù)執(zhí)行的次數(shù)由指令操作數(shù)給出,其值等于操作數(shù)加1,最大重復(fù)次數(shù)為65536。程序塊重復(fù)操作可以使緊隨RPTB指令之后的程序塊重復(fù)執(zhí)行。8.6DSP應(yīng)用舉例8.6.1FIR濾波器的DSP實(shí)現(xiàn)1.算法的實(shí)現(xiàn)(1)用線性緩沖區(qū)法實(shí)現(xiàn)線性緩沖區(qū)法,又稱延遲線法。應(yīng)當(dāng)注意的是,用線性緩沖區(qū)實(shí)現(xiàn)運(yùn)算時(shí),緩沖區(qū)的數(shù)據(jù)需要移動(dòng),這樣在一個(gè)機(jī)器周期內(nèi)需要一次讀和一次寫(xiě)操作。因此,線性緩沖區(qū)只能定位在DARAM中。用線性緩沖區(qū)實(shí)現(xiàn)的優(yōu)點(diǎn)是:新老數(shù)據(jù)在存儲(chǔ)器放的位置直接明了。(2)用循環(huán)緩沖區(qū)法實(shí)現(xiàn)循環(huán)緩沖區(qū)實(shí)現(xiàn)的優(yōu)點(diǎn)還是很明顯的:它不需要移動(dòng)數(shù)據(jù),不存在一個(gè)機(jī)器周期中要求能夠進(jìn)行一次讀和一次寫(xiě)的數(shù)據(jù)存儲(chǔ)器,因而可將循環(huán)緩沖區(qū)定位在數(shù)據(jù)存儲(chǔ)器的任何位置(線性緩沖區(qū)要求定位在DARAM中)。所以,在可能的情況下,建議盡量采用循環(huán)緩沖區(qū)。2.FIR濾波器的DSP實(shí)現(xiàn)方法’C54x提供的乘法-累加指令MAC和循環(huán)尋址方式,可使FIR數(shù)字濾波器在單周期內(nèi)完成每個(gè)樣值的乘法-累加計(jì)算。而每個(gè)樣值的乘法-累加計(jì)算,可采用RPTZ和MAC指令結(jié)合循環(huán)尋址方式來(lái)實(shí)現(xiàn)。8.6.2IIR濾波器

溫馨提示

  • 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ù)網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論