于春華 ,石云波 ,趙 赟
(1.中北大學(xué) 電子測(cè)試技術(shù)國(guó)家重點(diǎn)實(shí)驗(yàn)室 儀器科學(xué)與動(dòng)態(tài)測(cè)試教育部重點(diǎn)實(shí)驗(yàn)室,太原 030051;2.蘇州中盛納米科技有限公司,蘇州 215123)
在傳統(tǒng)的傳感器標(biāo)定實(shí)驗(yàn)中,大量的數(shù)據(jù)需要采集、傳輸、處理與存儲(chǔ),經(jīng)常采用RS232串行通訊來交換數(shù)據(jù)和信息的模式,不僅速度較慢,而且硬件連接模式單一。隨著工業(yè)自動(dòng)化設(shè)備的快速發(fā)展,對(duì)數(shù)據(jù)采集可靠性和實(shí)時(shí)性以及控制精度的要求也不斷提高,如何提高數(shù)據(jù)采集及傳輸?shù)男阅?,成為研究的熱點(diǎn)。
相對(duì)于受到傳輸距離和速度限制的RS232、RS485等傳輸方式,以太網(wǎng)具有兼容性好、通信速率高、傳輸距離遠(yuǎn)、易于與上位機(jī)交互等優(yōu)勢(shì)。
文中提出了一種基于以太網(wǎng)的20路數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)方案,采用FPGA為核心完成模擬開關(guān)切換、模數(shù)轉(zhuǎn)換以及數(shù)據(jù)編幀與傳輸。選用AD7667作為高速數(shù)據(jù)轉(zhuǎn)化芯片?;赪5300設(shè)計(jì)的以太網(wǎng)傳輸模塊,可方便地將數(shù)據(jù)引入以太網(wǎng),實(shí)現(xiàn)上位機(jī)軟件的接收與分析。從而簡(jiǎn)化了外圍接口電路設(shè)計(jì),減少了軟件編程的工作量,提高了系統(tǒng)的可靠性。
采編傳輸系統(tǒng)的硬件總體結(jié)構(gòu)如圖1所示。主要分為20路運(yùn)放跟隨、模擬開關(guān)、AD控制模塊、FPGA主控模塊、以太網(wǎng)數(shù)據(jù)傳輸模塊。FPGA通過對(duì)AD的CS、RD、RESET等信號(hào)的控制,控制AD將模擬量轉(zhuǎn)為數(shù)字量,轉(zhuǎn)換的數(shù)字量以一定的幀格式通過以太網(wǎng)傳給上位機(jī)。以太網(wǎng)數(shù)據(jù)傳輸模塊芯片采用W5300,通過網(wǎng)線連接硬件電路與上位機(jī),完成上位機(jī)發(fā)出的命令與配置信息,接收硬件上傳的采樣數(shù)據(jù)。W5300內(nèi)部集成了TCP/IP內(nèi)核、微控制器、以太網(wǎng)物理層,使其具有更優(yōu)良的性能,可以進(jìn)行高速數(shù)據(jù)通信[1]。
圖1 硬件總體結(jié)構(gòu)Fig.1 Overall structure of the hardware
選用AD7667作為AD控制模塊的主控芯片。AD7667包含一個(gè)高速16位采樣ADC,一個(gè)內(nèi)部轉(zhuǎn)換時(shí)鐘,內(nèi)部參考,糾錯(cuò)電路,以及串行和并行系統(tǒng)接口端口。同時(shí)AD7667提供了一個(gè)片上采樣/保持,逐次逼近的ADC,從而不會(huì)出現(xiàn)任何流水線延遲,非常適合多復(fù)用通道。
AD轉(zhuǎn)換的時(shí)序圖如圖2所示,CONVST信號(hào)一旦開始轉(zhuǎn)換就無法終止或重新開始。當(dāng)BUSY信號(hào)為低電平,信號(hào)也為低電平時(shí),AD7667處于數(shù)據(jù)采集階段,保持低電平的時(shí)間內(nèi),AD7667自動(dòng)轉(zhuǎn)換。模擬信號(hào)在BUSY信號(hào)為低電平時(shí)輸入,上電時(shí),信號(hào)被置為低電平,此時(shí)啟動(dòng)AD轉(zhuǎn)換[2]。
圖2 AD7667轉(zhuǎn)換時(shí)序Fig.2 AD7667 conversion timing diagram
AD轉(zhuǎn)換電路如圖3所示,圖中的C18和R30構(gòu)成一階低通濾波器,主要作用:保證運(yùn)放穩(wěn)定驅(qū)動(dòng)ADC的容性輸入負(fù)載,R30將跟隨器與開關(guān)電容C18隔離,輸入端與接地之間的電容提供或吸收開關(guān)電容充電所需的電荷;R30減少了C18引起的相移,將運(yùn)放和負(fù)載電容隔離開來;限制運(yùn)放的噪聲帶寬,減少信號(hào)帶內(nèi)的噪聲。
圖3 AD轉(zhuǎn)換電路設(shè)計(jì)Fig.3 AD converting circuit design
以太網(wǎng)傳輸接口模塊用來將AD轉(zhuǎn)換的數(shù)字量上傳至上位機(jī)。接口設(shè)計(jì)電路如圖4所示。并行諧振晶體,提供給內(nèi)部振蕩器25 MHz的時(shí)鐘信號(hào),用于 W5300內(nèi)核的工作時(shí)鐘[3]。TXOP(ON)、RXIP(IN)的介質(zhì)接口RJ45的網(wǎng)口連接,形成以太網(wǎng)傳輸接收數(shù)據(jù)的模塊。 電阻 R31、R32、R247、R248以及電容C29、C153能夠阻抗匹配。兩個(gè)獨(dú)立分開的PRO作為PHY與RJ45之間的隔離變壓器,能夠進(jìn)行波形的修復(fù)、增強(qiáng)信號(hào),使得計(jì)算機(jī)可以與實(shí)驗(yàn)設(shè)備之間的傳輸距離更遠(yuǎn),芯片與外部隔離,抗干擾能力增強(qiáng)。
圖4 以太網(wǎng)接口設(shè)計(jì)模塊電路圖Fig.4 Ethernet interface module diagram
VC++操作系統(tǒng)界面簡(jiǎn)潔,占用資源少,操作方便,本身提供基于傳輸層TCP和UDP協(xié)議的網(wǎng)絡(luò)通信接口,所以本課題采用VC++進(jìn)行上位機(jī)軟件設(shè)計(jì)。
在以太網(wǎng)通信過程中,為了滿足通信的成功率與準(zhǔn)確率,軟件設(shè)計(jì)中采用 TCP/IP通信協(xié)議完成以太網(wǎng)數(shù)據(jù)通信。在標(biāo)定傳感器的試驗(yàn)中,數(shù)據(jù)包傳輸?shù)乃俣确浅??,系統(tǒng)可能無法及時(shí)處理數(shù)據(jù)包,因此,必須在應(yīng)用層確保數(shù)據(jù)傳輸?shù)目煽啃訹4]。制定了應(yīng)用層內(nèi)數(shù)據(jù)段的具體通信協(xié)議。
其中應(yīng)用層通信數(shù)據(jù)包格式主要由數(shù)據(jù)包的幀頭、幀計(jì)數(shù)、20路傳輸數(shù)據(jù)3個(gè)部分構(gòu)成,通信協(xié)議格式如表1所示。
經(jīng)過初始化后,上位機(jī)與硬件方可通過以太網(wǎng)正常連接進(jìn)行數(shù)據(jù)傳輸。初始化是對(duì)于網(wǎng)絡(luò)配置的基本設(shè)置,包括設(shè)置本地MAC、IP、子網(wǎng)掩碼、網(wǎng)關(guān)和端口號(hào)、設(shè)置目標(biāo)IP地址、端口號(hào)、接收和發(fā)送緩沖區(qū)大小、分配各Socket的工作模式[5]。
表1 通信協(xié)議格式Tab.1 Communication protocol format
根據(jù)IP地址和端口號(hào)與W5300建立 Socket套接字連接,Socket套接字是完成 TCP/IP通信的基本組成模塊[6]。完成網(wǎng)絡(luò)配置初始化后,在服務(wù)器模式下,通過tcp_connect()函數(shù)發(fā)送一個(gè)SYS數(shù)據(jù)包提出連接請(qǐng)求,TCP服務(wù)器通過tcp_listen()函數(shù)進(jìn)入監(jiān)聽模式,等待客戶端的連接請(qǐng)求。當(dāng)服務(wù)器端收到連接請(qǐng)求時(shí)通過tcp_accept()函數(shù)接受其連接請(qǐng)求,建立Socket套接字連接[7]。雙方連接成功之后,進(jìn)行數(shù)據(jù)傳輸。通信流程圖如圖5所示。
圖5 通信流程圖Fig.5 Communication flow chart
試驗(yàn)中使用了電動(dòng)振動(dòng)臺(tái)、示波器以及標(biāo)準(zhǔn)傳感器和20個(gè)待標(biāo)定的傳感器等設(shè)備。在加速度為10 g,振動(dòng)頻率1 kHz的條件下進(jìn)行正弦定頻振動(dòng)試驗(yàn)。經(jīng)過系統(tǒng)的分析與處理,其中一路數(shù)據(jù)實(shí)時(shí)顯示波形如圖6所示。
圖6 數(shù)據(jù)采集波形圖Fig.6 Data acquisition waveforms
從波形圖看出輸出電壓信號(hào)是0~+5 V的正弦波,信號(hào)經(jīng)過采集上傳至上位機(jī),實(shí)際信號(hào)采集容易受到外界的干擾,每次測(cè)量值采集10次,取平均值,再與振動(dòng)校驗(yàn)儀所發(fā)出的標(biāo)準(zhǔn)振動(dòng)信號(hào)進(jìn)行比較,系統(tǒng)采樣誤差為
式中:設(shè)Vt為標(biāo)準(zhǔn)電壓;Vo為實(shí)際測(cè)得的電壓;ε為相對(duì)誤差。計(jì)算結(jié)果如表2所示。
表2 測(cè)試數(shù)據(jù)表Tab.2 Test data sheet
經(jīng)過分析,本系統(tǒng)對(duì)多通道數(shù)據(jù)采集信號(hào)誤差很小,多次的統(tǒng)計(jì)測(cè)試數(shù)據(jù)表明,誤差均在0.8%之內(nèi),系統(tǒng)性能良好。
W5300具有成本低、使用方便、穩(wěn)定可靠、傳輸速度快等優(yōu)點(diǎn),內(nèi)部集成了10/100 M以太網(wǎng)控制器,TCP/IP協(xié)議,能簡(jiǎn)化硬件設(shè)計(jì),同時(shí)避免采用軟件來實(shí)現(xiàn)繁瑣的以太網(wǎng)協(xié)議。FPGA器件的選擇,使得系統(tǒng)具有良好的通用性和擴(kuò)展性。便捷的以太網(wǎng)接入方式,固定幀格式數(shù)據(jù)傳輸方式,實(shí)現(xiàn)了以太網(wǎng)通信的高效和穩(wěn)定。試驗(yàn)中可達(dá)到10 k的多通道同步采樣率,10 Mb/s的數(shù)據(jù)傳輸速率,具有較高的數(shù)據(jù)采集傳輸性能,對(duì)于傳感器批量測(cè)試標(biāo)定系統(tǒng)的制造有著很高的實(shí)用價(jià)值。
[1] 何瓊,陳鐵,程鑫.基于以太網(wǎng)硬協(xié)議棧的數(shù)據(jù)采集節(jié)點(diǎn)[J].儀表技術(shù)與傳感器,2013(2):21-24.
[2] 孟祥嬌,張會(huì)新,崔永俊,等.基于FPGA和AD7667的16路采編傳輸系統(tǒng)設(shè)計(jì)[J].自動(dòng)化與儀表,2012,27(11):40-43.
[3] 徐紅艷.基于以太網(wǎng)的實(shí)時(shí)數(shù)據(jù)同步采集系統(tǒng)[D].西安:西安理工大學(xué),2010:50-57.
[4] 方寧.基于以太網(wǎng)的遠(yuǎn)程數(shù)據(jù)采集與數(shù)據(jù)傳輸[D].成都:電子科技大學(xué),2005:12-14.
[5] 陳峰.實(shí)時(shí)信號(hào)數(shù)據(jù)采集系統(tǒng)的研究與設(shè)計(jì)[D].上海:上海交通大學(xué),2010:31-35.
[6] 孫文.多通道數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].長(zhǎng)沙:湖南大學(xué),2013:22-27.
[7] 王彥碩.以太網(wǎng)和USB_GPIB接口在儀器數(shù)據(jù)采集中的應(yīng)用[D].北京:北京化工大學(xué),2006:18-20. ■