<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è) > 嵌入式系統 > 設計應用 > 基于FPGA的高速數據采集系統的設計方案

基于FPGA的高速數據采集系統的設計方案

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

  1.引言

  傳統的,通常采用MCU或DSP作為控制模塊,來(lái)控制A/D,存儲器和其他一些外圍電路。這種方法編程簡(jiǎn)單,控制靈活,但缺點(diǎn)是控制周期長(cháng),速度慢。特別是當A/D本身的采樣速度比較快時(shí),MCU的慢速極大地限制了A/D高速性能的使用。MCU的時(shí)鐘頻率較低并且用軟件實(shí)現數據的采集,軟件運行時(shí)間在整個(gè)采樣時(shí)間中占的比例很大,使得采樣速率較低。

  隨著(zhù)數據采集對速度性能的要求越來(lái)越來(lái)高,傳統的采集系統的弊端越來(lái)越明顯。本設計采用,各模塊設計使用VHDL語(yǔ)言,其各進(jìn)程間是并行的關(guān)系。它有MCU無(wú)法比擬的優(yōu)點(diǎn)。的時(shí)鐘頻率高,全部控制邏輯由硬件完成,實(shí)現了硬件采樣,速度快。

  2.系統的總體設計

  本,采用+MCU的結構,主控邏輯模塊用FPGA來(lái)實(shí)現,在系統中對A/D器件進(jìn)行采樣控制,起到連接采樣電路和MCU的橋梁作用,數據處理、遠程通信及液晶顯示控制等由MCU來(lái)完成。FPGA把傳統的純粹以單片機軟件操作形式的數據采集變成硬件采集。

  首先用VHDL語(yǔ)言來(lái)設計狀態(tài)機,用MCU來(lái)啟動(dòng)狀態(tài)機,使其控制A/D器件,實(shí)現數據采集。并將采集到的數據存儲到FPGA內部的數據緩存區FIFO中。當FIFO存儲已滿(mǎn)時(shí),狀態(tài)機控制FIFO停止數據寫(xiě)入,并通知單片機取走采集數據進(jìn)行下一步處理。這種設計思想大大減輕了單片機的軟件運行時(shí)間,提高了采集速率。這里,把6路模擬信號采集任務(wù)作為快任務(wù),把用于系統自檢的6路檢測量信號作為慢任務(wù)。為了使快任務(wù)的優(yōu)先級高于慢任務(wù),本系統設計兩個(gè)狀態(tài)機分別實(shí)現快任務(wù)和慢任務(wù)的數據采集,并由單片機生成PWM波,分別控制兩個(gè)狀態(tài)機。系統的總體框圖如圖1所示:

  

  3.系統主要器件的選擇

  3.1 FPGA芯片選型及依據

  FPGA實(shí)現主控邏輯控制,要求響應速度快,效率高??刹捎肁LTERA公司的ACEX1K系列EP1K5O芯片,最高工作頻率可達250MHz.

  該系列芯片的特點(diǎn)是將LUT(查找表)和EAB(嵌入式陣列)相結合,提供了效率最高而又廉價(jià)的結構?;贚UT的邏輯對數據路徑管理、寄存器強度、數學(xué)計算或數字信號處理的設計提供優(yōu)化的性能和效率,而EBA可實(shí)現RAM(隨機讀寫(xiě)存儲器)、ROM(只讀存儲器)、雙口RAM或FIFO(先人先出存儲器)功能,使得ACEX1K適合復雜邏輯以及有存儲、緩沖功能的。

  3.2 ADC芯片選型及依據

  數據采集系統的輸入信號多數都來(lái)源于現場(chǎng)傳感器的輸出信號,傳感器種類(lèi)不一,致使信號特性也不同,各通道信號的幅度與頻率范圍有很大的不同,高精度的、大動(dòng)態(tài)范圍的A/D轉換芯片使設計更能滿(mǎn)足測量的需要。本設計中A/D轉換模塊選用的AD574A是美國模擬數字公司(Analog)推出的單片高速12位逐次比較型A/D轉換器,轉換速率:25us,內置雙極性電路構成的混合集成轉換顯片,具有外接元件少,功耗低,精度高等特點(diǎn),并且具有自動(dòng)校零和自動(dòng)極性轉換功能,只需外接少量的阻容件即可構成一個(gè)完整的A/D轉換器。

  4.FPGA方案設計

  4.1 設計思想

  用VHDL語(yǔ)言來(lái)設計兩個(gè)狀態(tài)機,狀態(tài)機1來(lái)控制A/D實(shí)現快任務(wù)的采集,狀態(tài)機2來(lái)完成慢任務(wù)采集。兩個(gè)狀態(tài)機的時(shí)鐘信號CLK(高電平有效)均來(lái)自單片機生成的PWM波,狀態(tài)機1直接由單片機控制,狀態(tài)機2則是由單片機經(jīng)反向器來(lái)控制。首先置P1.0口為高電平,并用定時(shí)器來(lái)產(chǎn)生中斷,使P1.0口產(chǎn)生PWM波。當P1.0口為高電平時(shí)啟動(dòng)狀態(tài)機1,此時(shí)狀態(tài)機2不動(dòng)作;當快任務(wù)采樣完成后,由定時(shí)器產(chǎn)生中斷,將P1.0口置為低電平,此時(shí)狀態(tài)機2動(dòng)作,來(lái)完成慢任務(wù)采集。下一個(gè)周期完成同樣的操作。對應快任務(wù)的采集數據緩存在快任務(wù)FIFO,慢任務(wù)的采集數據緩存在慢任務(wù)FIFO里,單片機讀對應的FIFO數據來(lái)進(jìn)行相應處理。

  4.2 各模塊的設計

  根據以上的設計思想,FPGA系統的硬件設計模塊主要有狀態(tài)機模塊,FIFO設計模塊[4-5].

  下面具體給出硬件原理設計。

  4.2.1 狀態(tài)機的設計

  該設計過(guò)程主要是建立采集所需要的硬件電路,等待時(shí)鐘信號的到來(lái)便立刻啟動(dòng)A/D進(jìn)行工作。了解了AD574A的工作時(shí)序,就可以寫(xiě)出狀態(tài)機的采樣控制狀態(tài)??刂茽顟B(tài)編碼表如表1所示。


上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: FPGA 數據采集系統

評論


相關(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>