基于DSP的帶阻濾波器設(shè)計(jì)畢業(yè)設(shè)計(jì)論文_第1頁(yè)
基于DSP的帶阻濾波器設(shè)計(jì)畢業(yè)設(shè)計(jì)論文_第2頁(yè)
基于DSP的帶阻濾波器設(shè)計(jì)畢業(yè)設(shè)計(jì)論文_第3頁(yè)
基于DSP的帶阻濾波器設(shè)計(jì)畢業(yè)設(shè)計(jì)論文_第4頁(yè)
基于DSP的帶阻濾波器設(shè)計(jì)畢業(yè)設(shè)計(jì)論文_第5頁(yè)
已閱讀5頁(yè),還剩48頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

本科畢業(yè)設(shè)計(jì)任務(wù)書題目基于DSP的帶阻濾波器設(shè)計(jì)專業(yè)電子信息工程學(xué)號(hào)姓名主要內(nèi)容、基本要求、主要參考資料等:主要內(nèi)容工頻干擾是工業(yè)現(xiàn)場(chǎng)的常見干擾源,它的存在對(duì)工業(yè)現(xiàn)場(chǎng)小信號(hào)的提取造成了較大的困難,課題要求采用DSP設(shè)計(jì)一個(gè)通用,濾波參數(shù)可以調(diào)節(jié)的帶阻式濾波器,以滿足對(duì)工業(yè)現(xiàn)場(chǎng)小信號(hào)提取的要求。基本要求學(xué)習(xí)濾波器的工作原理。學(xué)習(xí)DSP的相關(guān)知識(shí)。選取適合的DSP處理器,設(shè)計(jì)硬件電路。編寫程序?qū)崿F(xiàn)帶阻濾波器。設(shè)計(jì)人機(jī)交互接口。要求能夠方便地修改濾波參數(shù)。要求設(shè)計(jì)硬件原理圖。編寫相關(guān)程序編譯仿真通過。如果進(jìn)度可行,試制實(shí)際電路系統(tǒng)。畢業(yè)設(shè)計(jì)完成后,要求提交論文,包括詳細(xì)的設(shè)計(jì)說明、圖紙等技術(shù)資料。翻譯英文資料一份。主要參考資料《DSP處理器及應(yīng)用》,鄒彥《數(shù)字信號(hào)處理》,(美)海因斯(Hayes,M.H.),2002《有源濾波器精確設(shè)計(jì)手冊(cè)》,(美)D.E.約翰遜,1984《高性能數(shù)字信號(hào)處理器與高速實(shí)時(shí)信號(hào)處理》,蘇濤等編著,1999完成期限:2012.02.13~2012.06.01指導(dǎo)教師簽章:專業(yè)負(fù)責(zé)人簽章:2012年2月13日基于DSP的帶阻濾波器設(shè)計(jì)PAGE46基于DSP的帶阻濾波器設(shè)計(jì)基于DSP的帶阻濾波器設(shè)計(jì)摘要在工業(yè)現(xiàn)場(chǎng)信號(hào)處理的過程中,有來自外界的各種噪聲干擾,其中尤以工頻干擾是最常見的干擾源。當(dāng)被檢測(cè)的信號(hào)比較弱,并且頻率也比較接近50Hz時(shí),工頻對(duì)被測(cè)信號(hào)的干擾就越加突出,對(duì)工業(yè)現(xiàn)場(chǎng)小信號(hào)的提取造成了很大的困難。課題擬利用數(shù)字濾波器去除工業(yè)現(xiàn)場(chǎng)小信號(hào)中工頻干擾的影響。首先依據(jù)工業(yè)現(xiàn)場(chǎng)信號(hào)的特點(diǎn),采用MATLAB仿真計(jì)算帶阻濾波器的性能指標(biāo),得到能滿足現(xiàn)場(chǎng)提取信號(hào)要求的濾波器系數(shù)表。之后依據(jù)估計(jì)運(yùn)算量選擇相應(yīng)的DSP處理器芯片,并根據(jù)轉(zhuǎn)換精度來選擇A/D與D/A轉(zhuǎn)換器芯片,以及由于處理器內(nèi)存不足進(jìn)行FLASH、SRAM與PRAM的外部存儲(chǔ)器擴(kuò)展來設(shè)計(jì)一個(gè)DSP應(yīng)用系統(tǒng),并設(shè)定其中參數(shù)。最后在CCS開發(fā)環(huán)境下用軟件編寫程序來實(shí)現(xiàn)本課題中所需設(shè)計(jì)的帶阻濾波器。關(guān)鍵詞帶阻濾波器工頻干擾DSPTMS320VC5402BASED-ONDSPDESIGNOFBAND-STOPFILTERABSTRACTIntheindustrialfieldofsignalprocessing,thereareallkindsofnoisefromoutside,especiallyinthefrequencyinterferenceisthemostcommonsourcesofinterference.Whenthedetectionsignalisrelativelyweak,andthefrequencycloseto50Hz,thefrequencythemoreprominentofthemeasuredsignalinterferenceandcausedgreatdifficultiestothesmall-signalextractionoftheindustrialfield.Thesubjectintendstotakeadvantageofthedigitalfiltertoremovetheimpactoftheindustrialfieldsignalfrequencyinterference.Firstly,onthebasisofindustryscenesignalcharacteristics,usingMATLABsimulationoftheband-stopfilterperformanceindexcanmeettherequirementsofthesceneofthesignalfiltercoefficienttable.Then,basedontheestimatedoperationcorrespondingtotheselectedDSPprocessorchip,andaccordingtotheconversionaccuracytochooseA/DandD/Aconverterchip,andbecausetheprocessormemoryforFLASH,SRAMandPRAMexternalmemoryexpansiontodesignaDSPapplicationsystem,andsettheparametersofthem.Finally,intheCCSdevelopmentenvironmenttousesoftwareprogrammingtoachievetherequireddesignofband-stopfilter.KEYWORDSBand-stopfiltersFrequencyinterferenceDSPTMS320VC5402基于DSP的帶阻濾波器設(shè)計(jì)基于DSP的帶阻濾波器設(shè)計(jì)目錄摘要 IABSTRACT II1緒論 11.1課題背景 11.2研究意義 21.3主要研究?jī)?nèi)容 22DSP數(shù)字濾波器關(guān)鍵指標(biāo)分析與方案設(shè)計(jì) 43DSP系統(tǒng)的硬件電路設(shè)計(jì) 73.1DSP與A/D和D/A轉(zhuǎn)換器的接口 73.1.1DSP與A/D轉(zhuǎn)換器的接口 73.1.2DSP與D/A轉(zhuǎn)換器的接口 93.2DSP存儲(chǔ)器的擴(kuò)展 113.2.1FLASH的擴(kuò)展 113.2.2SRAM的擴(kuò)展 123.2.3PRAM的擴(kuò)展 133.3DSP系統(tǒng)的外圍電路設(shè)計(jì) 143.3.1電源電路的設(shè)計(jì) 143.3.2復(fù)位電路的設(shè)計(jì) 163.3.3時(shí)鐘電路的設(shè)計(jì) 173.4JTAG仿真接口電路的設(shè)計(jì) 194帶阻濾波器的DSP實(shí)現(xiàn) 224.1FFT/IFFT算法程序及應(yīng)用 22基于DSP的帶阻濾波器設(shè)計(jì)基于DSP的帶阻濾波器設(shè)計(jì)4.1.1FFT設(shè)計(jì)方法 224.1.2FFT算法的實(shí)現(xiàn) 234.2CCS開發(fā)環(huán)境 244.3帶阻濾波器的軟件設(shè)計(jì) 264.3.1帶阻濾波器的程序流程 264.3.2帶阻濾波器的實(shí)現(xiàn) 28結(jié)束語(yǔ) 30致謝 31參考文獻(xiàn) 32附錄 33基于DSP的帶阻濾波器設(shè)計(jì)基于DSP的帶阻濾波器設(shè)計(jì)PAGE11緒論1.1課題背景目前,各種干擾在各類工業(yè)現(xiàn)場(chǎng)中均存在,所以儀表及控制系統(tǒng)的可靠性直接影響到現(xiàn)代化工業(yè)生產(chǎn)裝置安全、穩(wěn)定運(yùn)行,系統(tǒng)的抗干擾能力是關(guān)系到整個(gè)系統(tǒng)可靠運(yùn)行的關(guān)鍵。并且工頻干擾廣泛存在各種工業(yè)現(xiàn)場(chǎng)中,其產(chǎn)生的途徑主要包括輸電饋線、照明設(shè)備、發(fā)動(dòng)機(jī)以及各種電子儀器設(shè)備等,工頻干擾的存在對(duì)于工業(yè)現(xiàn)場(chǎng)中小信號(hào)的提取造成了較大的困難。也就是說當(dāng)我們?cè)诠I(yè)現(xiàn)場(chǎng)中提取有用信號(hào)時(shí),如果此信號(hào)比較弱,頻率比較接近50Hz時(shí),工頻干擾就越加突出,那么它對(duì)于我們提取有用信號(hào)就會(huì)造成很大困難,致使我們可能很艱難地做一些工業(yè)現(xiàn)場(chǎng)中與此有關(guān)的操作,這也會(huì)給我們?cè)斐珊艽蟮穆闊┖蛽p失。因此,我們要設(shè)計(jì)數(shù)字濾波器來濾除此工頻干擾,來解決它在工業(yè)現(xiàn)場(chǎng)中造成的困難。并且數(shù)字濾波技術(shù)也是進(jìn)行數(shù)字信號(hào)處理的最基本手段之一,它是對(duì)數(shù)字輸人信號(hào)進(jìn)行運(yùn)算,產(chǎn)生數(shù)字輸出信號(hào),以改善信號(hào)品質(zhì)、提取有用信息、或者把組合在一起的多個(gè)信號(hào)分量分離開來為目的。在信號(hào)處理領(lǐng)域中,對(duì)于信號(hào)處理的實(shí)時(shí)性、快速性的要求越來越高。因此,在許多信息處理過程中,如對(duì)信號(hào)的過濾、檢測(cè)、預(yù)測(cè)等,都要廣泛地用到濾波器。其中數(shù)字濾波器具有穩(wěn)定性高、精度高、設(shè)計(jì)靈活、實(shí)現(xiàn)方便等許多突出的優(yōu)點(diǎn),避免了模擬濾波器所無法克服的電壓漂移、溫度漂移和噪聲等問題。因而隨著數(shù)字技術(shù)的發(fā)展,用數(shù)字技術(shù)實(shí)現(xiàn)濾波器的功能越來越受到人們的注意和廣泛的應(yīng)用。數(shù)字濾波器的實(shí)現(xiàn)方法大致可以分為三種:利用單片通用數(shù)字濾波器集成電路、DSP器件和可編程邏輯器件來實(shí)現(xiàn)。單片通用數(shù)字濾波器使用方便,但是由于字長(zhǎng)和階數(shù)的規(guī)格較少,不能完全滿足實(shí)際需要。使用以串行運(yùn)算為主的通用DSP芯片實(shí)現(xiàn)要簡(jiǎn)單,它是一種實(shí)時(shí)、快速、適合于實(shí)現(xiàn)各種數(shù)字信號(hào)處理運(yùn)算的微處理器,借助于通用數(shù)字計(jì)算機(jī),按濾波器的設(shè)計(jì)算法編出程序進(jìn)行數(shù)字濾波。由于它具有豐富的硬件資源、改進(jìn)的哈佛結(jié)構(gòu)、高速數(shù)據(jù)處理能力和強(qiáng)大的指令系統(tǒng),使得它在通信、航空、航天、雷達(dá)、工業(yè)控制、網(wǎng)絡(luò)及家用電器等各個(gè)領(lǐng)域得到了廣泛應(yīng)用。用可編程DSP芯片實(shí)現(xiàn)數(shù)字濾波時(shí),可通過修改濾波器的參數(shù)十分方便地改變?yōu)V波器的特性。因此,我們有必要對(duì)濾波器的設(shè)計(jì)方法進(jìn)行研究,理解其工作原理,優(yōu)化其設(shè)計(jì)方法,并設(shè)計(jì)開發(fā)出穩(wěn)定性好的濾波器系統(tǒng)。我們將通過DSP設(shè)計(jì)平臺(tái),實(shí)現(xiàn)較為重要的數(shù)字濾波器系統(tǒng),從而通過本課題的研究,掌握濾波器的設(shè)計(jì)技術(shù),為通信、信號(hào)處理等領(lǐng)域?qū)嵱没瘮?shù)字濾波器的設(shè)計(jì)提供技術(shù)基礎(chǔ)。本課題的研究,也將為今后設(shè)計(jì)以DSP芯片為核心部件的嵌入式系統(tǒng)提供技術(shù)基礎(chǔ),這不僅具有重要的理論意義,同時(shí)還具有重要的實(shí)際意義。1.2研究意義隨著信息時(shí)代和數(shù)字世界的到來,數(shù)字信號(hào)處理已經(jīng)成為當(dāng)今一門極其重要的學(xué)科。數(shù)字信號(hào)處理(DSP)包括兩重含義:數(shù)字信號(hào)處理技術(shù)(DigitalSignalProcessing)和數(shù)字信號(hào)處理器(DigitalSignalProcessor)。數(shù)字信號(hào)處理是利用計(jì)算機(jī)或?qū)S锰幚碓O(shè)備,以數(shù)值計(jì)算的方法,對(duì)信號(hào)進(jìn)行采集、濾波、增強(qiáng)、壓縮、估值和識(shí)別等加工處理,借以達(dá)到提取信息和便于應(yīng)用的目的,數(shù)字信號(hào)處理主要是研究有關(guān)數(shù)字濾波技術(shù)、離散變換快速算法和譜分析方法。作為數(shù)字信息處理分支之一的數(shù)字濾波器,也受到了人們?cè)絹碓蕉嗟年P(guān)注,它是通信、語(yǔ)言、圖像、自動(dòng)控制、雷達(dá)、航空航天、生物醫(yī)學(xué)信號(hào)處理等領(lǐng)域中的一種基本處理部件,具有穩(wěn)定性好、精度高、靈活性大等突出優(yōu)點(diǎn)。在數(shù)字信號(hào)處理的應(yīng)用中,數(shù)字濾波器很重要并且得到了廣泛的應(yīng)用。按照數(shù)字濾波器的特性,它可以被分為線性與非線性、時(shí)變與時(shí)不變、因果與非因果、無限長(zhǎng)單位脈沖響應(yīng)(IIR)與有限長(zhǎng)單位脈沖響應(yīng)(FIR)等等。IIR濾波器的特征是具有無限持續(xù)時(shí)間沖激響應(yīng),這種濾波器一般需要用遞歸模型來實(shí)現(xiàn),因而有時(shí)也稱之為遞歸濾波器;而FIR濾波器的時(shí)間沖激響應(yīng)只能延續(xù)一定時(shí)間,在工程實(shí)際中可以采用遞歸的方式實(shí)現(xiàn),也可以采用非遞歸的方式實(shí)現(xiàn),但其結(jié)構(gòu)主要還是非遞歸結(jié)構(gòu),并且FIR濾波器很容易獲得嚴(yán)格的線性相位特性,避免被處理信號(hào)產(chǎn)生相位失真,而其線性相位體現(xiàn)在時(shí)域中僅僅是在時(shí)間上的延遲,這個(gè)特點(diǎn)在圖像信號(hào)處理、數(shù)據(jù)傳輸?shù)炔ㄐ蝹鬟f系統(tǒng)中是非常重要的。相對(duì)于IIR濾波器,F(xiàn)IR濾波器有著易于實(shí)現(xiàn)和系統(tǒng)絕對(duì)穩(wěn)定的優(yōu)勢(shì),因此得到了廣泛的應(yīng)用。1.3主要研究?jī)?nèi)容由于在上節(jié)已說過,工頻干擾是工業(yè)現(xiàn)場(chǎng)中的常見干擾源,它的存在對(duì)于工業(yè)現(xiàn)場(chǎng)中小信號(hào)的提取造成了較大的困難,那么本課題需采用TMS320VC5402DSP芯片設(shè)計(jì)一個(gè)通用且濾波參數(shù)可以調(diào)節(jié)的帶阻式濾波器系統(tǒng),如有限長(zhǎng)單位脈沖響應(yīng)(FIR)濾波器,以滿足對(duì)工業(yè)現(xiàn)場(chǎng)中小信號(hào)提取的要求。本次課題的主要任務(wù),就是用MATLAB中的窗函數(shù)設(shè)計(jì)法來確定所要設(shè)計(jì)的帶阻濾波器的指標(biāo)和性能以及掌握DSP芯片的開發(fā)技術(shù),需要完成如下工作。(1)用MATLAB中的窗函數(shù)設(shè)計(jì)法來實(shí)現(xiàn)FIR帶阻濾波器:通過調(diào)用MATLAB中的窗口函數(shù),來截取帶阻濾波器原型,以此來確定所要設(shè)計(jì)的帶阻濾波器的性能指標(biāo),其性能指標(biāo)如下:帶阻濾波器:下通帶邊緣:,上通帶邊緣:,;下阻帶邊緣:,上阻帶邊緣:,。(2)用時(shí)間抽取法實(shí)現(xiàn)FFT/IFFT算法:通過此算法,對(duì)信號(hào)進(jìn)行頻域分析、頻域處理。(3)研究DSP的結(jié)構(gòu)特點(diǎn):了解TI公司的TMS320VC5402DSP芯片,掌握DSP系統(tǒng)的構(gòu)成及軟硬件的設(shè)計(jì)方法和CCS軟件的調(diào)試方法;并以TI公司的TMS320VC5402DSP芯片為核心處理器,在DSK上實(shí)現(xiàn)所要設(shè)計(jì)的FIR帶阻濾波器系統(tǒng)。本論文共分為四個(gè)部分,第一章為緒論部分,介紹了課題背景、DSP及其濾波器的發(fā)展現(xiàn)狀;第二章介紹了DSP系統(tǒng)的框圖設(shè)計(jì)以及DSP芯片的選擇;第三章詳細(xì)介紹了DSP系統(tǒng)的硬件電路設(shè)計(jì),說明了DSP系統(tǒng)有哪幾部分組成;第四章詳細(xì)介紹了課題中所要設(shè)計(jì)的帶阻濾波器的軟件實(shí)現(xiàn)方法。其中,三、四章是本論文的核心部分。2DSP數(shù)字濾波器關(guān)鍵指標(biāo)分析與方案設(shè)計(jì)一個(gè)典型的DSP系統(tǒng)框圖如圖2-1所示。由于DSP芯片是對(duì)數(shù)字信號(hào)進(jìn)行處理的,所以應(yīng)先對(duì)輸入的模擬信號(hào)進(jìn)行調(diào)整,之后再讓輸出的模擬信號(hào)經(jīng)過A/D變換后變成DSP芯片可以處理的數(shù)字信號(hào),然后輸入DSP芯片,DSP芯片根據(jù)實(shí)際需要對(duì)其進(jìn)行相應(yīng)的處理,處理得到的結(jié)果仍然是數(shù)字信號(hào),可以直接通過相應(yīng)的通信接口將它傳輸出去,或者對(duì)它進(jìn)行D/A變換將其轉(zhuǎn)換為模擬采樣值,最后再經(jīng)過內(nèi)插和平滑濾波就得到了連續(xù)的模擬信號(hào)。當(dāng)然,圖中的有些環(huán)節(jié)并不是必需的,如A/D轉(zhuǎn)換,如果輸入的就是數(shù)字信號(hào),那么就可以直接交給DSP芯片進(jìn)行處理。入出圖2-1典型的DSP系統(tǒng)框圖由于DSP系統(tǒng)是以數(shù)字信號(hào)處理理論為基礎(chǔ)的,所以其具有數(shù)字信號(hào)處理器的優(yōu)點(diǎn):接口方便,DSP系統(tǒng)與其它以數(shù)字技術(shù)為基礎(chǔ)的系統(tǒng)或設(shè)備都是相互兼容的,比模擬系統(tǒng)與這些系統(tǒng)接口要容易的多。編程方便,DSP系統(tǒng)中的可編程DSP芯片可以使設(shè)計(jì)人員在開發(fā)過程中靈活方便的進(jìn)行修改和升級(jí),并且還可以將C語(yǔ)言與匯編語(yǔ)言結(jié)合使用。具有高速性,DSP系統(tǒng)的運(yùn)行速度較高,最新的DSP芯片運(yùn)行速度高達(dá)10GMIPS以上。穩(wěn)定性好,DSP系統(tǒng)以數(shù)字處理為基礎(chǔ),受周圍環(huán)境如噪聲、溫度等的影響小,所以其可靠性高、穩(wěn)定性好。精度高,如16位數(shù)字系統(tǒng)可以達(dá)到10-5的精度??芍貜?fù)性好,模擬系統(tǒng)的性能受元件參數(shù)性能的變化影響大,而數(shù)字系統(tǒng)基本不受影響,更便于測(cè)試、調(diào)試和大規(guī)模生產(chǎn)。集成方便,DSP系統(tǒng)中的數(shù)字部件有高度的規(guī)范性,便于大規(guī)模生產(chǎn)。當(dāng)然,DSP系統(tǒng)也存在一些缺點(diǎn),例如對(duì)于一些簡(jiǎn)單的信號(hào)處理任務(wù),若采用DSP芯片則使成本增加;另外,DSP系統(tǒng)中的高速時(shí)鐘通常在幾十兆赫,可能帶來高頻干擾和電磁泄漏等問題;此外,DSP技術(shù)發(fā)展得很快,但是開發(fā)和調(diào)試工具還很不完善。雖然DSP系統(tǒng)存在這些缺點(diǎn),但是隨著近兩年來DSP技術(shù)突飛猛進(jìn)的發(fā)展,很多問題都得到了緩解。一般來說,DSP系統(tǒng)的設(shè)計(jì)過程應(yīng)遵循一定的設(shè)計(jì)流程如圖2-2所示。DSPDSP應(yīng)用定義系統(tǒng)性能指標(biāo)硬件調(diào)試選擇DSP芯片軟件編程硬件設(shè)計(jì)系統(tǒng)集成軟件調(diào)試系統(tǒng)測(cè)試和調(diào)試圖2-2DSP系統(tǒng)的基本設(shè)計(jì)流程基于第一章所述,工頻干擾是工業(yè)現(xiàn)場(chǎng)中的常見干擾源,它的存在對(duì)于工業(yè)現(xiàn)場(chǎng)中小信號(hào)的提取造成了較大的困難,因此課題要求采用DSP芯片設(shè)計(jì)一個(gè)通用且濾波參數(shù)可以調(diào)節(jié)的帶阻式濾波器,以滿足對(duì)于工業(yè)現(xiàn)場(chǎng)中小信號(hào)提取的要求。并且所設(shè)計(jì)的帶阻濾波器的性能指標(biāo)為下通帶邊緣:,上通帶邊緣:,;下阻帶邊緣:,上阻帶邊緣:,;采樣頻率:;點(diǎn)數(shù):。TI公司的2000系列和5000系列的DSP芯片都是通用型的芯片,但考慮到2000系列的DSP芯片大多用于控制方面,5000系列的DSP芯片較2000系列的DSP芯片具有更高的時(shí)鐘頻率、更加強(qiáng)大的運(yùn)算功能和更低的價(jià)格。并且5000系列的DSP芯片具有靈活的指令系統(tǒng)和操作性能,又采用改進(jìn)的哈佛結(jié)構(gòu),計(jì)算和處理速度很高,系統(tǒng)單指令周期可達(dá)到10ns。并且TMS320VC5402DSP芯片是一種特殊結(jié)構(gòu)的微處理器,為了快速地實(shí)現(xiàn)數(shù)字信號(hào)處理運(yùn)算,采用了流水線指令執(zhí)行結(jié)構(gòu)和相應(yīng)的并行處理結(jié)構(gòu),可在一個(gè)周期內(nèi)對(duì)數(shù)據(jù)進(jìn)行高速的算術(shù)運(yùn)算和邏輯運(yùn)算,TMS320VC5402DSP芯片還提供了McBSP串口和DAM數(shù)據(jù)傳送方式極大地方便了它在通信領(lǐng)域的應(yīng)用和開發(fā)。所以在數(shù)字濾波器系統(tǒng)的設(shè)計(jì)中,采用了TI公司的這款高性能、低功耗的定點(diǎn)DSP芯片:TMS320VC5402DSP芯片。該DSP芯片具有較快的運(yùn)行速度,并且采用了低功耗的設(shè)計(jì)方式:內(nèi)核電壓為1.8V,I/O電壓為3.3V。數(shù)字濾波器系統(tǒng)的具體框圖如圖2-3所示。TMS320VC5402TMS320VC5402FLASHSRAMPRAMJTAGADCDAC復(fù)位時(shí)鐘電源圖2-3數(shù)字濾波器系統(tǒng)的框圖通常的設(shè)計(jì)中會(huì)采用5V供電且并行的ADC(模數(shù)轉(zhuǎn)換器)和DAC(數(shù)模轉(zhuǎn)換器)芯片與DSP芯片連接,那么傳輸數(shù)據(jù)過程中會(huì)占用總線的時(shí)間,并且需要采用多片電平轉(zhuǎn)換器件將5V電平轉(zhuǎn)換為3.3V的邏輯電平。但考慮到TMS320VC5402DSP芯片的片上包含兩個(gè)McBSP(多通道緩沖串行口)接口,可以將這兩個(gè)通道模仿實(shí)現(xiàn)SPI的時(shí)序,那么ADC芯片可采用TLV2544,實(shí)現(xiàn)將需要的濾波信號(hào)從模擬信號(hào)轉(zhuǎn)換到數(shù)字信號(hào);DAC芯片可采用TLV5608,實(shí)現(xiàn)濾波后的信號(hào)從數(shù)字信號(hào)恢復(fù)為所需要的模擬信號(hào);JTAG接口供DSP芯片下載程序進(jìn)行調(diào)試。3DSP系統(tǒng)的硬件電路設(shè)計(jì)基于第一章和第二章所述,可知所要設(shè)計(jì)的帶阻濾波器的性能指標(biāo)為下通帶邊緣:,上通帶邊緣:,;下阻帶邊緣:,上阻帶邊緣:,;采樣頻率:。指標(biāo)已確定,以下應(yīng)該先設(shè)計(jì)DSP系統(tǒng)的硬件電路,DSP系統(tǒng)的硬件設(shè)計(jì)又稱為目標(biāo)板設(shè)計(jì),是在考慮算法需求、成本、體積和功耗核算的基礎(chǔ)上完成的,主要包括DSP芯片及DSP基本系統(tǒng)、存儲(chǔ)器、數(shù)/模和模/數(shù)轉(zhuǎn)換器、控制接口和電源處理等。那么我們就基于此來設(shè)計(jì)DSP系統(tǒng)。3.1DSP與A/D和D/A轉(zhuǎn)換器的接口在由DSP芯片組成的信號(hào)處理系統(tǒng)中,A/D和D/A轉(zhuǎn)換器是非常重要的器件。首先輸入信號(hào)經(jīng)過濾波,然后進(jìn)行A/D轉(zhuǎn)換將模擬信號(hào)變換成數(shù)字信號(hào),再由DSP芯片對(duì)數(shù)字信號(hào)進(jìn)行某種形式的處理,如進(jìn)行一系列的乘法-累加運(yùn)算。經(jīng)過處理后的數(shù)字信號(hào)由D/A轉(zhuǎn)換器變換成模擬信號(hào),之后再進(jìn)行平滑濾波,得到連續(xù)的模擬波形。從上述的信號(hào)處理過程可以看出A/D和D/A轉(zhuǎn)換器的作用。本節(jié)主要介紹DSP與A/D和D/A轉(zhuǎn)換器的接口電路。3.1.1DSP與A/D轉(zhuǎn)換器的接口模擬信號(hào)的采集過程是將模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào),從而進(jìn)行數(shù)字信號(hào)的處理。這要用到A/D轉(zhuǎn)換器,它對(duì)數(shù)字信號(hào)處理系統(tǒng)的設(shè)計(jì)和技術(shù)指標(biāo)的保證起著重要作用?;诓煌膽?yīng)用,可選用不同性能指標(biāo)和價(jià)位的芯片。對(duì)于A/D轉(zhuǎn)換器的選擇,主要考慮以下幾方面的因素。采樣頻率。一般系統(tǒng)處理的信號(hào)是數(shù)字信號(hào),而輸入的信號(hào)大多是模擬信號(hào),那么就要對(duì)輸入的模擬信號(hào)進(jìn)行抽樣,來轉(zhuǎn)換成數(shù)字信號(hào)。這就要先確定采樣頻率,之后根據(jù)此采樣頻率來選擇所要用到的A/D轉(zhuǎn)換器。轉(zhuǎn)換精度。一般系統(tǒng)要求對(duì)信號(hào)做一些處理,如FFT變換。因?yàn)镈SP芯片的數(shù)據(jù)是16位,所以最理想的精度為12位,留出四位做算法的溢出保護(hù)位。轉(zhuǎn)換時(shí)間。DSP的指令周期為ns級(jí),運(yùn)算速度極快,能進(jìn)行信號(hào)的實(shí)時(shí)處理。為了體現(xiàn)它的優(yōu)勢(shì),其外圍設(shè)備的數(shù)據(jù)處理速度就要滿足DSP的要求。同時(shí),轉(zhuǎn)換時(shí)間也決定了它對(duì)信號(hào)的處理能力。器件價(jià)格。轉(zhuǎn)換器的價(jià)格也是選擇A/D的一個(gè)重要因素。鑒于以上因素,所設(shè)計(jì)的系統(tǒng)的采樣頻率為10KHz,用到的DSP芯片為TMS320VC5402,為16位數(shù)據(jù)。而TI公司生產(chǎn)的TLV2544芯片,它是一種高性能、低功耗、高速(3.6μs)、12位四通道串行CMOS模數(shù)轉(zhuǎn)換器,并且最高采樣速率為200KSPS,采用2.7~5.5V單電源工作,能夠進(jìn)行信號(hào)的實(shí)時(shí)抽樣處理,其滿足系統(tǒng)的要求,所以在DSP與A/D轉(zhuǎn)換器的接口電路中選擇了TI公司的TLV2544芯片。并且該芯片為用戶提供了三個(gè)輸入端(片選、串行時(shí)鐘SCLK和串行數(shù)據(jù)輸入SDI)和一個(gè)三態(tài)輸出端(串行數(shù)據(jù)輸出SDO)的串行端口,可為流行的微處理器SPI串行端口提供了方便的4線接口。當(dāng)與DSP芯片連接時(shí),可用一個(gè)幀同步信號(hào)FS來控制一個(gè)串行數(shù)據(jù)幀的開始。TLV2544器件除了具有高速模數(shù)轉(zhuǎn)換和多種控制功能外,還具有片內(nèi)模數(shù)多路選擇器,可選擇任意通道模擬電壓作為外部模擬輸入,也可從三個(gè)內(nèi)部自測(cè)試電壓中任選一個(gè)作為輸入。TLV2544設(shè)有內(nèi)置轉(zhuǎn)換時(shí)鐘(OSC)和電壓基準(zhǔn),可以采用外部SCLK作為轉(zhuǎn)換時(shí)鐘源以獲得更高的轉(zhuǎn)換速度,并有兩種不同的內(nèi)部基準(zhǔn)電壓可供選擇。TLV2544工作周期的開始有兩種模式:一種是不使用FS模式(在的下降沿,F(xiàn)S=1)。在這種模式下,的下降沿為周期的開始,輸入數(shù)據(jù)在SCLK的上升沿移入,輸出數(shù)據(jù)在其下降沿改變。這種模式可用于DSP系統(tǒng),但一般用于SPI。另一種模式是使用FS模式(FS來自DSP的有效信號(hào)),常用于TMS320系列的DSP。FS的下降沿為周期的開始,輸入數(shù)據(jù)在SCLK的下降沿移入,輸出數(shù)據(jù)在其上升沿改變。TMS320VC5402芯片提供的高速、雙向、多通道帶緩沖串行端口McBSP,可用來與串行A/D轉(zhuǎn)換器直接連接。每個(gè)BSP口可工作在SPI方式和I/O方式。在I/O方式下,通過位操作可以實(shí)現(xiàn)任何串行操作,但操作過程始終占用CPU且編程較復(fù)雜。在SPI方式下,BSP口可方便地與滿足SPI/TM協(xié)議的串行設(shè)備相連。與TLV2544接口時(shí),TMS320VC5402芯片作為SPI主設(shè)備向TLV2544提供串行時(shí)鐘、命令和片選信號(hào),實(shí)現(xiàn)無縫連接,不需要附加邏輯電路。圖3-1為TMS320VC5402與TLV2544連接示意圖。在模擬信號(hào)輸入A/D轉(zhuǎn)換器之前,要把此信號(hào)先經(jīng)過防混疊濾波器,防止輸入的模擬信號(hào)混疊?;谇懊嫠O(shè)計(jì)的帶阻濾波器,我們來確定此防混疊濾波器的截止頻率,并且我們用RC濾波器來實(shí)現(xiàn)此濾波器,假定RC濾波器中的電容,又RC濾波器的截止頻率,進(jìn)而可以得出RC濾波器中的電阻。然后將經(jīng)過防混疊濾波器的模擬信號(hào)從A1送入A/D轉(zhuǎn)換器轉(zhuǎn)換成數(shù)字信號(hào)。圖3-1TMS320VC5402與A/DTLV2544的接口電路TLV2544采用正常的采樣方式,通過軟件啟動(dòng)A/D轉(zhuǎn)換,和接電源電壓。該電路使用內(nèi)部基準(zhǔn)電壓,REFP和REFM之間接入C17和C18兩個(gè)去耦電容。A/D轉(zhuǎn)換電路的工作是由DSP芯片的多通道緩沖串口BSP0來控制,BSP0通過串行輸出口BDX0發(fā)送控制字到TLV2544的SDI口,來決定其工作發(fā)送。TLV2544按DSP發(fā)出的控制字進(jìn)行轉(zhuǎn)換,當(dāng)轉(zhuǎn)換結(jié)果產(chǎn)生后(如FIFO堆棧滿),發(fā)出信號(hào)通知DSP接收。DSP接收到信號(hào)后,經(jīng)BDR0口讀入已轉(zhuǎn)換好的串行數(shù)據(jù)。3.1.2DSP與D/A轉(zhuǎn)換器的接口模數(shù)接口是DSP處理系統(tǒng)中的一個(gè)重要組成部分,主要完成模擬量與數(shù)字量之間的轉(zhuǎn)換,這要用到D/A轉(zhuǎn)換器。D/A轉(zhuǎn)換器應(yīng)根據(jù)信號(hào)頻率、精度以及是否要求自帶基準(zhǔn)電源、多路選擇器、輸出運(yùn)放等因素來選擇?;谝陨弦蛩?,由于TI公司生產(chǎn)的TLV5608芯片,其在2.7~5.5V單電源工作條件下是低功耗、10位串行數(shù)據(jù)D/A轉(zhuǎn)換器,內(nèi)部參考電源可編程設(shè)定,設(shè)定時(shí)間在快速模式下為1μs,在慢速模式下為3μs,并且SPI接口與C54x系列DSP芯片兼容。所以在DSP與D/A轉(zhuǎn)換器的接口電路中選擇了TI公司的TLV5608芯片。圖3-2為TMS320VC5402與TLV5608連接示意圖。在信號(hào)經(jīng)過D/A轉(zhuǎn)換器轉(zhuǎn)換成模擬信號(hào)從OUTA輸出之后,此信號(hào)還需要再經(jīng)過平滑濾波器使其波形平滑,才可輸出到其他設(shè)備?;谇懊嬉笥肈SP芯片來設(shè)計(jì)帶阻濾波器,并且用到的采樣頻率,那么平滑濾波器的截止頻率,并且我們用RC濾波器來實(shí)現(xiàn)此濾波器,假定RC濾波器中的電容,又RC濾波器的截止頻率,進(jìn)而可以得出RC濾波器中的電阻。然后將經(jīng)過平滑濾波器的平滑模擬信號(hào)輸出到其他設(shè)備。圖3-2TMS320VC5402與D/ATLV5608的接口電路通過軟件啟動(dòng)D/A轉(zhuǎn)換,DVDD和AVDD引腳接電源電壓。該電路使用內(nèi)部基準(zhǔn)電壓,MODE引腳接地。D/A轉(zhuǎn)換電路的工作是由DSP芯片的多通道緩沖串口BSP1來控制,BSP1通過串行輸出口BDX1發(fā)送控制字到TLV5608的DIN口,來決定其工作接收。TLV5608按DSP發(fā)出的控制字進(jìn)行轉(zhuǎn)換,當(dāng)轉(zhuǎn)換結(jié)果產(chǎn)生后(如FIFO堆棧滿),發(fā)出DOUT信號(hào)通知DSP轉(zhuǎn)換結(jié)束。DSP接收到DOUT信號(hào)后,經(jīng)BDR1口讀出需要轉(zhuǎn)換的串行數(shù)據(jù)。3.2DSP存儲(chǔ)器的擴(kuò)展隨著電子技術(shù)的發(fā)展,使得大容量、低成本、小體積、低功耗、高速存取的存儲(chǔ)器得到了廣泛地應(yīng)用。對(duì)于數(shù)據(jù)運(yùn)算量和存儲(chǔ)容量要求較高的系統(tǒng),在應(yīng)用DSP芯片作為核心器件時(shí),由于芯片自身的內(nèi)存資源有限,往往需要存儲(chǔ)器的擴(kuò)展。在進(jìn)行DSP外部存儲(chǔ)器擴(kuò)展之前,必須了解DSP片上存儲(chǔ)資源,并根據(jù)應(yīng)用需求來擴(kuò)展存儲(chǔ)空間。當(dāng)片上存儲(chǔ)資源不能滿足系統(tǒng)設(shè)計(jì)的要求時(shí),就需要進(jìn)行外部存儲(chǔ)器擴(kuò)展。本節(jié)主要介紹下FLSAH、SRAM和PRAM的外部存儲(chǔ)器擴(kuò)展。3.2.1FLASH的擴(kuò)展大部分的DSP芯片程序存儲(chǔ)器空間都采用了分頁(yè)擴(kuò)展存儲(chǔ)器的方式,這樣允許訪問多達(dá)1M的程序存儲(chǔ)器空間。XPC是程序計(jì)數(shù)器擴(kuò)展寄存器,映射到數(shù)據(jù)空間的001E地址,它的值決定頁(yè)號(hào)。在硬件復(fù)位時(shí),XPC被初始設(shè)置為0,TMS320VC5402芯片的程序存儲(chǔ)器被設(shè)置為128頁(yè),每一頁(yè)為64K字。當(dāng)片內(nèi)RAM映射到程序空間時(shí)(OVLY=1),程序存儲(chǔ)器的每一頁(yè)由兩部分組成,為最多32K字的公共塊和32K字的私有塊,公共塊被所有的頁(yè)共享,私有塊只能通過它所在的頁(yè)來訪問。目前,市場(chǎng)上的EPROM工作電壓一般為5V,與3.3V的DSP芯片連接時(shí)需要考慮電平轉(zhuǎn)換的問題,而且體積都很大。FLASH存儲(chǔ)器與EPROM相比,具有更高的性能價(jià)格比,而且體積小、功耗低、可電擦寫、使用方便,并且3.3V的FLASH可以直接與DSP芯片連接。因此,采用FLASH作為程序存儲(chǔ)器存儲(chǔ)程序和固定數(shù)據(jù)是一種比較好的選擇。并且TMS320VC5402芯片為ROM型DSP芯片,用戶的運(yùn)行程序和數(shù)據(jù)在掉電后不能保存,因此,DSP芯片需要擴(kuò)展FLASH存儲(chǔ)器來保存系統(tǒng)運(yùn)行的程序和數(shù)據(jù)?;谝陨显?,并且AM29LV400B芯片支持單電源工作,可以直接與3.3V的DSP芯片連接,簡(jiǎn)化了系統(tǒng)地接口電路。因此,本課題設(shè)計(jì)中采用的FLASH存儲(chǔ)芯片是AM29LV400B芯片。圖3-3為TMS320VC5402與AM29LV400B的程序存儲(chǔ)器擴(kuò)展電路。AM29LV400B作為DSP芯片的外部程序存儲(chǔ)器,地址總線和數(shù)據(jù)總線接至DSP芯片的外部總線,片選信號(hào)接至DSP芯片的外部程序存儲(chǔ)器的片選信號(hào),編程寫信號(hào)接至DSP芯片的讀/寫信號(hào),復(fù)位信號(hào)接至DSP芯片的復(fù)位信號(hào),而輸出使能信號(hào)接至DSP芯片的外部存儲(chǔ)器選通信號(hào)。圖3-3FLASHAM29LV400B與DSP的連接當(dāng)=0時(shí),=0、=0,選中FLASH存儲(chǔ)器,可進(jìn)行讀操作;當(dāng)=1時(shí),=1,F(xiàn)LASH存儲(chǔ)器掛起,地址線和數(shù)據(jù)線呈現(xiàn)高阻。3.2.2SRAM的擴(kuò)展C54x系列的數(shù)據(jù)存儲(chǔ)器最多包含64K字,除了雙存取RAM(DARAM)和單存取RAM(SARAM)以外,C54x系列器件片內(nèi)ROM還可以用軟件映射成數(shù)據(jù)ROM(DROM)。但是,這樣DSP芯片中的數(shù)據(jù)存儲(chǔ)器還是不夠用,因此我們要擴(kuò)展外部數(shù)據(jù)存儲(chǔ)器。當(dāng)訪問的地址屬于片內(nèi)存儲(chǔ)器時(shí),就可以進(jìn)行RAM或者數(shù)據(jù)ROM(在其有效地情況下)的訪問。當(dāng)數(shù)據(jù)地址產(chǎn)生器產(chǎn)生一個(gè)超出片內(nèi)存儲(chǔ)器范圍的地址時(shí),器件會(huì)自動(dòng)產(chǎn)生一個(gè)外部訪問?;谝陨纤鲈?,并且IS61LV6416芯片是一種高速數(shù)據(jù)存儲(chǔ)器,其容量為64K×16,分別有16位地址線和數(shù)據(jù)線,控制線包括片選信號(hào)、寫允許信號(hào)、讀選通信號(hào)、高位字節(jié)選通信號(hào)和低位字節(jié)選通信號(hào),電源電壓為3.3V,與C54x系列外設(shè)電壓相同。因此,本課題設(shè)計(jì)中采用的SRAM存儲(chǔ)器擴(kuò)展芯片是IS61LV6416芯片。TMS320VC5402與IS61LV6416擴(kuò)展的SRAM連接如圖3-4所示。地址線和數(shù)據(jù)線對(duì)應(yīng)相連,由于是數(shù)據(jù)存儲(chǔ)器擴(kuò)展,存儲(chǔ)器的片選信號(hào)與DSP芯片的數(shù)據(jù)存儲(chǔ)器的片選信號(hào)連接,以選通外部數(shù)據(jù)存儲(chǔ)器,而存儲(chǔ)器的寫允許端與DSP芯片的讀/寫控制端相連,以實(shí)現(xiàn)數(shù)據(jù)的讀/寫操作,并且讀選通信號(hào)、高位字節(jié)選通信號(hào)和低位字節(jié)選通信號(hào)引腳接地。圖3-4SRAMIS61LV6416與DSP的連接3.2.3PRAM的擴(kuò)展雖然前面已經(jīng)擴(kuò)展了FLASH外部存儲(chǔ)器作為外部程序存儲(chǔ)器,但是由于前面擴(kuò)展的FLASH外部存儲(chǔ)器的運(yùn)行速度較慢,有可能跟不上DSP芯片的處理速度,而擴(kuò)展的PRAM外部存儲(chǔ)器的運(yùn)行速度卻能跟上DSP芯片的處理速度,因此我們要在DSP系統(tǒng)中擴(kuò)展一個(gè)PRAM外部存儲(chǔ)器,使得擴(kuò)展的FLASH外部存儲(chǔ)器跟上DSP芯片的處理速度?;诖耍覀冞x擇IS61LV6416芯片作為我們擴(kuò)展PRAM外部存儲(chǔ)器的芯片。TMS320VC5402與IS61LV6416擴(kuò)展的PRAM連接如圖3-5所示。地址線和數(shù)據(jù)線對(duì)應(yīng)相連,由于是程序存儲(chǔ)器擴(kuò)展,存儲(chǔ)器的片選信號(hào)與DSP芯片的數(shù)據(jù)存儲(chǔ)器的片選信號(hào)連接,以選通外部程序存儲(chǔ)器,而存儲(chǔ)器的寫允許端與DSP芯片的讀/寫控制端相連,以實(shí)現(xiàn)數(shù)據(jù)的讀操作,并且讀選通信號(hào)、高位字節(jié)選通信號(hào)和低位字節(jié)選通信號(hào)引腳接地。圖3-5PRAMIS61LV6416與DSP的連接3.3DSP系統(tǒng)的外圍電路設(shè)計(jì)一個(gè)完整的DSP系統(tǒng)通常是由DSP芯片和其他相應(yīng)的外圍器件構(gòu)成的。本節(jié)主要說明了DSP硬件系統(tǒng)的外圍電路設(shè)計(jì),包括電源電路、復(fù)位電路、時(shí)鐘電路等。3.3.1電源電路的設(shè)計(jì)為了降低芯片功耗,TMS320C54x系列芯片大部分都采用低電壓設(shè)計(jì),并且采用雙電源供電,即內(nèi)核電源CVDD和I/O電源DVDD。通常I/O電源采用3.3V供電,而內(nèi)核電源采用3.3V、2.5V或更低的1.8V電源。TMS320VC5402芯片的內(nèi)核電壓為1.8V。下面介紹TMS320VC5402芯片的電源電路設(shè)計(jì)。TMS320VC5402芯片采用了雙電源供電機(jī)制,以獲得更好的電源性能,其工作電壓分別為3.3V和1.8V。其中3.3V為I/O電源DVDD,主要供I/O接口使用,通常情況下可直接與外部低壓器件進(jìn)行接口,而不需要額外的電平變換電路。1.8V為內(nèi)核電源CVDD,主要為芯片的內(nèi)部邏輯提供電壓,包括CPU、時(shí)鐘電路和其他所有的外設(shè)邏輯。與3.3V電源相比,1.8V電源可以大大降低芯片功耗。由于TMS320VC5402芯片采用雙電源供電,使用時(shí)需要考慮它們的加電次序。理想情況下,DSP芯片上的兩個(gè)電源應(yīng)同時(shí)加電,但在有些場(chǎng)合很難做到。若不能做到同時(shí)加電,應(yīng)先對(duì)DVDD加電,然后再對(duì)CVDD加電,同時(shí)要求DVDD電壓不超過CVDD電壓2V。這個(gè)加電次序主要依賴于芯片內(nèi)部的靜電保護(hù)電路。TMS320VC5402芯片的電流消耗主要取決于器件的激活度,而內(nèi)核電源CVDD所消耗的電流主要取決于CPU的激活度,外設(shè)消耗的電流取決于正在工作的外設(shè)及其運(yùn)行速度。與CPU相比,外設(shè)消耗的電流通常是比較小的。時(shí)鐘電路也需要消耗一小部分電流,且這部分電流是恒定的,與CPU和外設(shè)的激活程度無關(guān)。內(nèi)核電源CVDD為器件的所有內(nèi)部邏輯提供電流,包括CPU、時(shí)鐘電路和所有外設(shè)。I/O電源DVDD只為外設(shè)接口引腳提供電壓,消耗的電流取決于外部輸出的速度,數(shù)量以及在這些輸出口上的負(fù)載電容。DSP芯片采用哪種供電機(jī)制,主要取決于應(yīng)用系統(tǒng)中提供的電源。目前,生產(chǎn)電源的芯片很多,如Maxim公司的MAX604,TI公司的TPS73xx系列等。這些芯片可分為線性芯片和開關(guān)芯片兩種,在設(shè)計(jì)中要根據(jù)實(shí)際的需要來選擇。如果系統(tǒng)對(duì)功耗要求不高時(shí),可使用線性穩(wěn)壓芯片,其特點(diǎn)是使用方法簡(jiǎn)單,電源紋波電壓較低,對(duì)系統(tǒng)的干擾較小。若系統(tǒng)對(duì)功耗要求較苛刻時(shí),應(yīng)使用開關(guān)電源芯片。通常情況下開關(guān)電源芯片的效率可以達(dá)到90%以上,但開關(guān)電源所產(chǎn)生的紋波電壓較高,且開關(guān)振蕩頻率在幾千赫茲到幾百千赫茲的范圍,易對(duì)系統(tǒng)產(chǎn)生干擾?;谝陨显颍陔娫措娐返脑O(shè)計(jì)中選擇了TI公司的TPS73HD318芯片,此芯片提供了兩路輸出電源,輸出電壓分別為3.3V和1.8V,每路電源的最大輸出電流為750mA,并且提供兩個(gè)寬度為200ms的低電平復(fù)位脈沖,可以滿足TMS320VC5402DSP系統(tǒng)的需要。電源電路如圖3-6所示。圖3-6雙電源電路3.3.2復(fù)位電路的設(shè)計(jì)TMS320VC5402芯片的復(fù)位輸入引腳()為處理器提供了硬件初始化的方法,它是一種不可屏蔽的外部中斷,可在任何時(shí)候?qū)MS320VC5402芯片進(jìn)行復(fù)位。這個(gè)引腳上電平后可以使程序從指定的存儲(chǔ)地址FF80H開始運(yùn)行。當(dāng)時(shí)鐘電路工作后,只要在引腳上出現(xiàn)兩個(gè)外部時(shí)鐘周期以上的低電平,則芯片始終處于復(fù)位狀態(tài)。對(duì)于一個(gè)DSP系統(tǒng)而言,上電復(fù)位電路雖然只占很小的一部分,但它的好壞將直接影響整個(gè)系統(tǒng)工作的穩(wěn)定性。由于實(shí)際的DSP系統(tǒng)需要較高頻率的時(shí)鐘信號(hào),在運(yùn)行過程中極容易發(fā)生干擾現(xiàn)象,嚴(yán)重時(shí)可能會(huì)造成系統(tǒng)死機(jī),導(dǎo)致系統(tǒng)無法正常工作。為了解決這種問題,除了在軟件設(shè)計(jì)中加入一些保護(hù)措施外,硬件設(shè)計(jì)也必須做出相應(yīng)的處理。目前,最有效的硬件保護(hù)措施是采用具有監(jiān)視功能的自動(dòng)復(fù)位電路。自動(dòng)復(fù)位電路除了具有上電復(fù)位功能外,還能監(jiān)視系統(tǒng)運(yùn)行,當(dāng)系統(tǒng)發(fā)生故障或死機(jī)時(shí)可通過該電路對(duì)系統(tǒng)進(jìn)行自動(dòng)復(fù)位。根據(jù)以上所述,可以使用與常用的器件設(shè)計(jì)相應(yīng)的自動(dòng)復(fù)位電路,如用555定時(shí)器和計(jì)數(shù)器組成。除此之外,也可以采用專用的自動(dòng)復(fù)位集成電路,如Maxim公司的MAX706、MAX706S芯片。其中,MAX706S是一種能與具有3.3V工作電壓的DSP芯片相匹配的自動(dòng)復(fù)位電路。因此在復(fù)位電路的設(shè)計(jì)中選擇了Maxim公司的MAX706S芯片。又由于DSP芯片要求在復(fù)位信號(hào)從低到高之前,時(shí)鐘必須已經(jīng)穩(wěn)定工作了若干時(shí)間(毫秒級(jí)),同時(shí)對(duì)復(fù)位信號(hào)低電平的寬度也有要求,而且復(fù)位信號(hào)上不應(yīng)有毛刺出現(xiàn),因此采用了圖3-7所示的復(fù)位電路。引腳6為系統(tǒng)提供的監(jiān)視信號(hào),來自DSP芯片的輸出端TOUT0,是一個(gè)通過程序產(chǎn)生的周期不小于10Hz的脈沖信號(hào)。引腳7為低電平復(fù)位輸出信號(hào),是一個(gè)不小于1.6s的復(fù)位脈沖,用來對(duì)DSP芯片復(fù)位。圖3-7復(fù)位電路當(dāng)DSP處于不正常工作時(shí),由程序所產(chǎn)生的周期脈沖將會(huì)消失,自動(dòng)復(fù)位電路將無法接收到監(jiān)視信號(hào),MAX706S芯片將通過引腳7產(chǎn)生復(fù)位信號(hào),使系統(tǒng)復(fù)位,程序重新開始運(yùn)行,強(qiáng)迫系統(tǒng)恢復(fù)正常工作。3.3.3時(shí)鐘電路的設(shè)計(jì)時(shí)鐘電路用來為TMS320VC5402芯片提供時(shí)鐘信號(hào),由一個(gè)內(nèi)部振蕩器和一個(gè)鎖相環(huán)PLL組成,可通過晶振或者外部的時(shí)鐘驅(qū)動(dòng)。TMS320VC5402芯片提供了兩個(gè)時(shí)鐘管腳X2和X1。其中,X2又稱CLKIN,是一個(gè)輸入管腳,而X1是一個(gè)輸出管腳,其時(shí)鐘發(fā)生器允許設(shè)計(jì)者選擇時(shí)鐘源。為DSP芯片提供的時(shí)鐘一般有兩種方法:一種是使用外部時(shí)鐘源的時(shí)鐘信號(hào),將外部時(shí)鐘信號(hào)直接加到DSP芯片的X2/CLKIN引腳,而X1引腳懸空。外部時(shí)鐘源可以采用頻率穩(wěn)定的晶體振蕩器,具有使用方便,價(jià)格便宜,因而得到廣泛應(yīng)用。另一種方法是利用DSP芯片內(nèi)部的振蕩器構(gòu)成時(shí)鐘電路,也就是在X1和X2/CLKIN引腳之間接入一個(gè)晶體來啟動(dòng)DSP芯片內(nèi)部振蕩器,如圖3-8所示。選用的晶振Y為10MHz。圖3-8時(shí)鐘電路DSP芯片內(nèi)部設(shè)計(jì)的時(shí)鐘和分頻電路,可以直接對(duì)內(nèi)部和外部的時(shí)鐘進(jìn)行分頻,作為DSP芯片的系統(tǒng)時(shí)鐘,這種模式稱為DIV模式。另外,DSP芯片內(nèi)部設(shè)計(jì)具有鎖相環(huán)PLL電路,鎖相環(huán)PLL電路具有頻率放大和時(shí)鐘信號(hào)提純的作用,利用鎖相環(huán)PLL電路的鎖定特性可以對(duì)時(shí)鐘頻率進(jìn)行鎖定,為芯片提供高穩(wěn)定頻率的時(shí)鐘信號(hào)。除此之外,鎖相環(huán)還可以對(duì)外部時(shí)鐘頻率進(jìn)行倍頻,使外部時(shí)鐘源的頻率低于CPU的機(jī)器周期,以降低因高速開關(guān)時(shí)鐘所引起的高頻噪聲。當(dāng)外部時(shí)鐘輸入后,通過內(nèi)部鎖相環(huán)PLL電路可以倍頻到所需要的工作頻率。鎖相環(huán)PLL電路的啟動(dòng)有兩種方式:(1)硬件控制,可以通過DSP芯片的CLKMD1、CLKMD2、CLKMD3三個(gè)引腳來設(shè)置,DSP芯片上電復(fù)位時(shí),根據(jù)此三個(gè)引腳的電平來設(shè)定鎖相環(huán)PLL的工作狀態(tài),并啟動(dòng)鎖相環(huán)PLL工作。(2)軟件編程控制,通過讀寫DSP芯片內(nèi)部的時(shí)鐘模式寄存器(CLKMD)可以完成鎖相環(huán)PLL電路的設(shè)定。要改變鎖相環(huán)PLL的倍率,必須先把時(shí)鐘模式從PLL模式切換到DIV模式,然后再切換到新的倍率的PLL模式,不允許從一種PLL倍率直接切換到另一種PLL倍率。表3-1為TMS320VC5402芯片時(shí)鐘模式設(shè)定。表3-1時(shí)鐘模式設(shè)定CLKMD1CLKMD2CLKMD3CLKMDRESETVALUECLOCKMODE0000000H1/2(PLLdisabled)0019007HPLL×100104007HPLL×51001007HPLL×2110F007HPLL×11110000H1/2(PLLdisabled)101F000H1/2(PLLdisabled)011Rserved(Bypassmode)3.4JTAG仿真接口電路的設(shè)計(jì)對(duì)于大部分處理器而言,JTAG接口共提供了7個(gè)信號(hào),即TCK、TDI、TDO、TMS、TRST、EMU0和EMU1。其中,TCK是仿真器發(fā)向目標(biāo)板的時(shí)鐘信號(hào);TDI為數(shù)據(jù)輸入,即數(shù)據(jù)由仿真器端傳向目標(biāo)板;TDO為數(shù)據(jù)輸出,其方向與TDI相反,即數(shù)據(jù)由目標(biāo)板傳向仿真器端;TMS為測(cè)試模式選擇,信號(hào)由仿真器發(fā)起,目標(biāo)板為接收端;TRST是仿真器發(fā)起的復(fù)位信號(hào),用于JTAG仿真模式的復(fù)位;EMU0和EMU1用于對(duì)多處理器的目標(biāo)板進(jìn)行仿真。由于TMS320VC5402提供了片上JTAG接口,方便了仿真調(diào)試,只需將DSP芯片上的TCK、TDI、TDO、TMS、、EMU0、EMU1共7個(gè)引腳接出,做成一個(gè)標(biāo)準(zhǔn)的14針插座,就可以供仿真器調(diào)試目標(biāo)板。JTAG仿真接口電路如圖3-9所示。圖3-9JTAG仿真接口電路我們所設(shè)計(jì)的DSP系統(tǒng)用到的DSP芯片為TMS320VC5402。為了保證該芯片能夠正常穩(wěn)定工作,需要對(duì)它的引腳進(jìn)行配置。所謂引腳的配置,是將相應(yīng)的引腳按照正確的邏輯狀態(tài)進(jìn)行設(shè)置,即用10K電阻上拉到高電位,使引腳置為邏輯1;或?qū)⒁_直接接地,置為邏輯0。TMS320VC5402引腳配置主要有:為了保證用戶編寫的程序能夠從外部FLASH引導(dǎo)到DSP芯片內(nèi)存儲(chǔ)器中,DSP芯片應(yīng)設(shè)置為計(jì)算機(jī)模式,引腳應(yīng)下拉接地,設(shè)置為邏輯0。為了避免DSP芯片在程序運(yùn)行中出現(xiàn)不正確的跳轉(zhuǎn),應(yīng)將~和上拉為1,設(shè)置為邏輯1。為了防止DSP芯片出現(xiàn)意外停止響應(yīng)和額外插入等待周期,應(yīng)將和READY引腳上拉為1,設(shè)置為邏輯1。時(shí)鐘電路采用內(nèi)部時(shí)鐘源,時(shí)鐘模式設(shè)置為2。時(shí)鐘模式引腳CLKMD1上拉為1,設(shè)置為邏輯1,CLKMD2和CLKMD3下拉為0,設(shè)置為邏輯0,而時(shí)鐘引腳X1和X2/CLKIN外接晶體。綜上所述,TMS320VC5402的基本引腳連接如圖3-10所示。圖3-10TMS320VC5402的基本引腳連接4帶阻濾波器的DSP實(shí)現(xiàn)基于前面幾章所述,我們所設(shè)計(jì)的帶阻濾波器的性能指標(biāo)為下通帶邊緣:,上通帶邊緣:,;下阻帶邊緣:,上阻帶邊緣:,;采樣頻率:。并且上一章已經(jīng)介紹了實(shí)現(xiàn)帶阻濾波器的DSP系統(tǒng)的硬件電路設(shè)計(jì),進(jìn)而這一章我們來介紹實(shí)現(xiàn)帶阻濾波器的CCS軟件設(shè)計(jì)。4.1FFT/IFFT算法程序及應(yīng)用FFT/IFFT在數(shù)字信號(hào)處理中是一種非常重要的算法,在很多的應(yīng)用領(lǐng)域,如xDSL調(diào)制器、數(shù)字電視、手持無線接收裝置中都有用到。它可以直接用來分析信號(hào)的頻譜;利用快速卷積求解FIR濾波器的輸出。正是由于FFT有著這些用途,并考慮到對(duì)濾波器參數(shù)的判定,以及今后繼續(xù)開發(fā)其他通訊軟件時(shí)的應(yīng)用,編寫了FFT子程序,這樣既可以直接演示信號(hào)頻譜,也可以把子程序嵌入到主程序之中,進(jìn)行頻譜分析與計(jì)算。4.1.1FFT設(shè)計(jì)方法FFT是DFT的一個(gè)快速算法,是為了減少DFT計(jì)算次數(shù)的一種快速有效的算法。它是將DFT分解開來進(jìn)行運(yùn)算,理論上是一致的,只是通過分解DFT運(yùn)算來達(dá)到減少運(yùn)算量的目的。其突出的優(yōu)點(diǎn)在于能快速高效地和比較精確地完成DFT的計(jì)算。利用一定的運(yùn)算結(jié)構(gòu)變換,將N點(diǎn)的DFT轉(zhuǎn)化成多個(gè)小的點(diǎn)數(shù)DFT的運(yùn)算,再利用的周期性和對(duì)稱性,就能大大減少計(jì)算量。FFT算法將長(zhǎng)序列的DFT分解為短序列的DFT,比如N點(diǎn)的DFT先分解為2個(gè)N/2點(diǎn)的DFT,每個(gè)N/2點(diǎn)的DFT又分解為N/4點(diǎn)的DFT,如此這般下去就可以了。這里最小的變換點(diǎn)數(shù)就是基數(shù),因此,基數(shù)為2的FFT算法的最小變換或稱蝶形變換就是2點(diǎn)的DFT,是最基本的運(yùn)算單位。一般N點(diǎn)FFT對(duì)應(yīng)于N個(gè)輸入樣值,有N個(gè)頻域樣值與之對(duì)應(yīng)。DFT分解法基本上分為兩類:一類是將時(shí)間序列(n為時(shí)間標(biāo)號(hào))進(jìn)行逐次分解,由此得到的FFT算法稱為按時(shí)間抽取(Decimation-in-time)算法;另一類是將傅立葉變換序列(k為頻率標(biāo)號(hào))進(jìn)行分解,叫做按頻率抽取(Decimation-in-frequency)算法。對(duì)這兩種算法,庫(kù)利—圖基和桑德-圖基進(jìn)行了理論的推導(dǎo),故又稱為庫(kù)利—圖基(Cooley-Tukey)算法和桑德—圖基(Sande-Tukey)算法。DITFFT算法是在時(shí)域內(nèi)將每一級(jí)輸入序列依次按奇/偶分成2個(gè)短序列進(jìn)行計(jì)算的,而DIFFFT算法是在頻域內(nèi)將每一級(jí)輸入序列依次按奇/偶分成2個(gè)短序列進(jìn)行計(jì)算的。兩者的區(qū)別是旋轉(zhuǎn)因子出現(xiàn)的位置不同,但算法是一樣的。對(duì)每一算法,按基本的蝶形運(yùn)算的構(gòu)成又可分為基2、基4、基8以及任意因子等的FFT算法。不同基的FFT算法所需的計(jì)算量略有差異,之所以說略有差異是指并無數(shù)量級(jí)的差別,甚至無成倍的差別,只是某種基的算法比另一種省幾分之幾而已。就目前來說,基2和基4算法是使用最廣泛的算法。N點(diǎn)FFT總共有(N/2)*個(gè)蝶形運(yùn)算。設(shè)蝶形的輸入分別為P和Q,輸出分別為和,則有:(4.1)在時(shí)間抽取FFT算法過程中,輸入序列是碼位倒置或稱比特反轉(zhuǎn)的,也就是說,如果將序列的下標(biāo)用二進(jìn)制表示,那么這個(gè)序列是按照二進(jìn)制數(shù)的相反方向排列的。所以FFT算法由兩部分組成:碼位倒置和2點(diǎn)的DFT運(yùn)算。4.1.2FFT算法的實(shí)現(xiàn)DSP芯片的出現(xiàn)使FFT的實(shí)現(xiàn)方法變得更為方便。由于大多數(shù)DSP芯片都具有在單指令周期內(nèi)完成乘法-累加操作,并且提供了專門的FFT指令,使得FFT算法在DSP芯片實(shí)現(xiàn)的速度更快。用TMS320VC5402芯片的匯編程序?qū)崿F(xiàn)FFT算法主要分為四步:(1)實(shí)現(xiàn)輸入數(shù)據(jù)的比特反轉(zhuǎn):輸入數(shù)據(jù)的比特反轉(zhuǎn)實(shí)際上就是將輸入數(shù)據(jù)進(jìn)行位碼倒置,以便在整個(gè)運(yùn)算后的輸出序列是一個(gè)自然序列。在用匯編指令進(jìn)行位碼倒置時(shí),使用位碼倒置尋址可以大大提高程序執(zhí)行速度和使用存儲(chǔ)器的效率。在這種尋址方式下,AR0存放的整數(shù)N是FFT點(diǎn)的一半,一個(gè)輔助寄存器指向一個(gè)數(shù)據(jù)存放的單元。當(dāng)使用位碼倒置尋址將AR0加到輔助寄存器時(shí),地址將以位碼倒置的方式產(chǎn)生。(2)實(shí)現(xiàn)N點(diǎn)復(fù)數(shù)FFT:N點(diǎn)復(fù)數(shù)FFT算法的實(shí)現(xiàn)可以分為三個(gè)功能模塊,即第一級(jí)蝶形運(yùn)算、第二級(jí)蝶形運(yùn)算、第三級(jí)至級(jí)蝶形運(yùn)算。(3)功率譜的計(jì)算:用FFT計(jì)算的頻譜,即計(jì)算(4.2)一般是由實(shí)部和虛部組成的復(fù)數(shù),即(4.3)因此,計(jì)算功率譜時(shí)只需將FFT變換好的數(shù)據(jù),按照實(shí)部和虛部求它們的平方和,然后對(duì)平方和進(jìn)行開平方運(yùn)算就可以了。但是考慮到編程的難度,并且對(duì)于求FFT變換后數(shù)據(jù)的最大值時(shí),不開平方也可以找到最大值,并對(duì)功率譜的結(jié)果沒有影響,所以在實(shí)際的DSP編程中省去了開平方的運(yùn)算。(4)輸出FFT結(jié)果。4.2CCS開發(fā)環(huán)境本節(jié)將介紹CCS(CodeComposerStudio)的基本開發(fā)環(huán)境、軟件開發(fā)過程和CCS組件。CCS提供了配置、建立、調(diào)試、跟蹤和分析程序的工具,它便于實(shí)時(shí)、嵌入式信號(hào)處理程序的編制和測(cè)試,能夠加速開發(fā)進(jìn)程,提高工作效率。CCS全稱是CodeComposerStudio,它提供了基本的代碼生成工具,具有一定的調(diào)試、分析能力,在CCS下的程序開發(fā)過程如圖4-1所示。編程和編譯編程和編譯調(diào)試分析設(shè)計(jì)圖4-1程序開發(fā)過程CCS包括CCS代碼生成工具;CCS集成開發(fā)環(huán)境;DSP/BIOS插件程序、APIRTDX插件程序和主機(jī)接口等。代碼生成工具CCS奠定了CCS所提供的開發(fā)環(huán)境的基礎(chǔ),典型的軟件開發(fā)流程如圖4-2所示。主要應(yīng)用到的工具包括:C編譯器(CCompiler)產(chǎn)生匯編源代碼。匯編器(Assembler)把匯編語(yǔ)言源文件翻譯成機(jī)器語(yǔ)言目標(biāo)文件。鏈接器(Linker)把多個(gè)目標(biāo)文件組合成單個(gè)可執(zhí)行目標(biāo)文件。歸檔器(Archiver)可以把一組文件收集到一個(gè)歸檔文件中,這在長(zhǎng)時(shí)間的調(diào)試時(shí)是十分有用的。運(yùn)行支持庫(kù)run_time_supportlibraries:包括C編譯器所支持的ANSI標(biāo)準(zhǔn)運(yùn)行函數(shù)、編譯器公用程序函數(shù)、浮點(diǎn)運(yùn)算函數(shù)和C編譯器支持的I/O函數(shù)。十六進(jìn)制轉(zhuǎn)換公用程序(HaxConversionUtility)可以把COFF目標(biāo)文件轉(zhuǎn)換成TI-Tagged、ASCII-hexIntel、Motorola-S、Tektronix等目標(biāo)格式之后,再把轉(zhuǎn)換好的文件下載到EPROM編程器中。匯編使用編輯器生成目標(biāo)文件匯編使用編輯器生成目標(biāo)文件鏈接使用鏈接器生成可執(zhí)行代碼Flash或EPROM編程軟件調(diào)試器硬件調(diào)試器目標(biāo)格式轉(zhuǎn)換C54x目標(biāo)系統(tǒng)編輯源文件和命令文件圖4-2典型的軟件開發(fā)流程集成開發(fā)環(huán)境CCS是一種集成代碼調(diào)試工具,可以使開發(fā)設(shè)計(jì)人員不必在DOS窗口鍵入大量的命令及參數(shù),CCS集成的調(diào)試工具使調(diào)試程序一目了然,大量的觀察窗口使程序編寫與修改得心應(yīng)手。CCS的引入,大大縮短了DSP的開發(fā)進(jìn)程,開發(fā)成本也降低了很多。CCS的主要特點(diǎn)如下:硬件配置:支持多CPU、save/load多個(gè)配置文件,設(shè)置方便??梢暬墓こ坦芾恚何募芾矸奖恪DE編輯環(huán)境:C語(yǔ)言和匯編語(yǔ)言可以混合編程、可高亮顯示程序語(yǔ)句、可設(shè)置斷點(diǎn)、有查找替代功能、在線HELP功能、快捷鍵功能、書簽功能、EDIT功能。實(shí)時(shí)功能的配置:最高的存儲(chǔ)庫(kù)利用率、自動(dòng)增加、實(shí)時(shí)功能、中斷向量的定義、存儲(chǔ)器的映射、定義線程、增加組件,并且編譯過程中能智能檢測(cè)到程序錯(cuò)誤;編譯效率:集成代碼調(diào)試工具、TI高效率的代碼編譯技術(shù)、圖形化的選項(xiàng)功能,用C語(yǔ)言編寫程序,從而能節(jié)省開發(fā)者大量時(shí)間。數(shù)字信號(hào)的輸入與輸出:探針功能,數(shù)字信號(hào)可直接存入文件中,便于I/O。手工和自動(dòng)檢測(cè)功能:基于C描述語(yǔ)言、易于掌握和學(xué)習(xí)、易于控制DSP應(yīng)用程序、支持多個(gè)功能模塊、快速定做GUI、增加菜單項(xiàng)、創(chuàng)建對(duì)話框、自動(dòng)測(cè)試功能、自動(dòng)重復(fù)功能。虛擬的數(shù)據(jù)環(huán)境:用常用的格式觀察數(shù)據(jù),通過改變一些變量來觀察效果,多種圖形觀察方式、Time/frequency、FFT、Eyediagram、Constellationploto。第三方的嵌入模塊:方框圖和原始代碼生成器、信號(hào)分析工具,通過擴(kuò)展的應(yīng)用程序產(chǎn)生相關(guān)的控制,快速保護(hù)功能、濾波器、應(yīng)用程序的配置、自動(dòng)的S/W測(cè)試工具、軟件配置工具。調(diào)試DSP目標(biāo)程序,它主要由幾個(gè)主要的窗口組成:工程組顯示窗口、程序內(nèi)容顯示窗口、編輯信息提示窗口和主要工具欄。另外,在編輯過程中還可以顯示諸如存儲(chǔ)器觀察窗口、變量監(jiān)視框、圖形顯示框等調(diào)試界面,它們?yōu)槌绦蚓帉懻{(diào)試提供多種手段,為軟件開發(fā)提供了極大的方便。在利用CCS編程的過程中,我們不可避免的要遇到如何將程序變量分配到內(nèi)存中去的問題。這是因?yàn)榧词笵SP的存儲(chǔ)空間比較大、速度也十分快,但是如果內(nèi)存空間分配不當(dāng)?shù)脑?,還是會(huì)出現(xiàn)空間不夠、運(yùn)行速度下降,甚至導(dǎo)致程序跑飛的情況,這樣會(huì)使程序調(diào)試起來十分麻煩,因此我們一定要分配好內(nèi)存空間,防止程序跑飛的情況的發(fā)生。4.3帶阻濾波器的軟件設(shè)計(jì)由于上面所要設(shè)計(jì)的帶阻濾波器的性能指標(biāo)為下通帶邊緣:,上通帶邊緣:,;下阻帶邊緣:,上阻帶邊緣:,;采樣頻率:。那么下面我們就介紹一下它的軟件設(shè)計(jì)。4.3.1帶阻濾波器的程序流程對(duì)輸入的模擬信號(hào)經(jīng)過A/D進(jìn)行抽樣,即將模擬信號(hào)轉(zhuǎn)換為數(shù)字信號(hào),DSP讀取每一次的抽樣值,并對(duì)每一次的抽樣值進(jìn)行卷積運(yùn)算(FIR數(shù)字濾波),然后將運(yùn)算結(jié)果(濾波后的數(shù)字信號(hào))送至D/A轉(zhuǎn)換成模擬信號(hào)輸出。主程序流程如下:(1)對(duì)DSP進(jìn)行初始化,定義所需的向量和工作模式,對(duì)用到的寄存器進(jìn)行配置。(2)為數(shù)字濾波做準(zhǔn)備,將預(yù)先設(shè)計(jì)好的有N個(gè)抽頭的FIR濾波器的沖擊響應(yīng)序列中的N個(gè)數(shù)值放入存儲(chǔ)單元。(3)開始進(jìn)行抽樣并讀取抽樣值,放入適當(dāng)?shù)拇鎯?chǔ)單元。(4)將抽樣值進(jìn)行運(yùn)算處理,包含:將累加器清零,設(shè)置兩個(gè)相乘的存儲(chǔ)單元、的初始值為、;將第個(gè)抽樣值與第個(gè)沖激響應(yīng)序列的值相乘,并將乘積送入累加器進(jìn)行累加;將第個(gè)抽樣值放入,此時(shí)中的原數(shù)值被覆蓋;重復(fù)以上兩步直到完成次乘法操作。(5)輸出處理結(jié)果,重復(fù)(3)、(4)、(5)。主程序流程圖如圖4-3所示。開始開始初始化McBSP初始化A/D、D/A開中斷并設(shè)置接收數(shù)據(jù)緩存軟件等待數(shù)據(jù)接收是否完畢NY送入DSP芯片后進(jìn)行處理開中斷并設(shè)置發(fā)送數(shù)據(jù)緩存軟件等待數(shù)據(jù)發(fā)送是否完畢NY圖4-3主程序流程圖參數(shù)初始化完成以后需要啟動(dòng)數(shù)據(jù)進(jìn)行A/D轉(zhuǎn)換以及如何將DSP處理的數(shù)據(jù)經(jīng)D/A轉(zhuǎn)換輸出,程序設(shè)計(jì)中還要完善這一點(diǎn)。4.3.2帶阻濾波器的實(shí)現(xiàn)本設(shè)計(jì)中采用C語(yǔ)言和匯編語(yǔ)言混合編程的方式進(jìn)行的,程序主體由C語(yǔ)言編寫,而核心的FIR濾波算法則由匯編語(yǔ)言編寫。用C語(yǔ)言開發(fā)DSP程序不僅使DSP開發(fā)的速度大大加快,而且開發(fā)出來的DSP程序的可讀性和可移植性也大大增加,程序修改也很方便。用C語(yǔ)言開發(fā)DSP程序,在DSP芯片的運(yùn)算能力不是十分緊張時(shí)是非常適合的。雖然C編譯器的優(yōu)化功能可以使C代碼的效率大大增加,但是在某些情況下,C代碼的效率還是無法與手工編寫的匯編代碼的效率相比,比如FIR濾波器程序。這是因?yàn)?,即使最佳的C編譯器,也無法在所有的情況下都能夠最佳地利用DSP芯片所提供的各種資源。用C語(yǔ)言編寫的中斷程序雖然可讀性很好,但由于進(jìn)入中斷程序以后,有時(shí)不管程序中是否用到,中斷程序都將寄存器進(jìn)行保護(hù),從而大大降低中斷程序的效率。如果中斷程序頻繁被調(diào)用,那么即使一條指令也是至關(guān)重要的。此外,用C語(yǔ)言實(shí)現(xiàn)DSP芯片的某些硬件控制也不如匯編程序方便,有些甚至無法用C語(yǔ)言實(shí)現(xiàn)。因此,在很多情況下,DSP應(yīng)用程序往往需要用C語(yǔ)言和匯編語(yǔ)言的混合編程方法來實(shí)現(xiàn),以達(dá)到最佳利用DSP芯片軟硬件資源的目的。用C語(yǔ)言和匯編語(yǔ)言混合編程的方法主要有以下三種:(1)獨(dú)立編寫C程序和匯編程序,分開編譯和匯編,形成各自的目標(biāo)代碼模塊,然后用鏈接器將C模塊和匯編模塊鏈接起來。例如,F(xiàn)IR濾波程序用匯編語(yǔ)言編寫,對(duì)FIR程序用匯編器進(jìn)行匯編,形成目標(biāo)代碼模塊,與C模塊鏈接就可以在C程序中調(diào)用FIR程序。(2)直接在C語(yǔ)言程序的相應(yīng)位置嵌入?yún)R編語(yǔ)句。 (3)對(duì)C程序進(jìn)行編譯,生成相應(yīng)的匯編程序,然后對(duì)匯編程序進(jìn)行手工優(yōu)化和修改。上面的例子采用的是第一種方法,這是一種常用的C語(yǔ)言和匯編語(yǔ)言接口方法,采用這種方法最重要的是必須遵守C編譯器所定義的函數(shù)調(diào)用規(guī)則和寄存器使用規(guī)則。遵循這兩個(gè)規(guī)則就可以保證所編寫的匯編模塊不破壞C語(yǔ)言的運(yùn)行環(huán)境。C模塊和匯編模塊可以相互訪問各自定義的函數(shù)或變量。在編寫?yīng)毩⒌膮R編程序時(shí),必須注意以下幾點(diǎn):不論是用C語(yǔ)言編寫的函數(shù)還是用匯編編寫的函數(shù),都必須遵循寄存器使用規(guī)則。必須保護(hù)函數(shù)要用到的幾個(gè)特定寄存器,在TMS320C54X的C編譯中,這些特定的寄存器包括:ARD(FP)、ARI(SP)、AR6和AR7。其中,如果SP正常使用,則不必明確加以保護(hù)。從匯編程序調(diào)用C函數(shù)時(shí),以逆序方式壓入堆棧,調(diào)用時(shí)再將參數(shù)彈出。調(diào)用C函數(shù)時(shí),C函數(shù)只保護(hù)幾個(gè)特定的寄存器,而對(duì)于其它寄存器C函數(shù)是自由使用的。長(zhǎng)整型和浮點(diǎn)數(shù)在存儲(chǔ)器中存放的順序是低位字在低地址,高位字在高地址。如果函數(shù)有返回值,則返回值存放在累加器ACC中。匯編模塊不能改變由C程序產(chǎn)生的.cinit塊,如果改變其內(nèi)容則會(huì)引起不可預(yù)測(cè)的后果。編譯器在所有的標(biāo)識(shí)符(函數(shù)名、變量名)前要加一下劃杠“_”。因此,編寫匯編語(yǔ)言程序時(shí),必須在C程序可以訪問的所有對(duì)象前加“_”。任何在匯編中定義的對(duì)象或函數(shù),如果需要在C程序中訪問或調(diào)用,則必須用匯編指令.global定義。同樣,如果在C程序中定義的對(duì)象或函數(shù),需要在匯編程序中訪問或調(diào)用,在匯編程序中也必須用.global定義。匯編程序調(diào)試首先在CCS中建立新的工程,然后將匯編語(yǔ)言源文件以及中斷向量文件、位文件添加到工程中。如果是C語(yǔ)言程序則還要添加“stdio.h”、“math.h”、“rts.lib”,編譯通過后生成.out文件,可以直接下載到實(shí)驗(yàn)板上。之后將整個(gè)帶阻濾波器項(xiàng)目成功地下載到目標(biāo)系統(tǒng)板,帶阻濾波器程序就可以在EVM板上運(yùn)行。結(jié)束語(yǔ)本論文的主要工作是設(shè)計(jì)能實(shí)現(xiàn)帶阻濾波器的DSP系統(tǒng),包括確定帶阻濾波器的性能指標(biāo),DSP芯片的選擇,系統(tǒng)的硬件電路設(shè)計(jì)和軟件設(shè)計(jì)。通過查閱資料確定了所要設(shè)計(jì)的帶阻式濾波器系統(tǒng),并通過MATLAB工具確定了所要設(shè)計(jì)的帶阻濾波器的性能指標(biāo)。據(jù)此設(shè)計(jì)了DSP系統(tǒng)的硬件電路,包括DSP系統(tǒng)的外圍電路,A/D與D/A接口電路,外部存儲(chǔ)器擴(kuò)展電路。經(jīng)過這段的摸索也得出一整套DSP芯片開發(fā)的方法與調(diào)試技巧,包括熟悉了TI公司的TMS320C54x的硬件結(jié)構(gòu),CCS開發(fā)環(huán)境下程序開發(fā)的方法,調(diào)試工具的使用等方面。開發(fā)出的可演示的算法程序,包括窗函數(shù)法設(shè)計(jì)的可調(diào)整參數(shù)的FIR帶阻濾波器,用于頻域分析的FFT/IFFT算法程序。通過對(duì)算法的深入分析,結(jié)合DSP芯片的特點(diǎn),進(jìn)行了算法的優(yōu)化設(shè)計(jì),最后通過與MATLAB的仿真對(duì)比,證明其實(shí)現(xiàn)了預(yù)定設(shè)計(jì)指標(biāo)。展望與設(shè)想:(1)在本論文編程過程中如能注意有效指令的使用,則可優(yōu)化程序,減少代碼量;(2)以上的算法都已通過驗(yàn)證,但還有待改進(jìn),如能對(duì)編譯后生成的代碼進(jìn)行手工優(yōu)化,則可進(jìn)一步提高處理速度;(3)DSK板的資源豐富,還有較大的開發(fā)空間。致謝首先,我要感謝我的導(dǎo)師,他嚴(yán)謹(jǐn)細(xì)致、一絲不茍的作風(fēng)一直是我學(xué)習(xí)、工作中的榜樣;其次,我要感謝同組同學(xué)對(duì)我的幫助和指點(diǎn),沒有他們的幫助和提供的資料,這次畢業(yè)設(shè)計(jì)就不會(huì)如此順利地進(jìn)行和完成。此次畢業(yè)設(shè)計(jì)歷時(shí)三個(gè)多月,是我大學(xué)學(xué)習(xí)中遇到過的時(shí)段最長(zhǎng)、涉及內(nèi)容最廣、工作量最大的一次設(shè)計(jì),我忘不了在此期間我導(dǎo)師給我的指導(dǎo)。當(dāng)每次遇到不懂的問題時(shí),我都會(huì)第一時(shí)間記在本子上面,然后等答疑的時(shí)候問我導(dǎo)師,導(dǎo)師對(duì)于我提出來的問題都一一解答,從來都不會(huì)因?yàn)槲业膯栴}稍過簡(jiǎn)單而加以責(zé)備,而是一再的告誡我做設(shè)計(jì)時(shí)該注意的地方。在論文即將完成之際,我的心情無法平靜,從開始進(jìn)入課題到論文的順利完成,在這之間有我導(dǎo)師的幫助,也有我同學(xué)的幫助,在這里請(qǐng)接受我誠(chéng)摯的謝意!最后我還要感謝電氣信息工程學(xué)院和我的母校鄭州輕工業(yè)學(xué)院四年來對(duì)我的栽培。參考文獻(xiàn)[1]潘松,黃繼業(yè),王國(guó)棟編著.現(xiàn)代DSP技術(shù).西安:西安電子科技大學(xué)出版社,2003.[2]趙剛,黃建明,隋燕等編著.基于數(shù)字濾波器設(shè)計(jì)的討論[J].天津:南開大學(xué)學(xué)報(bào)(自然科學(xué)版),2003.26(3):15218.[3]張雄偉,徐亮編著.DSP集成開發(fā)與應(yīng)用實(shí)例.北京:電子工業(yè)出版社,2002,28-33.[4]程佩青編著.數(shù)字信號(hào)處理教程[M].北京:清華大學(xué)出版社,2000,3~15.[5]余成波,楊菁,楊如民編著.數(shù)字信號(hào)處理及MATLAB實(shí)現(xiàn).北京:清華大學(xué)出版社,2005,90~127.[6]李正周編著.MATLAB數(shù)字信號(hào)處理與應(yīng)用.北京:清華大學(xué)出版社,2008,93~119.[7]孫宗瀛編著.DSP原理設(shè)計(jì)與應(yīng)用[M].北京:清華大學(xué)出版社,2002.[8]鄒彥編著.DSP原理及應(yīng)用.北京:電子工業(yè)出版社,2004,40~43,279~330.[9]張雄偉,陳亮,徐光輝編著.DSP集成開發(fā)與應(yīng)用實(shí)例[M].北京:電子工業(yè)出版社,2002.[10]清源科技編著.DSP應(yīng)用開發(fā)教程系列TMS32054xDSP硬件開發(fā)教程.北京:機(jī)械工業(yè)出版社,2003,132-155.[11]TMS320C54XDSPREFERRENCESETVOL.3:AlgebraicInstructionSet.TexasInstrumentsIncorporated.2001.[12]程佩青編著.數(shù)字濾波與快速傅里葉變換.北京:清華大學(xué)出版社,1988.[13]胡廣書編著.數(shù)字信號(hào)處理理論、算法與實(shí)現(xiàn).北京:清華大學(xué)出版社,1997.[14]TMS320C54xCodeComposerStudioTutorial.TexasInstrumentsIncorporated.2000.[15]張雄偉,曹鐵勇編著.DSP芯片的原理與開發(fā)應(yīng)用.北京:電子工業(yè)出版社,2000.[16]周霖編著.DSP算法設(shè)計(jì)與系統(tǒng)方案.北京:國(guó)防工業(yè)出版社,2004,7.附錄附錄1:原理圖附錄2:MATLAB程序clearall;fpl=20;fph=80;fsl=40;fsh=60;Fs=10000;Wpl=2*pi*fpl/FsWph=2*pi*fph/FsWsl=2*pi*fsl/FsWsh=2*pi*fsh/Fstr_width=min((Wsl-Wpl),(Wph-Wsh));%過渡帶寬度N=ceil(6.2*pi/tr_width)%濾波器長(zhǎng)度n=0:1:N-1;Wcl=(Wsl+Wpl)/2;%理想低通濾波器的截止長(zhǎng)度Wch=(Wsh+Wph)/2;alpha=(N-1)/2;m=n-alpha+eps;hd=[sin(Wcl*m)+sin(pi*m)-sin(Wch*m)]./(pi*m);w_han=(hanning(N))';%漢寧窗h=hd.*w_han;%截取得到實(shí)際的單位脈沖響應(yīng)[H,w]=freqz(h,[1],1000,'whole');H=(H(1:1:501))';w=(w(1:1:501))';mag=abs(H);%絕對(duì)幅值響應(yīng)db=20*log10((mag+eps)/max(mag));%相對(duì)幅值響應(yīng)pha=angle(H);%相位響應(yīng)delta_w=2*pi/1000;Ap=-(min(db(1:1:Wpl/delta_w+1)))%實(shí)際通帶波紋As=-round(max(db(Wsl/delta_w+1:1:Wsh/delta_w+1)))%實(shí)際阻帶波紋subplot(211)plot(w/pi,db)title('漢寧窗幅度響應(yīng)(dB)')axis([0,0.5,-50,10])subplot(212)plot(w/pi,pha/pi)title('漢寧窗相位響應(yīng)')axis([0,1,-5,5])附錄3:CCS程序#pragmaCODE_SECTION(vect,"vect")#include"stdio.h"#include"math.h"#definepi3.1415927#defineIMR*(pmem+0x0000)#defineIFR

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論