文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2012)02-0066-04
隨著信息技術(shù)的發(fā)展以及數(shù)字集成電路速度的提高,,實(shí)時(shí)處理大量數(shù)據(jù)已經(jīng)成為現(xiàn)實(shí),但在一些特殊條件下,,無(wú)法實(shí)時(shí)傳輸數(shù)據(jù),,必須使用存儲(chǔ)測(cè)試方法。該方法是在不影響被測(cè)對(duì)象或在允許的范圍下,,將微型存儲(chǔ)測(cè)試系統(tǒng)置入被測(cè)體內(nèi),,現(xiàn)場(chǎng)實(shí)時(shí)完成信息的快速采集與存儲(chǔ),并回收存儲(chǔ)器,,由計(jì)算機(jī)處理,,再現(xiàn)被測(cè)信息的一種動(dòng)態(tài)測(cè)試技術(shù)[1]。實(shí)際應(yīng)用中,,由于在不同的條件下對(duì)采樣速率和采樣精度的要求有所不同,,系統(tǒng)的實(shí)現(xiàn)方法也各有特點(diǎn)。為了增加系統(tǒng)數(shù)據(jù)回收的可靠性,,本文介紹了基于雙備份存儲(chǔ)的數(shù)據(jù)采集存儲(chǔ)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)方法,。
1 技術(shù)要求
在某飛行體遙測(cè)系統(tǒng)中,為了獲取飛行體的參數(shù),需要設(shè)計(jì)一種數(shù)據(jù)采集存儲(chǔ)系統(tǒng),,要求實(shí)現(xiàn)對(duì)23路模擬信號(hào)的采集,、編幀存儲(chǔ)。要求輸入信號(hào)電平為0~5 V,,系統(tǒng)總采樣率為245.76 kHz, 記錄時(shí)間不小于500 s,,對(duì)速變信號(hào)的采樣率為5.12 kHz,緩變信號(hào)的采樣率為160 Hz, 23路模擬量信號(hào)輸入中包括9路速變信號(hào)和14路緩變信號(hào)。
2 整體方案的設(shè)計(jì)
信號(hào)采集存儲(chǔ)系統(tǒng)是基于雙備份的數(shù)據(jù)存儲(chǔ)器設(shè)計(jì)而成,,整個(gè)系統(tǒng)以FPGA為核心控制器,,控制數(shù)據(jù)的采集,、編幀存儲(chǔ)。系統(tǒng)結(jié)構(gòu)如圖1所示,。
2.1采編器電路的設(shè)計(jì)
采編器[2]主要完成對(duì)各種被測(cè)信號(hào)的采集,,并對(duì)數(shù)據(jù)進(jìn)行實(shí)時(shí)編碼、邏輯控制和實(shí)時(shí)存儲(chǔ)控制,,分為速變,、緩變信號(hào)采集模塊和采集控制模塊,兩者通過(guò)內(nèi)部總線相連,。
速變,、緩變信號(hào)采集模塊主要完成23路輸入模擬信號(hào)的調(diào)理、選擇,、A/D采集等功能,包括輸入接口電路,、濾波跟隨電路、模擬通道切換電路,、信號(hào)調(diào)理電路等,。
采集控制模塊完成模擬信號(hào)的A/D采集控制、編幀,、內(nèi)部時(shí)序控制等功能,,包括長(zhǎng)線接口電路、控制電路,、存儲(chǔ)器接口電路,、幀結(jié)構(gòu)下載電路等。
采編器的主控器件采用XC2S100E型現(xiàn)場(chǎng)可編程門陣列(FPGA),該器件體積小,、功耗低,、內(nèi)部延時(shí)小,全部控制邏輯由硬件自動(dòng)完成,,編程配置靈活,,可實(shí)現(xiàn)程序的并行執(zhí)行,因而可大大提高系統(tǒng)的工作性能,。該采編器的電壓采集范圍為0~+5 V,,采集精度不低于0.1%。由于FPGA本身不具備A/D轉(zhuǎn)換模塊,,因此各通道的模擬信號(hào)分別經(jīng)信號(hào)調(diào)理電路后,,由模擬多路開關(guān)ADG506選擇模擬通道,再經(jīng)外部高速AD7667實(shí)現(xiàn)A/D轉(zhuǎn)換,,轉(zhuǎn)換的數(shù)據(jù)在FPGA內(nèi)編幀后輸出到存儲(chǔ)器中,。具體的每幀數(shù)據(jù)由各路模擬信號(hào)和幀標(biāo)記FDB1 8540組成。采編器的電源由電源模塊提供的5 V電壓經(jīng)TPS70351調(diào)理后產(chǎn)生,。
采編器電路框圖如圖2所示,。
2.2存儲(chǔ)器電路的設(shè)計(jì)
存儲(chǔ)器主要完成數(shù)據(jù)的存儲(chǔ)功能,,存儲(chǔ)器包括兩套獨(dú)立的存儲(chǔ)電路A、B片,,兩者互為備份,。每套存儲(chǔ)器內(nèi)包括與采編器相連的長(zhǎng)線接口,、FPGA和Flash存儲(chǔ)芯片,。該雙備份設(shè)計(jì)能進(jìn)一步提高數(shù)據(jù)回收的可靠性。
存儲(chǔ)器電路框圖如圖3所示,。
技術(shù)要求總采樣率約250 kHz,,記錄時(shí)間不小于500 s, A/D采集的有效位數(shù)為16 bit,,則一個(gè)采樣周期(即4 μs)產(chǎn)生的數(shù)據(jù)量為2 B,, 則1 s的數(shù)據(jù)量為1×106×2/4=500 000 B,則500 s內(nèi)的記錄數(shù)據(jù)量為2.5×108 B=238.5 MB, 可見容量為256 MB的閃存芯片便可滿足記錄要求,,本設(shè)計(jì)采用SAMSANG公司的Flash存儲(chǔ)芯片K9K8G08U0M,,存儲(chǔ)容量達(dá)1 GB,是為了留出存儲(chǔ)余量,,這樣就為以后系統(tǒng)的升級(jí)和擴(kuò)展提供可行性解決方案,。
3系統(tǒng)軟件設(shè)計(jì)
3.1采集控制邏輯的設(shè)計(jì)
對(duì)于多通道異步時(shí)分采集這種形式的電路,由于在電子開關(guān)切換的過(guò)程中存在著串?dāng)_,,信號(hào)受到該串?dāng)_后,,濾波放大器的輸出在ADC采樣前未穩(wěn)定至其應(yīng)有的精度,就會(huì)對(duì)ADC的采樣有影響,,從而影響采集精度,。所以,為了解決串?dāng)_問題,,只有在實(shí)踐的基礎(chǔ)上,,靠經(jīng)驗(yàn)去選擇合適的運(yùn)放,或者是通過(guò)硬件與系統(tǒng)軟件優(yōu)化相結(jié)合的方法尋找解決途徑,。
在確保系統(tǒng)采樣率的前提下,,本設(shè)計(jì)通過(guò)硬件與軟件相結(jié)合的方法來(lái)解決串?dāng)_問題。硬件上采集模塊選擇SR(壓擺率)較高的運(yùn)放LF247作為濾波跟隨器,,軟件上則以并行的工作方式確保采樣前采樣通道信號(hào)的穩(wěn)定,,即在時(shí)序設(shè)計(jì)上,主程序中采用了兩個(gè)進(jìn)程:(1)完成數(shù)據(jù)的轉(zhuǎn)換,、幀計(jì)數(shù)和數(shù)據(jù)的傳輸,; (2)根據(jù)幀計(jì)數(shù)frame_cnt控制通道地址信號(hào)a和p進(jìn)行通道切換。這兩個(gè)進(jìn)程并行執(zhí)行,。
FPGA采集控制邏輯流程圖如圖4所示,。其中,,a為通道選擇輸出,接ADG506的通道選擇控制端(A3~A0),;P為ADG506選通信號(hào),接ADG506的片選端(EN),。
由于存儲(chǔ)器采用雙備份設(shè)計(jì)以及對(duì)兩片存儲(chǔ)器的寫入操作完全相同,故采集控制邏輯中分別有控制A,、B片存儲(chǔ)器的控制信號(hào)wrclkA和wrclkB,,數(shù)據(jù)通過(guò)MAdata、MBdata分別存入存儲(chǔ)器的A,、B片中,,如圖5所示。
圖5[3]是FPGA的時(shí)序轉(zhuǎn)換圖,。其中,,Convst為啟動(dòng)轉(zhuǎn)換信號(hào);Addr為通道地址,;byte信號(hào)用于控制數(shù)據(jù)并行輸出的模式,,低電平為低8位數(shù)據(jù),高電平為高8位數(shù)據(jù),;ADdata 連接到AD7667的數(shù)據(jù)輸出端,;數(shù)據(jù)通過(guò)ADdata輸入到FPGA。
圖5的數(shù)據(jù)轉(zhuǎn)換過(guò)程:A/D轉(zhuǎn)換器的數(shù)據(jù)采集是從Convst信號(hào)下降沿開始,,Convst下降沿啟動(dòng)對(duì)n-1通道的采樣轉(zhuǎn)換, 進(jìn)入轉(zhuǎn)換進(jìn)程后,,通道地址信號(hào)a和p根據(jù)幀計(jì)數(shù)切換到采集通道n, 在等待足夠的轉(zhuǎn)換時(shí)間t4后,AD7667在byte高電平的控制下從AD[7:0]輸出n-1通道高8位的轉(zhuǎn)換數(shù)據(jù),高8位數(shù)據(jù)在寫時(shí)鐘Wrclk的控制下,,以足夠的時(shí)間傳輸給緩存器,AD7667在byte低電平的控制下從AD[7:0]輸出n-1通道低8位的轉(zhuǎn)換數(shù)據(jù),低8位數(shù)據(jù)在寫時(shí)鐘Wrclk的控制下,,以足夠的時(shí)間傳輸給緩存器,并在傳輸?shù)耐瑫r(shí)進(jìn)入n通道的采集過(guò)程,,此時(shí)n通道信號(hào)在經(jīng)過(guò)了時(shí)間t3后,,已經(jīng)達(dá)到穩(wěn)定的電平。
在采集的過(guò)程中測(cè)得的Convst信號(hào)波形與運(yùn)放的輸出波形如圖6 (a),、(b)所示,。
在圖6 (a)、(b)中,CH1通道為Convst信號(hào),,頻率約為250 MHz(采樣周期4 μs),,CH2通道為運(yùn)放輸出信號(hào)。 圖6(c),、(d)分別為用LM224和LF247作為運(yùn)放時(shí)采集數(shù)據(jù)的回放波形,。從圖6 (a)、(b)可以看出,在開關(guān)切換的過(guò)程中,,運(yùn)算放大器輸出的信號(hào)存在劇烈抖動(dòng),。圖6(a)中測(cè)得的是用LM224作為濾波跟隨器(SR為0.3 V/?滋s)的輸出信號(hào),此濾波放大器的輸出抖動(dòng)直到ADC采樣前還未穩(wěn)定,,導(dǎo)致采集到的數(shù)據(jù)波形出現(xiàn)嚴(yán)重失真,,如圖6(c)所示;在圖6(b)中的豎線處,,運(yùn)放的輸出也存在一定的抖動(dòng),,然而,由于濾波運(yùn)放采用LF247(該運(yùn)放的SR為16 V/?滋s),其輸出在ADC采樣前已經(jīng)穩(wěn)定到極高的精度,,所以用該運(yùn)放作為濾波跟隨器采集到的數(shù)據(jù)波形非常準(zhǔn)確,,如圖6(d)所示,。
由此可以看出,,與傳統(tǒng)的流水線順序相比較,由于硬件描述語(yǔ)言VHDL進(jìn)程之間具有并發(fā)特性(進(jìn)程(1)與進(jìn)程(2)的并發(fā)性),,這樣就必然節(jié)省了通道切換,、采樣和保持的時(shí)間,同時(shí)結(jié)合硬件,,選擇合適的運(yùn)放,,即可保證ADC轉(zhuǎn)換之前轉(zhuǎn)換通道信號(hào)的穩(wěn)定,這就解決了通道串?dāng)_問題,。
3.2 存儲(chǔ)邏輯設(shè)計(jì)
存儲(chǔ)邏輯主要包括對(duì)Flash的擦除,、讀寫及識(shí)別無(wú)效塊??刂屏鞒虉D如圖7所示,。
存儲(chǔ)器默認(rèn)為讀狀態(tài),上電復(fù)位時(shí)間設(shè)置為0.8 s,復(fù)位完成則判斷是否處于寫狀態(tài),,若是,,則記錄采編器傳輸?shù)臄?shù)據(jù),若否,,則在讀請(qǐng)求信號(hào)有效時(shí)(低電平有效),,送出Flash芯片內(nèi)所存數(shù)據(jù),送完256 MB自動(dòng)停止,。若中間讀請(qǐng)求信號(hào)無(wú)效,,存儲(chǔ)器停止送數(shù),維持當(dāng)前狀態(tài),,并等待請(qǐng)求信號(hào)再次有效,。
當(dāng)存儲(chǔ)器處于寫狀態(tài)時(shí),A,、B片同時(shí)完成數(shù)據(jù)的記錄,;當(dāng)處于讀狀態(tài)時(shí),,在各自讀請(qǐng)求信號(hào)有效時(shí),分時(shí)復(fù)用采編器數(shù)據(jù)總線,,先后將兩套存儲(chǔ)器數(shù)據(jù)上傳,。1#存儲(chǔ)器為默認(rèn)優(yōu)先上傳存儲(chǔ)器,通過(guò)設(shè)置采編器通道切換信號(hào)為有電流狀態(tài),,可選擇2#存儲(chǔ)器上傳數(shù)據(jù),。
備用讀數(shù)狀態(tài)下,分別讀取兩套存儲(chǔ)器,。
4 測(cè)試試驗(yàn)
對(duì)數(shù)據(jù)采集存儲(chǔ)系統(tǒng)進(jìn)行炮擊試驗(yàn),,其目的是為了考核記錄器的外部結(jié)構(gòu)以及內(nèi)部電路板的抗過(guò)載能力。試驗(yàn)前,,采編器采集標(biāo)準(zhǔn)的模擬彈上信源(正弦波,、方波、直流量,、鋸齒波……依次循環(huán)),,并存入存儲(chǔ)器,然后將整個(gè)系統(tǒng)安裝在飛行體中,飛行體以極高的速度著靶,,測(cè)試采集存儲(chǔ)系統(tǒng)的沖擊過(guò)載能力,。試驗(yàn)后電路板正常無(wú)損壞,而其中一塊(B片)外部晶體振蕩器損壞,,因此,,存儲(chǔ)器采用雙時(shí)鐘源,正常情況下由晶體振蕩器提供時(shí)鐘源,,在存儲(chǔ)器回收后讀取數(shù)據(jù)時(shí),,若晶體振蕩器損壞,可由地面測(cè)試臺(tái)提供的備用時(shí)鐘作為存儲(chǔ)器時(shí)鐘源,,這樣就避免了回收存儲(chǔ)器后更換晶體振蕩器的麻煩,。試驗(yàn)完成后從A片存儲(chǔ)器中回收數(shù)據(jù),并與試驗(yàn)前的數(shù)據(jù)相比較,,結(jié)果一致,,再?gòu)腂片存儲(chǔ)器中回收數(shù)據(jù)(由于外部晶體振蕩器損壞,需用備用時(shí)鐘源),,與試驗(yàn)前的數(shù)據(jù)相比較,,其波形一致,如圖8所示,。圖8中列舉了其中4個(gè)通道T1~T4的電壓信號(hào),試驗(yàn)表明,,該系統(tǒng)具有很強(qiáng)的抗過(guò)載能力。
本文給出了基于雙備份存儲(chǔ)器的數(shù)據(jù)采集存儲(chǔ)系統(tǒng)的電路設(shè)計(jì)和控制邏輯設(shè)計(jì)。在工程實(shí)踐的基礎(chǔ)上,,對(duì)多通道異步時(shí)分電路的通道串?dāng)_現(xiàn)象提出了可行性的解決方案,,同時(shí)詳細(xì)地介紹了采用FPGA實(shí)現(xiàn)采集控制邏輯以及存儲(chǔ)邏輯的方法,也給出了采集控制邏輯的流程和存儲(chǔ)邏輯的設(shè)計(jì)流程,。通過(guò)飛行試驗(yàn),,該采集存儲(chǔ)系統(tǒng)采集了用來(lái)評(píng)估飛行器的各種技術(shù)指標(biāo)的有用數(shù)據(jù),實(shí)踐證明,,雙備份設(shè)計(jì)有效的提高了數(shù)據(jù)回收的可靠性,。
參考文獻(xiàn)
[1] 趙艷利,甄國(guó)涌,,文豐.多路數(shù)據(jù)采編存儲(chǔ)測(cè)試系統(tǒng)設(shè)計(jì)與應(yīng)用[J].電子設(shè)計(jì)工程,,2008(10):17-19.
[2] 李艷軍,郭正剛,,張志新.基于FPGA多通道同步數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)[J].微計(jì)算機(jī)信息,,2007,23(2):212-214.
[3] 鄭永秋,,李圣昆,,任勇峰.多通道高速高精度數(shù)據(jù)采集電路的設(shè)計(jì)與實(shí)踐[J].電測(cè)與儀表,,2011(9).
[4] OPPENHEIM A V, WILLSKY A S, NAWAB S H. Signal and systems[M]. 2nd edition. Prentice-Hall, 1996.
[5] 范旭明,,李喜軍,白效賢.先進(jìn)的機(jī)載PCM固態(tài)記錄器[J].測(cè)控技術(shù),2001,,20(8):12-14.