單片機(jī)控制的雙路有源濾波器設(shè)計(jì)
同樣,對(duì)應(yīng)濾波器的Q值也采用查表的方法,而是通過計(jì)算來獲得Q值的編程數(shù)據(jù)Q0~Q7。Q值與Q0~Q7的關(guān)系為:
Q=64/(128-N2) (3)
或 N2=64(2-1/Q) (4)
其中,N2為二進(jìn)數(shù)據(jù)Q0~Q6對(duì)應(yīng)的十進(jìn)制整數(shù),范圍為0~127共128級(jí)。
(2)系統(tǒng)程序流程
本系統(tǒng)的單片機(jī)主程序框圖見圖2。首先進(jìn)行初始化,包括對(duì)8279的初始化,然后從片內(nèi)RAM中讀取新設(shè)置標(biāo)志位進(jìn)行判斷。如果不是則給MAX262芯片送入濾波器所需的初始工作參數(shù);是新設(shè)置則根據(jù)鍵中斷服務(wù)程序獲得的鍵值進(jìn)行處理。
進(jìn)行新設(shè)置時(shí),首先根據(jù)輸入的鍵值完成對(duì)濾波器的選擇,包括濾波器A和B的設(shè)置選擇以及相應(yīng)濾波器的類型選擇;然后根據(jù)式(4),由輸入的Q值計(jì)算N2并轉(zhuǎn)換成二進(jìn)制編程數(shù)據(jù)Q0~Q6送片內(nèi)RAM;同時(shí)根據(jù)式(2),由輸入的中心頻率f0值計(jì)算N1并轉(zhuǎn)換為二進(jìn)制編程數(shù)據(jù)F0~F5送片內(nèi)RAM。在獲得 MAX262的工作參數(shù)后,根據(jù)表1將這些參數(shù)轉(zhuǎn)換為8字節(jié)的編程數(shù)據(jù),由89C51的P0口送到MAX262。
設(shè)置完成后,MAX262就按照當(dāng)前所要求的中心頻率和Q值對(duì)輸入信號(hào)進(jìn)行濾波處理。
最后調(diào)用顯示子程序,在LED數(shù)碼管顯示當(dāng)前濾波器的工作參數(shù),即中心頻率和Q值。
本文采用單片機(jī)89C51來完成對(duì)可編程濾波器MAX262的控制,很好地實(shí)現(xiàn)了有源濾波器設(shè)計(jì)工作。而且這種程控濾波器具有使用靈活、調(diào)試容易的特點(diǎn),一片MAX262就能完成對(duì)兩路輸入信號(hào)進(jìn)行二階濾波的處理。
如果需要四階濾波可以很容易通過濾波器A和B的級(jí)聯(lián)來實(shí)現(xiàn),另外還可以通過對(duì)89C51的ALE信號(hào)進(jìn)行倍頻和分頻實(shí)現(xiàn)AMX262的所有工作頻率范圍。
評(píng)論