版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、<p><b> 摘要:</b></p><p> 數(shù)字濾波,是數(shù)字信號處理的基本核心內(nèi)容之一,占有極重要的地位。它通過對采樣數(shù)據(jù)信號進行數(shù)學運算處理來達到頻域濾波目的,是圖像處理、語音處理、模式識別、通信、軟件無線電、譜分析等應用中的一個基本處理算法。與模擬濾波器相比,數(shù)字濾波器不用考慮器件的噪聲、電壓漂移、溫度漂移等問題,可以容易的實現(xiàn)不同幅度和相位頻率等特性指標,能夠處理
2、低頻信號,頻率響應特性可做成非常接近于理想的特性,且精度可以達到很高,容易集成等,這些優(yōu)勢決定了數(shù)字濾波器的應用很受歡迎。現(xiàn)在通過DSP編程并結合TI公司的數(shù)字信號處理器TMs320VC5402設計了一款穩(wěn)定度高,低功耗的IIR數(shù)字濾波器系統(tǒng),并完成了軟硬調試工作。 </p><p> 關鍵字:數(shù)字濾波器,DSP,IIR ,低功耗 ,穩(wěn)定</p><p> Abstract:Digit
3、al filtering of digital signal processing, is one of the basic core contents, occupies an important position. It through sampling data signals of mathematical operation treatment to achieve the frequency domain filtering
4、 purposes, image processing, audio processing, pattern recognition, communications, software radio, spectral analysis of applications such as a fundamental algorithms. Compared with simulation filter, digital filters nee
5、d not consider device of noise, voltage drift,</p><p> Keywords: Digital filters, DSP, IIR, low power consumption, stable </p><p> 一、IIR數(shù)字濾波器的理論分析</p><p> 從IIR數(shù)字濾波器的實現(xiàn)來看,有直接型、級聯(lián)型
6、、并聯(lián)型和格型等基本網(wǎng)絡結構。不同的結構形式會有不同的運算誤差,其穩(wěn)定性、運算速度、所占用的存儲空間等也有所不同[3]。其中直接Ⅱ型僅需要N級延遲單元,且可作為級聯(lián)型和并聯(lián)型結構中的基本單元,是最常用的IIR數(shù)字濾波器結構之一。IIR數(shù)字濾波器的設計方法有兩類[4],一類是借助于模擬濾波器的設計方法設計出模擬濾波器,利用沖激響應不變法或雙線性變換法轉換成數(shù)字濾波器,然后用硬件或軟件實現(xiàn);另一類是直接在頻域或時域中進行設計,設計時需要作輔
7、助工具。對系統(tǒng)傳遞函數(shù)為 </p><p><b> 對應的差分方程為:</b></p><p> 的IIR數(shù)字波濾器來說,設計的任務就是尋求一種因果關系和物理上可實現(xiàn)的系統(tǒng)傳遞函數(shù)使H(z)滿足上述的關系,為此可這樣使其頻率響應能夠滿足所希望得到的頻域指標。</p><p> 二、TMS320C5402的體系結構</p>
8、<p> TMS320VC5402處理器在本系列中處于先進水平。它具有運算速度快,內(nèi)部存儲空間大,外部接口性能好等優(yōu)點。所以我選擇了技術上比較先進,價格又較便宜的C5402作為硬件開發(fā)對象。下面結合C5402的實際情況,介紹一下該芯片的體系結構。C5402共有144個引腳,其中有20根地址線AO-A19,16根數(shù)據(jù)線DO-D15,4個外部可屏蔽引腳INTO#-INT3#和一個不可屏蔽中斷引腳BIO#,剩下的引腳可以分成以
9、下幾類:存儲器控制引腳,時鐘/晶振引腳,多通道緩沖串口引腳,主機接口通訊引腳,電源引腳,初始化和復位引腳,通用輸入/輸出引腳,以及用于測試的IEEE1149. 1標準JTAG口。</p><p> 三、IIR數(shù)字濾波器的設計流程</p><p> 在設計濾波器時首先要有清晰的思路,因此流程圖的設計至關重要。本設計采用的是基于DSP的IIR數(shù)字濾波,針對其要完成的功能,對其流程進行了初步
10、規(guī)劃,如圖8所示:</p><p> 圖1 IIR數(shù)字濾波器設計流程</p><p> 根據(jù)設計流程,通過DSP仿真軟件編譯出適合參數(shù)要求的匯編程序。運用匯編語言進行程序編寫使其具有更好的實時性,此外運用匯編語言編寫更有助于以后的設計拓展。</p><p> 利用TMS320C5402實現(xiàn)IIR的程序中應注意以下幾點:</p><p>
11、 (1)數(shù)據(jù)存放要求。因為采用MAC指令和循環(huán)尋址,所以輸入數(shù)據(jù)和濾波器系數(shù)的存放要按照一定的要求。數(shù)據(jù)塊和系數(shù)塊都要放在雙尋址數(shù)據(jù)存儲區(qū)。</p><p> ?。?)循環(huán)尋址的使用。為了使用循環(huán)尋址,除了對數(shù)據(jù)的存放有要求外,先還要設置BK為塊長N。由于使用了循環(huán)尋址,數(shù)據(jù)和系數(shù)的指針在操作后以循環(huán)的方式增加1。</p><p> ?。?)數(shù)據(jù)的初始化。輸入數(shù)據(jù)塊要初始化為全0。這樣在
12、運算中不會對輸入產(chǎn)生影響。</p><p> 四、IIR數(shù)字濾波器的軟件和硬件設計</p><p> 4.1基于DSP的IIR數(shù)字濾波器的軟件設計</p><p> 4.1.1 IIR數(shù)字濾波器的數(shù)據(jù)存儲器設計</p><p> TMS320C54X定點DSP提供了單周期乘/累加指令MAC和循環(huán)尋址方式,使IIR數(shù)字濾波器每個樣值的
13、計算可以在一個周期內(nèi)完成。IIR數(shù)字濾波器每個樣值的計算就是實現(xiàn)兩數(shù)組對應項乘積的累加和。在計算時有前向通道和反饋通道兩部分,因此在計算設計時要充分考慮x(n)、y(n)和h(n)系數(shù)的存放位置,并正確初始化這兩個存儲塊指針,這樣在計算中才能夠準確的提取數(shù)據(jù),實現(xiàn)乘加運算。圖7是IIR濾波器數(shù)據(jù)存放和系數(shù)表:</p><p> 圖2 IIR濾波器數(shù)據(jù)存放和系數(shù)表</p><p> 在程
14、序設計中,首先將數(shù)據(jù)放入相應的段中, X數(shù)據(jù)指針AR2指向X0,同時將H(n)的指針AR1指向B0,利用乘加指令完成前向通道的一次運算;接著修改指針,AR2指針增1,H(n)的指針AR1減1,依次完成前向通道的乘加運算;反饋通道應用同樣的方法進行乘加。在程序設計時,可以采用先增益后衰減的方法,亦可采用先衰減后增益的方法。但是采用先衰減后增益的方式其系統(tǒng)動態(tài)范圍和魯棒性較好,因此在設計中采用了后一種方法。</p><p
15、> 4.1.2 IIR濾波器的MATLAB輔助設計</p><p> 具體在MATLAB中設計IIR數(shù)字濾波器的設計步驟如下:按一定規(guī)則將給出的數(shù)字濾波器的技術指標轉換為模擬低通濾波器的技術指標;根據(jù)轉換后的技術指標使用濾波器選擇函數(shù),確定最小階數(shù)N和固有頻率Wn;運用最小階數(shù)N產(chǎn)生模擬低通濾波器原型,運用固有頻率把模擬低通濾波器原型轉換成模擬低通、高通、帶通、帶阻濾波器。本設計主要應用產(chǎn)生低通濾波器
16、,運用脈沖響應不變法或雙線性不變法把模擬濾波器轉換成數(shù)字濾波器。</p><p> 對于脈沖響應不變法,它是將s域內(nèi)的H(s)轉換成z域內(nèi)的H(z),但是在映射時,S域內(nèi)不能一一對應到Z域內(nèi)的單位圓上,因此容易在仿真中易產(chǎn)生混疊現(xiàn)象,影響實驗效果?;诖耍敬卧O計在MATLAB的仿真中優(yōu)先考慮應用雙線性變換法。</p><p> MATLAB工具箱提供了幾種模擬濾波器的原型產(chǎn)生函數(shù),B
17、utterworth濾波器原型,Chebyshev(I型、 II型)濾波器原型、橢圓濾波器原型等不同的模擬濾波器原型,從模擬濾波器向數(shù)字濾波器轉換的雙線性變換法和脈沖響應不變法等方法,模擬IIR數(shù)字濾波器階數(shù)選擇函數(shù)以及數(shù)字濾波器直接設計函數(shù)等等。另外,MATLAB信號處理工具箱提供了幾個直接設計IIR數(shù)字濾波器的函數(shù)。這一整套設計函數(shù)給在MATLAB中設計IIR數(shù)字濾波器帶來了極大的方便。</p><p>
18、IIR低通數(shù)字濾波器根據(jù)相關技術指標進行matlab仿真,從而計算出相應的傳輸函數(shù)。其仿真結果結果如圖5所示: </p><p> 圖3 利用matlab仿真圖</p><p> 根據(jù)以上仿真結果及相應的系數(shù)和N值,在相關技術指標不變的情況下,我選用了ChebyshevI型雙線性變換法。</p><p> 4.2基于DSP的IIR數(shù)字
19、濾波器的硬件設計</p><p> 4.2.1 硬件設計總體方案</p><p> TI公司的2000系列和5000系列的DSP都通用型的芯片,考慮到2000系列的DSP多用于控制方面,而5000系列較2000系列具有更高的時鐘頻率、更低的價格和更加強大的運算功能,所以在數(shù)字濾波器系統(tǒng)的設計中采用了TI公司的一款高性能、低功耗的定點DSP: TMS320VC5402。該DSP具有較快的
20、運算速度:運算速度最快可達532MIPS;采用了低功耗設計方式:內(nèi)核電壓為1.8V,I/O電壓為3.3 V。數(shù)字濾波系統(tǒng)的具體方案框圖如圖6所示:</p><p> 圖4數(shù)字濾波器系統(tǒng)方案框圖</p><p> 通常的設計中會采用SV供電并行的ADC(模數(shù)轉換)和DAC(數(shù)模轉換)芯片與DSP連接,傳輸數(shù)據(jù)過程中會占用總線的時間,而且需要采用多片電平轉換器件將SV電平轉換為3.3V的邏
21、輯電平。考慮到TMS320VC5402的片上包含兩個McBSP(多通道緩沖串行口)接口,可以將這兩個通道模仿實現(xiàn)SPI的時序,因此本設計中采用了SPI接口器件,ADC芯片采用的是TLV 1570,實現(xiàn)將需要濾波信號從模擬轉換到數(shù)字信號的實時采樣。數(shù)模轉換芯片采用的是TLV 5608,實現(xiàn)濾波后的信號從數(shù)字信號恢復為所需要的模擬信號。JTGA口供DSP芯片下載程序調試。</p><p> 4.2.2復位電路設計&
22、lt;/p><p> 為了確保系統(tǒng)能夠穩(wěn)定的工作,復位電路是系統(tǒng)中必不可少的電路。電源剛加上電時,TMS320VC5402芯片處于復位狀態(tài),瓜S為低使芯片復位。為使芯片初始化正確,一般應保證爪s為低至少持續(xù)3個CLKOuT周期。但是,在上電后,系統(tǒng)的晶體振蕩器一般需要幾百毫秒的穩(wěn)定期,~般為100-200ms。對于實際的DSP應用系統(tǒng),特別是產(chǎn)品化的DSP系統(tǒng),其可靠性是一個不容忽視的問題。由于DSP系統(tǒng)的時鐘頻率
23、較高,在運行時極有可能發(fā)生干擾和被干擾的現(xiàn)象,嚴重時系統(tǒng)可能會出現(xiàn)死機現(xiàn)象。為了克服這種情況,除了在軟件上做一些保護措施外,硬件上也必須做相應的處理。硬件上最有效的保護措施就是采用具有監(jiān)視(Watchdog)功能的自動復位電路。自動復位電路除了具有上電復位功能外,還具有監(jiān)視系統(tǒng)運行并在系統(tǒng)發(fā)生故障或死機時再次復位的功能。其基本原理就是通過電路提供一個高低電平發(fā)生變化的信號,如果在規(guī)定的時間內(nèi)這個信號不發(fā)生變化,自動復位電路就認為系統(tǒng)運行
24、不正常并重新對系統(tǒng)進行復位。根據(jù)上述原理,在本系統(tǒng)的設計中采用了ADM706TAR 芯片。該芯片具有上電復位功能,電壓監(jiān)測功能和看門狗功能。</p><p><b> 圖5 復位電路</b></p><p> 4.2.3時鐘電路設計</p><p> 給DSP芯片提供時鐘一般有兩種方法。一種是利用DSP芯片內(nèi)部所提供的晶振電路,在DSP
25、芯片的X1和x2/cuⅡN之閫連接一晶體可啟動內(nèi)部振蕩器, 晶體應為基本模式,且為并聯(lián)諧振。另一種方法是將外部的時鐘源直接輸入X2/CLKIN引腳,X1懸空。采用封裝好的晶體震蕩器,這種方法使用方便,因此得到了廣泛的應用,只要在引腳4 上加電壓,引腳二接地,就可以在引腳3上得到所需的時鐘。早期的DSP芯片一般工作頻率較低,因此其工作頻率與外部提供的頻率相等或者是外部頻率的2分頻和4分頻。隨著DSP芯片速度的提高,如果仍然采用這種方式,則
26、要求夕}部頻率很高,這樣會引發(fā)高頻干擾,影響系統(tǒng)的穩(wěn)定性。因此,現(xiàn)在的DSP芯片一般提供多種工作方式。不僅具有傳統(tǒng)的分頻方式,而且采用更加靈活的可編程PLL方式。1MS320Vc5402內(nèi)部具有一個可編程鎖相環(huán)(PLL),可以配置為以下兩種工作模式:PLL模式,輸入時鐘乘以一個1≈1 之間的常數(shù):DIV模式,輸入時鐘除以2或4。軟件可編程Pu。受一個存儲器映射(地址為58h)的時鐘模式寄存器CLKMD控制,CLKMD用于定義Pu。時鐘模
27、塊的配置。復位后CLKMD的值根據(jù)</p><p><b> 圖6 時鐘電路</b></p><p><b> 4.2.4電源設計</b></p><p> 為了降低芯片的功耗,DsP5402芯片采用低電壓供電方式,并且采用內(nèi)核電壓和I/O電壓分開的方式。TMS320VC5402芯片電源分為兩種,即內(nèi)核電壓(CVd
28、d)和I/O電壓(Dvdd),其中,I/O電源一般采用3.3V電壓,而內(nèi)核電源電壓為1.8V。TMS320VC5402的電流消耗主要取決于器件的激活度,CVdd消耗的電流主要取決于CPU的激活度。外設消耗的電流取決于正在工作的外設及其速度。一般的,與CPU相比,外設消耗的電流比較小。時鐘電路也需要消耗一小部分的電流,而且這部分電流是恒定的,與CPU和外設的激活度無關。CVdd為器件的所有內(nèi)部邏輯提供電流,包括CPU、時鐘電路和所有外設。
29、DVdd只為外部接口引腳提供電壓,消耗的電流取決于外部輸出的速度和數(shù)量,以及在這些輸出上的負載電容。根據(jù)設計的具體電路可一計算出3.3V電源所消耗的電流<60mA, 1.8V電源所消耗的電流<30mA,因此可以得出該系統(tǒng)在全速工作的狀態(tài)下,最大功耗為250mA。在本系統(tǒng)的設計中采用了兩片AMSlll7來提供DSP芯片的加電源和內(nèi)核電源。AMSlll7為最大輸出電流可達800mA的LDO(Low Dr</p>&
30、lt;p><b> 圖7 電源電路</b></p><p> 4.2.5 JTAG接口設計</p><p> JTAG(JointTestActionGroup)是1985年制定的檢測PCB和IC芯片的一個標準,1990年被修改后成為IEEE的一個標準,即IEEEll49.1.1990。通過這個標準,可對具有JTAG接口的芯片的硬件電路進行邊界掃描和故障檢
31、測。具有JTAG接口的芯片,相關JTAG引腳的定義為:TCK為損4試時鐘輸入;TDI為測試數(shù)據(jù)輸入,數(shù)據(jù)通過TDI引腳輸入JTAG接口;TDO為測試數(shù)據(jù)輸出,數(shù)據(jù)通過TDO引腳從JTAG接ISl輸出;TMS為測試模式選擇,TMS用來設置JTAG接口處于某種特定的測試模式;TRST為測試復位,輸入引腳,低電平有效。設計一個DSP系統(tǒng),一般必須考慮系統(tǒng)的軟件硬件調試,調試DSP系統(tǒng)一般離不開DSP仿真器。而仿真器通過仿真接口實現(xiàn)與DSP之間
32、的數(shù)據(jù)交互。設計仿真接口比較簡單,只要根據(jù)DSP芯片所提供的接口類型按照相應的接口標準即可。圖4.5為JTAG仿真接口定義。</p><p><b> 圖8 JTAG電路</b></p><p> 4.2.6內(nèi)部存儲單元及外部存儲擴展</p><p><b> 內(nèi)部存器</b></p><p>
33、; TMS320C54X內(nèi)一般包括192K字的可尋址存儲器空間:64K字程序空間, 64K字數(shù)據(jù)空問和64K字的I/0空間。片內(nèi)存儲器的結構和容量根據(jù)芯片的型號有所區(qū)別,但都包含隨機存取存儲器(RAM)和只讀存儲器(ROM)。其中RAM又可以分為兩種類型:單訪問RAM(SARAM)和雙訪問RAM(DARAM)。當處理器發(fā)出的地址處在片內(nèi)存儲器的范圍內(nèi)時,就對片內(nèi)的RAM或數(shù)據(jù)ROM尋址。當數(shù)據(jù)存儲器地址產(chǎn)生器發(fā)出地址不在片內(nèi)存儲器的范
34、圍內(nèi),處理器就會自動對外部數(shù)據(jù)存儲器尋址</p><p><b> 。</b></p><p> 圖9 存儲器及擴展電路</p><p> 4.2.7外部總線及外部存儲器接口</p><p> 通常一個DSP系統(tǒng)除了DSP芯片外,還需要外部的存儲器。外部存儲器一般有兩種,一種是存儲程序和固定數(shù)據(jù)的EPROM/P
35、ROM,一種是可讀可寫的快速RAM。目前市場上的EPROM工作電壓一般為5V,與3.3VDSP芯片相接時需要考慮電平轉換,麗且體積都較大。FLASH存儲器與EPROM相比,具有更高的性能價格比,而且體積小、功耗低、可電擦寫,使用比較方便,3.3V Hash 可直接與DSP相接。因此采用Flash存儲器存儲程序和固定數(shù)據(jù)是一種比較好的選擇。TMS320VC5402通過外部總線與外部存儲器以及I/O設備相連。外部總線接口由數(shù)據(jù)總線、地址總線
36、以及一組控制信號組成,可以用來尋址片外存儲器和I/0口【20】。主要外部接口信號見表4.1。</p><p><b> 圖10接口信號參數(shù)</b></p><p> 表為擴展存儲器引腳信號定義外部接口總線是一組并行接口。它有兩個互相排斥的選通信號:MSTRB#和IOSTRB#。前者用于訪問外部程序或者數(shù)據(jù)存儲器,后者用于訪問I/O設備。讀/寫信號R/W#撐則控制數(shù)
37、據(jù)傳送方向。外部數(shù)據(jù)準備輸入信號(REDAY)與片內(nèi)軟件可編程等待狀態(tài)發(fā)生器一道, 可以使處理器與各種速度的存儲器以及I/0設備接口。當與慢速器件通信時,CPU處于等待狀態(tài),直到慢速器件完成了它的操作并發(fā)出READY信號才繼續(xù)運行。當外部設備需要尋址DSP的終部程序、數(shù)據(jù)和帕存儲空間時,可以利用HOLD#和 HOLDA#信號,達到控制DSP外部資源的目的。CPU尋址片內(nèi)存儲器時,外部數(shù)據(jù)總線鬣高阻狀態(tài),而地址總線以及存儲器選擇信號均保持
38、先前的狀態(tài),此外,MSTRB#、IOSTRB#、R/W#、IAQ#和MSC#信號均保持在無效狀態(tài)。</p><p> 4.2.8 A/D轉換接口電路設計</p><p> 在A/D轉換器中,因為輸入的模擬信號在時間上是連續(xù)量,而輸出的數(shù)字信號代碼是離散量,所以進行轉換時必須在一系列選定的瞬間(亦即時間坐標軸上的一些規(guī)定點上)對輸入的模擬信號取樣,然后再把這些取樣值轉換為輸出的數(shù)字量。
39、因此,一般的A/D轉換過程是通過取樣、保持、量化和編碼這四個步驟完成的。①取樣定理:在滿足取樣定理的條件下,可以用一個低通濾波器將信號vs還原為n,這個低通濾波器的電壓傳輸系數(shù)pt,月在低于^。。的范圍內(nèi)應保持不變,而在,s_缸。以前應迅速下降為零。因此,取樣定理規(guī)定了A/D 轉換的頻率下限。因為每次把取樣電壓轉換為相應的數(shù)字量都需要一定的時間,所以在每次取樣以后,必須把取樣電壓保持一段時間??梢姡M行A/D轉換時所用的輸入電壓,實際上
40、是每次取樣結束時的n值。②量化和編碼:我們知道,數(shù)字信號不僅在時間上是離散的,而且在數(shù)值上的變化也不是連續(xù)的。這就是說,任何一個數(shù)字量的大小,都是以某個最小數(shù)量單位的整倍數(shù)來表示的。因此,在用數(shù)字量表示取樣電壓時,也必須把它化成這個最小數(shù)量單位的整倍數(shù),這個轉化過程就叫做量化。所規(guī)定的最小數(shù)量單位叫做量化單位,用△表示。顯然,數(shù)字信號最低有效位</p><p> TLVl570的高速串行接口包含五根信號線:SC
41、LK串行時鐘輸入、SDIN串行數(shù)據(jù)輸入、SDOUT串行數(shù)據(jù)輸出、Fs幀同步信號、CS#片選信號。其中每個取樣和轉換過程需要16個系統(tǒng)工作時鐘,因此只有當幾(~)一(1,16)九。時,系統(tǒng)才能正常的工作。</p><p> 圖11A/D轉換電路</p><p> 4.2.9 D/A轉換接口電路設計</p><p> 數(shù)字量是用代碼按數(shù)位組合起來表示的,對于有權碼
42、,每位代碼都有一定的權。為了將數(shù)字量轉換成模擬量,必須將每1位的代碼按其權的大小轉換成相應的模擬量,然后將這些模擬量相加,即可得到與數(shù)字量成正比的總模擬量,從而實現(xiàn)了數(shù)字一模擬轉換。這就是構成D/A轉換器的基本思路。D/A轉換器的轉換精度通常用分辨率和轉換誤差來描述。①分辨率,D/A轉換器模擬輸出電壓可能被分離的等級數(shù)。輸入數(shù)字量位數(shù)越多,輸出電壓可分離的等級越多,即分辨率越高。在實際應用中,往往用輸入數(shù)字量的位數(shù)表示D/A轉換器的分辨
43、率。此外,D/A轉換器也可以用能分辨的最小輸出電壓(此時輸入的數(shù)字代碼只有最低有效位為l,其余各位都是0)與最大輸出電壓(此時輸入的數(shù)字代碼各有效位全為1)之比給出。N位D/A轉換器的分辨率可表示為1/(28—1)。它表示D/A轉換器在理論上可以達到的精度。②轉換誤差,轉換誤差的來源很多,轉換器中各元件參數(shù)值的誤差,基準電源不夠穩(wěn)定和運算放大器的零漂的影響等。D/A轉換器的絕對誤差(或絕對精度)是指輸入端加入最大數(shù)字量時,D/A轉換器的
44、理論值與實際值之差。該誤差值應低于LSB/2。由于模數(shù)轉換選擇了10位器件</p><p> 圖12D/A轉換電路</p><p> DSP系統(tǒng)的硬件設計之后,軟件設計就成為系統(tǒng)設計的關鍵,一個DSP系統(tǒng)在很大程度上取決于軟件設計是否合理與可靠。在DSP進行數(shù)字濾波運算前必須進行一些初始化程序。在本系統(tǒng)中初始化程序主要包括:DSP芯片的初始化、矢量表初始和兩個串行端口的初始化【24】。
45、DSP5402共有三個控制和狀態(tài)寄存器,對CPU的控制是通過CPU狀態(tài)和控制寄存器來完成的。分別為狀態(tài)寄存器0(STO)、狀態(tài)寄存器1(STl)和處理器模式狀態(tài)寄存器(PMST)。DSP不同條件和模式下的狀態(tài)都包含ST0和STl: PMST包含存儲器設置狀態(tài)和控制信息。由于這些寄存器是存儲器映像,所以可以像對數(shù)據(jù)存儲器操作那樣對它們進行讀出和寫入。在調用子程序或中斷服務子程序時,可以將它們保存下來,返回時再恢復。DSP芯片的初始化是設定
46、DSP芯片工作狀態(tài)的重要步驟,只有正確進行DSP 芯片的初始化,才能保證芯片的正確運行。在調試軟件的過程中,如果發(fā)現(xiàn)程序運行不正確,應首先查看芯片各寄存器的初始化狀態(tài)設置是否正確,然后再調試用戶程序,否則就會降低調試效率。1MS320Vc5402芯片加電復位之后處于預先設定的狀態(tài),無論是狀態(tài)寄存器還是控制</p><p> 五、基于DSP的IIR程序設計及軟件調試</p><p> 5
47、.1 圖5—4是利用DSP實現(xiàn)數(shù)字濾波的流程圖,說明如下:利用DSP實現(xiàn)FIR 數(shù)字濾波的子程序設計思路如下:1、查詢SPCRll寄存器的第二位,當為1時說明read ready,將DRRll的值讀入AR3所指向的地址,該值為最新的采樣值。將最新的采樣值減去200h,然后AR3的值減一。3、執(zhí)行MAC指令。4、將累加器的值送給變量Y。并將Y加上200h。5、查詢SPCR20寄存器的第二位, 當為1時說明write ready,將Y值附
48、給DXRl0,該值為濾波器輸出值。6、循環(huán)執(zhí)行上面步驟</p><p><b> 。</b></p><p> 圖13為DSP實現(xiàn)數(shù)字濾波器流程圖</p><p> 本設計的程序工程中包含4個文件:filter.c,init.a(chǎn)sm,vectors.a(chǎn)sm,fliter.cmd。四個文件實現(xiàn)不同的功能。filter.c文件為C語言編寫的源
49、文件,在本設計中主要功能是將各個子程序結合起來,便于閱讀。init.a(chǎn)sm文件為匯編語言編寫的源文件,是本設計中的主要文件,包含了各個初始化程序的具體操作和實現(xiàn)數(shù)字濾波的具體代碼。vectors.a(chǎn)sm文件為中斷矢量表初始化子程序文件,中斷矢量表是每個DSP系統(tǒng)必須用到的,對中斷矢量表進行初始化是DSP初始化的一個重要的部分。filter.trod為鏈接器命令文件【17-18】。</p><p> 5.2 在
50、IIR濾波器結構中,直接H型結構是最常用的濾波器結構,因為這種結構的二階形式可</p><p> 作為級連型和并聯(lián)型結構中的基本節(jié)。</p><p> 圖14二階直接II型IIR濾波器</p><p> 二階直接II型結構濾波器的差分方程為: </p><p> d(n)=x(n)+ald(n一1)+a2d(n-2)</p>
51、;<p> y(n)=bod(n)+bld(n一1)+b2d(n-2、</p><p> 式中,d(n),d(n一1),d(n-2)對應于圖中具有不同延遲的中間節(jié)點值。在利用1MS320vc5402實現(xiàn)IIR程序中要注意的事項同實現(xiàn)FIR的基本相同。</p><p> 5.3 IIR數(shù)字濾波的軟件調試</p><p> 圖 15利用DSP的II
52、R數(shù)字濾波效果圖(1)</p><p> 圖 16利用DSP的IIR數(shù)字濾波效果圖(2)</p><p> 在效果圖中,上面波形為DSP實驗箱產(chǎn)生的濾波前的效果圖,下面波形為進行IIR濾波后的效果圖。從兩圖的比較可以看出,所設計的IIR濾波器收到了較好的效果,完成了設計要求。</p><p> 在編寫及調試的過程中主要遇到以下問題:</p>&l
53、t;p> ?。?)在編寫程序的過程中要對所涉及的存儲單元進行初始化,這樣在數(shù)據(jù)或是代碼段進行匯編時才不會出現(xiàn)問題。</p><p> ?。?)編寫程序需要對數(shù)據(jù)段、代碼段、堆棧段進行設置。要編寫相應的.cmd(鏈接命令文件)文檔對其進行合理化的分配空間。</p><p> ?。?)在編寫程序時一定要編寫相應的中斷向量表文件,這樣在匯編時才不會出錯。</p><p&
54、gt;<b> 六 結束語 </b></p><p> 通過對本課題的研究,自己從中取得了一些成績,理論水平也得到了一定的提高,同時也暴露了一些問題:</p><p> 首先,對一個課題必須要閱讀大量的文獻和書籍來獲得一定的感性認識,然后才能有自己的想法,這是一條必經(jīng)之路。其次,理論基礎知識很重要,論文涉及了很多的算法,會用到很多基礎知識,如果用的時候再去學會
55、浪費時間,因此要在平時注意搜集相關的資料,多學一些有用實用的技術,這樣在以后的學習和工作中才能夠做到游刃有余。最后,要有信心,遇到困難要向別人請教,這樣可以大大加快研究進程。以上是我做論文的一些心得體會,這些對我以后的學習會有很大的幫助。</p><p> 由于本人的時間和能力有限,本次的開發(fā)系統(tǒng)還存在一些不足之處,整個系統(tǒng)還需要進一步完善。文中也難免有不足之處,懇請老師批評指正。同時,對評審設計的老師表示衷心
56、的感謝!</p><p><b> 參考文獻</b></p><p> [1]潘松,黃繼業(yè),王國棟. 現(xiàn)代DSP技術[M]. 西安電子科技大學出版社. 2004.5.</p><p> [2]王潞鋼,陳林康,曾岳南,許賢昶. DSP C2000程序員高手進階[M]. 機械工業(yè)出版社. 2004.10.</p><p&g
57、t; [3]趙紅怡. DSP技術與應用實例[M]. 電子工業(yè)出版社. 2003.6.</p><p> [4]胡慶鐘,李小剛,吳鈺淳. TMS320C55X DSP原理、應用和設計[M]. 機械工業(yè)出版社. 2005.10.</p><p> [5]丁玉美,高西全. 數(shù)字信號處理[M]. 西安電子科技大學出版社. 2006.7.</p><p> [6]劉順
58、蘭,吳杰,高西全. 數(shù)字信號處理[M]. 西安電子科技大學出版社. 2003.8.</p><p> [7]樓順天,劉小東,李博菡. 基于MATLAB 7.X的系統(tǒng)分析與設計—信號處理[M]. 西安電子科技大學出版社. 2005.5.</p><p> [8]清源科技. TMS320C54X DSP應用程序設計教程[M]. 機械工業(yè)出版社. 2004.1.</p><
59、;p> [9]陳學平. Protel [M]2004. 人民郵電出版社. 2005.9.</p><p> [10]戴明楨,周建江.TMS320C54XDSP結構、原理及應用[M].北京:北京航空航天大學出版社,2002年3月</p><p><b> 附實驗程序</b></p><p> 1、IIR數(shù)字濾波器源文件:</p
60、><p> .title "iir.asm"</p><p><b> .mmregs</b></p><p> .def _start</p><p> .global _main</p><p> DX .usect "DX",3&l
61、t;/p><p> DY .usect "DY",3</p><p> DB .usect "DB",3</p><p> DA .usect "DA",3</p><p> PA0 .set 0;800BH</p><p&g
62、t; PA1 .set 1;800CH</p><p><b> .data</b></p><p> table: </p><p><b> .word 0</b></p><p><b> .word 0</b></p>
63、<p><b> .word 0</b></p><p> .word 0 </p><p> .word 1*32768/10</p><p> .word 2*32768/10</p><p> .word 3*32768/10</p><p> .w
64、ord 5*32768/10</p><p> .word -4*32768/10</p><p><b> .text</b></p><p><b> _main:</b></p><p> _start: </p><p> SSBX FRCT&l
65、t;/p><p> STM #DX,AR1</p><p> RPT #1</p><p> MVPD #table,*AR1+</p><p> STM #DY,AR1</p><p> RPT #1</p><p> MVPD #table+2,*A
66、R1+</p><p> STM #DB,AR1</p><p> RPT #2</p><p> MVPD #table+4,*AR1+</p><p> STM #DA,AR1</p><p> RPT #1</p><p> MVPD #ta
67、ble+7,*AR1+</p><p> STM #DX+2,AR2</p><p> STM #DY+1,AR3</p><p> STM #DB+2,AR4</p><p> STM #DA+1,AR5</p><p> STM #3,BK</p><p&
68、gt; STM #-1, AR0 </p><p><b> LOOP: </b></p><p> STM 0FFH, AR6</p><p> STM 1000H, AR1</p><p> STM 2000H, AR7</p><p><b
69、> IIR: </b></p><p> PORTR PA1, *AR2 ;從輸入端口讀入數(shù)據(jù)</p><p> MPY *AR2+0%,*AR4+0%, A ;乘法運算,A=b0×x(n)</p><p> MAC *AR2+0%,*AR4+0%, A ;第1次乘法
70、累加 A1=b1*x(n-1)+b0*x(n)</p><p> MAC *AR2, *AR4+0%, A ;第2次乘法累加 A2=b2*x(n-2)+A1</p><p> MAC *AR3+0%,*AR5+0%, A ;第3次乘法累加 A3=a1*y(n-2)+A2</p><p> MAC *AR3+0%,*AR5
71、+0%, A ;第4次乘法累加 A4=a2*y(n-2)+A3</p><p> MAR *AR5+0% ;修正AR5 </p><p> STH A,*AR7+ ;存儲 y(n)</p><p> PORTW *AR7, PA0 ;從輸出端口輸出y(n)
72、</p><p> BD IIR ;循環(huán)</p><p><b> .end</b></p><p> 2、.cmd文件(鏈接器命令文件)</p><p> -stack 0x200</p><p><b> MEMORY</
73、b></p><p><b> {</b></p><p> PAGE 0: PROG: origin = 1a00h, length = 2600h</p><p> PAGE 1: DATA: origin = 0200h, length = 1800h</p><p><b&g
74、t; }</b></p><p><b> SECTIONS</b></p><p><b> {</b></p><p> .text > PROG PAGE 0</p><p> DX: align(4){} > DATA PAGE 1</p>
75、<p> DY: align(4){} > DATA PAGE 1</p><p> DB: align(4){} > DATA PAGE 1</p><p> DA: align(4){} > DATA PAGE 1</p><p> .cinit > PROG PAGE 0</p><p>
76、 .switch > PROG PAGE 0</p><p> .vect > 3f80h PAGE 0</p><p> .data > DATA PAGE 1</p><p> .bss > DATA PAGE 1</p><p> xn >DATA PAGE 1,align (3
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于dsp數(shù)字濾波器的課程設計
- dsp課程設計fir數(shù)字濾波器
- 數(shù)字濾波器課程設計--數(shù)字濾波器的設計及實現(xiàn)
- fir數(shù)字濾波器的dsp課程設計
- dsp課程設計--iir數(shù)字濾波器的設計
- 基于dsp的數(shù)字濾波器設計
- 基于dsp的數(shù)字濾波器
- iir數(shù)字濾波器的dsp實現(xiàn)課程設計報告
- 基于DSP的數(shù)字濾波器設計.pdf
- iir數(shù)字濾波器課程設計
- 基于dsp 的fir數(shù)字濾波器設計
- iir數(shù)字濾波器的設計課程設計
- 基于dsp的iir數(shù)字濾波器設計
- matlab課程設計---fir數(shù)字濾波器
- 數(shù)字濾波器設計與實現(xiàn)課程設計
- 基于matlab的iir數(shù)字濾波器的課程設計
- 基于matlab的數(shù)字濾波器的設計課程設計
- 數(shù)字信號處理課程設計--基于dsp 的 fir 數(shù)字濾波器的設計
- 數(shù)字信號課程設計---fir數(shù)字濾波器
- 基于labview的fir數(shù)字濾波器設計課程設計
評論
0/150
提交評論