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