<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > EDA/PCB > 設計應用 > 基于FPGA的雙備份多路數據采集存儲系統的設計與實(shí)現

基于FPGA的雙備份多路數據采集存儲系統的設計與實(shí)現

作者: 時(shí)間:2016-10-18 來(lái)源:網(wǎng)絡(luò ) 收藏

隨著(zhù)信息技術(shù)的發(fā)展以及數字集成電路速度的提高,實(shí)時(shí)處理大量數據已經(jīng)成為現實(shí),但在一些特殊條件下,無(wú)法實(shí)時(shí)傳輸數據,必須使用存儲測試方法。該方法是在不影響被測對象或在允許的范圍下,將微型存儲測試系統置入被測體內,現場(chǎng)實(shí)時(shí)完成信息的快速采集與存儲,并回收存儲器,由計算機處理,再現被測信息的一種動(dòng)態(tài)測試技術(shù)[1]。實(shí)際應用中,由于在不同的條件下對采樣速率和采樣精度的要求有所不同,系統的實(shí)現方法也各有特點(diǎn)。為了增加系統數據回收的可靠性,本文介紹了基于雙存儲的數據采集的設計與實(shí)現方法。

本文引用地址:http://dyxdggzs.com/article/201610/308598.htm

1 技術(shù)要求

在某飛行體遙測系統中,為了獲取飛行體的參數,需要設計一種數據采集,要求實(shí)現對23路模擬信號的采集、編幀存儲。要求輸入信號電平為0~5 V,系統總采樣率為245.76 kHz, 記錄時(shí)間不小于500 s,對速變信號的采樣率為5.12 kHz,緩變信號的采樣率為160 Hz, 23路模擬量信號輸入中包括9路速變信號和14路緩變信號。

2 整體方案的設計

信號采集是基于雙的數據存儲器設計而成,整個(gè)系統以為核心控制器,控制數據的采集、編幀存儲。系統結構如圖1所示。

2.1采編器電路的設計

采編器[2]主要完成對各種被測信號的采集,并對數據進(jìn)行實(shí)時(shí)編碼、邏輯控制和實(shí)時(shí)存儲控制,分為速變、緩變信號采集模塊和采集控制模塊,兩者通過(guò)內部總線(xiàn)相連。

速變、緩變信號采集模塊主要完成23路輸入模擬信號的調理、選擇、A/D采集等功能,包括輸入接口電路、濾波跟隨電路、模擬通道切換電路、信號調理電路等。

采集控制模塊完成模擬信號的A/D采集控制、編幀、內部時(shí)序控制等功能,包括長(cháng)線(xiàn)接口電路、控制電路、存儲器接口電路、幀結構下載電路等。

采編器的主控器件采用XC2S100E型現場(chǎng)可編程門(mén)陣列(),該器件體積小、功耗低、內部延時(shí)小,全部控制邏輯由硬件自動(dòng)完成,編程配置靈活,可實(shí)現程序的并行執行,因而可大大提高系統的工作性能。該采編器的電壓采集范圍為0~+5 V,采集精度不低于0.1%。由于本身不具備A/D轉換模塊,因此各通道的模擬信號分別經(jīng)信號調理電路后,由模擬多路開(kāi)關(guān)ADG506選擇模擬通道,再經(jīng)外部高速AD7667實(shí)現A/D轉換,轉換的數據在FPGA內編幀后輸出到存儲器中。具體的每幀數據由各路模擬信號和幀標記FDB1 8540組成。采編器的電源由電源模塊提供的5 V電壓經(jīng)TPS70351調理后產(chǎn)生。

采編器電路框圖如圖2所示。

2.2存儲器電路的設計

存儲器主要完成數據的存儲功能,存儲器包括兩套獨立的存儲電路A、B片,兩者互為。每套存儲器內包括與采編器相連的長(cháng)線(xiàn)接口、FPGA和Flash存儲芯片。該雙備份設計能進(jìn)一步提高數據回收的可靠性。

存儲器電路框圖如圖3所示。

技術(shù)要求總采樣率約250 kHz,記錄時(shí)間不小于500 s, A/D采集的有效位數為16 bit,則一個(gè)采樣周期(即4 μs)產(chǎn)生的數據量為2 B, 則1 s的數據量為1×106×2/4=500 000 B,則500 s內的記錄數據量為2.5×108 B=238.5 MB, 可見(jiàn)容量為256 MB的閃存芯片便可滿(mǎn)足記錄要求,本設計采用SAMSANG公司的Flash存儲芯片K9K8G08U0M,存儲容量達1 GB,是為了留出存儲余量,這樣就為以后系統的升級和擴展提供可行性解決方案。

3系統軟件設計

3.1采集控制邏輯的設計

對于多通道異步時(shí)分采集這種形式的電路,由于在電子開(kāi)關(guān)切換的過(guò)程中存在著(zhù)串擾,信號受到該串擾后,濾波放大器的輸出在A(yíng)DC采樣前未穩定至其應有的精度,就會(huì )對ADC的采樣有影響,從而影響采集精度。所以,為了解決串擾問(wèn)題,只有在實(shí)踐的基礎上,靠經(jīng)驗去選擇合適的運放,或者是通過(guò)硬件與系統軟件優(yōu)化相結合的方法尋找解決途徑。

在確保系統采樣率的前提下,本設計通過(guò)硬件與軟件相結合的方法來(lái)解決串擾問(wèn)題。硬件上采集模塊選擇SR(壓擺率)較高的運放LF247作為濾波跟隨器,軟件上則以并行的工作方式確保采樣前采樣通道信號的穩定,即在時(shí)序設計上,主程序中采用了兩個(gè)進(jìn)程:(1)完成數據的轉換、幀計數和數據的傳輸; (2)根據幀計數frame_cnt控制通道地址信號a和p進(jìn)行通道切換。這兩個(gè)進(jìn)程并行執行。

FPGA采集控制邏輯流程圖如圖4所示。其中,a為通道選擇輸出,接ADG506的通道選擇控制端(A3~A0);P為ADG506選通信號,接ADG506的片選端(EN)。

由于存儲器采用雙備份設計以及對兩片存儲器的寫(xiě)入操作完全相同,故采集控制邏輯中分別有控制A、B片存儲器的控制信號wrclkA和wrclkB,數據通過(guò)MAdata、MBdata分別存入存儲器的A、B片中,如圖5所示。

圖5[3]是FPGA的時(shí)序轉換圖。其中,Convst為啟動(dòng)轉換信號;Addr為通道地址;byte信號用于控制數據并行輸出的模式,低電平為低8位數據,高電平為高8位數據;ADdata 連接到AD7667的數據輸出端;數據通過(guò)ADdata輸入到FPGA。

圖5的數據轉換過(guò)程:A/D轉換器的數據采集是從Convst信號下降沿開(kāi)始,Convst下降沿啟動(dòng)對n-1通道的采樣轉換, 進(jìn)入轉換進(jìn)程后,通道地址信號a和p根據幀計數切換到采集通道n, 在等待足夠的轉換時(shí)間t4后,AD7667在byte高電平的控制下從AD[7:0]輸出n-1通道高8位的轉換數據,高8位數據在寫(xiě)時(shí)鐘Wrclk的控制下,以足夠的時(shí)間傳輸給緩存器,AD7667在byte低電平的控制下從AD[7:0]輸出n-1通道低8位的轉換數據,低8位數據在寫(xiě)時(shí)鐘Wrclk的控制下,以足夠的時(shí)間傳輸給緩存器,并在傳輸的同時(shí)進(jìn)入n通道的采集過(guò)程,此時(shí)n通道信號在經(jīng)過(guò)了時(shí)間t3后,已經(jīng)達到穩定的電平。

在采集的過(guò)程中測得的Convst信號波形與運放的輸出波形如圖6 (a)、(b)所示。

圖6 (a)、(b)中,CH1通道為Convst信號,頻率約為250 MHz(采樣周期4 μs),CH2通道為運放輸出信號。 圖6(c)、(d)分別為用LM224和LF247作為運放時(shí)采集數據的回放波形。從圖6 (a)、(b)可以看出,在開(kāi)關(guān)切換的過(guò)程中,運算放大器輸出的信號存在劇烈抖動(dòng)。圖6(a)中測得的是用LM224作為濾波跟隨器(SR為0.3 V/?滋s)的輸出信號,此濾波放大器的輸出抖動(dòng)直到ADC采樣前還未穩定,導致采集到的數據波形出現嚴重失真,如圖6(c)所示;在圖6(b)中的豎線(xiàn)處,運放的輸出也存在一定的抖動(dòng),然而,由于濾波運放采用LF247(該運放的SR為16 V/?滋s),其輸出在A(yíng)DC采樣前已經(jīng)穩定到極高的精度,所以用該運放作為濾波跟隨器采集到的數據波形非常準確,如圖6(d)所示。

由此可以看出,與傳統的流水線(xiàn)順序相比較,由于硬件描述語(yǔ)言VHDL進(jìn)程之間具有并發(fā)特性(進(jìn)程(1)與進(jìn)程(2)的并發(fā)性),這樣就必然節省了通道切換、采樣和保持的時(shí)間,同時(shí)結合硬件,選擇合適的運放,即可保證ADC轉換之前轉換通道信號的穩定,這就解決了通道串擾問(wèn)題。

3.2 存儲邏輯設計

存儲邏輯主要包括對Flash的擦除、讀寫(xiě)及識別無(wú)效塊??刂屏鞒虉D如圖7所示。

存儲器默認為讀狀態(tài),上電復位時(shí)間設置為0.8 s,復位完成則判斷是否處于寫(xiě)狀態(tài),若是,則記錄采編器傳輸的數據,若否,則在讀請求信號有效時(shí)(低電平有效),送出Flash芯片內所存數據,送完256 MB自動(dòng)停止。若中間讀請求信號無(wú)效,存儲器停止送數,維持當前狀態(tài),并等待請求信號再次有效。

當存儲器處于寫(xiě)狀態(tài)時(shí),A、B片同時(shí)完成數據的記錄;當處于讀狀態(tài)時(shí),在各自讀請求信號有效時(shí),分時(shí)復用采編器數據總線(xiàn),先后將兩套存儲器數據上傳。1#存儲器為默認優(yōu)先上傳存儲器,通過(guò)設置采編器通道切換信號為有電流狀態(tài),可選擇2#存儲器上傳數據。

備用讀數狀態(tài)下,分別讀取兩套存儲器。

4 測試試驗

對數據采集存儲系統進(jìn)行炮擊試驗,其目的是為了考核記錄器的外部結構以及內部電路板的抗過(guò)載能力。試驗前,采編器采集標準的模擬彈上信源(正弦波、方波、直流量、鋸齒波……依次循環(huán)),并存入存儲器,然后將整個(gè)系統安裝在飛行體中,飛行體以極高的速度著(zhù)靶,測試采集存儲系統的沖擊過(guò)載能力。試驗后電路板正常無(wú)損壞,而其中一塊(B片)外部晶體振蕩器損壞,因此,存儲器采用雙時(shí)鐘源,正常情況下由晶體振蕩器提供時(shí)鐘源,在存儲器回收后讀取數據時(shí),若晶體振蕩器損壞,可由地面測試臺提供的備用時(shí)鐘作為存儲器時(shí)鐘源,這樣就避免了回收存儲器后更換晶體振蕩器的麻煩。試驗完成后從A片存儲器中回收數據,并與試驗前的數據相比較,結果一致,再從B片存儲器中回收數據(由于外部晶體振蕩器損壞,需用備用時(shí)鐘源),與試驗前的數據相比較,其波形一致,如圖8所示。圖8中列舉了其中4個(gè)通道T1~T4的電壓信號,試驗表明,該系統具有很強的抗過(guò)載能力。

本文給出了基于雙備份存儲器的數據采集存儲系統的電路設計和控制邏輯設計。在工程實(shí)踐的基礎上,對多通道異步時(shí)分電路的通道串擾現象提出了可行性的解決方案,同時(shí)詳細地介紹了采用FPGA實(shí)現采集控制邏輯以及存儲邏輯的方法,也給出了采集控制邏輯的流程和存儲邏輯的設計流程。通過(guò)飛行試驗,該采集存儲系統采集了用來(lái)評估飛行器的各種技術(shù)指標的有用數據,實(shí)踐證明,雙備份設計有效的提高了數據回收的可靠性。



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>