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