當(dāng)前位置:首頁 > EDA > 電子設(shè)計自動化
[導(dǎo)讀]摘 要:設(shè)計一款基于FPGA的高速實時數(shù)據(jù)采集系統(tǒng),該系統(tǒng)采用FPGA作為控制器,主要完成通道選擇控制及增益設(shè)置、A/D轉(zhuǎn)換控制、數(shù)據(jù)緩沖異步FIFO三部分功能。系統(tǒng)采用Verilog HDL語言,通過軟件編程控制硬件實現(xiàn)通道

摘 要:設(shè)計一款基于FPGA的高速實時數(shù)據(jù)采集系統(tǒng),該系統(tǒng)采用FPGA作為控制器,主要完成通道選擇控制及增益設(shè)置、A/D轉(zhuǎn)換控制、數(shù)據(jù)緩沖異步FIFO三部分功能。系統(tǒng)采用Verilog HDL語言,通過軟件編程控制硬件實現(xiàn)通道的選擇和可編程增益放大器放大倍數(shù)的設(shè)置,利用FPGA內(nèi)部自帶的RAM設(shè)計16位的FIFO,實現(xiàn)數(shù)據(jù)的緩沖存儲。這種基于FPGA的同步采集、實時讀取采集數(shù)據(jù)的方案,可以提高系統(tǒng)采集和傳輸速度。系統(tǒng)的仿真驗證結(jié)果顯示,所設(shè)計的高速實時數(shù)據(jù)采集系統(tǒng)達(dá)到了預(yù)期的功能。
關(guān)鍵詞:數(shù)據(jù)采集系統(tǒng);FPGA;DSP;FIFO


O 引 言
    隨著信息技術(shù)的飛速發(fā)展,各種數(shù)據(jù)的實時采集和處理在現(xiàn)代工業(yè)控制和科學(xué)研究中已成為必不可少的部分。在信號測量、圖像處理、音頻信號處理等一些高速、高精度的測量中都需要進行高性能的數(shù)據(jù)采集。
    傳統(tǒng)的數(shù)據(jù)采集系統(tǒng)往往采用單片機或數(shù)字信號處理器(DSP)作為控制器,控制模/數(shù)轉(zhuǎn)換器(ADC)、存儲器和其他外圍電路的工作。但由于單片機本身的指令周期以及處理速度的影響,其時鐘頻率較低,各種功能都要靠軟件的運行來實現(xiàn),軟件運行時間在整個采樣時間中占有很大的比例,效率較低,很難滿足系統(tǒng)對數(shù)據(jù)采集系統(tǒng)實時性和同步性的要求。然而基于DSP的數(shù)據(jù)采集系統(tǒng),雖然處理速度快,但成本較高,過于頻繁的中斷會使CPU的效率降低,響應(yīng)速度變差。
    采用可編程邏輯器件設(shè)計數(shù)據(jù)采集系統(tǒng),具有開發(fā)周期短,集成度高,功耗低,工作頻率高,設(shè)計費用低,編程配置靈活等一系列優(yōu)點。此外,還可以在FPGA芯片內(nèi)進行采集控制、緩沖、處理、傳輸控制、通信。但采用FPGA作為數(shù)據(jù)采集系統(tǒng)的控制器也存在一些問題,主要是一般都要外掛數(shù)據(jù)緩沖區(qū),降低了系統(tǒng)的傳輸速度,同時增加了成本。這里給出一種基于FPGA的同步采集、實時讀取采集數(shù)據(jù)的數(shù)據(jù)采集方案,提高了系統(tǒng)采集和傳輸速度。FPGA作為數(shù)據(jù)采集系統(tǒng)的控制器,其主要完成通道選擇控制、增益設(shè)置、A/D轉(zhuǎn)換控制、數(shù)據(jù)緩沖異步FIFO四部分功能。


l 主要器件的選取
1.1 可編程增益放大器的選取
    由于傳感器輸出的信號一般比較微弱,為了能利用模/數(shù)轉(zhuǎn)換器的滿量程分辨率,需要將傳感器輸出的微弱信號放大,由于每個通道輸出的信號一般不同,所以對每個通道提供的放大倍數(shù)也要不同。選用可編程增益放大器PGA202/203級聯(lián)來為各個通道提供不同的放大倍數(shù)。PGA202/203是增益可數(shù)字控制的單片集成放大器,其中PGA202的增益范為1,10,100,1 000(10進制);PGA203的增益范為1,2,4,8(二進制)。采用PGA202/203級聯(lián)可實現(xiàn)1~8 000等16種不同的放大倍數(shù),完全能滿足對不同信號采用不同的放大倍數(shù)以及對較寬范圍內(nèi)信號的檢測要求以及微弱信號的采集的要求。
1.2 A/D轉(zhuǎn)換器的選取
    A/D轉(zhuǎn)換器決定數(shù)據(jù)采集系統(tǒng)的精度和分辨率,所以A/D轉(zhuǎn)換器的選取尤為重要。選取A/D轉(zhuǎn)換器需要考慮的因數(shù)主要有分辨率、精度、速度、電源要求、接口及轉(zhuǎn)換器的類型等。
    因逐次逼近型A/D轉(zhuǎn)換器具有轉(zhuǎn)換速度快,精度較高,靈活和價格適中的特點,因此綜合考慮精度、速度和成本后,選用選用TI公司生產(chǎn)的專門用于數(shù)據(jù)采集系統(tǒng)的逐次逼近型16位A/D轉(zhuǎn)換器ADS8322。其主要性能指標(biāo)如下:分辨率為16位;采樣率最大為500 kHz;內(nèi)帶2.5 V的基準(zhǔn)源;單極性輸入;內(nèi)帶采樣保持器;低功耗;在采樣率為500 kHz時,功耗為85 mw;16位數(shù)據(jù)并行輸出。ADS8322的最小時鐘周期為100 ns;最大采集時間為0.4μs;最大轉(zhuǎn)換時間為1.6μs;最大數(shù)據(jù)通過率為500 kHz。從由ADS8322的性能指標(biāo)可以看出,ADS8322非常適合用于高速、高精度的數(shù)據(jù)采集系統(tǒng)中。
1.3 FPGA芯片的選取
    FPGA主要用于控制整個系統(tǒng)協(xié)調(diào)工作。作為數(shù)據(jù)采集系統(tǒng)的控制器,主要負(fù)責(zé)控制A/D工作轉(zhuǎn)換、通道選擇、增益設(shè)置、作為數(shù)據(jù)采集系統(tǒng)的緩沖存儲器等。綜合考慮芯片性能和成本,選用A1tera公司的新一代低成本FPGA-CycloneⅡ系列EP2C50F484芯片,CycloneⅡFPGA是基于StratixⅡ的90 nm工藝推出的低成本FPGA。其在cyclone的基礎(chǔ)上增加了硬的DSP塊,最大的CycloneⅡ規(guī)模是Cyclone的3倍,在芯片總體性能上要優(yōu)于Cyclone系列器件。EP2C50F484芯片具有50 528個邏輯單元,86個嵌入式18×18乘法器模塊,4個鎖相環(huán),129個。M4K RAM,4個時鐘控制塊,16個全局時鐘網(wǎng)絡(luò),總的RAM空間為594 432位,最大用戶可用I/O引腳數(shù)294個。使得CycloneⅡ適合用于復(fù)雜邏輯以及有存儲、緩沖功能的數(shù)據(jù)采集系統(tǒng)中。


2 系統(tǒng)整體結(jié)構(gòu)
    系統(tǒng)整體框圖如圖1所示。

    整個系統(tǒng)由信號調(diào)理、采集轉(zhuǎn)換、定時和邏輯控制、緩沖存儲、以及高速數(shù)據(jù)傳輸接口等部分組成。信號調(diào)理電路主要包括信號放大和信號濾波電路,因為傳感器輸出的信號通常比較微弱,為了能充分利用A/D轉(zhuǎn)換器的滿量程分辨率,就需要對輸入信號進行放大。由于對不同的輸入信號一般需要不同的放大倍數(shù),所以信號放大選用可編程增益放大器來完成??删幊淘鲆娣糯笃鞯姆糯蟊稊?shù)由FPGA編程控制;信號濾波則根據(jù)香農(nóng)定理的要求??紤]到A/D的轉(zhuǎn)換速率,對輸入信號的帶寬進行限制,以防止采樣信號產(chǎn)生“混疊現(xiàn)象”;采集轉(zhuǎn)換是用ADS8322轉(zhuǎn)換芯片完成模擬信號的數(shù)字化;定時和邏輯以及緩沖存儲都由FPGA來完成。FPGA主要負(fù)責(zé)采集通道的選擇、可編程增益放大倍數(shù)的控制、A/D轉(zhuǎn)換器的控制、采集數(shù)據(jù)的緩沖存儲等任務(wù)。高速數(shù)據(jù)傳輸總線選用USB總線,uSB總線可即插即用。uSB 2.0協(xié)議中,數(shù)據(jù)傳輸速率最大可達(dá)480 Mb/s,這完全能滿足高速數(shù)據(jù)采集和傳輸?shù)囊蟆?br />    基于Verilog設(shè)計的自動數(shù)據(jù)采集系統(tǒng)由硬件控制A/D轉(zhuǎn)換器以及自動向FIFO存儲器中存儲數(shù)據(jù)。采樣頻率由FPGA的輸出時鐘決定,當(dāng)FIFO中的數(shù)據(jù)寫滿時,F(xiàn)IFO的滿標(biāo)志(FULL)置1,數(shù)據(jù)通過USB總線傳輸?shù)接嬎銠C進行存儲,以待后續(xù)處理。由于先存入FIFO的數(shù)據(jù)先輸出,所以采集不會中斷,從而能實現(xiàn)連續(xù)的實時數(shù)據(jù)采集和實時數(shù)據(jù)處理。


3 仿真驗證結(jié)果
3.1 通道選擇及放大倍數(shù)設(shè)置
    通道選擇采用8選1數(shù)據(jù)選擇器來完成,通過輸入信號b[2:0]的不同組合選擇不同的通道(Charmel);通過PGA202/203的級聯(lián),在PGA202/PGA203的放大倍數(shù)控制端a3a2/a1a0不同組合時,設(shè)置不同的放大倍數(shù)。例如,在a3a2 a1 a0=0000,設(shè)置增益gain為1;在a3 a2 al a0=0001,設(shè)置增益gain為2;在…a3a2al a0=11ll時,設(shè)置增益gain為8 000。增益gain可以從l~8 000設(shè)置,如波形圖2中所示。較大范圍增益的設(shè)置可實現(xiàn)對較寬范圍內(nèi)信號的檢測以及微弱信號的采集。在Modelsim SE 6.1b軟件中進行了FPGA控制通道選擇及增益設(shè)置的仿真,仿真波形如圖2所示。

3.2 FPGA控制ADS8322轉(zhuǎn)換的設(shè)計
    根據(jù)ADS8322的工作轉(zhuǎn)換時序圖,用VerilogHDL編寫了FPGA控制ADS8322轉(zhuǎn)換的程序。在QuartusⅡ7.2軟件中進行了編譯綜合;在ModelsimSE 6.1b中進行了波形仿真,其仿真波形如圖3所示。由仿真波形可以看出,其完全符合ADS8322的工作時序。

3.3 存儲和傳輸模塊設(shè)計
    FPGA內(nèi)部自帶594 432位的RAM可作為數(shù)據(jù)緩沖存儲器,這樣可以充分利用FPGA的資源,提高系統(tǒng)的運行速度和節(jié)約系統(tǒng)成本,EP2C50F484芯片最大可用I/O引腳數(shù)達(dá)294個,用Verilog語言在EP2C50F484內(nèi)部設(shè)計一個異步的FIFO(先入先出存儲器)。在設(shè)計異步FIFO時,不可能僅靠設(shè)置一個計數(shù)器來記錄FIFO剩余空間的增減,因為不可能讓兩個不同時鐘控制同一個變量。所以必須通過比較讀寫指針來確定FIFO是空、是滿,還是處于其他狀態(tài)。由于在空狀態(tài)和滿狀態(tài)時,讀指針和寫指針都相同,所以采取在每個指針前增加1個比特位來區(qū)別空狀態(tài)和滿狀態(tài)的方法。如果寫指針遞增到超出了FIFO的末地址,新增加的比特位就改變1次,讀指針也一樣。這樣,如果就兩個指針的最高位不同,就表示FIFO處于滿狀態(tài);如果兩個指針完全相同,就表示處于空狀態(tài)。
3.3.1 FIFO指針的設(shè)計
    如果FIFO指針的增減采用二進制計數(shù)方式,在計數(shù)器增或減1時,就有可能出現(xiàn)不只1個比特位發(fā)生變化(如1011~1100)的情況,在一個時鐘沿同步多個變化的信號比較困難?;谶@個問題,采用格雷碼計數(shù)法來改變指針,在每次時鐘轉(zhuǎn)換時只改變指針的1個比特位。
3.3.2 FIFO的軟件程序
    FIFO的軟件程序由5個程序模塊組成,即頂層模塊(fifo)、存儲模塊(fifomem)、讀指針同步模塊(sync_r)、寫指針同步模塊(sync_w)和空狀態(tài)判斷模塊(r_empty)、滿狀態(tài)判斷模塊(w_full)。每個模塊均采用vetilog語言編程,在QuartusⅡ7.2中完成編譯和綜合,并在ModelSim SE 6.1b進行波形仿真。存儲模塊的仿真波形如圖4所示,由波形可以看出,先進入存儲器的數(shù)據(jù)(wdata)先輸出;讀地址(radder)和寫地址(wadder)可以相同也可以不同。由仿真波形可看出,設(shè)計的FIFO達(dá)到了預(yù)期的功能。

4 結(jié) 語
    實現(xiàn)了基于FPGA的高速實時數(shù)據(jù)采集系統(tǒng)設(shè)計。采用FPGA作為數(shù)據(jù)采集系統(tǒng)的控制核心,通過軟件編程控制硬件實現(xiàn)通道的選擇;通過可編程增益放大器實現(xiàn)放大倍數(shù)的控制;利用FPGA控制實現(xiàn)A/D轉(zhuǎn)換,并給出控制轉(zhuǎn)換波形。由此可見,控制波形完全符合ADS8322的轉(zhuǎn)換時序,達(dá)到設(shè)計的目的。利用FPGA內(nèi)部的自帶RAM來設(shè)計16位的FIFO,可實現(xiàn)數(shù)據(jù)的緩沖存儲,充分利用系統(tǒng)資源,節(jié)約系統(tǒng)成本,具有良好的可移植性和可擴展性,便于調(diào)試和修改。此外,基于先入先出存儲器(FIFO)的先人先出特性,可以實現(xiàn)數(shù)據(jù)的實時高速采集。在高速實時數(shù)據(jù)采集方面有較好的應(yīng)用前景。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉