《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 模擬設(shè)計 > 設(shè)計應(yīng)用 > 基于DSP/BIOS的FIR數(shù)字濾波器設(shè)計與實現(xiàn)
基于DSP/BIOS的FIR數(shù)字濾波器設(shè)計與實現(xiàn)
摘要: 數(shù)字信號處理器(DSP)擁有強大的數(shù)字信號處理能力,與其配套的集成可視化開發(fā)環(huán)境CCS(Coder Composer Stu-dio)更方便了 DSP應(yīng)用程序的開發(fā)。DSP/BIOS是CCS的重要組成部分,它實質(zhì)上是一種基于DSP平臺的規(guī)??煽氐膶崟r操作系統(tǒng)內(nèi)核。這里主要研究在DSP上利用DSP,BIOS實現(xiàn)FIR數(shù)字濾波器的方法。
Abstract:
Key words :

  1 引言

  數(shù)字信號處理器(DSP)擁有強大的數(shù)字信號處理能力,與其配套的集成可視化開發(fā)環(huán)境CCS(Coder Composer Stu-dio)更方便了 DSP應(yīng)用程序的開發(fā)。DSP/BIOS是CCS的重要組成部分,它實質(zhì)上是一種基于DSP平臺的規(guī)??煽氐膶崟r操作系統(tǒng)內(nèi)核。這里主要研究在DSP上利用DSP,BIOS實現(xiàn)FIR數(shù)字濾波器的方法。

  2 TMS320F2812及DSP/BIOS內(nèi)核介紹

  TMS320F2812是基于TMS320C2XXX內(nèi)核的定點數(shù)字信號處理器,具有數(shù)字信號處理及強大的事件管理和嵌入式控制功能,適于有大批量數(shù)據(jù)處理的控制系統(tǒng)。其性能可用于數(shù)字濾波器設(shè)計。

  TMS320F2812采用高性能的靜態(tài)CMOS技術(shù),時鐘頻率達150 MHz;低功耗(內(nèi)核電壓1.9 V,I/O口電壓3.3 V);采用哈佛總線結(jié)構(gòu),片上集成許多片上外設(shè),可實現(xiàn)更多功能。開發(fā)環(huán)境是集成開發(fā)環(huán)境CCS,支持C/C++/匯編嵌入式實時操作系統(tǒng)DSP/BIOS,JTAG調(diào)試接口。

  DSP/BIOS內(nèi)核是一個尺寸可伸縮的實時內(nèi)核,它是為實時信號處理應(yīng)用而設(shè)計的,主要包括:(1)DSP/BIOS配置工具。該工具可用來創(chuàng)建和配置在應(yīng)用程序中使用的DSP/BIOS內(nèi)核對象,也可使用該工具配置存儲器,線程優(yōu)先權(quán)以及中斷處理;(2)DSP/BIOS實時分析工具。CCS中的分析丁具使用戶可測試和分析目標DSP上應(yīng)用程序的運行,包括監(jiān)測CPU負荷、日志、線程執(zhí)行情況等;(3)DSP/BIOS API函數(shù)。用戶在PC端采用C、C++或匯編語言編寫調(diào)用DSP/BIOS API函數(shù)的應(yīng)用程序;(4)器件支持庫。提供許多宏和函數(shù),用來簡化片上外設(shè)的配置和管理。

  3 數(shù)字濾波器分析

  數(shù)字濾波器根據(jù)沖激響應(yīng)持續(xù)時間可分為有限沖激響應(yīng)濾波器(FIR)和無限沖激響應(yīng)濾波器(IIR)。其中FIR濾波器能夠保證嚴格的線性相位特性,且不存在穩(wěn)定性問題。窗函數(shù)法和頻率采樣法等是設(shè)計FIR數(shù)字濾波器的常用方法。窗函數(shù)法在時域中進行,其原理簡單,易于實現(xiàn),但存在在相同設(shè)計指標下濾波器的階數(shù)通常會偏大的問題。頻率采樣法對于只有少數(shù)幾個非零值采樣的窄帶選頻濾波器較有效。這里分析如何在DSK2812板上利用CCS本身所帶的操作系統(tǒng)實現(xiàn)一種通過窗函數(shù)法實現(xiàn)的FIR濾波器。FIR濾波器的各項指標可以通過現(xiàn)有的表查找,其設(shè)計步驟如下:

  (1)給定所要求的理想頻率響應(yīng)函數(shù)Hd(ejw);(2)對理想頻率響應(yīng)函數(shù)進行反傅里葉變換,則得到系統(tǒng)單位脈沖響應(yīng)為:hd(n)=IDFTFT[Hd(ejw)];(3)根據(jù)過渡帶及阻帶衰減最小的要求查表,可選定窗ω(n)的形狀及除數(shù),N的大小,一般N的值要做幾次試探才能最終確定;(4)得到所設(shè)計的FIR濾波器的單位抽樣響應(yīng)(該響應(yīng)逼近理想):h(n)=hd(n)ω(n),n=0,1…,N-1;(5)求H(ejw)=DTFT[h(n)],檢查是否滿足設(shè)計要求,若不滿足,則需重新按照上述步驟設(shè)計。

  4 數(shù)字濾波器的實現(xiàn)

  要實現(xiàn)的低通FIR濾波器:通帶邊緣頻率ωp=10 kHz,阻帶邊緣頻率ωs=22 kHz,阻帶衰減δ2=75 dB,采樣頻率fs=50 kHz。根據(jù)對濾波器的分析可求得系統(tǒng)的差分方程。所求得的h(n)在程序設(shè)計過程中可用一個數(shù)組存放。X(n)是A/D轉(zhuǎn)換器采樣值。讓其逐項相加,再輸出即可。實現(xiàn)濾波器所采用的硬件平臺為DSK2812,實現(xiàn)流程如圖1所示。

實現(xiàn)流程

  (1)啟動CCS,新建一個丁程,命名為FILTER。

  (2)新建一個DSP/BIOS的配置文件,命名為Fiher.cmd,并將其加入該工程中。在配置文件中設(shè)置所用到的硬件中斷,它對應(yīng)A/D采樣的硬件中斷。還需設(shè)置一個軟件中斷,用來對A/D轉(zhuǎn)換模塊采集到的數(shù)據(jù)濾波。因為濾波器處理數(shù)據(jù)需一定時間,所以將其放到軟件中斷中,通過BIOS的任務(wù)調(diào)度實現(xiàn)對信號的濾波。

  (3)配置系統(tǒng)時鐘,系統(tǒng)有基于PLL的時鐘模塊,為器件及各種外設(shè)提供時鐘信號。在X1/XCLKIN和X2兩個引腳間連接一個30MHz的晶體振蕩器(可采用外部時鐘),將輸入的時鐘信號直接接到X1/XCLKIN引腳,而X2引腳懸空,這種情況下,不使用內(nèi)部振蕩器。然后經(jīng)PLL倍頻后,為系統(tǒng)提供時鐘。通過PLLCR寄存器的值可配置15~150 MHz的時鐘。則TMS320F2812得到SYSCLKOUT,通過配置高速外設(shè)時鐘HISPCP和慢速外設(shè)時鐘LOSPCP控制外設(shè),從而實現(xiàn)整個系統(tǒng)的時鐘系統(tǒng)控制。這里設(shè)置系統(tǒng)的時鐘HSPCLK為150 MHz。

  (4)數(shù)字濾波器通過EVA1模塊設(shè)置采樣頻率。首先將該模塊配置為連續(xù)增計數(shù)模式。當周期寄存器和定時器的值相等時,產(chǎn)生一個外設(shè)中斷請求,選擇其啟動A/D轉(zhuǎn)換器,則在中斷標志位置位的同時將A/D轉(zhuǎn)換啟動信號送至A/D轉(zhuǎn)換模塊。故只需配置定時器的周期值,便可改變A/D轉(zhuǎn)換器的采樣頻率。濾波器的通用定時器采用內(nèi)部CPU時鐘(HSPCLK)作為時鐘源,而內(nèi)部時鐘源可通過時鐘預定標參數(shù)寄存器設(shè)置。這里設(shè)置的內(nèi)部高速外設(shè)時鐘為系統(tǒng)時鐘。

 

  (5)A/D轉(zhuǎn)換模塊的配置。A/D轉(zhuǎn)換模塊的A/D轉(zhuǎn)換器有16個通道,可配置為2個獨立的8通道模塊,分別服務(wù)于事件管理器A和B。兩個獨立的8通道模塊也可級聯(lián)構(gòu)成一個16通道模塊。盡管在模數(shù)轉(zhuǎn)換模塊中有多個輸入通道和兩個排序器,但僅有一個轉(zhuǎn)換器。將其配置為兩個獨立8通道模塊,讓EVA事件管理器A觸發(fā)A/D轉(zhuǎn)換器、信號從ADINAO引腳輸入,從ADCRESULTO結(jié)果寄存器中讀取轉(zhuǎn)換結(jié)果。

  (6)處理采集到的數(shù)據(jù),即是對采集的信號進行濾波。首先根據(jù)信號通過濾波器設(shè)計過程進行運算,得到系統(tǒng)差分方程的系數(shù),用一個數(shù)組存放該系數(shù),以方便計算。主程序的數(shù)據(jù)采集即硬件中斷所要完成的工作。

  為驗證所設(shè)計濾波器的濾波效果,將其應(yīng)用于某電路實驗的實測信號濾波,濾波前后波形如圖2所示。由圖2可看出,濾波效果較好。

濾波前后波形

  5 結(jié)論

  所設(shè)計的濾波器濾波效果理想,達到了設(shè)計要求。在DSP/BIOS多任務(wù)的調(diào)度下,不但可在濾波算法的基礎(chǔ)上添加新任務(wù),實現(xiàn)多任務(wù)系統(tǒng),而且還能較好地滿足需進行濾波處理的系統(tǒng)開發(fā)。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。