范君健,吳國東,王志軍,張 沖
(中北大學(xué) 機電工程學(xué)院, 太原 030051)
【信息科學(xué)與控制工程】
基于FPGA的高精度彈載壓力數(shù)據(jù)采集系統(tǒng)
范君健,吳國東,王志軍,張 沖
(中北大學(xué) 機電工程學(xué)院, 太原 030051)
以FPGA為核心,設(shè)計了一種由傳感器、信號調(diào)理電路、數(shù)據(jù)采集控制以及存儲器組成的小型彈載數(shù)據(jù)采集系統(tǒng);采用8515C-50型壓力傳感器和AD7606芯片采集壓力數(shù)據(jù),而后通過FPGA進(jìn)行數(shù)據(jù)處理與存儲,并且提供上位機接口便于數(shù)據(jù)導(dǎo)出;對主要模塊進(jìn)行測試與仿真,結(jié)果表明:采集精度與速度滿足設(shè)計要求,F(xiàn)PGA各模塊設(shè)計功能完整,驗證了該方案的可行性;為新型智能彈藥的測控系統(tǒng)設(shè)計奠定了技術(shù)基礎(chǔ),具有重要的工程實用價值。
數(shù)據(jù)采集;FPGA;乒乓操作;彈載測試;表面壓力
現(xiàn)代戰(zhàn)爭向著智能化與信息化方向不斷發(fā)展,使得高技術(shù)武器層出不窮。隨著當(dāng)今電子技術(shù)和傳感器技術(shù)不斷取得突破性進(jìn)展,奠定了新一代自動測試系統(tǒng)的技術(shù)基礎(chǔ),軍事科技領(lǐng)域正在迎來一系列重大變革,世界主要軍事強國都在大力進(jìn)行先進(jìn)武器裝備的研究。彈丸在大氣中飛行時,其飛行姿態(tài)、射程以及穩(wěn)定性等直接受空氣動力大小的影響,因此準(zhǔn)確測量彈丸在飛行時其表面的氣壓對于研制智能彈藥有著重要的參考價值。
目前,針對高鐵、飛行器進(jìn)行的表面空氣動力參數(shù)的相關(guān)研究較多[1]。而對于飛行彈丸的空氣動力研究主要通過理論計算、數(shù)值仿真、風(fēng)洞實驗等手段[2-4],所得數(shù)據(jù)雖然有很高的參考價值,但與實際飛行控制所需精度仍有一定差距,而且并非實時測量。因此,本設(shè)計采用彈載測試系統(tǒng)的方式進(jìn)行彈體表面的壓力測量,對于常用的以單片機為核心的系統(tǒng)[5]進(jìn)行優(yōu)化升級,選用一套片狀微型壓力傳感器作為敏感部分,其厚度小,貼裝于彈丸表面,對于彈丸表面的氣流流場的影響很小,可達(dá)到高精度、高速度的測量要求。
本文介紹了一種以Spartan-6系列FPGA為核心的彈載測試系統(tǒng),可以實時測量彈體表面壓力并進(jìn)行數(shù)據(jù)處理及存儲。該系統(tǒng)具有安裝簡單、抗過載能力強等特點,可將測量數(shù)據(jù)通過USB端口導(dǎo)出,以便進(jìn)一步進(jìn)行數(shù)據(jù)分析與研究。
高精度彈載壓力數(shù)據(jù)采集系統(tǒng)實時記錄彈丸在飛行過程當(dāng)中四路測試點的表面壓力,并且通過計算相對兩路的壓力差,經(jīng)數(shù)據(jù)處理后,為后級的控制系統(tǒng)提供觸發(fā)信號,進(jìn)而控制飛行姿態(tài)。該系統(tǒng)在設(shè)計當(dāng)中加入USB接口,以便在實驗結(jié)束后將采集數(shù)據(jù)導(dǎo)出,為系統(tǒng)的進(jìn)一步分析優(yōu)化提供支持。
系統(tǒng)主要由四路壓力傳感器與放大器組成的采集板、ADC芯片AD7606、調(diào)零DAC芯片AD5689、Spartan-6 FPGA主控制器、SDRAM數(shù)據(jù)緩沖器、NAND Flash數(shù)據(jù)存儲器、USB2.0接口以及電源模塊和相關(guān)按鍵、開關(guān)等組成。整體結(jié)構(gòu)框圖如圖1。
圖1 系統(tǒng)整體結(jié)構(gòu)框圖
根據(jù)設(shè)計要求和實驗?zāi)康?,該?shù)據(jù)采集系統(tǒng)的整體功能有:
1) 電源模塊采用7.4V鋰電池,為模擬電路的數(shù)據(jù)采集板和數(shù)字電路的FPGA核心板提供相應(yīng)的多路電源;
2) 壓力傳感器的信號經(jīng)放大濾波后送交ADC芯片進(jìn)行模數(shù)轉(zhuǎn)換,四路的采集速度均可達(dá)到200ksps;
3) 選用FPGA作為主控制器,可實現(xiàn)四路數(shù)據(jù)的同步處理,并且計算1-1與1-2號和2-1與2-2號傳感器的輸出電壓差值;
4) 為了保證數(shù)據(jù)傳輸?shù)母咚倏煽?,采用SDRAM設(shè)計“乒乓操作”,達(dá)到用低速模塊處理高速數(shù)據(jù)流的效果,從外部看輸入數(shù)據(jù)流和輸出數(shù)據(jù)流都是連續(xù)的,沒有任何停頓;
5) 對于采集的壓力數(shù)據(jù),存儲于NAND FLASH當(dāng)中,在通過USB2.0接入上位機時可以導(dǎo)出;
6) DAC調(diào)零模塊在系統(tǒng)初始化時可將相對的兩路傳感器信號自動調(diào)零,保證所計算壓力差真實可靠。
2.1 前端數(shù)據(jù)采集電路
該設(shè)計選用Endevco公司的8515C-50微型、高靈敏度壓阻式壓力傳感器,厚度僅為0.76 mm,直徑6.3 mm。具有高過載能力,高頻率響應(yīng),極低基座應(yīng)變靈敏度和出色的溫度特性。在10 V電源激勵的作用下,該傳感器滿量程輸出200 mV,其電子結(jié)構(gòu)為四臂可變壓阻電橋。
由于傳感器的輸出信號為mV級的差分信號,因此在傳感器的輸出端通過儀表放大器進(jìn)行精密放大。選用軌到軌輸出儀表放大器AD8226設(shè)計放大電路。采用單電源+12 V供電,將信號放大20倍,便于AD轉(zhuǎn)換器的采集。四路傳感器信號的放大電路完全相同,其原理如圖2所示,其中基準(zhǔn)源REF由FPGA控制的DAC芯片提供,用以放大器調(diào)零;SENSOR通過SMA接頭與傳感器連接。根據(jù)系統(tǒng)的采樣頻率設(shè)定,在放大器的輸入端與輸出端均加入RC低通濾波電路,濾波器根據(jù)以下關(guān)系式對輸入信號的帶寬加以限制:
(1)
(2)
其中CD≥ 10CC,DIFF表示差動信號,CM表示共模信號。R為輸入端的串聯(lián)電阻,CC為輸入端與地之間電容,影響共模信號;CD為正負(fù)輸入端之間電容,影響差動信號。
2.2 AD轉(zhuǎn)換電路
根據(jù)本設(shè)計采樣速度與精度的要求,選擇AD7606作為AD轉(zhuǎn)換芯片。該芯片是一款完全集成的多通道數(shù)據(jù)采集系統(tǒng)[6],有8路同步采樣輸入,內(nèi)置16位、雙極性ADC,所有通道轉(zhuǎn)換速度均達(dá)到200 ksps,并通過數(shù)字濾波器提供過采樣功能AD7606提供高速串行接口、并行接口和并行字節(jié)接口,方便與FPGA直接連接[7]。以ADC為核心,前端與數(shù)據(jù)采集模塊連接的原理如圖3所示。ADIN1到ADIN4為四路傳感器的輸入端,根據(jù)官方手冊,選用外部基準(zhǔn)芯片ADR421作為2.5 V基準(zhǔn)源。
圖2 信號放大電路
圖3 前端數(shù)據(jù)采集電路
為保證采集數(shù)據(jù)的實時性與同步性,將兩個CONVST引腳連在一起,設(shè)置AD7606為通道同步采樣模式,此公用CONVST的上升沿啟動對所有模擬通道的同步采樣。AD7606的同步采樣時序圖如圖4所示。
圖4 AD7606通道同步采樣,使用并行模式
圖5 AD7606與FPGA連接圖
FPGA設(shè)計的AD控制器主要功能:數(shù)字濾波、采樣頻率控制、通道選擇切換、數(shù)據(jù)傳輸?shù)萚8]。使用Verilog語言設(shè)計的AD控制模塊如圖6所示。
圖6 AD控制模塊
2.3 DA調(diào)零模塊
調(diào)零電路由FPGA和AD5689共同組成。AD5689是一款低功耗、雙通道、16位緩沖電壓輸出數(shù)模轉(zhuǎn)換器(DAC),可編程輸出調(diào)零范圍。該芯片采用多功能串行外設(shè)接口,時鐘速率高達(dá)50 MHz,兼容SPI接口,方便與控制器件相連。
在調(diào)零系統(tǒng)中,系統(tǒng)初始化后FPGA接收預(yù)采集的傳感器信號,計算相對兩路的電壓差,如果沒有達(dá)到零位,通過AD5689將計算后的偏置電壓發(fā)送到電壓較高一路所對應(yīng)的放大器AD8226,通過改變其基準(zhǔn)電壓將相關(guān)放大電路調(diào)零[9]。AD5689具有兩路模擬輸出端口,要調(diào)零四路傳感器信號,采集系統(tǒng)共采用兩片DAC,采用菊花鏈方式操作,其中SDO引腳與另一片的SDIN引腳相連,其中一路的原理如圖7所示。
圖7 調(diào)零電路原理圖
2.4 SDRAM數(shù)據(jù)緩存模塊
在該氣壓測試系統(tǒng)當(dāng)中,由于實時高速的數(shù)據(jù)采集和后端的數(shù)據(jù)處理速度不同,因此需要讀寫速度快、存儲容量大的緩存器。SDRAM具有價格低廉、數(shù)據(jù)讀寫速度快、容量大的優(yōu)點,是作為隨機存儲器的首選。但其邏輯復(fù)雜、時序要求嚴(yán)格、接口方式與其他存儲器差異很大。因此,需要設(shè)計一個專門的控制器以實現(xiàn)數(shù)據(jù)的高效傳輸。SDRAM是高速的動態(tài)隨機存取存儲器,它的同步接口和完全流水線的內(nèi)部結(jié)構(gòu)使其擁有極大的數(shù)據(jù)速率,SDRAM的時鐘頻率可以達(dá)到100 MHz以上,一片16位數(shù)據(jù)寬度的SDRAM的讀寫數(shù)據(jù)帶寬達(dá)1.6 Gbit/s。SDRAM部分的原理圖如圖8。
圖8 SDRAM原理圖
該系統(tǒng)采用Verilog語言設(shè)計SDRAM的控制器,分為一個頂層模塊和3個子模塊[10],設(shè)計思路簡單清晰。頂層模塊主要用來接口控制,不做時序邏輯只做組合邏輯,向上做成一個簡單的封裝,向下把3個子模塊連接起來;時序控制模塊根據(jù)芯片手冊完成SDRAM的初始化以及定時刷新、讀寫控制;命令控制模塊根據(jù)時序模塊的各個狀態(tài)對接口進(jìn)行賦值,發(fā)送相應(yīng)的控制指令;數(shù)據(jù)讀寫模塊將數(shù)據(jù)總線的數(shù)據(jù)讀寫到相應(yīng)的地址。SDRAM控制器以狀態(tài)機的形式實現(xiàn),其原理如圖9所示[11]。
由于前端數(shù)據(jù)采集和后端數(shù)據(jù)存儲的時鐘域是50 MHz,而緩存在SDRAM中設(shè)置的時鐘域是100 MHz,數(shù)據(jù)在不同的時鐘域間傳遞,很容易引起亞穩(wěn)態(tài)問題,同時為了在讀寫時無需操作復(fù)雜的SDRAM時序,設(shè)計一個讀FIFO和一個寫FIFO來緩沖數(shù)據(jù),并且只要讀寫這兩個FIFO,程序就能將數(shù)據(jù)寫入到SDRAM或者從SDRAM讀出。
“乒乓操作”是一個常應(yīng)用于數(shù)據(jù)流控制的處理技巧,典型的乒乓操作方法如圖10所示?;静僮髁鞒虨椋涸诘谝粋€緩沖周期,將輸入數(shù)據(jù)緩存到“數(shù)據(jù)緩沖模塊1”。在第二個緩沖周期,將輸入數(shù)據(jù)緩存到“數(shù)據(jù)緩沖模塊2”,同時將“數(shù)據(jù)緩沖模塊1”中的數(shù)據(jù)通過“輸出數(shù)據(jù)流選擇單元”的選擇,送到“數(shù)據(jù)流運算處理模塊”進(jìn)行數(shù)據(jù)處理。在第3個緩沖周期,通過“輸入數(shù)據(jù)流選擇單元”再次將輸入數(shù)據(jù)緩沖到“數(shù)據(jù)緩沖模塊1”,并將“數(shù)據(jù)緩沖模塊2”中在第2個緩沖周期的數(shù)據(jù)送交數(shù)據(jù)處理,依次循環(huán)操作。
圖9 SDRAM控制器狀態(tài)機
圖10 典型乒乓操作方法
一般所指的乒乓操作主要針對兩片存儲器芯片,在該設(shè)計當(dāng)中由于PCB板的面積限制,并且減小布局布線壓力,簡化設(shè)計流程,利用分時復(fù)用的方法對一片SDRAM的不同Bank進(jìn)行讀寫乒乓操作。在該設(shè)計當(dāng)中,當(dāng)一次數(shù)據(jù)采集完成后,程序判斷數(shù)據(jù)是否已全部寫入SDRAM當(dāng)中。如果是“是”的話寫入的Bank地址交換;另外判斷數(shù)據(jù)是否從SDRAM讀出,如果是“是”的話讀出的Bank地址也交換。SDRAM讀寫B(tài)ank交換的同時,產(chǎn)生一個wr_load和rd_load信號用以復(fù)位SDRAM的讀寫地址和讀寫FIFO。
2.5 NAND FLASH數(shù)據(jù)存儲模塊
對于采集的大量數(shù)據(jù)需要可靠的存儲器將其存儲,便于進(jìn)一步的數(shù)據(jù)導(dǎo)出與分析?,F(xiàn)階段最常用的是使用NAND Flash作為存儲芯片,其擁有極高的單元密度,寫入和快擦除速度很快。最大擦寫次數(shù)可達(dá)一百萬次,價格便宜,擁有極高的性價比。但由于NAND Flash采用I/O接口復(fù)用方式操作,一般最多需要16個引腳,因而在程序設(shè)計方面要相對復(fù)雜。在進(jìn)行其他操作之前,需要先將驅(qū)動程序?qū)懙絅AND Flash中去[12-13]。
該設(shè)計的NAND Flash控制器包括主控制模塊和ECC(錯誤檢查和糾正)模塊。這兩個模塊相互獨立。ECC功能模塊位于主控制模塊與NAND Flash之間。主控制器的外部接口與SDRAM的類似,包括ID讀取、重置、塊擦除與讀取、頁編程與讀寫操作等。ECC功能模塊主要包括校驗碼生成模塊、糾錯模塊、狀態(tài)控制模塊3個部分。
完成系統(tǒng)初步設(shè)計之后,對相關(guān)模塊進(jìn)行時序仿真、邏輯分析、數(shù)據(jù)采集,以驗證該系統(tǒng)的采集精度和可靠性,主要包括AD數(shù)據(jù)采集模塊測試、SDRAM時序分析以及接入傳感器測試。
3.1 AD采集模塊測試
在FPGA設(shè)計完成AD控制模塊后,將其設(shè)定其為全速采樣模式。上電后將采集的電壓通過串口送交電腦顯示,通過ChipScope Pro軟件對AD控制模塊的時序進(jìn)行分析,如圖11所示。由圖可見其同時輸出8個通道數(shù)據(jù),控制時序與圖4所示同步采樣時序相符。
圖11 AD功能模塊分析
3.2 SDRAM時序測試
采用Modelsim軟件對SDRAM的初始化和“乒乓操作”進(jìn)行時序仿真。圖12所示為SDRAM的初始化時序,可以看到經(jīng)過200us的輸入穩(wěn)定期后,SDRAM進(jìn)行預(yù)充電,對應(yīng)SDRAM_CMD為10010,然后是8次刷新操作,對應(yīng)SDRAM_CMD為10001。在201 μs時設(shè)置模式寄存器(MRS),命令為10000。SDRAM時鐘頻率為100 MHz,同時與FPGA控制器的100 MHz時鐘存在相位差。在控制器的時鐘上升沿產(chǎn)生控制命令,然后在隨后的SDRAM時鐘上升沿命令已經(jīng)穩(wěn)定。這樣方便了SDRAM順序的取得命令。
圖12 SDRAM初始化時序
如圖13所示,為“乒乓操作”時序,可以看出寫B(tài)ank與讀Bank的地址在Bank0與Bank3之間不停切換。向SDRAM的Bank0寫入第一組數(shù)據(jù),當(dāng)?shù)谝唤M數(shù)據(jù)寫入完成后進(jìn)入乒乓操作階段。
3.3 氣壓測試
接入8515C-50型傳感器進(jìn)行測試,放大電路中RG為2.61 k,實際放大倍數(shù)19.93倍。通過瞬態(tài)信號采集儀采集信號的電壓與該系統(tǒng)采集電壓進(jìn)行對比,兩者的測量結(jié)果基本一致。其中500個采集點的數(shù)據(jù)對比如圖14,數(shù)據(jù)統(tǒng)計如表1所示??梢娤鄬τ诓杉瘍x的數(shù)據(jù),該系統(tǒng)采集結(jié)果更加穩(wěn)定,方便系統(tǒng)進(jìn)一步的調(diào)零與控制。
圖13 SDRAM不同Bank的乒乓操作
總數(shù)均值標(biāo)準(zhǔn)差最小值中位數(shù)最大值采集儀500720.57823.9280702.8720.5731.4AD7606500719.85880.1725718.6719.6720.2
圖14 傳感器輸出電壓測試數(shù)據(jù)
根據(jù)所用傳感器測試報告,傳感器輸出電壓與所測氣壓呈線性關(guān)系,根據(jù)關(guān)系式計算得氣壓數(shù)據(jù):
p=2.465×U+3.353
(3)
其中:U為傳感器輸出電壓(mV);p為所測氣壓(kPa)。氣壓測量結(jié)果對比如圖15所示。
圖15 氣壓測量數(shù)據(jù)
本文提出的基于FPGA的彈載壓力數(shù)據(jù)采集系統(tǒng),可以實現(xiàn)壓力數(shù)據(jù)的實時高速采集與存儲。采用儀表放大器AD8226和AD芯片 AD7606采集傳感器數(shù)據(jù),以Spartan-6系列FPGA作為主控制器,控制數(shù)據(jù)流的采集、處理、存儲,四通道同步采樣速率可達(dá)200 ksps,存儲容量為16 M×16 bit。通過對各主要模塊的測試,驗證了該設(shè)計方案的可行性。隨著半導(dǎo)體技術(shù)與傳感器技術(shù)的高速發(fā)展,為各類智能彈藥的高速度高精度測量與控制奠定了技術(shù)基礎(chǔ),具有重要的工程應(yīng)用價值。該系統(tǒng)的抗干擾性能與信號完整性有待進(jìn)一步的驗證與分析,下一步將繼續(xù)優(yōu)化PCB的布局布線,提高系統(tǒng)可靠性,增強整個系統(tǒng)的通用性與實用性。
[1] 程虎.高速列車表面壓力測試系統(tǒng)設(shè)計及應(yīng)用[D].成都:西南交通大學(xué),2011.
[2] 李婧偉.頭部偏轉(zhuǎn)修正彈技術(shù)研究[D].太原:中北大學(xué),2015.
[3] 李巖,鄧學(xué)鎣,王延奎.靜態(tài)壓力測量系統(tǒng)在風(fēng)洞實驗中的應(yīng)用[J].兵工自動化,2010,29(2):81-84.
[4] 張博,徐豫新,曹夢雨,等.彈頭偏轉(zhuǎn)彈體風(fēng)洞實驗設(shè)計[J].實驗室研究與探索,2014,33(4):18-21.
[5] 寧潤果,吳國東,王志軍,等.基于C8051F380的彈丸表面壓力數(shù)據(jù)采集系統(tǒng)[J].兵器裝備工程學(xué)報,2016,37(1):113-116.
[6] 陶海軍,張一鳴,曾志輝.基于AD7606的多通道數(shù)據(jù)采集系統(tǒng)設(shè)計[J].工礦自動化,2013,39(12):110-113.
[7] 于克泳,孫建軍.新一代16位8通道同步采樣ADC-AD7606在智能電網(wǎng)中的應(yīng)用[J].電子產(chǎn)品世界,2010,17(10):63-65.
[8] 楊煒新.基于FPGA的多通道數(shù)據(jù)采集系統(tǒng)設(shè)計[D].太原:中北大學(xué),2014.
[9] 王冰.基于STM32和FPGA的多通道多功能數(shù)據(jù)采集器[D].成都:西南交通大學(xué),2012.
[10] 侯宏錄,張文芳.基于FPGA的SDRAM控制器設(shè)計方案[J].兵工自動化,2012,31(2):57-60.
[11] 項力領(lǐng),劉智,楊陽,等.單片SDRAM的數(shù)據(jù)讀寫乒乓操作設(shè)計[J].長春理工大學(xué)學(xué)報(自然科學(xué)版),2013(5):140-143.
[12] 馮明發(fā),盧錦川.基于FPGA的NAND Flash控制器設(shè)計[J].煤炭技術(shù),2010,29(11):201-202.
[13] 胡茂力,李艷春,肖南峰.基于物聯(lián)網(wǎng)的多傳感器數(shù)據(jù)采集系統(tǒng)研究[J].重慶理工大學(xué)學(xué)報(自然科學(xué)),2016(10):108-117.
[14] 魏國.NAND Flash控制器的FPGA驗證[D].合肥:合肥工業(yè)大學(xué),2013.
(責(zé)任編輯楊繼森)
OnboardHighPrecisionPressureDataAcquisitionSystemBasedonFPGA
FAN Junjian, WU Guodong, WANG Zhijun, ZHANG Chong
(College of Mechatronic Engineering, North University of China, Taiyuan 030051, China)
Aiming at the high speed and high precision requirements of adaptive-ammunition’s flight data acquisition, but the problem of traditional MUC system’s slowly speed, measurement accuracy is not enough, anti-interference ability is poor, we designed a small onboard data acquisition system consists of sensors, signal conditioning circuit, data acquisition controller and memory. Using pressure sensor 8515C-50 and AD7606 acquire pressure data, and then using the FPGA to data processing and storage, and it can export data through host computer interface. The main modules are tested and simulated, and the results show that the acquisition accuracy and speed meet the design requirements, each module of the FPGA designed function is complete, and finally we verify the feasibility of the design. For the measurement and control system design of the new intelligent ammunition, it lids the technical foundation and has important engineering practical value.
data acquisition; FPGA; Ping-Pong operation; onboard testing; surface pressure
2017-04-25;
:2017-05-29
:山西省研究生聯(lián)合培養(yǎng)基地人才培養(yǎng)資助項目(20160033)
范君健(1993—),男,碩士,主要從事彈藥、武器系統(tǒng)相關(guān)測試研究。
10.11809/scbgxb2017.09.021
format:FAN Junjian, WU Guodong, WANG Zhijun, et al.Onboard High Precision Pressure Data Acquisition System Based on FPGA[J].Journal of Ordnance Equipment Engineering,2017(9):102-107.
TP274.2
:A
2096-2304(2017)09-0102-06
本文引用格式:范君健,吳國東,王志軍,等.基于FPGA的高精度彈載壓力數(shù)據(jù)采集系統(tǒng)[J].兵器裝備工程學(xué)報,2017(9):102-107.