楊小平,李永紅,劉志剛,嚴(yán)洪立,李率真
(1.成都信息工程大學(xué) 電子工程學(xué)院,四川 成都 610225;2.杭州旗捷科技有限公司,浙江 杭州310000)
?
嵌入式多通道高速采集及脈沖提取系統(tǒng)設(shè)計(jì)*
楊小平1,李永紅1,劉志剛1,2,嚴(yán)洪立1,李率真1
(1.成都信息工程大學(xué) 電子工程學(xué)院,四川 成都 610225;2.杭州旗捷科技有限公司,浙江 杭州310000)
提出了一種以FPGA和ARM處理器為核心的嵌入式多通道高速采集及脈沖提取系統(tǒng)設(shè)計(jì)的新方法。該系統(tǒng)主要應(yīng)用于電力設(shè)備局部放電檢測(cè),監(jiān)測(cè)電力設(shè)備運(yùn)行情況。系統(tǒng)主要實(shí)現(xiàn)用3種工作模式(正常工作模式、長(zhǎng)記錄模式和觸發(fā)模式)實(shí)時(shí)采集、處理電信號(hào),并根據(jù)采樣后得到的數(shù)據(jù)和脈沖波形來(lái)判斷被測(cè)信號(hào)是否正常工作。整個(gè)采集系統(tǒng)可實(shí)現(xiàn)100 MS/s的高速采樣,具有穩(wěn)定性高、實(shí)時(shí)性強(qiáng)、易于擴(kuò)展、便于攜帶等特點(diǎn)。
多通道高速采集;脈沖提取;FPGA
引用格式:楊小平,李永紅,劉志剛,等. 嵌入式多通道高速采集及脈沖提取系統(tǒng)設(shè)計(jì)[J].微型機(jī)與應(yīng)用,2016,35(11):87-89.
數(shù)據(jù)采集,尤其是高速數(shù)據(jù)采集,在工業(yè)自動(dòng)化控制、醫(yī)療器械、室內(nèi)環(huán)境監(jiān)測(cè)和軍事監(jiān)控等領(lǐng)域已經(jīng)得到了廣泛的應(yīng)用。傳統(tǒng)的數(shù)據(jù)采集系統(tǒng),通常是以單片機(jī)或者DSP為核心控制器,實(shí)現(xiàn)對(duì)數(shù)據(jù)信息的采集。隨著信息科技的發(fā)展,大眾對(duì)信息數(shù)據(jù)的實(shí)時(shí)性、穩(wěn)定性等要求越來(lái)越高。而單片機(jī)的時(shí)鐘頻率較低、速度較慢并且軟件采用順序?qū)崿F(xiàn)模式,從而使得數(shù)據(jù)采集速度低,進(jìn)而影響整個(gè)系統(tǒng)的效率。雖然DSP有較高的運(yùn)算處理速度,然而它很難完成對(duì)復(fù)雜外圍器件的控制。而FPGA(現(xiàn)場(chǎng)可編程門(mén)陣列)有單片機(jī)和DSP難以超越的優(yōu)勢(shì),F(xiàn)PGA時(shí)鐘頻率高、內(nèi)部延時(shí)小、集成度高、全部控制邏輯由硬件完成、速度快、效率高[1]。
考慮到FPGA的諸多優(yōu)勢(shì),本文提出了一種以FPGA和ARM處理器為核心的嵌入式多通道高速采集及脈沖提取系統(tǒng)設(shè)計(jì)方案。系統(tǒng)有觸摸屏LCD和顯示器兩種顯示和下發(fā)配置命令方式。將該方案應(yīng)用于電力設(shè)備局部放電檢測(cè),通過(guò)采集和提取有效脈沖來(lái)實(shí)時(shí)監(jiān)測(cè)電力設(shè)備的工作狀態(tài)。這一設(shè)計(jì)對(duì)安全用電及電力行業(yè)有重大的實(shí)用價(jià)值。
本數(shù)據(jù)采集系統(tǒng)基于FPGA+ARM架構(gòu)。FPGA(XC6SLX75)外圍電路主要包括一個(gè)四通道100 MS/s采樣率、串行差分輸入輸出的AD(ADS6424),一片ARM(AM3359)控制器和一片DDR2(MT47H128M16)128 MB地址空間的存儲(chǔ)器,用于存儲(chǔ)采樣數(shù)據(jù)[2]。如圖1所示。
圖1 采集系統(tǒng)總體框圖
圖1中,S1~S4為4路模擬信號(hào)輸入端,為了得到較準(zhǔn)確的脈沖信號(hào),本設(shè)計(jì)使S1~S3作為信號(hào)輸入端,S4作為噪聲信號(hào)輸入端,通過(guò)前3路和第4路的比較進(jìn)而有效地濾除噪聲。TTL信號(hào)作為相位信息,F(xiàn)PGA需要檢測(cè)是否有該同步信號(hào)并通知ARM。A/D轉(zhuǎn)換器前端的信號(hào)調(diào)理用來(lái)實(shí)現(xiàn)對(duì)輸入模擬信號(hào)的放大、衰減、濾波及輸入阻抗匹配,從而達(dá)到AD將模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào)的要求。系統(tǒng)工作過(guò)程為:首先PC下發(fā)命令指令經(jīng)ARM送到FPGA,配置FPGA的工作模式、采樣率等;其次,AD將轉(zhuǎn)換后的數(shù)字信號(hào)送給FPGA,F(xiàn)PGA經(jīng)過(guò)運(yùn)算處理提取有效脈沖信號(hào)存儲(chǔ)到DDR2中,然后向ARM發(fā)中斷命令,ARM通過(guò)GPMC總線提取DDR2中的數(shù)據(jù);最后ARM通過(guò)網(wǎng)絡(luò)或USB將數(shù)據(jù)傳輸給PC顯示[3]。
2.1FPGA設(shè)計(jì)
FPGA設(shè)計(jì)流程:系統(tǒng)上電后,F(xiàn)PGA首先初始化配置ADS6424芯片,然后將AD轉(zhuǎn)換后的數(shù)據(jù)由串行轉(zhuǎn)為并行再經(jīng)過(guò)相應(yīng)的算法處理得到有效的脈沖,將得到的脈沖存儲(chǔ)在DDR2中,再通過(guò)GPMC總線接口送給ARM。ARM控制器負(fù)責(zé)與用戶上位機(jī)程序通過(guò)網(wǎng)口或USB進(jìn)行通信,給FPGA下達(dá)控制指令。根據(jù)上述流程以及FPGA要實(shí)現(xiàn)的功能,整個(gè)FPGA邏輯設(shè)計(jì)可劃分為5個(gè)模塊,分別為ADC初始化模塊Ad_init;ADC數(shù)據(jù)接收模塊Data_rec;ARM接口模塊 Gpmc_inst;數(shù)據(jù)處理模塊Data_prc;數(shù)據(jù)存儲(chǔ)模塊Data_str。如圖2所示。
圖2 FPGA邏輯設(shè)計(jì)模塊
2.1.1ADC初始化模塊Ad_init
ADC初始化模塊用于對(duì)ADS6424芯片進(jìn)行復(fù)位及初始化配置來(lái)滿足AD正常工作,該模塊只在上電時(shí)或者系統(tǒng)復(fù)位時(shí)調(diào)用一次,并與Data_rec模塊協(xié)調(diào)工作用于600 Mb/s串行數(shù)據(jù)的低壓差分信號(hào)(LVDS)數(shù)據(jù)對(duì)位。
2.1.2數(shù)據(jù)輸入模塊Data_rec
數(shù)據(jù)輸入模塊接收ADC輸入的串行數(shù)據(jù)和時(shí)鐘,并將4路AD差分串行數(shù)據(jù)經(jīng)SERDES(串并轉(zhuǎn)換器)轉(zhuǎn)換為并行數(shù)據(jù)發(fā)送給Data_prc模塊。Data_rec模塊與Data_prc模塊之間有FIFO用于同步AD采樣的100 MHz時(shí)鐘和FPGA內(nèi)部處理數(shù)據(jù)的100 MHz時(shí)鐘。
2.1.3數(shù)據(jù)處理模塊Data_prc
數(shù)據(jù)處理模塊內(nèi)部包含3個(gè)子模塊,分別用于三種工作狀態(tài),各種工作狀態(tài)的數(shù)據(jù)和控制信號(hào)獨(dú)立,接口根據(jù)工作狀態(tài)選擇異步開(kāi)關(guān)進(jìn)行切換。
(1)正常工作狀態(tài)。正常工作情況下抗干擾脈沖提取算法如下:
①根據(jù)設(shè)置的閾值做背景噪聲的濾除;
②根據(jù)與噪聲通道的比較判斷是有用信號(hào)還是噪聲;
③判斷是否是方波信號(hào),如果是方波信號(hào)則去除;
④將提取出的有用脈沖段及相位信息上傳給ARM。
具體說(shuō)明:根據(jù)設(shè)置的閾值得到脈沖1~3,對(duì)得到的脈沖段與噪聲通道做比較,只比較同相位的值,如果信號(hào)通道的值大于噪聲通道的值,則認(rèn)為是有用信號(hào),否則是噪聲,需要被濾除。如圖3所示,脈沖3的信號(hào)通道的值小于噪聲通道,需要被濾除。如果脈沖是方波,如脈沖2,也要被濾除。對(duì)提取出的有用的脈沖段如脈沖1,在傳輸至ARM時(shí)需要做如下處理:從第一個(gè)過(guò)閾值的點(diǎn)向前取55個(gè)點(diǎn),向后取200個(gè)點(diǎn),共取256個(gè)點(diǎn),這樣保證取出來(lái)的脈沖段是一個(gè)完整的脈沖段[4-5]。
圖3 信號(hào)通道及噪聲通道的波形
(2)長(zhǎng)時(shí)間記錄。系統(tǒng)啟動(dòng)后,根據(jù)輸入的時(shí)鐘和寫(xiě)使能寫(xiě)DDR2,將對(duì)應(yīng)通道的AD采集數(shù)據(jù)輸入到FPGA,并對(duì)數(shù)據(jù)點(diǎn)數(shù)進(jìn)行計(jì)數(shù),達(dá)到30兆個(gè)數(shù)據(jù)點(diǎn)則停止存儲(chǔ),并向ARM發(fā)送中斷信號(hào)。長(zhǎng)記錄模式根據(jù)設(shè)置的采樣率和采樣時(shí)間,將采集到的點(diǎn)不做任何處理上傳給ARM,再通過(guò)ARM經(jīng)由網(wǎng)絡(luò)上傳至PC,PC設(shè)置相關(guān)通道的閾值。長(zhǎng)記錄采集模式的目的是得到各通道的背景噪聲值,方便設(shè)置閾值。
(3)觸發(fā)記錄。系統(tǒng)啟動(dòng)后,根據(jù)輸入的時(shí)鐘和寫(xiě)使能寫(xiě)DDR2,達(dá)到一個(gè)時(shí)間長(zhǎng)度則進(jìn)行循環(huán)存儲(chǔ)。將輸入的數(shù)據(jù)進(jìn)行逐點(diǎn)判斷,當(dāng)達(dá)到觸發(fā)條件時(shí),計(jì)算出讀取DDR2的首地址,并根據(jù)剩余采樣點(diǎn)數(shù)進(jìn)行計(jì)數(shù),達(dá)到采樣點(diǎn)數(shù)后則停止存儲(chǔ),并向ARM發(fā)送中斷信號(hào)。
2.1.4指令解析模塊Gpmc_inst
采用100 MHz時(shí)鐘對(duì)ARM的Gpmc接口進(jìn)行鎖存,解析ARM的輸入指令,并根據(jù)讀信號(hào)和地址信號(hào)返回寄存器的狀態(tài)值,或者DDR2存儲(chǔ)器內(nèi)的數(shù)據(jù)。通過(guò)這個(gè)模塊與ARM進(jìn)行通信。
2.1.5數(shù)據(jù)存儲(chǔ)模塊Data_str
該模塊負(fù)責(zé)DDR2存儲(chǔ)器的讀寫(xiě),采用MPMC的IP核,通過(guò)NPI接口進(jìn)行控制,將輸入的16 bit數(shù)據(jù)字拼接成64 bit寬度寫(xiě)入DDR2存儲(chǔ)器,輸出時(shí)根據(jù)讀使能信號(hào)取出DDR2中的數(shù)據(jù),并將64 bit的數(shù)據(jù)拆成4個(gè)16 bit數(shù)據(jù),按照順序輸出。數(shù)據(jù)存儲(chǔ)模塊沒(méi)有地址輸入接口,其內(nèi)部只是簡(jiǎn)單的地址遞加,當(dāng)復(fù)位后,地址歸零。
2.2ARM設(shè)計(jì)
在該設(shè)計(jì)中ARM主要有兩個(gè)作用,一是擔(dān)當(dāng)中間件,承上啟下,一方面接收PC命令,協(xié)議解析后配置給FPGA,另一方面將FPGA傳過(guò)來(lái)的數(shù)據(jù),打包上傳給PC。傳輸支持USB和網(wǎng)絡(luò)兩種方式,USB包和UDP包采用相同的應(yīng)用層協(xié)議。另一個(gè)是在不用PC的情況下,ARM作為上位機(jī)通過(guò)智能觸摸屏LCD顯示器下發(fā)命令配置FPGA,且FPGA也將采集到的數(shù)據(jù)和有效脈沖上傳給ARM,做相應(yīng)的處理后通過(guò)LCD呈現(xiàn)。
2.2.1硬件部分
ARM部分結(jié)構(gòu)如圖4所示。本設(shè)計(jì)采用兩種ARM啟動(dòng)方式,一種是從SD卡啟動(dòng),另一種是從NandFlash啟動(dòng),兩種方式可通過(guò)撥碼開(kāi)關(guān)切換。GPMC接口主要是連接FPGA和ARM,使其順利通信;DDR2起緩存數(shù)據(jù)作用;NandFlash用于存儲(chǔ)系統(tǒng)及應(yīng)用文件等;ARM支持網(wǎng)口和USB1兩種方式與PC通信;USB2用于連接U盤(pán)將數(shù)據(jù)導(dǎo)出;觸摸屏LCD主要用于顯示波形和下發(fā)指令;預(yù)留RS485、RS422用于后期擴(kuò)展功能[6]。
圖4 ARM部分結(jié)構(gòu)圖
2.2.2應(yīng)用部分
用QT(跨平臺(tái)的C++應(yīng)用程序開(kāi)發(fā)框架)開(kāi)發(fā)設(shè)計(jì)GUI(圖形用戶界面),界面主要包括配置FPGA各種工作模式、設(shè)置采樣參數(shù)以及顯示有效脈沖等。如圖5所示。
圖5 配置系統(tǒng)工作界面
本文給出了一種以FPGA+ARM處理器為核心的嵌入式多通道高速采集及脈沖提取系統(tǒng)設(shè)計(jì)的新方法,詳細(xì)闡述了系統(tǒng)設(shè)計(jì)流程和工作模式。經(jīng)過(guò)長(zhǎng)時(shí)間的測(cè)試和檢測(cè),該系統(tǒng)可以實(shí)現(xiàn)數(shù)據(jù)的高速多通道采集及脈沖的提取。此設(shè)備可以應(yīng)用于多種相關(guān)數(shù)據(jù)采集及分析的場(chǎng)合,有觸摸屏LCD和顯示器兩種顯示方式,具有穩(wěn)定性高、實(shí)時(shí)性強(qiáng)、易于擴(kuò)展、便于攜帶的特點(diǎn)。目前,該設(shè)備已應(yīng)用于電力設(shè)備局部放電檢測(cè),可以實(shí)現(xiàn)二維圖形顯示,后續(xù)將開(kāi)發(fā)三維圖形顯示應(yīng)用。
[1] 張偉,韓一明,吳新玲.基于FPGA的高速數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)[J].電力情報(bào),2002,4(3):46-49.
[2] 滕巖峰,周雪峰.帶USB 接口的100MHz高速數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].微計(jì)算機(jī)信息,2006,22(20):227-229.
[3] 劉小林,范育兵,羅春暉.基于FPGA的多通道數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)[J].電子技術(shù)應(yīng)用,2009,35(7):42-44.
[4] 徐文波,田耘.Xilinx FPGA開(kāi)發(fā)使用教程(第2版)[M].北京:清華大學(xué)出版社,2012.
[5] 李宗海,陳蜀宇,李海偉.嵌入式Linux系統(tǒng)在ARM平臺(tái)上的構(gòu)建[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2010,19(10):153-157.
[6] CORBET J, RUBINI A.Linux設(shè)備驅(qū)動(dòng)程序(第三版)[M].魏永明,耿岳,鐘書(shū)毅,譯.北京:中國(guó)電力出版社,2006.
Design of embedded multi-channel high-speed acquisition and pulse extraction system
Yang Xiaoping1,Li Yonghong1,Liu Zhigang1,2,Yan Hongli1,Li Shuaizhen1
(1.School of Electronic Engineering, Chengdu University of Information Technology, Chengdu 610225, China; 2. Hangzhou Chipjet Technology Co., Ltd, Hangzhou 31000,China)
A new method for the design of embedded multi-channel high-speed acquisition and pulse extraction system based on FPGA and ARM is proposed in this paper. The system is mainly used in partial discharge detection of power equipment, and to monitor the running status of power equipment.The system acquires real-time data and processes electrical signals with three kinds of working modes (normal working mode, long record mode and trigger mode),and according to the data obtained from the sampling and pulse waveform,the system determines whether the measured signal works normally. The whole acquisition system can realize high speed (100 MS/s) sampling with high stability, has the performance of strong real-time, easy to expand, easy to carry and so on.
multi-channel high-speed acquisition; pulse extraction; FPGA
四川省科技支撐計(jì)劃(14ZC0596);四川省科技創(chuàng)新苗子工程資助項(xiàng)目(2014052)
TP274
A
10.19358/j.issn.1674- 7720.2016.11.026
2016-01-07)
楊小平(1989-),男,碩士研究生,主要研究方向:信號(hào)與信息處理。