基于FPGA的超聲波氣體流量計(jì)中AGC的實(shí)現(xiàn)
摘要:為能充分利用數(shù)字技術(shù)可靠性高、靈活性強(qiáng)等優(yōu)點(diǎn),將自動(dòng)增益控制AGC引入數(shù)字域,并針對(duì)超聲波氣體流量計(jì)中接收信號(hào)的特點(diǎn),給出一種基于EPlK30TCl44-3的全數(shù)字AGC設(shè)計(jì)方案。測(cè)試結(jié)果表明該系統(tǒng)設(shè)計(jì)可以實(shí)現(xiàn)40 dB動(dòng)態(tài)范圍的控制,且具有控制精度高、調(diào)節(jié)速度快、受環(huán)境影響小,穩(wěn)定性和可靠性高等優(yōu)點(diǎn)。
關(guān)鍵詞:超聲波氣體流量計(jì);自動(dòng)增益控制(AGC);FPGA;EPlK30TCl44-3
1 引言
超聲波流量計(jì)是一種新興的工業(yè)產(chǎn)品,具有無(wú)阻擋體,無(wú)可動(dòng)件,無(wú)壓損,無(wú)示值漂移,適用于大口徑管道測(cè)量,測(cè)量精確度高,重復(fù)性強(qiáng),量程比寬,可承受工作壓力高,可測(cè)多相流,不受氣體溫度、壓力、組成等變化的影響、易于實(shí)現(xiàn)數(shù)字通信等優(yōu)點(diǎn)。為減小甚至避免流速分布對(duì)流量計(jì)精度帶來的影響,超聲波流量計(jì)采用多聲道超聲波的測(cè)量方式。
對(duì)于多聲路超聲波流量計(jì),發(fā)射和接收電路是公用的,通過傳感器切換電路測(cè)量轉(zhuǎn)換各個(gè)聲路順流和逆流傳播時(shí)間,但由于各個(gè)聲路的長(zhǎng)度不同,傳感器的特性存在差異,每次測(cè)量的接收信號(hào)大小也不同,并且強(qiáng)度也不穩(wěn)定。因此,要實(shí)現(xiàn)超聲波信號(hào)的精確測(cè)量,必須根據(jù)接收信號(hào)的強(qiáng)度自動(dòng)調(diào)節(jié)接收電路增益,而且要單獨(dú)控制每個(gè)方向上的增益。為實(shí)現(xiàn)高精度的測(cè)量,在信號(hào)到達(dá)檢測(cè)電路之前必須使信號(hào)穩(wěn)定可靠。為此,信號(hào)處理要采用自動(dòng)增益控制放大器。
2 自動(dòng)增益控制AGC
自動(dòng)增益控制AGC(Automatic Gain Control)是一種在輸入信號(hào)幅度變化很大的情況下,使輸出信號(hào)幅度保持恒定或僅在較小的范圍內(nèi)變化的自動(dòng)增益控制環(huán)路,即當(dāng)輸入信號(hào)很弱時(shí),自動(dòng)增益控制電路的增益較大,自動(dòng)增益控制電路不起作用;當(dāng)輸入信號(hào)很強(qiáng)時(shí),自動(dòng)增益控制電路進(jìn)行控制使增益減小。這樣,當(dāng)輸入信號(hào)強(qiáng)度變化時(shí),輸出端的信號(hào)電壓或功率基本不變或保持恒定。
信號(hào)傳輸過程中,隨著傳輸距離的變化及其他因素的影響,信號(hào)在空間傳播過程中存在明顯衰落,在接收機(jī)輸入端的信號(hào)強(qiáng)度有很大變化。因此在接收機(jī)前端必須加一個(gè)幅度控制系統(tǒng),自動(dòng)增益控制環(huán)路是信號(hào)傳輸中必不可少的。
數(shù)字AGC精度高、適應(yīng)性好、體積小、可靠性高,因此受到廣大設(shè)計(jì)人員的關(guān)注。圖1為數(shù)字AGC框圖。
3 數(shù)字AGC的設(shè)計(jì)
數(shù)字AGC系統(tǒng)組成包括A/D轉(zhuǎn)換器(ADC)、現(xiàn)場(chǎng)可編程門陣列(FPGA)、可編程只讀存儲(chǔ)器(PROM),如圖2所示。
3.1 FPGA選型簡(jiǎn)介
該設(shè)計(jì)采用Altera公司的ACEX系列FPGA器件EPlK30TCl44-3作為核心控制器,其特點(diǎn)是:高密集型;適合大容量應(yīng)用的低成本可編程結(jié)構(gòu);多電平標(biāo)準(zhǔn)系統(tǒng),其I/O接口可驅(qū)動(dòng)2.5 V和3.3 v器件或被5 V器件驅(qū)動(dòng);靈活的內(nèi)部連接;強(qiáng)大的I/0接口.對(duì)于每個(gè)I/0接口有獨(dú)立的三態(tài)輸出控制使能,對(duì)于每個(gè)I/O接口都有開漏輸出選擇。
EPIK30TCl44-3型FPGA滿足該系統(tǒng)設(shè)計(jì)要求,30 000個(gè)邏輯門適合于數(shù)字系統(tǒng)設(shè)計(jì)所需的邏輯門數(shù)量;多電平標(biāo)準(zhǔn)簡(jiǎn)化了FPGA與外部電路的接口;102個(gè)功能強(qiáng)大的I/0接口方便了FPGA外嗣電路設(shè)計(jì);JATG邊界掃描功能為系統(tǒng)開發(fā)與完善提供了很大的方便。
3.2 FPGA內(nèi)部設(shè)計(jì)
該設(shè)計(jì)主要由乘法器、門限判決、寄存器、加/減計(jì)數(shù)器4個(gè)模塊組成,實(shí)現(xiàn)40 dB動(dòng)態(tài)范圍的控制。FPGA內(nèi)部框圖如圖3所示。
經(jīng)A/D采樣后的信號(hào)x(n)進(jìn)入FPGA進(jìn)行處理。x(n)首先進(jìn)入乘法器模塊與可控增益因子k(n)相乘,然后分成兩路。一路作為調(diào)整增益后的AGC輸出y(n);另一路送入門限判決模塊。門限判別模塊包括門限判決器和增益查找表,門限判決器內(nèi)設(shè)有高低2個(gè)門限,當(dāng)輸入包絡(luò)信號(hào)電平大于高門限時(shí),則認(rèn)為輸入信號(hào)過大,應(yīng)調(diào)整增益控制因子k(n)減?。寒?dāng)輸入包絡(luò)信號(hào)電平小于低門限時(shí),則認(rèn)為輸入信號(hào)過小,應(yīng)調(diào)整增益控制因子k(n)增加。對(duì)于增加或減少的步進(jìn)量g(n)則從增益查找表中得到。加/減計(jì)數(shù)器模塊根據(jù)查找表得到的步進(jìn)因子g(n)及門限判決模塊提供的計(jì)數(shù)方向w(n)來調(diào)整增益控制因子的。
3.2.1 門限判決模塊
門限判決模塊用于限制加/減計(jì)數(shù)器控制號(hào)的波動(dòng),防止環(huán)路振蕩,其內(nèi)設(shè)高低2個(gè)門之間的范圍即為AGC輸出信號(hào)的波動(dòng)范圍。防止AGC發(fā)生振蕩,該范圍應(yīng)該在滿足解調(diào)器要求的動(dòng)態(tài)范圍條件下足夠?qū)?,而不是恒定不變的電平值。如果大于高門限,則認(rèn)為信號(hào)過大,首先送給加/減計(jì)數(shù)器一個(gè)向下計(jì)數(shù)的信號(hào),然后根據(jù)信號(hào)的范同從查找表中確定加/減計(jì)數(shù)器的步進(jìn)量;如果小于低門限,則認(rèn)為信號(hào)過小,首先送給加/減計(jì)數(shù)器一個(gè)向上計(jì)數(shù)的信號(hào),然后根據(jù)信號(hào)的范圍從查找表中確定加/減計(jì)數(shù)器的步進(jìn)量;如果在兩門限之間,則加/減計(jì)數(shù)器的步進(jìn)量為零。
圖4是門限判決模塊的仿真波形。其中,clk為時(shí)鐘信號(hào),reset為復(fù)位信號(hào),iir_2_stage_output為濾波器的輸出信號(hào),set_control為與門限進(jìn)行比較的信號(hào),acc_addr為查找表地址,updn_count_out為控制加/減計(jì)數(shù)器的計(jì)數(shù)方向,dead_band_out為控制加/減計(jì)數(shù)器的計(jì)數(shù)控制信號(hào),accelerate_gain為控制加/減計(jì)數(shù)器的計(jì)數(shù)步進(jìn)量。
從圖4中可以看出,當(dāng)信號(hào)小于低門限7500時(shí),dead_band_out=‘0’,updn_count_out=‘1’,控制加/減計(jì)數(shù)器向上計(jì)數(shù),set_control遠(yuǎn)離低門限,計(jì)數(shù)步進(jìn)量增大;當(dāng)信號(hào)大于高門限10 500時(shí),deadband_out=‘0’,updn_count_out=‘0’,控制加/減計(jì)數(shù)器向下計(jì)數(shù),set_control遠(yuǎn)離高門限,計(jì)數(shù)步進(jìn)量增大。
3.2.2 加/減計(jì)數(shù)器模塊
加/減計(jì)數(shù)器模塊根據(jù)輸入信號(hào)與最佳的接收信號(hào)之間的差值,對(duì)輸入信號(hào)進(jìn)行反向補(bǔ)償。假設(shè)輸入信號(hào)經(jīng)過一定衰減,AGC環(huán)路經(jīng)過比較可確定接收信號(hào)電平低于最佳電平。這個(gè)差值將導(dǎo)致計(jì)數(shù)器向上計(jì)數(shù),增加環(huán)路增益,直到環(huán)路濾波器的輸出重新回到門限判決模塊的兩個(gè)門限之間。如果信號(hào)乘以增益后、環(huán)路濾波器的輸出信號(hào)大于門限判決模塊的高門限時(shí),計(jì)數(shù)器向下計(jì)數(shù),降低環(huán)路增益,直到信號(hào)重新回到可以準(zhǔn)確解調(diào)所需的接收信號(hào)范圍。
圖5是加/減計(jì)數(shù)器模塊的仿真波形。gain_counter_out為截位前的增益值,gain_control_out為截位后實(shí)際輸出的增益值。從圖5看出,當(dāng)reset=‘1’時(shí),計(jì)數(shù)器復(fù)位,設(shè)增益初始值gain_control_out=‘32’。而當(dāng)deadband_in=‘O’,updn_count_in=‘1’,加/減計(jì)數(shù)器按步進(jìn)量accelerate_gain_in向上計(jì)數(shù);而當(dāng)deadband_in=‘O’,updn_count_in=‘0’,加/減計(jì)數(shù)器按步進(jìn)量accelerate_gainjn向下計(jì)數(shù)。計(jì)數(shù)所得的值即為輸出的增益控制因子。
4 結(jié)論
本文實(shí)現(xiàn)了一種全數(shù)字AGC的設(shè)計(jì)方案。此方案可實(shí)現(xiàn)40 dB動(dòng)態(tài)范圍的控制,并且具有控制精度高,調(diào)節(jié)速度快,調(diào)試簡(jiǎn)單,受環(huán)境影響小,穩(wěn)定性和可靠性高等優(yōu)點(diǎn)。隨著集成器件的發(fā)展,有望實(shí)現(xiàn)高動(dòng)態(tài)范圍的全數(shù)字AGC,以便應(yīng)用到更廣闊的領(lǐng)域中。