引言
在許多物理實(shí)驗(yàn)(核聚變實(shí)驗(yàn)裝置托卡馬克的放電實(shí)驗(yàn))的數(shù)據(jù)采集過(guò)程中,由于待測(cè)信號(hào)微弱且測(cè)試環(huán)境電磁輻射嚴(yán)重等因素,在數(shù)據(jù)采集前端往往需要對(duì)信號(hào)進(jìn)行濾波和放大等信號(hào)調(diào)理操作,以濾除信號(hào)噪聲并將待測(cè)信號(hào)調(diào)整到后端數(shù)據(jù)采集卡的最佳量程范圍,最終提高整個(gè)數(shù)據(jù)采集系統(tǒng)的分辨率。
一般認(rèn)為在A/D轉(zhuǎn)換器前加一個(gè)增益為2的前置放大電路可使測(cè)量分辨率增加1位,增益為4則分辨率將增加2位,以此類推。因此,在數(shù)據(jù)采集系統(tǒng)前端增加信號(hào)調(diào)理電路以擴(kuò)展其動(dòng)態(tài)范圍是必要的。信號(hào)調(diào)理系統(tǒng)的以太網(wǎng)遠(yuǎn)程控制可以實(shí)現(xiàn)信號(hào)調(diào)理系統(tǒng)的統(tǒng)一管理,有效提高實(shí)驗(yàn)效率,并且減少實(shí)驗(yàn)人員進(jìn)入實(shí)驗(yàn)現(xiàn)場(chǎng)調(diào)節(jié)調(diào)理電路的次數(shù)。
1 程控信號(hào)調(diào)理系統(tǒng)方案設(shè)計(jì)
設(shè)計(jì)需求:
?、佥斎胄盘?hào)電壓幅值(峰-峰值)為100 mV~10 V;
②8個(gè)增益檔位分別為0.1、0.5、1、2、5、10、20、50;
③濾波器類型可選,中心頻率和品質(zhì)因數(shù)可遠(yuǎn)程控制;
?、芊糯笃髟鲆孢x擇及程控濾波器各項(xiàng)參數(shù)均實(shí)現(xiàn)以太網(wǎng)遠(yuǎn)程控制;
?、莼赟ocket設(shè)計(jì)上位機(jī)控制程序;
?、尴挛粰C(jī)IP地址、放大器增益、濾波器各項(xiàng)參數(shù)通過(guò)可視化界面管理。
基于以上設(shè)計(jì)需求,本系統(tǒng)主要包括以下部分:控制器模塊、程控濾波器模塊、程控放大器模塊和上位機(jī)數(shù)據(jù)采集控制程序。系統(tǒng)以AVR單片機(jī)為控制器,實(shí)現(xiàn)嵌入式以太網(wǎng)通信、濾波器參數(shù)和放大器參數(shù)的遠(yuǎn)程控制,并將以上各數(shù)據(jù)存儲(chǔ)在非易失性存儲(chǔ)器中,在系統(tǒng)開機(jī)或復(fù)位后能恢復(fù)關(guān)機(jī)前設(shè)置的參數(shù)值。
2 系統(tǒng)硬件設(shè)計(jì)
如圖1所示,系統(tǒng)硬件電路由控制器電路、程控放大器電路和程控濾波器電路組成??刂破麟娐穼?shí)現(xiàn)嵌入式以太網(wǎng)通信、程控濾波器電路和程控放大器電路的參數(shù)設(shè)置。程控濾波器電路實(shí)現(xiàn)濾波器類型的選擇,以及中心頻率和品質(zhì)因數(shù)的設(shè)置。程控放大器基本電路實(shí)現(xiàn)對(duì)輸入信號(hào)的增益控制。
2.1 控制器電路
基于AVR單片機(jī)的嵌入式控制器電路是整個(gè)程控信號(hào)調(diào)理系統(tǒng)的控制核心,用于接收上位機(jī)數(shù)據(jù)采集控制程序發(fā)出的指令,實(shí)現(xiàn)對(duì)程控放大器放大倍數(shù)的設(shè)置等操作。該控制器電路在Ethernut 1.3g開源軟硬件嵌入式系統(tǒng)設(shè)計(jì)方案的基礎(chǔ)上進(jìn)行了重構(gòu),結(jié)構(gòu)如圖2所示。
該電路采用核心芯片AVR單片機(jī)ATmega128。ATmega128工作于16 MHz時(shí)性能高達(dá)16MIPS;內(nèi)置128 KB系統(tǒng)內(nèi)可編程Flash和4 KB EEPROM,外擴(kuò)一片32 KB的SRAM KM62256;與IEEE802.3兼容的10 Mbps以太網(wǎng)控制器RTL8019AS可實(shí)現(xiàn)全雙工以太網(wǎng)通信。4 KB的EEPROM可用于保存32路程控放大器的參數(shù),在系統(tǒng)上電或重啟后用于自動(dòng)恢復(fù)掉電前的放大器狀態(tài)。LM1086為系統(tǒng)提供1.5 A、+5 V穩(wěn)壓電源。當(dāng)手動(dòng)復(fù)位按鈕動(dòng)作或系統(tǒng)電源電壓低于4.63 V時(shí),MAX825L將向ATmega128發(fā)送復(fù)位信號(hào),引發(fā)系統(tǒng)重新啟動(dòng)。
控制器通過(guò)ATmega128上的I/O端口控制放大電路與濾波電路的參數(shù)設(shè)置。整個(gè)系統(tǒng)的數(shù)字地與模擬地采用單點(diǎn)接地設(shè)計(jì),以減少控制器電路數(shù)字信號(hào)的噪聲干擾信號(hào)調(diào)理電路中的模擬信號(hào)。
2.2 程控濾波器電路
常用濾波器是由RC元件和集成運(yùn)放所組成的有源濾波電路。其濾波特性與電阻R和電容C的精度密切相關(guān),由它們組成的參數(shù)可調(diào)濾波器不僅對(duì)器件的精度要求較高,而且電路結(jié)構(gòu)復(fù)雜,不易于實(shí)現(xiàn)程序控制。MAX261是一款雙二階開關(guān)電容有源濾波器。濾波器參數(shù)f0(中心或拐點(diǎn)頻率)、Q值、MODE(模式)均可由微處理器分別編程寫入,無(wú)需外接元件即可構(gòu)成帶通(BP)、低通(LP)、高通(HP)、陷波(N)及全通(AP)有源濾波器。
圖3為MAX261構(gòu)成的程控濾波器電路。MAX261的4位地址線(A0~A3)、2條數(shù)據(jù)線(D0~D1)和1條寫使能允許信號(hào)(/WR),分別與ATmega128的I/O端口連接,使控制器可以通過(guò)I/O端口對(duì)MAX261的各參數(shù)進(jìn)行程序控制。如圖3右側(cè)所示,通過(guò)短路冒可以選擇3種不同的濾波器類型(低通、帶通和高通)。
2.3 程控放大器電路
多路開關(guān)和運(yùn)算放大器相結(jié)合是實(shí)現(xiàn)程控放大器的簡(jiǎn)易、有效的方法。利用多路開關(guān)來(lái)改變反相運(yùn)算放大器的反饋電阻或者輸入電阻,可以達(dá)到改變?cè)鲆娲笮〉哪康?。?duì)于精度要求高的場(chǎng)合,可以選用高精度的運(yùn)放和電阻,并配合相應(yīng)的增益標(biāo)定以滿足系統(tǒng)要求。
如圖4所示,程控放大器電路主要由低噪聲精密運(yùn)放OP27和8選1模擬開關(guān)MAX308組成。OP27是低噪聲、精密運(yùn)算放大器,失調(diào)電壓為25μV且最大漂移為0.6μV/℃,非常適合于精密儀表應(yīng)用。在10 Hz下,低噪聲、低噪聲轉(zhuǎn)折頻率以及高增益這些特性,使其能對(duì)低電平的信號(hào)進(jìn)行精密的高增益放大。8 MHz的增益帶寬積和2.8 V/μs的轉(zhuǎn)換速率,使該放大器在高速數(shù)據(jù)采集系統(tǒng)中保持極好的動(dòng)態(tài)精度。程控放大器單位增益時(shí),帶寬要求為100 kHz,OP27是能夠滿足的。MAX308的輸入輸出范圍達(dá)-10~+10 V,導(dǎo)通電阻小于100 Ω,導(dǎo)通電阻一致性小于3Ω,可以滿足系統(tǒng)需求。為節(jié)省I/O口,控制信號(hào)由MC74HC595進(jìn)行串行/并行轉(zhuǎn)換后再實(shí)現(xiàn)MAX308的開關(guān)切換,進(jìn)而完成信號(hào)增益的調(diào)節(jié)。電阻選用RJJ型精密小型金屬膜電阻,精度為±0.5%,溫漂系數(shù)為±50×10-6/℃。
在圖4的電路中,通過(guò)軟件控制開關(guān)的閉合或斷開,用于選擇不同反饋電阻來(lái)改變電路的增益。但該方法的缺點(diǎn)也是顯而易見的:由于切換開關(guān)與反饋電阻串聯(lián),開關(guān)的導(dǎo)通電阻將影響放大器的增益。考慮到速度和精度的要求,取輸入電阻Rin=10kΩ,對(duì)應(yīng)于8個(gè)檔位0.1、0,5、1、2、5、10、20、50的反饋電阻Rf分別為1 kΩ、5 kΩ、10 kΩ、20 kΩ、50 kΩ、100 kΩ、200 kΩ、500 kΩ。
3 系統(tǒng)軟件設(shè)計(jì)
根據(jù)設(shè)計(jì)需求,軟件部分要求:
?、倏刂破麟娐分С諸CP/IP協(xié)議的以太網(wǎng)通信;
?、谕ㄟ^(guò)網(wǎng)頁(yè)瀏覽器或上位機(jī)數(shù)據(jù)控制軟件登錄程控信號(hào)調(diào)理系統(tǒng),并對(duì)濾波器參數(shù)和放大器增益進(jìn)行查看、修改和保存。
運(yùn)行于ATmega128之上的嵌入式軟件是基于RTOSNut/OS的嵌入式以太網(wǎng)應(yīng)用設(shè)計(jì),應(yīng)用程序的核心任務(wù)是實(shí)現(xiàn)以太網(wǎng)通信并解析指令實(shí)現(xiàn)對(duì)后續(xù)硬件電路的控制。應(yīng)用程序包含了兩個(gè)線程:一個(gè)是主線程(即TCP服務(wù)器端線程),另一個(gè)是放大器參數(shù)群設(shè)置線程。在Nut/OS中這兩個(gè)線程被設(shè)置成相同的優(yōu)先級(jí)。
主線程程序流程如圖5所示。主線程首先進(jìn)行CPUI/O端口配置、定時(shí)器T2模式設(shè)置,以及IP、MAC、Mask和Gateway配置,恢復(fù)CPU掉電前程控放大器的放大倍數(shù)和程控濾波器的濾波參數(shù),在創(chuàng)建放大器參數(shù)設(shè)置線程后將進(jìn)入TCP,Socket服務(wù)器端程序,并開始偵聽TCPSocket客戶端引入的連接,在接收到客戶端發(fā)出的指令后將執(zhí)行相應(yīng)的動(dòng)作。WrAmp字符串為放大器的放大倍數(shù)指令,可用于設(shè)置放大器的放大倍數(shù);RAAmp指令用于從EEPROM中獲取放大器參數(shù)并發(fā)往客戶端;SetMX用于從指令中獲取濾波參數(shù)值;q[uit]用于斷開連接。
放大器參數(shù)群設(shè)置線程程序流程如圖6所示。采用這種雙線程參數(shù)設(shè)置結(jié)構(gòu),可以在確保指令被后續(xù)硬件電路正確執(zhí)行的前提下,縮短TCP Socket的連接時(shí)間,加快上位機(jī)數(shù)據(jù)控制軟件對(duì)多個(gè)程控信號(hào)調(diào)理系統(tǒng)批量控制的速度。
為了便于單機(jī)調(diào)試,嵌入式程序設(shè)計(jì)中還增加了http服務(wù)線程,系統(tǒng)管理員使用Web瀏覽器即可訪問(wèn)ATmega128上的靜態(tài)網(wǎng)頁(yè),對(duì)濾波器參數(shù)和放大器增益進(jìn)行查看、修改和保存。
在上位機(jī)開發(fā)可視化的數(shù)據(jù)控制軟件,通過(guò)Socket套接字實(shí)現(xiàn)數(shù)據(jù)控制軟件與ATmega128間的通信。ATmega128程序作為服務(wù)器端,而上位機(jī)數(shù)據(jù)控制軟件作為客戶端,客戶端設(shè)置好服務(wù)器端的IP與端口號(hào),即可通過(guò)Socket套接字進(jìn)入連接狀態(tài),雙方便可進(jìn)行信息交換。上位機(jī)數(shù)據(jù)控制軟件由此控制程控信號(hào)調(diào)理系統(tǒng)的濾波器參數(shù)和放大器增益,進(jìn)行查看、修改和保存。此種控制方式可以滿足上位機(jī)數(shù)據(jù)控制平臺(tái)對(duì)眾多程控信號(hào)調(diào)理系統(tǒng)的統(tǒng)一控制。
4 系統(tǒng)性能測(cè)試
濾波器MAX261的設(shè)置可通過(guò)控制器ATmega128對(duì)其編程控制來(lái)構(gòu)成低通、帶通濾波器。該濾波器設(shè)置了8級(jí)的截止頻率、中心頻率和Q值,理想的頻率設(shè)置范圍為18~32 kHz(步進(jìn)2 kHz可調(diào)),Q值設(shè)置范圍為0.5~4.0(步進(jìn)0.5可調(diào)),濾波器的測(cè)試采用示波器雙通道跟蹤。
如表1所列,CH1為輸入信號(hào),CH2為四階低通濾波后的輸出信號(hào)。輸入信號(hào)CH1峰-峰值為1.00V左右,頻率從100 Hz逐漸上升到40 kHz時(shí),截止頻率設(shè)置為25 kHz。其值可通過(guò)程序進(jìn)行修改,通帶內(nèi)比較平坦,滾降特性一般。
表2給出了相同輸入信號(hào)不同Q值下的測(cè)試結(jié)果,可知隨著Q值的增大,輸出信號(hào)的幅度衰減系數(shù)也跟著變大。低通濾波其他點(diǎn)的頻率、Q值以及帶通濾波器的測(cè)試結(jié)果在此不一一列舉,具體特性可通過(guò)示波器進(jìn)行觀察。
結(jié)語(yǔ)
基于嵌入式以太網(wǎng)技術(shù)實(shí)現(xiàn)的程控信號(hào)調(diào)理系統(tǒng),利用嵌入式實(shí)時(shí)操作系統(tǒng)與TCP/IP協(xié)議實(shí)現(xiàn)了程控信號(hào)調(diào)理,網(wǎng)內(nèi)用戶可以實(shí)現(xiàn)對(duì)輸入信號(hào)濾波參數(shù)和放大器增益的遠(yuǎn)程控制。該系統(tǒng)操作安全可靠,設(shè)置方便簡(jiǎn)單,適用于需要進(jìn)行信號(hào)調(diào)理的大型物理實(shí)驗(yàn)等場(chǎng)合。