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