王 森 甄國涌 李北國
(1.中北大學(xué)儀器與電子學(xué)院 太原 030051)(2.北京航天長征飛行器研究所 北京 100010)
隨著電子科學(xué)與航天水平的發(fā)展,在實(shí)際研究應(yīng)用中,越來越多的研究人員在科研實(shí)踐中使用傳感器與慣組去采集數(shù)據(jù),以保證測(cè)試研究工作的順利進(jìn)行。數(shù)據(jù)的準(zhǔn)確在航天系統(tǒng)中非常重要,但是由于如今各航天器的設(shè)計(jì)中對(duì)數(shù)據(jù)量的要求一直在提升,因此大多數(shù)采集裝置的設(shè)計(jì)都偏向于速度與采集通道數(shù)的提升,而忽略了數(shù)據(jù)采集的精度。本系統(tǒng)的設(shè)計(jì)在滿足多通道與高速采集的基礎(chǔ)上優(yōu)化了硬件設(shè)計(jì),采用了AD8608做運(yùn)放調(diào)理芯片,提高了輸入信號(hào)的穩(wěn)定性,再通過AD7490 芯片進(jìn)行通道的選擇,并對(duì)數(shù)據(jù)進(jìn)行AD轉(zhuǎn)換,降低了通道間的串?dāng)_,最后通過分層值的比較,本文設(shè)計(jì)的數(shù)據(jù)采集裝置的采集精度較現(xiàn)有的數(shù)據(jù)采集裝置提高了63.7%。
本設(shè)計(jì)主要完成對(duì)溫度,壓力,以及慣性測(cè)量裝置數(shù)據(jù)采集。它主要包括信號(hào)采集電路,接口電路,主控電路以及LVDS數(shù)據(jù)收發(fā)電路等。
為了實(shí)現(xiàn)上述功能,本文中的數(shù)據(jù)采集裝置采用板卡式設(shè)計(jì)[1],按功能主要分為各路模擬信號(hào)的采集卡,主控電路與LVDS 數(shù)據(jù)收發(fā)電路所在的主控卡以及將輸入的28V電壓轉(zhuǎn)換成5V、15V的電源卡。
本設(shè)計(jì)中的高精度AD采集裝置采用板卡式設(shè)計(jì),根據(jù)功能需求分為三大模塊,分別為采集卡,主控卡以及電源卡。
高精度數(shù)據(jù)采集裝置的整體結(jié)構(gòu)設(shè)計(jì)如圖1所示。
圖1 采集裝置整體結(jié)構(gòu)
采集卡主要完成對(duì)6 路慣組信號(hào),2 路溫度信號(hào)以及1 路壓力信號(hào)的采集,各路模擬信號(hào)進(jìn)入電路后,首先進(jìn)入調(diào)理電路,通過放大芯片AD8608對(duì)輸入信號(hào)進(jìn)行信號(hào)調(diào)理,芯片的輸出信號(hào)進(jìn)入AD7490 芯片,F(xiàn)PGA 控制AD7490 對(duì)不同的通道進(jìn)行采樣,采樣后的數(shù)據(jù)發(fā)送回FPGA 進(jìn)行打包編幀。
主控卡中主要為FPGA 工作模塊,還集成了與存儲(chǔ)器的LVDS 通信模塊以及千兆以太網(wǎng)模塊,主要工作除了對(duì)數(shù)據(jù)進(jìn)行打包編幀,還會(huì)將打包好的數(shù)據(jù)分別通過LVDS 模塊發(fā)送給存儲(chǔ)器進(jìn)行保存以及通過千兆以太網(wǎng)模塊傳回上位機(jī)進(jìn)行實(shí)時(shí)監(jiān)測(cè),千兆以太網(wǎng)模塊主要負(fù)責(zé)對(duì)存儲(chǔ)器的指令下發(fā)與數(shù)據(jù)回讀,以太網(wǎng)指令包括啟動(dòng)記錄,實(shí)時(shí)監(jiān)測(cè),數(shù)據(jù)下載。
采集模塊是數(shù)據(jù)采集裝置的重要組成部分,起到的主要作用即為,對(duì)輸入信號(hào)進(jìn)行調(diào)理與采集。
經(jīng)過對(duì)設(shè)計(jì)的分析以及市場(chǎng)調(diào)研,決定使用AD8608 作調(diào)理運(yùn)放芯片,AD8608 是一款A(yù)DI 公司的四路、軌到軌輸入和輸出、單電源放大器,具有極低失調(diào)電壓、低輸入電壓和電流噪聲以及寬信號(hào)帶寬等特性[2],能很好地實(shí)現(xiàn)對(duì)信號(hào)的高精度調(diào)整,AD8608 具有內(nèi)部保護(hù)電路,同時(shí)在外部增加外部電路對(duì)運(yùn)放的輸入和輸出進(jìn)行保護(hù),其調(diào)理電路如圖2所示。
圖2 調(diào)理電路
異常輸入信號(hào)會(huì)對(duì)芯片造成不可逆轉(zhuǎn)的損壞,為了保證芯片正常工作,一般需要在運(yùn)放輸入端串接電阻R1,電阻R1 在電路中的作用有兩點(diǎn),首先是起到一個(gè)限流的作用,R1 的阻值范圍一般在5kΩ~10kΩ,具體阻值可以通過公式來確定[3](其中Vin為輸入電壓,Vs為芯片的供電電壓),同時(shí)電阻R1 可以與電容C1 組成了一個(gè)低通濾波器[4],其能夠通過信號(hào)的截止頻率為。電阻R2 的作用是當(dāng)輸入端懸空時(shí),即沒有輸入電壓的情況下,將輸入拉低,其阻值不固定,一般與信號(hào)源的內(nèi)阻有關(guān)。
本設(shè)計(jì)使用AD7490 作為ADC 模數(shù)轉(zhuǎn)換芯片,AD7490 是一款12 位高速、低功耗、16 通道、逐次逼近型ADC。最高吞吐量可達(dá)1 MSPS、內(nèi)置一個(gè)低噪聲、寬帶寬采樣保持放大器,可處理1 MHz 以上的輸入頻率,且工作時(shí)最高功耗僅為1.8mA[5],采樣前可通過編程選擇采樣通道,符合設(shè)計(jì)要求。AD7490引腳連接原理圖如圖3所示。
圖3 引腳連接
其中,Vdd接5V 電源,REF接2.5V,VDRIVE 接3.3V,CH1-CH9分別接不同的AD8608的輸出(即9路采集信號(hào)),CH10-CH16 接地,CS、DIN、SCLK、DOUT 與FPGA 引腳相連,對(duì)AD7490 進(jìn)行控制[6],其中SCLK 為FPGA 輸入時(shí)鐘信號(hào),SCLK 與CS 共同控制數(shù)據(jù)采集過程之中的模數(shù)轉(zhuǎn)換,當(dāng)CS 的下降沿到來之時(shí)對(duì)輸入信號(hào)進(jìn)行采樣,DIN 是FPGA給AD7490 發(fā)送的寄存器信號(hào),芯片會(huì)根據(jù)寄存器配置進(jìn)行采樣通道以及工作模式的選擇,采集完成后通過DOUT 發(fā)送回FPGA,通過主控程序進(jìn)行打包編幀。
本設(shè)計(jì)采用Xilinx 7 系芯片XC7A100T 作為主控芯片,XC7A100T 系芯片擁有101440 個(gè)邏輯門,1188 kbit 分布式RAM,4860 kbit 內(nèi)嵌式塊RAM;IO接口數(shù)量達(dá)到了285 個(gè),其低成本,低功耗,可靈活應(yīng)用的特性可以滿足設(shè)計(jì)的要求,引腳支持高速數(shù)據(jù)通信,能夠勝任高速采集和存儲(chǔ)的設(shè)計(jì)[7]。
主控板卡不僅包含了FPGA 以及相應(yīng)的外圍電路,同時(shí)也集成了千兆以太網(wǎng)通信模塊以及LVDS 收發(fā)通信模塊。其中千兆以太網(wǎng)模塊選用88E1111 作為PHY 芯片,配合FPGA 的高速數(shù)據(jù)傳輸功能實(shí)現(xiàn)千兆以太網(wǎng)通信功能。LVDS接收模塊選用SN65LV1224 做數(shù)據(jù)讀取解串器[8];LVDS發(fā)送模塊選用SN65LV1023 做數(shù)據(jù)寫入解串器,與數(shù)據(jù)存儲(chǔ)裝置進(jìn)行數(shù)據(jù)交互[9]。
軟件整體工作流程如圖4所示,首先信號(hào)調(diào)理電路梳理后的數(shù)字信號(hào),通過采集模塊對(duì)不同通道的的篩選進(jìn)入AD 采集模塊,之后進(jìn)入打包編幀模塊,將采集回的AD數(shù)據(jù)打包成帶有標(biāo)識(shí),容易處理的數(shù)據(jù)幀;打包后的數(shù)據(jù)分兩路,一路通過LVDS數(shù)據(jù)發(fā)送模塊發(fā)送至存儲(chǔ)器,另一路通過以太網(wǎng)發(fā)送給上位機(jī),進(jìn)行實(shí)時(shí)的數(shù)據(jù)監(jiān)測(cè);LVDS數(shù)據(jù)接收模塊負(fù)責(zé)接收存儲(chǔ)器發(fā)回的數(shù)據(jù)以及存儲(chǔ)器向上位機(jī)反饋的狀態(tài)信息,上位機(jī)指令通過千兆以太網(wǎng)接口與采集裝置進(jìn)行交互,下行指令包括啟動(dòng)記錄,實(shí)時(shí)監(jiān)測(cè),數(shù)據(jù)下載,存儲(chǔ)器復(fù)位。
圖4 主控軟件工作框圖
3.2.1 AD7490驅(qū)動(dòng)模塊
AD7490的工作主要依靠CS,SCLK與DIN信號(hào)對(duì)芯片進(jìn)行驅(qū)動(dòng),CS 信號(hào)為片選信號(hào),使能為低時(shí)芯片工作;SCLK 為主控系統(tǒng)輸入給芯片的工作時(shí)鐘,采用系統(tǒng)時(shí)鐘40MHz,芯片工作時(shí),在時(shí)鐘的下降沿讀取通道信號(hào)。
在AD7490 的使用中,Din 信號(hào)的輸入決定著芯片的工作狀態(tài)與整個(gè)采樣系統(tǒng)能否順利工作,Din 信號(hào)的主要作用是對(duì)芯片中的寄存器進(jìn)行配置,依次來控制芯片的工作狀態(tài)以及進(jìn)行采樣通道的選擇,控制寄存器的名稱如表1所示,其中采樣通道的配置如表2。
針對(duì)本設(shè)計(jì)的功能,對(duì)寄存器的配置說明如下:
WRITE:芯片是否工作與寫狀態(tài),1 為寫,0 為不寫;
SEQ 與SHADOW:排序器使用模式,本設(shè)計(jì)采用00狀態(tài),即每發(fā)送一個(gè)報(bào)文,返回一個(gè)數(shù)值;
ADD0-ADD3:通道選擇寄存器,具體配置見表1;
PM0/PM1:電源管理位,00 自動(dòng)待機(jī),10 關(guān)閉,01 自動(dòng)關(guān)機(jī),11 正常,本設(shè)計(jì)配置為11,使芯片工作于正常狀態(tài);WEAK/TRI:一次報(bào)文交互結(jié)束后,Dout腳的最終狀態(tài)。1為下一次ADD3狀態(tài),0為結(jié)束時(shí)Dout 最后一位狀態(tài)。由時(shí)序圖可看出,當(dāng)下一次讀數(shù)指令到來時(shí),若Dout 引腳為上一次讀數(shù)結(jié)束時(shí)最后一位狀態(tài),則讀回的數(shù)據(jù)最高位可能發(fā)生錯(cuò)誤,導(dǎo)致編幀時(shí)數(shù)據(jù)出錯(cuò),因此在本設(shè)計(jì)中應(yīng)當(dāng)將此寄存器配置為1,以保證編幀時(shí)不出現(xiàn)錯(cuò)誤[10];
圖5 AD7490工作時(shí)序
RANGE:模擬輸入范圍(量程選擇),0是2xREFIN 的量程,1 是1xREFIN 的量程,本設(shè)計(jì)中傳感器的輸入電壓最大不超過5V,因此將此寄存器配置為1;
CODING:Dout 腳輸出數(shù)據(jù)的類型,0 為補(bǔ)碼,1為二進(jìn)制碼,本設(shè)計(jì)選擇二進(jìn)制碼。
表1 控制寄存器
表2 采樣通道與ADD0~ADD3對(duì)應(yīng)關(guān)系
3.2.2 采集通道切換
為了節(jié)約資源以及實(shí)現(xiàn)各路通道的快速切換,本設(shè)計(jì)中用一條總線實(shí)現(xiàn)對(duì)芯片的驅(qū)動(dòng)。在程序中對(duì)各路通道地址進(jìn)行編碼,并且按照?qǐng)D6 與表1的編碼方式針對(duì)不同的采樣地址建立一個(gè)查找表結(jié)構(gòu),存放在ROM表中[11]。
采集模塊工作時(shí),先從ROM 表中讀取通道地址,然后將從ROM 表中讀取出來的通道地址通過總線發(fā)送給芯片,芯片再將對(duì)應(yīng)通道數(shù)據(jù)發(fā)回給主控模塊,處理后將AD 數(shù)據(jù)發(fā)送至打包編幀模塊進(jìn)行下一步處理。此工作模式下,主控程序僅需要依次對(duì)ROM 表進(jìn)行讀取,即可實(shí)現(xiàn)對(duì)不同通道的切換。如果想改變通道讀取順序,改變存入ROM 查找表的通道順序即可[12]。通道切換工作模式如圖6所示。
圖6 采集模塊工作模式
由于AD7490 芯片為12 位模數(shù)轉(zhuǎn)換芯片,所以采樣數(shù)據(jù)量化的最大值為二進(jìn)制數(shù)111111111111即為十進(jìn)制數(shù)4095,本設(shè)計(jì)中,我們選擇的量程為REFIN,即為5V,因此量化后的數(shù)據(jù)每1 位代表的實(shí)際電壓值即為5/4095=0.00012197 V。
在數(shù)據(jù)采集系統(tǒng)中,判斷系統(tǒng)性能好壞的重要標(biāo)準(zhǔn)之一就是分層值。分層值為當(dāng)采集通道輸入一個(gè)穩(wěn)定電壓值時(shí),系統(tǒng)采集回來的數(shù)據(jù)應(yīng)當(dāng)是一個(gè)穩(wěn)定的數(shù)值,但是由于通道間的串?dāng)_等因素影響,數(shù)值會(huì)有一定的波動(dòng),這個(gè)波動(dòng)即為分層值,在實(shí)際應(yīng)用中,分層值越小,則說明數(shù)據(jù)采集越穩(wěn)定,系統(tǒng)性能越好。
在本文設(shè)計(jì)中由圖7 可看出,所有通道的分層值△Y=15。相對(duì)于數(shù)據(jù)量化的最大值4095 來講,采編精度15/4095≈0.00363,采編精度優(yōu)于0.5%,之前設(shè)計(jì)的數(shù)據(jù)采集裝置分層值見圖8,此數(shù)據(jù)采集裝置數(shù)據(jù)量化最大值為65535,分層值△Y=658,采編精度為658/65535≈0.01,可以看出本文設(shè)計(jì)的數(shù)據(jù)采集裝置采編精度較之前的裝置提升了63.7%。
圖7 本設(shè)計(jì)分層值
圖8 現(xiàn)有裝置分層值
本文中所設(shè)計(jì)的高精度數(shù)據(jù)采集裝置能夠?qū)崿F(xiàn)多路數(shù)據(jù)的高精度采集,使用模擬信號(hào)調(diào)理電路首先對(duì)信號(hào)進(jìn)行了高精度調(diào)整,減少了信號(hào)在傳入系統(tǒng)時(shí)的震蕩,降低了通道之間的信號(hào)串?dāng)_,提高了采樣精度;又使用了多通道模數(shù)轉(zhuǎn)換芯片,通道采樣地址被編碼在ROM表中,由FPGA控制采樣通道的切換,簡化了程序編寫的復(fù)雜性。
通過實(shí)際驗(yàn)證,該系統(tǒng)能夠提升采樣精度,具有實(shí)際應(yīng)用價(jià)值,在實(shí)際工程中已經(jīng)開始應(yīng)用。