劉 鵬,王 茜,王西泉,李鵬勃
(中國兵器工業(yè)試驗測試研究院,陜西 華陰 714200)
結(jié)構(gòu)體運行過程中結(jié)構(gòu)體的力學(xué)數(shù)據(jù)對結(jié)構(gòu)體的結(jié)構(gòu)設(shè)計仿真優(yōu)化至關(guān)重要。在仿真分析中,同一類型的傳感器數(shù)據(jù)要做到同步采集,才能準確地反映結(jié)構(gòu)體在同一時刻整體的受力情況,分析結(jié)構(gòu)體各部件之間的受力關(guān)系,為結(jié)構(gòu)體結(jié)構(gòu)的設(shè)計仿真提供更好的數(shù)據(jù)支撐。當前數(shù)據(jù)采集系統(tǒng)采用多種控制器方案,例如嵌入式微控制器、嵌入式微處理器、虛擬化儀表等,不同的處理器有不同的優(yōu)點,都可以實現(xiàn)不同功能的數(shù)據(jù)采集系統(tǒng),但是對于一般的單核處理器來講,處理器只能同時處理一個任務(wù),其處理速度受限于主頻,并且無法實現(xiàn)多通道信號高精度的同步采集。FPGA的一個明顯優(yōu)勢是時序控制簡單,可以對多任務(wù)進行并行處理,有豐富的外部引腳資源,并且有大量的內(nèi)部IP核資源,有強大的可擴展性,在多通道高精度同步采集的實現(xiàn)上有著先天的優(yōu)勢。因此,該文提出了一種基于FPGA的多傳感器數(shù)據(jù)高精度同步采集方法,通過一組控制信號同時控制8片AD7656的方式,可以完成48路的傳感器同步采集,滿足結(jié)構(gòu)體高速運動多路傳感器數(shù)據(jù)的同步采集要求。
該文設(shè)計的同步數(shù)據(jù)采集系統(tǒng)采用遙測的方式,將結(jié)構(gòu)體振動數(shù)據(jù)無線發(fā)送至遙測地面站,可分為采集編碼模塊、發(fā)射機模塊、電源模塊等,其中發(fā)射機模塊和電源模塊作為通用技術(shù),這里不做詳細介紹,對采集編碼模塊的同步采集方法進行詳細介紹。系統(tǒng)實現(xiàn)原理框圖如圖1所示,采集編碼模塊主要完成傳感器信號調(diào)理、模數(shù)轉(zhuǎn)換、數(shù)據(jù)組幀、數(shù)據(jù)編碼等功能。
圖1 同步采集系統(tǒng)原理框圖
信號調(diào)理電路是將來自各傳感器的信號進行放大、濾波,將信號幅度、頻率調(diào)整到AD轉(zhuǎn)換芯片要求的范圍內(nèi)。該文主要選取ICP型三軸振動傳感器,其型號為J10519,對其輸出信號進行調(diào)理電路設(shè)計。
傳感器指標如下:
加速度范圍:±5 000 g;
直流供電:18~30 V;
恒流電流:2~20 mA;
靈敏度:1.02 mV/g;
頻率范圍(10%):5 Hz~10 kHz。
根據(jù)傳感器指標,需給傳感器提供24 V電壓、4 mA恒流電流的恒流源電路,采用三端可調(diào)式電源芯片LM314,設(shè)計高精度的恒流源,通過調(diào)節(jié)高精度電阻R1和R2使恒流源輸出為4 mA,其電路設(shè)計如圖2所示。
圖2 恒流源電路設(shè)計
由于振動傳感器具有較高的頻率響應(yīng)(5 Hz~10 kHz),而橇體設(shè)計仿真需要3 kHz以下的低頻振動數(shù)據(jù),因此采用LTC1569型通用濾波器對傳感器輸出信號進行3 kHz低通濾波,濾波電路設(shè)計原理如圖3所示。LTC1569的時鐘工作方式為外部時鐘,其截至頻率f
由外部輸入時鐘f
和內(nèi)部分頻設(shè)置決定,其關(guān)系式為:f
=f
/64,傳感器的頻響范圍為0~3 kHz,經(jīng)過計算f
=192 kHz,f
由FPGA產(chǎn)生。圖3 濾波電路
針對多傳感器信號同步采集的要求,采用AD7656進行實現(xiàn)。AD7656是基于iCMOS工藝的一款多通道高分辨率模數(shù)轉(zhuǎn)換芯片。內(nèi)置六個16位、快速、低功耗逐次逼近型ADC,并行吞吐速率最高可達250 kSPS,有6個獨立的通道,每個通道由1個16位SAR模數(shù)轉(zhuǎn)換器和1個采樣保持電路組成。由邏輯控制電路按照對分原理完成轉(zhuǎn)換中的逐次逼近。圖4為AD7656原理圖,其部分引腳的功能描述如下:
VSS、VDD、AVcc、AGND:模擬電源和地,AVcc只對AD7656內(nèi)核供電;
DRIVE、DVcc、DGND:數(shù)字電源和數(shù)字地,其作為數(shù)字電路的參考點,須在每個電源的引腳,使用1個10μ
F和1個1μ
F的電容將其接到相應(yīng)的地,用于去耦;V1~V6:輸入信號管腳,其輸入范圍由RANGE決定;
REFIN/REFOUT:參考電壓電平的輸入/輸出管腳;
REFCAPA,REFCAPB,REFCAPC:ADC參考電壓去耦管腳,用于電壓緩沖,須分別接1個0.1μ
F、1個10μ
F的去耦電容;CONVST A/B/C:啟動轉(zhuǎn)換信號的輸入管腳,每個引腳連接其對應(yīng)的CONVST信號,當CONVST從低電平變?yōu)楦唠娖綍r,對應(yīng)的一組采樣保持器從跟蹤模式變?yōu)楸3帜J?,同時啟動轉(zhuǎn)換,由于三個控制啟動信號CONVST A/B/C分別控制3對通道采樣和轉(zhuǎn)換,因此將3個CONVST管腳并聯(lián),可實現(xiàn)6路輸入模擬信號并行采樣轉(zhuǎn)換,與此同時,使用CONVST信號可將ADC同時轉(zhuǎn)入低功耗狀態(tài);
STBY:待機模式控制輸入管腳,當端口變?yōu)榈碗娖綍r,6路ADC轉(zhuǎn)換通道同時變?yōu)榇龣C模式;
BUSY:忙信號輸出管腳。輸出為高電平時表示轉(zhuǎn)換正在進行;
RESET:復(fù)位信號輸入管腳。在上電時,需要1個大于100 ns的方波信號用于芯片復(fù)位;
CS,RD:片選信號管腳和讀使能信號管腳,有效電平為低電平;
DOUT A/B/C:串行輸出接口??赏ㄟ^單、雙或三DOUT線路從各器件回讀數(shù)據(jù)。
圖4 AD7656原理圖
通過配置管腳可使AD7656的工作模式設(shè)置為并行模式和串行模式,由管腳SER/PAR、DB0/SELA、DB1/SELB、DB2/SELC共同配置其工作模式,如表1所示。
表1 AD7656配置方式
設(shè)置AD7656工作在3路串行輸出模式,對管腳SER/PAR、DB0/SELA、DB1/SELB、DB2/SELC直接以—+5 V進行拉高。系統(tǒng)設(shè)計48路信號輸入,須至少8片AD7656。AD7656的數(shù)據(jù)輸出采用串行接口,其具有三個DOUT引腳:DOUT A、B、C,可通過單雙或三DOUT線路從期間回讀數(shù)據(jù),可大大降低FPGA的資源需求和布線難度。本系統(tǒng)為了提高回讀速度,采用三DOUT輸出模式。圖5為六個同步轉(zhuǎn)換以及采用三DOUT線路的讀時序,通過脈沖發(fā)出3個全部CONVST x信號,AD7656就可利用其片上調(diào)整振蕩器,在CONVST x上升沿后,BUSY信號變?yōu)楦唠娖剑砻饕验_始轉(zhuǎn)換,完成轉(zhuǎn)換后(3μ
s后),BUSY信號恢復(fù)低電平,此時輸出寄存器載入新轉(zhuǎn)換結(jié)果,并可從AD7656讀取數(shù)據(jù),通過32個SCLK時鐘獲取AD7656的數(shù)據(jù),其中DOUT A逐位輸出V1、V2的數(shù)據(jù),DOUT B逐位輸出V3、V4的數(shù)據(jù),DOUT C逐位輸出V5、V6的數(shù)據(jù),高位在前低位在后。圖5 采用三路DOUT線的串行讀取時序
8片AD7656的控制共用一套控制信號,采用同樣的配置,其同步轉(zhuǎn)換由一個CONVST信號控制,一次保證所有通道可同時采集。其中,將24個CONVSTx信號短接使用一個CONVST轉(zhuǎn)換信號,并且8片AD7656也共用RESET復(fù)位信號、/CS片選、BUSY忙信號,一起接入主控芯片F(xiàn)PGA中,時序信號由FPGA提供,根據(jù)配置需要將其他模式配置管腳接入相對應(yīng)的電平。
在AD7656的輸入端口前,需要對輸入信號進行低通濾波和電平調(diào)整。需要根據(jù)有用信號的頻率范圍進行濾波器設(shè)計,該文的濾波電路采用有源運放設(shè)計,根據(jù)系統(tǒng)采樣要求,設(shè)計截至頻率為10 kHz,圖6為濾波電路,由f
=1/RC
計算截至頻率。圖6 有源濾波電路
根據(jù)輸入模擬信號的電壓范圍和AD7656輸入端口的輸入電平范圍確定輸入模擬信號的放大倍數(shù),在信號輸入端口須考慮去除噪聲,同時要防止引入其他噪聲??刹捎靡韵麓胧核须娮釉骷WC良好接地,對電路板進行覆銅鋪地;同類型的各路輸入輸出通道保持設(shè)計上的一致,確保隔離和避免相互干擾;將各個電源的管腳要濾波和去耦。
在設(shè)計PCB電路板時,需將AD8656的數(shù)字部分和模擬部分布局分開,并將兩個部分分別放置于電路板的特定區(qū)域,就可以很容易將地層分開,便于使用。使用0 Ω電阻或磁珠在電路板的合適位置將數(shù)字地和模擬地單點連接。電路板布線時為防止信號和噪聲混在一起,不能在器件的正下方布設(shè)數(shù)據(jù)線。為減少電源線的脈沖干擾,布線時應(yīng)盡量加粗。為減小感抗,去耦電容與器件盡量靠近,連線盡可能短。
FPGA軟件設(shè)計主要分成AD采樣、數(shù)據(jù)組幀、PCM編碼3個模塊。
μs
的轉(zhuǎn)換時間后,F(xiàn)PGA可讀取到BUSY的管腳為低電平,此時AD芯片已完成一次模數(shù)轉(zhuǎn)換??捎蒄PGA控制寫入控制時序信號,獲取轉(zhuǎn)換后數(shù)據(jù),通過FPGA的IO口將/CS變?yōu)榈碗娖剑D(zhuǎn)換后2個通道的32 bit數(shù)據(jù)在采樣時鐘SCLK的上升沿依次讀出,32個SCLK時鐘后,F(xiàn)PGA將/CS變?yōu)楦唠娖?,結(jié)束讀數(shù)據(jù)過程。經(jīng)過采樣結(jié)束后的平穩(wěn)時間段后,F(xiàn)PGA控制CONVST從高電平變?yōu)榈碗娖剑⒈3值碗娖?,一次模?shù)轉(zhuǎn)換和數(shù)據(jù)讀取結(jié)束,之后FPGA產(chǎn)生上升沿重新控制CONVST,新的模數(shù)轉(zhuǎn)換開始。其中,可獨立控制AD7656的3個CONVST管腳,也可以同時控制,2路16 bit數(shù)據(jù)由32個SCLK時鐘信號讀取,對應(yīng)規(guī)定的模擬信號的兩路轉(zhuǎn)換結(jié)果,將讀取的數(shù)據(jù)可緩存至FPGA內(nèi)部FIFO,便于后續(xù)處理。根據(jù)時序圖,利用Verilog語言設(shè)計8片AD7656的同步采樣設(shè)計,8片AD7656的24個CONVST信號全部連在一起,可對48路模擬信號進行同步采樣。根據(jù)時序要求,F(xiàn)PGA產(chǎn)生上升沿控制CONVST管腳啟動AD7656開始轉(zhuǎn)換。FPGA控制CONVST管腳從低電平變?yōu)楦唠娖胶螅珹D7656的采樣保持器變?yōu)楸3譅顟B(tài),模數(shù)轉(zhuǎn)換開始。CONVST管腳變?yōu)楦唠娖胶?,BUSY管腳為高電平輸出,指示芯片為模數(shù)轉(zhuǎn)換狀態(tài)。由FPGA提供AD7656的轉(zhuǎn)換時鐘,轉(zhuǎn)換時間為3μ
s。一次模數(shù)轉(zhuǎn)換結(jié)束后BUSY管腳變?yōu)楦唠娖捷敵?,采樣保持器在BUSY管腳的下降沿返回跟蹤模式,通過DOUT A/B/串行接口將轉(zhuǎn)換后的數(shù)據(jù)從AD7656的寄存器讀出。數(shù)據(jù)組幀模塊將48路數(shù)據(jù)按照遙測數(shù)據(jù)幀格式進行打包,要求同一包數(shù)據(jù)中的各路數(shù)據(jù)的采集時刻是一致的。各路信號的采樣順序決定了幀結(jié)構(gòu),而本設(shè)計幀結(jié)構(gòu)編寫的關(guān)鍵是保證所有通道模擬信號的均勻采樣。在設(shè)計幀結(jié)構(gòu)的時候,不但要使各個通道的信號滿足各自的采樣率,還要使總的數(shù)據(jù)量盡可能減少,以降低采集數(shù)據(jù)的冗余度。本設(shè)計中每個通道的采樣率均為10 kHz,在幀結(jié)構(gòu)開始位置添加EB90作為幀開始標志,以及幀計數(shù)標志,數(shù)據(jù)采集精度為16 bit。由此設(shè)計的幀結(jié)構(gòu)如表2所示,幀長度為100 Byte,在10 kHz的數(shù)據(jù)采樣速率下,傳輸碼速率為8 Mbps。
表2 幀結(jié)構(gòu)設(shè)計
利用FPGA上的片上資源生成1個雙口RAM存儲器,存儲器位寬為8 bit,深度100,將AD采樣模塊的各個通道數(shù)據(jù)流按照順序依次寫入雙口RAM中。
PCM編碼模塊主要完成遙測數(shù)據(jù)PCM編碼。如圖7所示,PCM編碼模塊根據(jù)中心控制電路設(shè)定的碼率、碼型等信息,從雙口RAM中按照地址順序按位讀取數(shù)據(jù)進行PCM編碼、碼型變換、極性變換等處理,輸出PCM信號到發(fā)射機模塊。
圖7 PCM編碼原理圖
48路信號同步采集的關(guān)鍵在于8片AD7656之間的同步采集,影響8片AD7656之間同步采集的因素主要是其8片AD芯片的時鐘信號是否同步,因此驗證的關(guān)鍵是測試其8路SCLK時鐘信號的同步性。
同步采集驗證方案如圖8所示,驗證系統(tǒng)所用設(shè)備及其功能如下:
(1)信號發(fā)生器:產(chǎn)生上升沿或下降沿觸發(fā)信號;
t
=3 μs后,片選信號/CS使能,AD7656寄存器中的數(shù)據(jù)就可以在SCLK時鐘的控制下按位讀出。使用一臺高采樣率的通用型數(shù)采設(shè)備同時采集觸發(fā)信號、片選信號/CS、8個AD時鐘信號SCLK,通過對比片選信號/CS使能后的第一個時鐘信號的相位差,就可以判斷出8片AD之間的同步采集時間精度。圖8 同步采集驗證方案
系統(tǒng)設(shè)計時,要求同步采集時間小于1 μs,因此選用的數(shù)據(jù)采集設(shè)備的采樣率為10 MHz,采樣周期為0.1 μs,系統(tǒng)驗證現(xiàn)場圖如圖9所示。經(jīng)過多次測試驗證,片選信號/CS使能后,8個AD7656時鐘的第一個時鐘相位差全部控制在0.3 μs~0.5 μs,這樣就保證了8片AD7656在一個數(shù)據(jù)讀取周期內(nèi)的時間同步誤差是0.3 μs~0.5 μs,滿足系統(tǒng)設(shè)計要求1 μs的要求。
圖9 系統(tǒng)驗證現(xiàn)場圖
針對結(jié)構(gòu)體高速運動多路振動傳感器信號同步采集的需求,提出了一種基于多片AD7656+FPGA的48路振動傳感器高精度同步采集方法。設(shè)計了ICP型振動傳感器的恒流源電路及低通濾波電路,可根據(jù)需求將濾波截至頻率控制在3 kHz;8片AD7656共用一套控制信號,可保證8片AD7656之間數(shù)據(jù)采集的同步性;數(shù)據(jù)組幀打包時,將同一個采集周期的48路傳感器數(shù)據(jù)按順序依次寫入FPGA上的雙口RAM中,一個采集周期一個數(shù)據(jù)包,保證了一個數(shù)據(jù)包的數(shù)據(jù)是同時刻采樣的數(shù)據(jù)。同時設(shè)計實驗驗證了多路同步采集的時間精度小于1 μs。