0 引言
在許多實際應用DSP系統(tǒng)中,輸入信號既可以是語音信號,、調制的電話信號,、編碼的數(shù)字信號、壓縮后的圖像信號,,也可以是各種傳感器輸出的模擬信號,,這就需要DSP通過A/D和D/A轉換完成數(shù)字信號和模擬信號之間的轉換,從而能使DSP處理模擬信號和將數(shù)字信號轉換成易于人機交互的聲,、光,、電等信號。DES5402PP是一個采用TI公司的TMS320C5402為核心處理器的實驗開發(fā)板,,它提供的TLC320AC01能很好的完成這一功能,。
1 IIR濾波器的MATLAB設計
盡管IIR濾波器的算法比FIR濾波器要復雜,且不是因果穩(wěn)定的,,但IIR濾波器也具有多種優(yōu)越性,,它可充分利用模擬濾波器的設計成果,工作量相對較??;在相同的設計指標下,可以用較低的階數(shù)獲得較好的性能,;所用的存儲單元少,,因此對于硬件來說,在相同時鐘速率和存儲空間下可以提供更好的帶外衰減特性[1],。
設低通IIR切比雪夫濾波器的采樣點為256個,,采樣頻率為600Hz,輸入為兩個頻率分別為100Hz和300Hz的正弦信號的合成信號,。設定截止頻率為200Hz,,可以預料,將保留100Hz的信號,,300Hz的信號基本被濾掉,。
根據(jù)系統(tǒng)的設計流程,先在MATLAB中求得IIR濾波器的系數(shù),。主要分為三個步驟:產(chǎn)生本系統(tǒng)的測試信號,;調用MATLAB中的濾波器函數(shù),求出濾波器的系數(shù),;調用filter函數(shù)進行濾波,輸出濾波后的信號,。驗證濾波器的性能后,,將濾波器的系數(shù)通過程序寫成.inc的文件,通過.include語句將其寫入DSP匯編程序中。
2 C5402的緩沖串口(BSP)工作方式
TMS320C5402是TI公司生產(chǎn)的16位定點,、速度為100MIPS,、RAM為16×16位、ROM為4K×16位,、可編程,、低功耗和高性能的DSP。它提供的各種類型的串口都可以在全雙工方式下通信,,其串口信號與許多符合工業(yè)標準的串行設備兼容,,可以直接連接。當串口復位時,,可通過DSP來關閉或打開串口工作時鐘,,并允許串口運行在低功耗模式下[2]。
緩沖串口在BSP在標準串口的基礎上增加一個自動緩沖單元ABU,,是一種增強型標準串口,。允許8、10,、12,、16、20,、24或32位的數(shù)據(jù)傳輸,。由于ABU是一個附加邏輯電路,它允許串口單元直接將數(shù)據(jù)讀寫到C5402的內部獨立存儲器,,不需要CPU參與,,從而使BSP傳輸速度更快。表1給出了BSP發(fā)送和接收數(shù)據(jù)初始化的操作步驟,。
表1 BSP的發(fā)送和接收初始化步驟
3 AC01的特點[3][4]
TLC320AC01也是TI公司生產(chǎn)的一款集成有A/D和D/A的芯片,,通過串口與DSP或其他設備通信。AC01的最高采樣頻率為25kHz,,其數(shù)據(jù)精度為16位,,采用單一5V電源供電。C5402與AC01連接后,,可以只使用一個緩沖通道串口來同時實現(xiàn)數(shù)據(jù)的采集和輸出,,從而節(jié)省了DSP的硬件開銷。因此,,DSP與AC01的連接使用在信號處理中得到了廣泛的應用,。
實驗系統(tǒng)DES5402PP使用AC01作為模擬信號接口,有兩個AC01,,分別工作于“主”,、“從”模式,。利用“主AC01”產(chǎn)生合成的輸入信號,“從AC01”將該信號轉換成濾波的數(shù)據(jù)信號并輸入到DSP芯片,。其中,,DSP還可以通過讀寫AC01的寄存器,控制AC01的采樣頻率,、增益,、低通、高通濾波器的截止頻率等參數(shù),。AC01的九個控制寄存器如表2,。
表2 TLC320AC01的數(shù)據(jù)存儲器功能
在AC01正常工作前,必須對它進行正確的初始化,。初始化的操作主要工作是配置AC01的以上各個數(shù)據(jù)存儲器,。采樣頻率Fs=MCLK/2AB,其中,,MCLK為DSP的工作頻率,,A,B分別為A,,B寄存器的內容,。由于實驗設置采樣頻率為600Hz,因此設A,,B寄存器的內容分別為5和4,。即:
4 C5402和AC01的連接方式
4.1 C5402和AC01的硬件連接
在主/從模式下,DSP可以不通過其他器件而直接與兩個AC01相連,。其硬件連接如圖1所示:
圖1 主/從TLC320AC01和TMS320C5402的連接
4.2 C5402和AC01的軟件連接
先在C5402的數(shù)據(jù)存儲空間寫入256個數(shù)據(jù)(即三個正弦信號混合而成的測試信號的離散表示),,然后通過緩沖串口將數(shù)據(jù)發(fā)送到“主AC01”,利用“主AC01”的D/A通道產(chǎn)生一個模擬信號作為IIR濾波器的輸入信號,。由于實驗中DES5402PP的信號輸出通道與輸入通道相連,,即“主AC01”的輸出作為“從AC01”的輸入,“從AC01”的DOUT端口與DSP芯片的DR端相連,。另外,,在串口通訊中,因為數(shù)據(jù)時鐘和幀同步信號都由AC01產(chǎn)生,,所以C5402將使用外部時鐘和幀同步信號,。在使用串口前,需要對它進行初始化,,包括串口收發(fā)中斷設置和串口寄存器的初始化,,主要代碼如下:
同時,要修改中斷向量表以便正確響應串口的接收和發(fā)送中斷請求,,其中發(fā)送中斷產(chǎn)生測試信號和完成對AC01的初始化,。實際上對信號濾波的實現(xiàn),,就是指從A/D讀到一個數(shù)據(jù)后調用濾波程序,然后輸出數(shù)據(jù)到D/A,。
5 實驗過程與結果分析
實驗程序主要包括以下幾個步驟:
(1),,對DSP的寄存器,、緩沖串口以及定時器初始化,確保能提供AC01正確的時鐘信號,。完成該步驟后,,檢測DSP的CLKR和FSR引腳可以看到連續(xù)輸出的信號。
?。?),,同過DSP的緩沖串口對AC01進行初始化,正確設置AC01的采樣率控制寄存器(表2中的R1),,設置其采樣頻率,。完成該步驟后,檢測AC01的DOUT引腳可以發(fā)現(xiàn)有連續(xù)輸出的信號,。
?。?),設置DSP的中斷,,從緩沖串口讀取數(shù)據(jù),。這一步可以通過CCS環(huán)境查看讀取的數(shù)據(jù)是否正確。如果正確,,將采樣數(shù)據(jù)送到濾波程序中,,進行濾波處理,得到結果后,,直接送到AC01的D/A單元輸出,。否則,返回步驟(1),。
濾波前后的波形如圖2和圖3所示,。可以看到,,比起濾波前的(a)圖,,(b)圖的時域和頻域波形得到明顯改善,300Hz的信號基本被濾除,。
(a)濾波前的信號波形&nBSP; (b)濾波后的信號波形
圖2 濾波前后信號的時域波形
(a)濾波前的信號頻率 (b)濾波后的信號頻率
圖3 濾波前后信號的頻域波形
在圖2(b)中,,可以看到,只剩下一種頻率的正弦信號,。從頻域來看,,在圖3(b)中,,高頻部分已經(jīng)基本削弱,同時低頻也有少量損失,,只要將濾波器的階數(shù)高一些或者截止頻率稍微定低一些,,便能更大程度的保留低頻信號、消除高頻信號,。
6 結語
在信號與信息的過濾,、檢測和預測等處理中,都要使用濾波器,,數(shù)字濾波器是數(shù)字信號處理中使用最廣泛的一種方法,。IIR數(shù)字濾波器的設計過程中,可以借助模擬濾波器的設計成果或直接采用典型的濾波器類型,,減少工作量,。而在信號的輸入輸出過程中,往往需要A/D和D/A轉換,,TLC320AC01模擬接口電路便可方便的實現(xiàn)這一轉換,。此外,DSP芯片本身具有并行的硬件乘法器,、流水線結構以及快速片內RAM等資源,,容易實現(xiàn)濾波運算,且程序可移植性好,,不同性能的濾波器只需要修改濾波器的參數(shù)即可,。
本文作者創(chuàng)新點:在DES5402PP開發(fā)板的基礎上,通過輸入一組兩個不同頻率的正弦混合信號,,設計并實現(xiàn)了IIR濾波器,。同時介紹串口和TLC320AC01的工作方式,給出了與DSP的連接方法,,并通過程序實現(xiàn),。不論處理的是模擬信號還是數(shù)字信號,系統(tǒng)都可以通過TLC320AC01在信號形式上進行匹配轉換,,完成對信號的濾波處理,。由于TLC320AC01最高采樣頻率為25kHz(高于語音采樣頻率8kHz),因此該系統(tǒng)也可用于音頻信號濾波,。