REN Yongfeng,ZHANG Kaihua,CHENG Hailiang
(1.National Key Laboratory for Electronic Measurement Technology,North University of China,Taiyuan 030051,China; 2.The Vehicle Research Institute of Aerospace Long March,Beijing 100076,China)
Design of High-Speed Acquisition and Storage System Based on FPGA
REN Yongfeng1*,ZHANG Kaihua1,CHENG Hailiang2
(1.National Key Laboratory for Electronic Measurement Technology,North University of China,Taiyuan 030051,China; 2.The Vehicle Research Institute of Aerospace Long March,Beijing 100076,China)
For the mission of aircraft to identify the external environment and record the parameters,a method of the high-speed data acquisition and storage solutions was proposed based on FPGA.Through the reasonable circuit design of the AD9254,realized the high-speed acquisition of the video signal,the sampling rate is 132 Msample/s.Correcting the logic control of FPGA by the use of static simulation,and the problem of wrong data caused by the distortion clock in FPGA was solved.Two-stage pipeline of operation would be used at the storage of data,it can be written at a speed of 62 Mbyte/s.This system has been tested successfully in an engineering practice with high reliability and stability.
high speed data acquisition;video signal;static simulation;logic control;data storage
高速數(shù)據(jù)采集系統(tǒng)主要是針對(duì)視頻圖像信號(hào)的高速采集和數(shù)據(jù)存儲(chǔ)。采集記錄裝置應(yīng)用于飛行器在特定飛行狀態(tài)下對(duì)視頻信號(hào)的采集和記錄,可以完成模擬信號(hào)的采樣和采樣數(shù)據(jù)的保存系統(tǒng),屬于采集存儲(chǔ)測(cè)試領(lǐng)域和高速固態(tài)記錄器的研究范疇[1]。
采集記錄裝置由采編器、存儲(chǔ)器及傳輸電纜共同組成。采編器在配套地面測(cè)試臺(tái)控制信號(hào)(S1、S2、S3、S4)的控制下,負(fù)責(zé)I、Q通道視頻信號(hào)的高速采集、轉(zhuǎn)換,數(shù)字量信息包括時(shí)間參數(shù)等經(jīng)FPGA編碼后由LVDS傳送至存儲(chǔ)器存儲(chǔ)。設(shè)計(jì)采用14位ADC,高8位進(jìn)行采樣,采樣速率為132 Msample/s,精度為0.4%。高速的數(shù)據(jù)采集能力對(duì)數(shù)據(jù)存儲(chǔ)提出了較高要求。存儲(chǔ)器接收LVDS傳輸?shù)母咚贁?shù)據(jù)流,經(jīng)接口電路還原,優(yōu)化,解串后通過FPGA邏輯控制存入FLASH芯片,存儲(chǔ)器容量為8 Gbyte,存儲(chǔ)速度為62 Mbyte/s,其外殼采用高強(qiáng)度,抗過載的合金鋼,確保飛行器落地后能夠有效回收,采編器不進(jìn)行回收處理[2]。方案設(shè)計(jì)原理框圖如圖1所示。
根據(jù)采編器的功能需求,主處理器選用FPGA,可有效實(shí)現(xiàn)對(duì)ADC采集數(shù)據(jù)的接收、分組及編碼。選用ADI公司的AD9254芯片[3],該芯片具有單通道模擬輸入,14位數(shù)字輸出,采用外部時(shí)鐘源,最大時(shí)鐘頻率為150 MHz,有模擬和數(shù)字電源引腳,是一種低功耗器件。
圖1 方案設(shè)計(jì)原理框圖
采編器接收模擬信號(hào),其輸入形式可以采取以下幾種:
(1)單端輸入,模擬信號(hào)經(jīng)阻抗匹配、濾波加載到ADC輸入正極,正負(fù)極同時(shí)配置直流工作在AVDD/2。其優(yōu)點(diǎn)是節(jié)約設(shè)計(jì)成本,缺點(diǎn)是不能抑制共模噪聲,不能對(duì)輸入信號(hào)幅度進(jìn)行縮放。
(2)運(yùn)放配置成差分輸入,模擬信號(hào)采用差分輸入形式,通過前端運(yùn)放把單路信號(hào)轉(zhuǎn)換成差分信號(hào),經(jīng)阻抗匹配、濾波后傳送給ADC,共模電壓同樣配置成AVDD/2。其優(yōu)點(diǎn)是采用差分輸入形式,有效抑制了共模噪聲的影響;若采用倍數(shù)可調(diào)的運(yùn)放還可以增大輸入信號(hào)的幅度范圍;缺點(diǎn)是運(yùn)放在放大信號(hào)的同時(shí)也放大了噪聲。
(3)射頻變壓器配置成差分輸入,前端通過變壓器把單路信號(hào)轉(zhuǎn)換成差分信號(hào),匹配濾波后傳送給ADC,共模電壓同樣配置成AVDD/2。優(yōu)點(diǎn)是采用差分輸入,有效抑制了共模噪聲的影響,不會(huì)影響ADC的性能參數(shù),且電路簡(jiǎn)單。缺點(diǎn)是不能對(duì)輸入信號(hào)幅度進(jìn)行縮放。
經(jīng)上述3種方式綜合比較,選用電路簡(jiǎn)單,性能穩(wěn)定的射頻變壓器配置成差分信號(hào)輸入方式。采集通道I、Q均采用一片AD9254實(shí)現(xiàn),設(shè)計(jì)電路圖如圖2所示:clocknet0、cloclknet1為外部時(shí)鐘差分信號(hào)。
影響ADC數(shù)據(jù)采集的因素除了模擬信號(hào)的輸入外還有時(shí)鐘輸入。采集過程需要保證FPGA接收采樣數(shù)據(jù)時(shí)鐘和兩路ADC進(jìn)行模數(shù)轉(zhuǎn)換的時(shí)鐘一致,為此采用時(shí)鐘管理芯片AD9513。該款芯片具有多種電平模式及多路輸出接口,并且具有極低的時(shí)鐘抖動(dòng)性能,有助于提高系統(tǒng)穩(wěn)定性。采集電路時(shí)鐘信號(hào)由地面測(cè)試臺(tái)提供,經(jīng)電氣隔離及濾波傳送給AD9513,AD9513將時(shí)鐘信號(hào)一分為三,同時(shí)提供給FPGA和兩片AD9254。FPGA再在S1~S4信號(hào)的控制下將數(shù)字量數(shù)據(jù)緩存、分組、編碼后發(fā)送至存儲(chǔ)器存儲(chǔ)。
圖2 視頻信號(hào)輸入接口電路
采編器采集模塊主要功能是數(shù)據(jù)的接收、分組、編碼及輸出。FPGA需要完成對(duì)ADC采集數(shù)據(jù)的緩存和讀取,由于ADC采用高8位傳送數(shù)據(jù),系統(tǒng)每周期采樣時(shí)間為30 μs,傳送數(shù)據(jù)量為3 960 byte,設(shè)計(jì)采用4 kbyte FIFO實(shí)現(xiàn),寫FIFO的時(shí)鐘與數(shù)據(jù)接收時(shí)鐘一致為132 MHz,讀FIFO時(shí)鐘為采編器提供124 MHz,采用8位數(shù)據(jù)寫入,8位數(shù)據(jù)讀出的方式,讀取時(shí)間為31.9 μs,滿足下一周期采集數(shù)據(jù)到來之前將FIFO中的數(shù)據(jù)全部讀取。
采用上述方案對(duì)視頻模擬信號(hào)進(jìn)行采集,回讀存儲(chǔ)器數(shù)據(jù)后發(fā)現(xiàn)數(shù)據(jù)文件中有個(gè)別字節(jié)的誤碼出現(xiàn),通過ChipScope Pro對(duì)寫FIFO內(nèi)部時(shí)鐘信號(hào)和數(shù)據(jù)信號(hào)進(jìn)行觀測(cè),如圖3所示。
圖3中,clock在芯片內(nèi)部傳輸時(shí)出現(xiàn)占空比失真的情況[4],縮短了數(shù)據(jù)建立的時(shí)間,進(jìn)而保存了亞穩(wěn)態(tài)期間的數(shù)據(jù),因此要對(duì)clock添加約束[5],達(dá)到優(yōu)化時(shí)鐘信號(hào)傳輸質(zhì)量的目的,同時(shí)會(huì)增加邏輯用時(shí)以及布線用時(shí)。為減少地址線操作頻率,修改為16位數(shù)據(jù)寫入,8位數(shù)據(jù)讀出的操作方式。調(diào)整后的FIFO控制時(shí)序如圖4、圖5所示。
圖3 FPGA內(nèi)部數(shù)據(jù)和寫FIFO內(nèi)部時(shí)鐘信號(hào)
圖4 FIFO寫時(shí)序
圖5 FIFO讀時(shí)序
采集模塊工作是在S1~S4控制信號(hào)的時(shí)序配合下進(jìn)行的,時(shí)序同時(shí)被編碼到數(shù)據(jù)流中作為幀結(jié)構(gòu)[6]與采集數(shù)據(jù)一起記錄到存儲(chǔ)器中,用于數(shù)據(jù)文件的辨識(shí)。視頻信號(hào)采集的時(shí)序關(guān)系如圖6所示。
圖6 信號(hào)采集時(shí)序關(guān)系
采集模塊初始為預(yù)采集狀態(tài),S1為高電平時(shí)啟動(dòng)視頻信號(hào)采集。采集狀態(tài)顯示為1#狀態(tài)和2#狀態(tài),當(dāng)S2為高電平時(shí)處于1#狀態(tài),為低電平時(shí)處于2#狀態(tài)。S3信號(hào)同步每周期采樣的起始時(shí)刻。FPGA檢測(cè)到S4的上升沿時(shí)刻開始接收ADC芯片輸出的數(shù)據(jù),采樣時(shí)間保持30 μs。FPGA將每周期采樣數(shù)據(jù)編為一幀,并在尾部加入幀結(jié)構(gòu),內(nèi)容代表S1~S4信號(hào)的時(shí)間參數(shù)。
數(shù)據(jù)存儲(chǔ)部分設(shè)計(jì)雙存儲(chǔ)器分別用來存儲(chǔ)I、Q路的采集數(shù)據(jù),為保證數(shù)據(jù)的高速存儲(chǔ),每個(gè)存儲(chǔ)器都包含兩片F(xiàn)lash芯片[7],存儲(chǔ)方式采用二級(jí)流水線操作,這種操作方式是將一條指令分解成若干步驟,每個(gè)步驟的響應(yīng)在時(shí)間上是相互重疊的,可以在同一時(shí)刻執(zhí)行多條指令,顯著加快指令的響應(yīng)時(shí)間。兩片F(xiàn)lash芯片存儲(chǔ)的FPGA內(nèi)部邏輯框圖如圖7所示。
圖7 存儲(chǔ)器FPGA內(nèi)部邏輯框圖
在時(shí)序控制信號(hào)S4的控制下,存儲(chǔ)器將接收的數(shù)據(jù)分組,交替寫入FIFO1#和FIFO2#,在寫Flash1#的同時(shí)完成FIFO2#的緩存,在寫Flash2#的同時(shí)完成FIFO1#的緩存,存儲(chǔ)速度提高兩倍。單片F(xiàn)lash操作采用典型的雙片選交替雙平面編程的方式[8],寫入速度約為30.9 Mbyte/s,單個(gè)存儲(chǔ)器存儲(chǔ)速度約為62 Mbyte/s。
視頻信號(hào)采集記錄裝置應(yīng)用于彈上工作系統(tǒng),主要完成對(duì)脈沖信號(hào)的采集存儲(chǔ),在試驗(yàn)階段利用I、Q路通道同時(shí)采集由信號(hào)源產(chǎn)生的正弦信號(hào),經(jīng)高速數(shù)據(jù)采集電路存儲(chǔ)在記錄器中,將記錄器中的數(shù)據(jù)由上位機(jī)軟件回收,得到數(shù)據(jù)文件SP-I-20130826-2209-37.dat,如圖8所示。
圖8 正弦信號(hào)回收數(shù)據(jù)
觀察數(shù)據(jù)幀格式正確,操作軟件對(duì)該數(shù)據(jù)文件進(jìn)行分析并繪制圖形如圖9(a)所示,為采集到的正弦信號(hào)波形圖,觀察圖形波形穩(wěn)定,采集無異常。圖9(b)所示為針對(duì)飛行器在實(shí)際環(huán)境對(duì)脈沖信號(hào)的采集、存儲(chǔ)后的數(shù)據(jù)還原圖形,滿足采集記錄裝置對(duì)脈沖信號(hào)的采集要求,I、Q路信號(hào)相位一致性良好。
圖9
目前,飛行器在軍事領(lǐng)域的發(fā)展越來越快,在飛行試驗(yàn)中需要采集和記錄的數(shù)據(jù)量也越來越大,對(duì)采集記錄裝置的數(shù)據(jù)采集速度和存儲(chǔ)速度提出了較高要求,基于FPGA的高速數(shù)據(jù)采集記錄系統(tǒng)在這樣的環(huán)境下應(yīng)運(yùn)而生,經(jīng)過完整的地面聯(lián)試試驗(yàn),該系統(tǒng)已成功應(yīng)用于測(cè)試項(xiàng)目,圓滿完成任務(wù),驗(yàn)證了其設(shè)計(jì)的優(yōu)越性和可靠性,具有廣泛深遠(yuǎn)的應(yīng)用和研究?jī)r(jià)值。
[1]焦亞濤,李娜娜.一種高速固態(tài)存儲(chǔ)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].電測(cè)與儀表,2011,48(11):76-79.
[2]宋丹,任勇峰,姚宗.一種低功耗水下多通道實(shí)時(shí)采集存儲(chǔ)裝置的設(shè)計(jì)[J].電子器件,2013,36(4):502-505.
[3]李永麗.多通道高速數(shù)據(jù)采集及大容量存儲(chǔ)系統(tǒng)設(shè)計(jì)[D].西安電子科技大學(xué),2009.
[4]周海斌.靜態(tài)時(shí)序分析在高速FPGA設(shè)計(jì)中的應(yīng)用[J].電子工程師,2005,31(11):41-44.
[5]林昌輝,樊曉椏.FPGA設(shè)計(jì)中優(yōu)化時(shí)序的原則與方法[J].微處理機(jī),2007(3):6-13.
[6]儲(chǔ)成群.基于LVDS接口的高速數(shù)據(jù)記錄器的設(shè)計(jì)[D].中北大學(xué),2011.
[7]舒文麗,吳云峰,孫長(zhǎng)勝.基于NAND Flash的海量存儲(chǔ)器的設(shè)計(jì)[J].電子器件,2012,35(1):107-110.
[8]郭小兵,李圣昆,賈興中.基于彈載存儲(chǔ)系統(tǒng)的高速固態(tài)數(shù)據(jù)記錄器設(shè)計(jì)[J].微電子學(xué)與計(jì)算機(jī),2013,30(2):25-28.
張凱華(1991-),男,漢族,山西臨汾人,中北大學(xué)測(cè)試計(jì)量技術(shù)及儀器專業(yè)在讀碩士研究生,研究方向?yàn)殡娮訙y(cè)試儀器與系統(tǒng),kai.hua2008@163.com;
任勇峰(1968-),男,漢族,山西中陽人,教授,博士生導(dǎo)師,主要從事彈載固態(tài)記錄器和自動(dòng)測(cè)控臺(tái)等方向的研究工作。
EEACC:7210G10.3969/j.issn.1005-9490.2015.01.029
基于FPGA的高速數(shù)據(jù)采集存儲(chǔ)系統(tǒng)設(shè)計(jì)
任勇峰1*,張凱華1,程海亮2
(1.電子測(cè)試技術(shù)國(guó)家重點(diǎn)實(shí)驗(yàn)室,中北大學(xué),太原030051;2.北京航天長(zhǎng)征飛行器研究所,北京100076)
針對(duì)飛行器在飛行狀態(tài)下需要對(duì)外部環(huán)境進(jìn)行識(shí)別和參數(shù)記錄任務(wù),提出基于FPGA的高速數(shù)據(jù)采集存儲(chǔ)方案。通過對(duì)AD9254芯片前端電路進(jìn)行合理設(shè)計(jì),實(shí)現(xiàn)其對(duì)視頻信號(hào)的高速采集,采樣速率為132 Msample/s。利用FPGA靜態(tài)仿真實(shí)現(xiàn)邏輯控制的修正,解決了因內(nèi)部時(shí)鐘傳輸占空比失真而導(dǎo)致誤碼產(chǎn)生的問題。數(shù)據(jù)存儲(chǔ)采用二級(jí)流水線的操作方式,寫速率可達(dá)62 Mbyte/s。系統(tǒng)設(shè)備經(jīng)地面聯(lián)試試驗(yàn)已成功應(yīng)用于工程實(shí)踐,具有較高的可靠性和穩(wěn)定性。
高速數(shù)據(jù)采集;視頻信號(hào);靜態(tài)仿真;邏輯控制;數(shù)據(jù)存儲(chǔ)
TN92
A文獻(xiàn)標(biāo)識(shí)碼:1005-9490(2015)01-0135-05
2014-02-19修改日期:2014-03-10