楊會(huì)偉,陳萬(wàn)順,周先飛,丁金榮
(1.蕪湖職業(yè)技術(shù)學(xué)院 信息工程學(xué)院,安徽 蕪湖 241000;2.安徽吉思能源勘探有限公司,安徽 蕪湖 241000)
基于SOPC的多通道高精度同步數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)
楊會(huì)偉1,陳萬(wàn)順1,周先飛1,丁金榮2
(1.蕪湖職業(yè)技術(shù)學(xué)院 信息工程學(xué)院,安徽 蕪湖 241000;2.安徽吉思能源勘探有限公司,安徽 蕪湖 241000)
針對(duì)單片機(jī)數(shù)據(jù)處理的精度低且運(yùn)算速度低,難于滿足高精度多通道同步數(shù)據(jù)采集處理要求,提出一種基于SOPC的高精度多通道同步數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)方案。以嵌入式SOPC技術(shù)為核心,采用多路新型32位精度A/D 轉(zhuǎn)換器ADS1282進(jìn)行數(shù)據(jù)采集,且采樣速率可調(diào);利用GPS秒脈沖的隨機(jī)誤差和高精度晶振累計(jì)誤差互補(bǔ)提供高精度同步采樣時(shí)鐘,保證多通道同步采集數(shù)據(jù);通過移植精簡(jiǎn)的嵌入式實(shí)時(shí)操作系統(tǒng)uC/OS-II,實(shí)現(xiàn)多任務(wù)并發(fā)執(zhí)行;采用2.4 GHz無(wú)線射頻nFR24LE1完成系統(tǒng)近距離無(wú)線數(shù)據(jù)傳輸。系統(tǒng)能夠?qū)崿F(xiàn)工業(yè)現(xiàn)場(chǎng)尤其是惡劣環(huán)境下多通道高精度數(shù)據(jù)同步采集與無(wú)線傳輸功能。
實(shí)時(shí);高精度;同步;數(shù)據(jù)采集;無(wú)線傳輸
隨著數(shù)字信號(hào)處理技術(shù)的發(fā)展,在工業(yè)生產(chǎn)、科學(xué)技術(shù)等領(lǐng)域,現(xiàn)場(chǎng)信號(hào)采集的要求越來(lái)越高,通常需要針對(duì)每一時(shí)間坐標(biāo)點(diǎn)信號(hào)進(jìn)行多通道采集,并且這些信號(hào)具有實(shí)時(shí)性強(qiáng)、數(shù)據(jù)速率高、數(shù)據(jù)量大等特點(diǎn),因此一個(gè)穩(wěn)定性強(qiáng)且處理速度快的的多路數(shù)據(jù)采集系統(tǒng)對(duì)后期數(shù)據(jù)處理意義重大[1-3]。對(duì)各通道來(lái)講,同一時(shí)間點(diǎn)采集數(shù)據(jù)號(hào)都是相互關(guān)聯(lián)的,這就需要多通道信號(hào)的同步采集,并能準(zhǔn)確無(wú)誤存儲(chǔ)[4]。
目前大部分多通道數(shù)據(jù)采集系統(tǒng)是單純采用單片機(jī)作為中央處理器。單片機(jī)處理運(yùn)算速度慢且精度低,難以實(shí)現(xiàn)多通道高精度同步數(shù)據(jù)數(shù)據(jù)采集要求。相比較而言,SOPC英文是將嵌入式處理器、存儲(chǔ)設(shè)備、I/O等摸塊集成在單個(gè)FPGA內(nèi)部構(gòu)成片上系統(tǒng)的新技術(shù)[5-6]。SOPC 技術(shù)在實(shí)時(shí)控制等方面具有執(zhí)行速度快、嚴(yán)格并行同步、軟件編程簡(jiǎn)單等優(yōu)勢(shì),而且它功耗低,成本小,搭配外圍電路,可以完成對(duì)數(shù)據(jù)采集和運(yùn)算控制輸出等一系列任務(wù)。SOPC 技術(shù)特別適合低功耗高穩(wěn)定的復(fù)雜系統(tǒng)設(shè)計(jì),無(wú)需太多外圍電路設(shè)計(jì)大大縮短系統(tǒng)開發(fā)周期,軟硬件可編程提高了系統(tǒng)設(shè)計(jì)的靈活性,方便功能擴(kuò)充和升級(jí)[7-8]。因此研究設(shè)計(jì)一種基于SOPC技術(shù)的多通道高精度同步數(shù)據(jù)采集系統(tǒng)就顯得十分必要。
圖1 系統(tǒng)總體方案框圖
一個(gè)完整多通道高精度同步采集系統(tǒng)應(yīng)該包括數(shù)據(jù)采集、數(shù)據(jù)的存儲(chǔ)、數(shù)據(jù)的傳輸以及整個(gè)系統(tǒng)的控制等模塊。本系統(tǒng)采用嵌入式SOPC技術(shù),以FPGA為控制核心,以A/D轉(zhuǎn)換模塊連接外部傳感器獲取數(shù)字信號(hào),以GPS和高精度高速晶振相結(jié)合獲取高精度同步時(shí)鐘,以2.4 GHz的無(wú)線射頻發(fā)送接受模塊nFR24LE1作為數(shù)據(jù)的發(fā)送設(shè)備。系統(tǒng)劃分為5個(gè)主要部分:控制模塊、多通道數(shù)據(jù)采集模塊、無(wú)線傳輸模塊、電源及存儲(chǔ)模塊。系統(tǒng)結(jié)構(gòu)如圖1所示。
可以將系統(tǒng)利用嵌入式SOPC處理器FPGA控制A/D的時(shí)序驅(qū)動(dòng),并結(jié)合GPS和高精度高速晶振為A/D提供同步采樣時(shí)鐘,完成對(duì)外部傳感器的數(shù)據(jù)采集,采集的數(shù)據(jù)進(jìn)入FPGA內(nèi)部,通過內(nèi)部?jī)蓚€(gè)FIFO緩存區(qū)的乒乓操作實(shí)現(xiàn)對(duì)高速數(shù)據(jù)的緩存處理,最后通過2.4 GHz無(wú)線射頻發(fā)送模塊nFR24LE1將緩存數(shù)據(jù)傳輸?shù)缴衔粰C(jī)進(jìn)行存儲(chǔ)和分析處理。
在系統(tǒng)設(shè)計(jì)過程中,硬件電路設(shè)計(jì)主要包括FPGA與數(shù)據(jù)采集模塊接口電路設(shè)計(jì)、FPGA與GPS接受模塊間的接口電路設(shè)計(jì)、FPGA與無(wú)線傳輸模塊間的接口電路設(shè)計(jì)以及與其他功能模塊的接口電路設(shè)計(jì)等。
2.1 FPGA與信號(hào)采集單元的接口設(shè)計(jì)
圖2 ADS1282與FPGA接口框圖
信號(hào)采集單元的選擇對(duì)整個(gè)采集系統(tǒng)的采樣信號(hào)質(zhì)量起著非常重要的作用。 在選擇信號(hào)采集單元時(shí),應(yīng)根據(jù)系統(tǒng)功能要求,充分考慮該單元模塊的分辨率、通道數(shù)、采樣率等性能指標(biāo)以滿足系統(tǒng)功能要求等。通過比較分析,本系統(tǒng)采用多片31位模/數(shù)轉(zhuǎn)換器 ADS1282作為前端信號(hào)采集單元,ADS1282的采樣率可分為0.25 ms、0.5 ms、1 ms和2 ms不同等級(jí);前放增益: 0 dB,6 dB,12 dB,18 dB,24 dB,30 dB,36 dB;增益精度:<0.8%,校正增益誤差:≤0.000 2%;信噪比:高分辨率模式≥124 dB,低功耗模式≥121 dB。單片ADS1282可實(shí)現(xiàn)8通道數(shù)據(jù)同時(shí)采集。 ADS1282與FPGA主控單元EP3C10E144C8的接口設(shè)計(jì)如圖2所示。
圖3 GPS模塊與FPGA接口框圖
2.2 FPGA與GPS接受模塊的接口電路設(shè)計(jì)
GPS接受模塊的信號(hào)主要包括UTC時(shí)間輸出和PPS秒脈沖輸出,UTC時(shí)間輸出通常通過RS232接口輸出,PPS通過一個(gè)端口輸出,這樣GPS接受模塊與FPGA的連接主要就是通過RS232串口和一個(gè)通用端口來(lái)連接,如圖3所示。
2.3 FPGA與無(wú)線傳輸模塊接口設(shè)計(jì)
圖4 無(wú)線傳輸模塊與FPGA接口框圖
無(wú)線傳輸主要采用無(wú)線射頻模塊nFR24LE1來(lái)完成,該無(wú)線傳輸模塊直接將2.4 GHz無(wú)線射頻模塊和51核集成在一起,開發(fā)調(diào)試起來(lái)方便。該模塊接受外部數(shù)據(jù)的主要接口是SPI接口,因此FPGA與無(wú)線傳輸模塊nFR24LE1的主要接口連接就是SPI接口連接。連接的信號(hào)主要有4個(gè):SPI時(shí)鐘信號(hào)FSCK、SPI使能信號(hào)FCSN、主端發(fā)送從端接受信號(hào)FMOSI、從端發(fā)送主端接受信號(hào)FMISO。如圖4所示。
3.1 片上嵌入式系統(tǒng)構(gòu)建
通過在FPGA內(nèi)部構(gòu)建基于NIOS處理器的嵌入式可編程片上系統(tǒng),再將uC/OS-II操作系統(tǒng)移植到NIOS處理器系統(tǒng)中。uC/OS-II內(nèi)核任務(wù)調(diào)度采用搶占式優(yōu)先級(jí)調(diào)度算法,是一種實(shí)時(shí)性很高的內(nèi)核。uC/OS-II除了約200行的匯編代碼外,其他全部采用C語(yǔ)言編寫,整個(gè)內(nèi)核代碼容量較小,最小編譯內(nèi)核只有2 kB。uC/OS-II內(nèi)核在設(shè)計(jì)之初就充分考慮到了不同平臺(tái)的移植問題,文件層次分明,將硬件相關(guān)和無(wú)關(guān)程序獨(dú)立開來(lái),只需進(jìn)行適當(dāng)修改就很容易移植到幾乎任何一種CPU上。系統(tǒng)開發(fā)人員只需要建立相應(yīng)的交叉編譯環(huán)境,通過適當(dāng)?shù)牟僮骶湍茉谙鄳?yīng)的嵌入式系統(tǒng)中完成uC/OS-II移植。
在NIOS嵌入式微處理器上移植uC/OS-II系統(tǒng)的主要步驟:首先創(chuàng)建一個(gè)標(biāo)準(zhǔn)的C交叉編譯器;在OS_CPU.H文件中用#define語(yǔ)句設(shè)置一個(gè)常量的值;在OS_CPU.H文件中聲明10個(gè)數(shù)據(jù)類型;在OS_CPU.H文件中用#define聲明3個(gè)宏;在OS_CPU.C文件中編寫6個(gè)簡(jiǎn)單的函數(shù);在OS_CPU_A.ASM文件中編寫4個(gè)匯編函數(shù);添加系統(tǒng)所需要的功能模塊;最后進(jìn)行編譯生成可執(zhí)行文件移植到NIOS處理器系統(tǒng)中。
3.2 GPS校準(zhǔn)晶振的高精度時(shí)鐘設(shè)計(jì)
GPS秒脈沖無(wú)累計(jì)誤差,但有誤差漂移,其漂移誤差可達(dá)200 ns,并且GPS在受到空中外界因素和天氣因素干擾時(shí),可能會(huì)導(dǎo)致秒脈沖波形信號(hào)失真。綜合以上種種因素,GPS秒脈沖信號(hào)的精度為2×10-7,故在同精度要求較高的情況下不能直接利用GPS秒脈沖作為同步時(shí)鐘信號(hào),但可以利用GPS秒脈沖無(wú)累計(jì)誤差的特性,來(lái)同步校正恒溫晶振的累計(jì)誤差。由于恒溫晶振無(wú)漂移誤差,這樣就實(shí)現(xiàn)了二者的優(yōu)勢(shì)互補(bǔ),通過二者相結(jié)合來(lái)實(shí)現(xiàn)多通道數(shù)據(jù)的同步采集,從而使得各個(gè)通道達(dá)到高精度同步的效果。
本模塊設(shè)計(jì)通過FPGA控制GPS模塊來(lái)實(shí)現(xiàn),GPS模塊的秒脈沖信號(hào)首先接受到FPGA內(nèi)部, FPGA以GPS秒脈沖為計(jì)數(shù)一句 ,在1 s內(nèi)對(duì)外部恒溫晶振61.44 MHz時(shí)鐘的周期數(shù)進(jìn)行統(tǒng)計(jì),利用同步計(jì)數(shù)過濾干擾信號(hào),通過對(duì)比每秒內(nèi)計(jì)數(shù)器的值計(jì)算出相位偏差值,以此控制恒溫晶振控制寄存器,從而達(dá)到所要求的精度范圍。其結(jié)構(gòu)如圖5所示。
圖5 GPS校準(zhǔn)時(shí)鐘原理結(jié)構(gòu)圖
3.3 GPS接收模塊設(shè)計(jì)
圖6 GPS接收程序流程圖
GPS接收模塊通過FPGA內(nèi)部資源控制完成,通過串口接收GPS模塊數(shù)據(jù)信息到FPGA內(nèi)部后,首先檢測(cè)數(shù)據(jù)引導(dǎo)頭是否為“$”,若檢測(cè)到”$”,然后通過識(shí)別區(qū)分信息類別對(duì)ASCII碼進(jìn)行處理,并判斷接收數(shù)據(jù)的正確性。若數(shù)據(jù)不正確則重新接收新數(shù)據(jù),若數(shù)據(jù)正確則進(jìn)行后續(xù)處理。GPS數(shù)據(jù)主要包括UTC 時(shí)間字段、狀態(tài)定位字段、緯度N(北緯)或S(南緯)字段、經(jīng)度字段等信息,要將這些字段信息提取出來(lái)分別存儲(chǔ)。GPS發(fā)出的日期和時(shí)間在全世界是統(tǒng)一的,與北京時(shí)間差8 h,使用時(shí)需要將UTC時(shí)間轉(zhuǎn)化為北京時(shí)間。在UTC上加8 h就可得到準(zhǔn)確北京時(shí)間,以24 h為模進(jìn)行處理。UTC數(shù)據(jù)變化頻率為1次/s,這樣GPS接收模塊在正常工作狀態(tài)下不斷獲得新數(shù)據(jù)覆蓋FPGA內(nèi)部RAM,最后將時(shí)間和坐標(biāo)等信息和采集數(shù)據(jù)一起打包發(fā)送到工作站的數(shù)據(jù)處理終端。程序流程圖如圖6所示。
3.4 數(shù)據(jù)無(wú)線傳輸控制
運(yùn)行模式:發(fā)射模式、接收模式、待機(jī)模式以及掉電模式。這4種模式可通過配置nFR24LE1內(nèi)部CONFIG寄存器來(lái)完成。nrf24le1的數(shù)據(jù)接受和發(fā)送模式又分為shock-burst和增強(qiáng)型shockburst兩種。
本無(wú)線傳輸系統(tǒng)選擇增強(qiáng)型Shockburst模式。接收數(shù)據(jù)處理程序流程圖如圖7所示。
圖7 增強(qiáng)型ShockBurst程序流程圖
在增強(qiáng)型Shockburst模式下,高速傳輸和處理的RF協(xié)議在nFR24LE1內(nèi)部自動(dòng)完成,數(shù)據(jù)發(fā)送和接收包中的CRC校驗(yàn)碼和包頭會(huì)自動(dòng)由nFR24LE1完成。因此在發(fā)送數(shù)據(jù)時(shí)不需考慮數(shù)據(jù)的發(fā)送協(xié)議和封裝,直接將要發(fā)送的數(shù)據(jù)寫入發(fā)送數(shù)據(jù)buffer中,nFR24LE1會(huì)自行添加包頭和校驗(yàn)碼,并將數(shù)據(jù)地址和緩沖區(qū)中的有效數(shù)據(jù)等封裝成一個(gè)數(shù)據(jù)包發(fā)送。在數(shù)據(jù)接收端,nFR24LE1會(huì)自動(dòng)解碼,把包頭和檢驗(yàn)碼去掉,這樣程序編制會(huì)更加簡(jiǎn)單,穩(wěn)定性更高。主發(fā)送端發(fā)送一個(gè)數(shù)據(jù)包后自動(dòng)進(jìn)入接受模式,主接收端接受到數(shù)據(jù)后自動(dòng)發(fā)送一個(gè)確認(rèn)應(yīng)答。主接收端可以將用戶數(shù)據(jù)附加于確認(rèn)應(yīng)答中。
本系統(tǒng)方案是與某勘探公司合作的省級(jí)自然科學(xué)重點(diǎn)研究項(xiàng)目,各主要功能子模塊已通過了實(shí)驗(yàn)測(cè)試驗(yàn)證。系統(tǒng)技術(shù)指標(biāo):
(1)A/D 轉(zhuǎn)換分辨率為31位,且數(shù)據(jù)采樣速率可調(diào),采樣率可調(diào)檔:0.25 ms、 0.5 ms、1 ms、2 ms;前放增益: 0 dB、6 dB、12 dB、18 dB、24 dB、30 dB、36 dB;增益精度:<0.8%;校正增益誤差:≤0.000 2%;多通道采集同步誤差:40 ns。
(2) nRF24LE1無(wú)線收發(fā)模塊的抗干擾性較好,當(dāng)建筑物很多的時(shí)候,當(dāng)收發(fā)電路裝置均放在地上時(shí),最佳有效通信距離在40 m~50 m之間;當(dāng)放置在空地時(shí),最遠(yuǎn)可達(dá)100 m。系統(tǒng)發(fā)送和接收數(shù)據(jù)誤碼率低,增強(qiáng)型ShockBurst模式下理論空中傳輸率可達(dá)2 Mbps,實(shí)際有效數(shù)據(jù)傳輸率520 kbps。
(3)在 Alteral公司生產(chǎn)的Cyclone III系列的FPGA芯片EP3c10e144c8平臺(tái)上成功搭建了基于NIOS處理器的SOPC系統(tǒng),并初步成功移植了uC/OS-II操作系統(tǒng)。
提出一種利用SOPC技術(shù)實(shí)現(xiàn)多通道高精度數(shù)據(jù)同步采集系統(tǒng)設(shè)計(jì)方案,能夠?qū)崿F(xiàn)工業(yè)現(xiàn)場(chǎng)尤其是惡劣環(huán)境下多通道數(shù)據(jù)的高精度同步采集與無(wú)線傳輸功能;系統(tǒng)采用GPS 和高精度晶振相結(jié)合的方法,又能減小高精度晶振累計(jì)誤差影響,實(shí)現(xiàn)了GPS秒脈沖的隨機(jī)誤差和高精度晶振累計(jì)誤差互補(bǔ);通過RAM記錄GPS正常工作下的修正參數(shù),保證在GPS失效情況下長(zhǎng)時(shí)間的高精度輸出;采用2.4 GHz無(wú)線射頻模塊完成系統(tǒng)近距離無(wú)線數(shù)據(jù)傳輸,克服了傳統(tǒng)采集系統(tǒng)在惡劣環(huán)境下無(wú)法通過布線完成數(shù)據(jù)傳輸?shù)娜秉c(diǎn)。本系統(tǒng)采樣精度高,采樣速率可調(diào),滿足多種需求,具有一定的應(yīng)用參考價(jià)值。
[1] 陽(yáng)繼軍.基于GPS授時(shí)的地震采集系統(tǒng)同步系統(tǒng)設(shè)計(jì)[J].石油儀器,2009,23(1):82-85.
[2] 邱桂芬.高速多通道數(shù)據(jù)采集系統(tǒng)的時(shí)鐘同步設(shè)計(jì)[J].艦船電子對(duì)抗,2013,36(1):93-96.
[3] 劉小林.基于FPGA的多通道數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)[J].電子技術(shù)應(yīng)用,2009(7):42-44.
[4] 黃云,楊尊先.基于SOPC的數(shù)據(jù)采集與處理系統(tǒng)設(shè)計(jì)[J].電子器件,2010,33(1):35-38.
[5] 紀(jì)大偉,徐抒巖,胡君.基于FPGA的多通道高速數(shù)據(jù)采集系統(tǒng)[J].儀表技術(shù)與傳感器,2011(12):31-32.
[6] 甘建偉,秦付軍,王鵬.基于FPGA的高速多通道數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)[J].測(cè)控技術(shù)與儀器儀表,2013,4:87-88.
[7] 楊煒新.基于FPGA的多通道數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)[D].太原:中北大學(xué),2014:3-40.
[8] 秦爽.多通道同步數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D].成都:電子科技大學(xué),2009:2-25.
Design of Multi-channel and High Precision Synchronous Data Acquisition System Based on SOPC
YANG Huiwei1, CHEN Wanshun1, ZHOU Xianfei1, DING Jinrong2
(1.Wuhu Institute of Technology, Wuhu 241002, China;2.Anhui jisy energy exploration Co Ltd, Wuhu 241000, China)
For the SCM data operation and processing capacity limitations, which is difficult to meet the high accuracy of data acquisition and processing requirements, a design of multi-channel synchronous data acquisition system with a high precision based on SOPC is proposed.Taking embedded SOPC technology as the core, the data is collected with a new multi-channel 32-bit precision A / D converter ADS1282 and the sampling rate can be adjusted; The complementary of the random error by GPS second pulse and high precision crystal cumulative error provide a high accuracy synchronous sampling clock, which ensures the multi-channel synchronous data acquisition; by transplanting the streamlined embedded real-time operating system uc / OS-II, multi-task concurrent execution is realized; using 2.4 GHz radio nFR24LE1 , the system short-range wireless data transmission is completed. The system can ensure the high precision data synchronous acquisition and wireless transmission in the industrial field, especially in harsh environment.
real time; high-precision; synchronization; data acquisition; wireless transmission
2016-05-10
楊會(huì)偉(1982-),男,河南南陽(yáng)人,碩士,講師,主要從事測(cè)試計(jì)量技術(shù)及儀器和數(shù)字信號(hào)處理等方面的研究.
安徽省教育廳自然科學(xué)研究重點(diǎn)項(xiàng)目(KJ2016A764).
10.3969/i.issn.1674-5403.2017.01.020
TP391
A
1674-5403(2017)01-0075-05