采用編程數(shù)據(jù)來完成RC網(wǎng)絡(luò)切換的可編程濾器芯片解析方案
在工業(yè)自動(dòng)化的許多領(lǐng)域都要使用濾波器。一般有源濾波器均由運(yùn)算放大器和RC元件組成,對(duì)元器件的參數(shù)精度要求比較高,設(shè)計(jì)和調(diào)試都比較麻煩。美信公司(MAXIM)生產(chǎn)垢可編程濾波器芯片MAX262可以通過編程對(duì)各種低頻信號(hào)實(shí)現(xiàn)低通、高通、帶通、帶阻以及全通濾波處理,而且濾波的特性參數(shù)如中心頻率、品質(zhì)因數(shù)等也可以通過編程進(jìn)行設(shè)置。
本文引用地址:http://m.butianyuan.cn/article/201610/308609.htm有源濾波器一般通過改變RC網(wǎng)絡(luò)參數(shù)來改變頻率特性,采用運(yùn)算放大器和可切換元件參數(shù)的RC網(wǎng)絡(luò),可以用同一電路組成各種頻率特性的濾波器。美信公司的可編程濾器芯片采用編程數(shù)據(jù)來完成RC網(wǎng)絡(luò)的切換。
1 MAX262芯片介紹
(1)內(nèi)部結(jié)構(gòu)
MAX262 主要由放大器、積分器、電容切換網(wǎng)絡(luò)(SCN)和工作模式選擇器組成。積分器、電容切換網(wǎng)絡(luò)(SCN)和工作模式選擇器分別由編程數(shù)據(jù)M0M1, F0~F5和Q0~Q6控制。MAX262內(nèi)部有兩個(gè)二級(jí)濾波器,濾波器A和B可以單獨(dú)使用,也可級(jí)聯(lián)成四階濾波器使用。芯片的使用非常靈活,但它們均受同一組編程數(shù)據(jù)的控制。
MAX262芯片的工作頻率為1Hz~140kHz。當(dāng)時(shí)鐘頻率為4MHz,工作模式選擇為模式3時(shí),芯片可以對(duì)140kHz的輸入信號(hào)進(jìn)行濾波處理。其它工作模式的最高工作頻率為100kHz。濾波器A和B可以采用內(nèi)部時(shí)鐘,也可以采用外部時(shí)鐘。外部時(shí)鐘分別從芯片的引腳CLKA、CLKB引入,對(duì)外部時(shí)鐘無占空比要求。如果要對(duì)更低頻率的信號(hào)進(jìn)行濾波處理,可采用MAX260芯片,它的工作頻率為0.01Hz~7.5kHz。輸入的低頻信號(hào)可以直接送到MAX260芯片的輸入端(即INA或INB引腳),輸入信號(hào)的幅度范圍為0V~+5V。
(2)編程參數(shù)
MAX262芯片有三個(gè)編程參數(shù):中心頻率f0、Q值和工作模式。
中心頻率由編程數(shù)據(jù)F0~F5控制,共64個(gè)不同的二進(jìn)制數(shù)據(jù),每個(gè)數(shù)據(jù)對(duì)應(yīng)一個(gè)時(shí)鐘頻率fclk與中心頻率f0的比值fclk/f0。在文獻(xiàn)[1]的表2 中給出了MAX262芯片的fclk/f0與編程數(shù)據(jù)F0~F5的對(duì)應(yīng)關(guān)系。在系統(tǒng)實(shí)現(xiàn)時(shí),可以采用查表的方法獲得編程數(shù)據(jù)。本文采用計(jì)算的方法來形成編程數(shù)據(jù)F0~F5。
Q值由編程數(shù)據(jù)Q0~Q7控制,共128個(gè)不同的二進(jìn)制數(shù)據(jù),每個(gè)數(shù)據(jù)對(duì)應(yīng)一個(gè)同的Q值,最小的Q值為0.5,最大的Q值為64(如果芯片工作在模式2則可達(dá)90.5)。在文獻(xiàn)[1]的表3中給出了編程數(shù)據(jù)Q0~Q7與Q值的對(duì)應(yīng)關(guān)系。
工作模式由編程數(shù)據(jù)M0M1控制,分別對(duì)應(yīng)工作模式1、2、3和4。模式1可以實(shí)現(xiàn)低通、帶通和帶隨濾波;模式2基本與模式1相同,只是該模式可以獲得最高的Q值;模式3是唯一可以實(shí)現(xiàn)高通濾波的模式;而只有模式4才能實(shí)現(xiàn)全通濾波,它和模式3也可以實(shí)現(xiàn)低通和帶通濾波。
編程參數(shù)f0、Q值和工作模式確定以后,只要將相應(yīng)的編程數(shù)據(jù)裝入MAX262芯片內(nèi)部的寄存器,濾波器的類型和頻率特性也就確定了。
2 單片機(jī)硬件設(shè)計(jì)
MAX262芯片的編程輸入總線比較簡(jiǎn)單,它包括2條數(shù)據(jù)線D0D1,4條地址線A0~A3,另外還有一條寫允許控制線WR。單片機(jī)采用內(nèi)部有4KB程序存儲(chǔ)器的89C51。
本系統(tǒng)采用6264芯片擴(kuò)展數(shù)據(jù)存儲(chǔ)器。由于74LS138譯碼器使用89C51 P2口的高三位進(jìn)行地址譯碼,則6264的地址范圍為0000H~1FFFH。
74LS138 譯碼器的輸出Y2作為8279芯片的片選信號(hào)CS,其地址范圍為4000H~5FFFH。經(jīng)74LS373鎖存后的地址線A0送到8279的A0地址輸入端,所以選擇5FFFH作為8279的命令口地址,5FFEH作為8279的數(shù)據(jù)口地址。89C51的晶振選用12MHz,其ALE信號(hào)經(jīng)4分頻后,得到頻率為500kHz的信號(hào)送到8279的CLK輸入端和為時(shí)鐘信號(hào)。8279采用中斷方式,占用89C51的外中斷0。8279采用8個(gè)七段LED顯示器,其ALE信號(hào)經(jīng)4分頻后,得到頻率為500kHz的信號(hào)送到8279的CLK輸入端作為時(shí)鐘信號(hào)。8279采用中斷方式,占用89C51的外中斷0。 8279采用8個(gè)七段LED顯示器,其鍵盤按照如下:10個(gè)數(shù)字鍵0~9,1個(gè)小數(shù)點(diǎn)鍵,5個(gè)功能鍵(即用于選擇濾波器的類型,低通、帶通、高通、全通和帶阻濾波),1個(gè)回車鍵,其17個(gè)按鍵。
89C51的WR 控制信號(hào)和74LS138譯碼器的Y1輸出信號(hào)相與后送到MAX262的WR寫允許控制端,則MAX262的地址范圍為 2000H~3FFFH.MAX262的地址線Ax(即A0~A3)和數(shù)據(jù)線Dx(即D0D1)連接到89C51的P0口低六位,即A0~A3、D0D1 分別連接到P0.0~P0.5。89C51的ALE信號(hào)送到MAX262的CLKA和CLKB引腳作為時(shí)鐘信號(hào),即MAX262的外部時(shí)鐘頻率為 2MHz,所以程控濾波器能處理的輸入信號(hào)頻率范圍為15kHz~50kHz,通過改變編程數(shù)據(jù)F0~F5實(shí)現(xiàn)64級(jí)中心頻率調(diào)節(jié)。
本系統(tǒng)選用模式1實(shí)現(xiàn)低通、帶通和帶阻濾波,模式3實(shí)現(xiàn)高通濾波,模式4實(shí)現(xiàn)全通濾波。其中,濾波器 A和B的高通、帶阻和全通濾波輸出端分別共用 MAX262的HPA、HPB引腳。需要處理的低頻輸入信號(hào)分別由MAX262的INA和INB引腳輸入,濾波器A和濾波器B的三個(gè)輸出端分別連接到模擬開關(guān)4052的輸入端,然后由4052的輸出端輸出濾波處理后的信號(hào),即圖1中的OUTA和OUTB兩路輸出信號(hào)。4052的地址A1、A0由89C51 的P1.1、P1.0控制,實(shí)現(xiàn)對(duì)濾波器類型的選擇。
3 系統(tǒng)軟件實(shí)現(xiàn)方法
(1)編程數(shù)據(jù)獲得方法
MAX262的地址A0~A3與數(shù)據(jù)D0D1的關(guān)系見表1。由表1可見每個(gè)濾波器的工作模式、中心頻率、Q值所需編程數(shù)據(jù)均需要分8次寫入MAX262的內(nèi)部寄存器才能完成設(shè)置。
表1 MAX262的址A0~A3與數(shù)據(jù)D0D1的關(guān)系
通過文獻(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值也采用查表的方法,而是通過計(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)論