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