采用編程數(shù)據(jù)來(lái)完成RC網(wǎng)絡(luò)切換的可編程濾器芯片解
通過(guò)文獻(xiàn)[1]給出的fCLK/f0與F0~F5的關(guān)系表格,得到本文根據(jù)fCLK/f0計(jì)算編程數(shù)據(jù)F0~F5的公式,即fCLK/f0與F0~F5的關(guān)系為:
fCLK/f0=40.84+1.57N1 (1)
或,N1為二進(jìn)制數(shù)據(jù)F0~F5對(duì)應(yīng)的十進(jìn)制整數(shù),范圍為0~63共64級(jí)。
同樣,對(duì)應(yīng)濾波器的Q值也采用查表的方法,而是通過(guò)計(jì)算來(lái)獲得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ī)主程序框圖見(jiàn)圖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)濾波器的類(lèi)型選擇;然后根據(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來(lái)完成對(duì)可編程濾波器MAX262的控制,很好地實(shí)現(xiàn)了有源濾波器設(shè)計(jì)工作。而且這種程控濾波器具有使用靈活、調(diào)試容易的特點(diǎn),一片MAX262就能完成對(duì)兩路輸入信號(hào)進(jìn)行二階濾波的處理。
如果需要四階濾波可以很容易通過(guò)濾波器A和B的級(jí)聯(lián)來(lái)實(shí)現(xiàn),另外還可以通過(guò)對(duì)89C51的ALE信號(hào)進(jìn)行倍頻和分頻實(shí)現(xiàn)AMX262的所有工作頻率范圍。
評(píng)論