張晶威
(中北大學(xué)電子測(cè)試技術(shù)國(guó)家重點(diǎn)實(shí)驗(yàn)室,太原030051)
工程爆破中,藥包爆炸后能量的釋放、傳遞、做功中必然有一部分能量轉(zhuǎn)化為地震波[1-2]。由地震波而引起的地表物體顛簸搖晃的現(xiàn)象和后果是地震效應(yīng),是影響最大的工程爆破危害[1-4]。
目前對(duì)地震波的振動(dòng)測(cè)量是監(jiān)測(cè)與評(píng)估爆破地震效應(yīng)的重要途徑。地震波在空間中的方向并不確定,但是矢量在三維空間可以分解,因此測(cè)量三維空間的地震波矢量分量是必要的。測(cè)量三維的地震波矢量分量需要時(shí)間上同步,保證疊加后的矢量和是實(shí)際地震波矢量。
在振動(dòng)觀測(cè)點(diǎn),傳感器信號(hào)采集到的多路模擬信號(hào)是時(shí)間同步的。模擬信號(hào)經(jīng)過量化,在數(shù)字信號(hào)處理和存儲(chǔ)后,識(shí)別的數(shù)字信號(hào)也需同步以便后期處理。傳統(tǒng)上的方法多為模擬信號(hào)經(jīng)過多路模擬開關(guān),模數(shù)轉(zhuǎn)換器件分時(shí)處理[5-7]。事實(shí)上,這并沒有實(shí)現(xiàn)嚴(yán)格意義上的時(shí)間同步。
本文介紹了一種利用現(xiàn)場(chǎng)可編程邏輯器件FPGA作為爆破振動(dòng)數(shù)據(jù)記錄儀的設(shè)計(jì)方案,同時(shí)結(jié)合FPGA的嵌入式處理器內(nèi)核,構(gòu)建了邏輯控制與CPU一體的SoC架構(gòu)。
本設(shè)計(jì)方案整體思路是對(duì)3路獨(dú)立的A/D轉(zhuǎn)換器分別設(shè)置雙時(shí)鐘FIFO存儲(chǔ)單元,保持采樣同步一致性。在3路A/D轉(zhuǎn)換器采樣的同一個(gè)模數(shù)轉(zhuǎn)換周期,將FIFO存儲(chǔ)數(shù)據(jù)順序讀出并順序?qū)懭隨DRAM。
FPGA芯片為主控制器,主要包含如下邏輯結(jié)構(gòu):A/D控制單元、FIFO、嵌入式軟核處理器、存儲(chǔ)觸發(fā)控制單元。
本系統(tǒng)使用的是Altera公司的CycloneII系列芯片。3路A/D轉(zhuǎn)換控制單元分別控制串行A/D轉(zhuǎn)換器,控制單元共用同一個(gè)系統(tǒng)時(shí)鐘分頻后的時(shí)鐘和系統(tǒng)復(fù)位??刂茊卧€包含A/D轉(zhuǎn)換器的控制時(shí)鐘,數(shù)據(jù)串/并轉(zhuǎn)換,FIFO寫時(shí)鐘和FIFO的寫使能信號(hào)。使用FPGA中的雙時(shí)鐘FIFO宏模塊,寫入時(shí)鐘由A/D控制模塊驅(qū)動(dòng),讀時(shí)鐘和SDRAM存儲(chǔ)器共同使用系統(tǒng)時(shí)鐘。嵌入式NiosII軟核處理器中添加了PIO接口模塊、SDRAM接口、Flash接口。
基于FPGA芯片的系統(tǒng)框架如圖1所示。
圖1 控制器系統(tǒng)框架
A/D控制單元是FPGA中的邏輯功能模塊,3路A/D控制單元由同一時(shí)鐘驅(qū)動(dòng),并共用系統(tǒng)復(fù)位,保證工作時(shí)序同步。
該系統(tǒng)的目標(biāo)采樣信號(hào)頻率在10~103Hz范圍,采用Burr Brown公司一款串行A/D轉(zhuǎn)換器ADS1286。該A/D轉(zhuǎn)換器為12位精度,連續(xù)采樣狀態(tài)為16個(gè)A/D驅(qū)動(dòng)時(shí)鐘完成一次采樣—數(shù)據(jù)輸出。其時(shí)序工作圖如圖2所示[8]。
圖2 ADS1286基本工作時(shí)序
在A/D轉(zhuǎn)換器的信號(hào)采樣段,即一個(gè)采樣過程的前兩個(gè)時(shí)鐘周期執(zhí)行對(duì)目標(biāo)信號(hào)的采集;在數(shù)據(jù)轉(zhuǎn)換段執(zhí)行12位數(shù)據(jù)由高位至低位的串行輸出。片選使能信號(hào)置高后完成一次數(shù)據(jù)采集過程,此時(shí)處理輸出的數(shù)據(jù)是完整的一個(gè)采樣點(diǎn)數(shù)據(jù)。
該A/D控制單元包含以下5個(gè)模塊:
①通過系統(tǒng)時(shí)鐘分頻模塊得到A/D轉(zhuǎn)換器的驅(qū)動(dòng)時(shí)鐘。
②片選使能信號(hào)模塊控制連續(xù)的數(shù)據(jù)采樣,經(jīng)過15個(gè)A/D驅(qū)動(dòng)時(shí)鐘生成一個(gè)片選使能信號(hào)的高電平,此高電平占A/D驅(qū)動(dòng)時(shí)鐘一個(gè)周期,即16個(gè)A/D驅(qū)動(dòng)時(shí)鐘完成一次采樣。
③串行—并行數(shù)據(jù)轉(zhuǎn)換??紤]芯片I/O引腳限制,并且系統(tǒng)的采樣頻率不高,采用串行輸出的A/D轉(zhuǎn)換器比較合適,但系統(tǒng)內(nèi)部的數(shù)據(jù)總線為并行,因此A/D控制模塊需要將串行數(shù)據(jù)轉(zhuǎn)換成同總線同位寬的并行格式[9-10]。該模塊工作過程是,首先在FPGA中構(gòu)建一個(gè)12位的存儲(chǔ)空間,在A/D采樣輸出串行數(shù)據(jù)開始,每個(gè)A/D驅(qū)動(dòng)時(shí)鐘傳輸至相應(yīng)的12位存儲(chǔ)空間位置,最低位數(shù)據(jù)在AD驅(qū)動(dòng)時(shí)鐘的上升沿采樣完成,片選使能信號(hào)在時(shí)鐘的下降沿變化,因此在片選使能信號(hào)的上升沿處理的數(shù)據(jù)是完整的一次采樣數(shù)據(jù)。
④輸出寫FIFO的時(shí)鐘。FIFO具有雙時(shí)鐘,其中寫時(shí)鐘頻率較低。16個(gè)A/D驅(qū)動(dòng)的時(shí)鐘周期完成一次完整的數(shù)據(jù)采樣,因此將A/D驅(qū)動(dòng)時(shí)鐘8分頻得到寫FIFO驅(qū)動(dòng)時(shí)鐘。
⑤觸發(fā)SDRAM存儲(chǔ)信號(hào)。該信號(hào)同F(xiàn)IFO寫滿信號(hào)輸入或門,輸出至NiosII軟核的一個(gè)PIO輸入接口,提供一個(gè)中斷標(biāo)志,觸發(fā)SDRAM存儲(chǔ)。
結(jié)合Modelsim仿真波形和A/D控制單元的波形圖,可知A/D控制單元的控制時(shí)序邏輯。另外A/D控制單元的邊沿控制穩(wěn)定,確保了采集數(shù)據(jù)可靠。
同步采集的3路信號(hào)在FIFO中存儲(chǔ),FIFO完成了數(shù)據(jù)的緩沖,然后將FIFO中的數(shù)據(jù)順序轉(zhuǎn)移至外部存儲(chǔ)器。
FIFO存儲(chǔ)數(shù)據(jù)向SDRAM轉(zhuǎn)移的由一個(gè)PIO中斷觸發(fā),該中斷標(biāo)志由A/D控制單元設(shè)定FIFO存儲(chǔ)數(shù)據(jù)量,計(jì)數(shù)器記滿后產(chǎn)生一個(gè)出發(fā)標(biāo)志,計(jì)數(shù)器參數(shù)可調(diào)。另外FIFO深度是有限的,存滿后產(chǎn)生FIFO滿信號(hào),將二信號(hào)輸入或門,輸出為SDRAM的存儲(chǔ)觸發(fā)標(biāo)志。一路FIFO讀空以后,下一路FIFO數(shù)據(jù)讀出。3路FIFO數(shù)據(jù)由FIFO讀出轉(zhuǎn)移至SDRAM的過程要在下一次FIFO寫入數(shù)據(jù)之前,也就是由15個(gè)A/D驅(qū)動(dòng)時(shí)鐘的時(shí)間完成此工作,而讀FIFO和寫SDRAM都是由系統(tǒng)時(shí)鐘(是A/D驅(qū)動(dòng)時(shí)鐘的103倍)驅(qū)動(dòng)的,故單路FIFO存儲(chǔ)數(shù)據(jù)可以由此來(lái)確定。
SDRAM存儲(chǔ)器的優(yōu)點(diǎn)是存儲(chǔ)空間大、價(jià)格低,適合做數(shù)據(jù)的緩沖區(qū);缺點(diǎn)是控制相對(duì)復(fù)雜,使用NiosII軟核控制器可以降低SDRAM控制的難度。NiosII提供了SDRAM 的控制接口,硬件結(jié)構(gòu)搭建完成后,在NiosII IDE集成開發(fā)環(huán)境中編寫C語(yǔ)言程序控制SDRAM。當(dāng)總線訪問SDRAM接口時(shí),通過寫操作函數(shù)IOWR和讀操作函數(shù)IORD即可進(jìn)行SDRAM存儲(chǔ)器的讀寫[11-12]。
基于SRAM原理的FPGA芯片掉電后程序丟失,另外暫存在SDRAM芯片中的數(shù)據(jù)也會(huì)掉電丟失。利用Flash芯片的掉電程序保持特性實(shí)現(xiàn)對(duì)FPGA的初始化配置和大量采集數(shù)據(jù)的保持。需要注意的是,寫入Flash的偏移地址大于程序代碼在Flash存儲(chǔ)空間的地址,否則系統(tǒng)程序被覆蓋,無(wú)法對(duì)FPGA正確配置。
圖3為系統(tǒng)在某工程采集的爆破振動(dòng)加速度波形。工程上采用了高精度的電子雷管,設(shè)置段間延期為1 s。從圖中采集波形可以看出,段與段之間的數(shù)據(jù)采集嚴(yán)格分開。另外從圖中Z軸(垂直地面方向)對(duì)應(yīng)X、Y軸的波形,可見3路數(shù)據(jù)采集波形的一致性好。
圖3 某工程3路采集加速度波形
本文提出的基于FPGA的多路數(shù)據(jù)同步采集系統(tǒng)實(shí)現(xiàn)了多路數(shù)據(jù)采集的時(shí)間同步,為工程爆破振動(dòng)分析提供更有價(jià)值的數(shù)據(jù),是爆破振動(dòng)分析監(jiān)測(cè)的得力工具。另外,嵌入式軟核與邏輯模塊結(jié)合成片上系統(tǒng),設(shè)計(jì)的電路系統(tǒng)更為簡(jiǎn)單可靠。此外本系統(tǒng)還可以多臺(tái)組網(wǎng),通過安置方式的不同來(lái)靈活設(shè)計(jì)監(jiān)測(cè)方案,此方面尚需進(jìn)一步研究。
[1]張雪亮,黃樹堂.爆破地震效應(yīng)[M].北京:地震出版社,1981.
[2]孟吉復(fù),惠新斌.爆破測(cè)試技術(shù)[M].北京:冶金工業(yè)出版社,1992.
[3]張立.爆破器材性能與爆炸效應(yīng)測(cè)試[M].合肥:中國(guó)科學(xué)技術(shù)大學(xué)出版社,2006.
[4]言志信,等.爆破地震測(cè)試及建筑結(jié)構(gòu)安全標(biāo)準(zhǔn)研究[J].巖石力學(xué)與工程學(xué)報(bào),2003,22(11):1907-1911.
[5]周朝陽(yáng),等.基于FPGA的多通道串行A/D轉(zhuǎn)換器的控制器設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2008(20):55-58.
[6]Kirianaki N V.Data acquisition and signal processing for smart sensors[M].John Wiley&Sons,2001:51-58.
[7]張東升,等.基于FPGA的高速采集系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,2006(5):76-77.
[8]Texas Instruments.12-Bit Micro Power Sampling Analog-To-Digital Converter,2000.
[9]Peter Wilson.FPGA 設(shè)計(jì)實(shí)戰(zhàn)[M].杜生海,譯.北京:人民郵電出版社,2009.
[10]EDA先鋒工作室.Altera FPGA/CPLD設(shè)計(jì)[M].北京:人民郵電出版社,2011.
[11]Altera Corporation.NiosII Software Developer's Handbook,2009.
[12]Altera Corporation.Embeded Design Handbook,2011.