《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 業界動態 > 基于FPGA的同步數據采集處理系統的設計與實現

基于FPGA的同步數據采集處理系統的設計與實現

2009-05-14
作者:韓西寧, 許 暉, 焦留芳

??? 摘? 要: 針對目前多通道數據采集系統的局限,以EP1K50系列的FPGA為核心控制模塊, AD7656為模數轉化芯片實現了精度為16位、最大采集速率為250 kS/s的同步模擬信號采集系統,采用Flash存儲采集到的數據,且可以通過PC104總線將數據傳輸到上位機。給出了系統的電路設計、關鍵模塊邏輯圖以及軟件流程圖。?

??? 關鍵詞: 同步數據采集; AD7656; 現場可編程門陣列

?

??? 數據采集系統是工業控制等測控系統中不可或缺的組成部分,是影響測控系統精度等性能指標的關鍵因素之一。常用數據采集方案是以微處理器為核心控制多個通道的信號采集、預處理、存儲和傳輸,即用軟件實現數據的采集,這在一定程度上限制了數據采集的速度、效率及時序控制的精確性,同時一般的數據采集系統沒有數據處理模塊,不便于在某些環境下工作。本文研究的數據采集系統應用在某特定型號IC設備上,系統要求完成對6路信號的高速高精度同步采集,以滿足大約1h采集數據的存儲以及傳輸。鑒于FPGA功能強大、邏輯速度快、電路設計簡單、便于開發等優點,故采用FPGA為核心來控制ADC和Flash。?

1系統總體設計?

??? 本文設計的數據采集處理系統可分為A/D轉換部分、數據存儲處理部分以及整個電路的控制部分,如圖1所示。其中控制部分為最重要的環節。?

?

?

??? 該系統可以實現數據的采集、存儲以及傳輸功能。系統通過PC104總線接到上位機時,上位機通過PC104總線給控制元件FPGA開始采集的命令,FPGA先將Flash存儲器復位,再給A/D轉換器開始采集數據的命令,可將最多6路的同步最大頻率不超過250 kS/s的信號進行A/D轉換,采集到的數字信號經過FPGA的處理后存儲到Flash存儲器中。當采集完成時,將存儲器內的數據通過PC104總線傳輸到上位機,便于處理、回訪和保存。整個采集、存儲和傳輸過程由FPGA控制完成。?

2 主要元器件?

??? 數據采集芯片采用ADI公司的AD7656, AD7656為6通道16-bit逐次逼近型、低功耗、最大采集速率為250 kS/s的A/D轉換芯片[1]。FPGA選用Altera公司的EP1K50系列[2]。存儲元件NAND Flash采用AMD公司的AM29LV256M。?

3 電路設計方案?

??? 電路的設計方案包括FPGA外部電路的設計、FPGA的內部程序設計以及電路電源的設計等。FPGA的外部電路主要是與ADC、Flash、PC104總線的連接。?

3.1 電路整體設計圖?

??? AD7656在并行接口狀態下,基于FPGA的外圍電路連接,如圖2所示。?

?

?

??? 其中的DVCC和AVCC分別是數字電壓端和模擬電壓端,它們在接入前要經過1個如圖2所示的去耦電路,每個供電電壓輸入引腳都要連接1個去耦電路,該電路由1只10 μF和1只100 nF的電容器組成。VDD、VSS和VDRIVE同樣要連接去耦電路。當PC104總線提供的外部時鐘信號SYSCLK經過分頻后加到AD7656和FPGA上,在啟動數據采集之前,先初始化。啟動6通道同步采集,采集到的數據進入FPGA的FIFO緩存器,經過FPGA的處理。通過模擬的頻率、寫控制信號等,將數據存入NOR Flash進行暫存,當PC104總線啟動讀命令時,便可以將 Flash中的數據經過FPGA讀入上位機內。?

3.2 FPGA的設計?

??? EP1K50QC208是ACEX1K系列的FPGA,可定義管腳124個。FPGA采用全局頻率20 MHz,其需要定義的主要控制端口如表1所示。 ?

?

?

??? FPGA的設計分全局控制和局部控制。全局控制主要是FPGA接收來自PC104總線的各種信號,包括時鐘信號、讀寫信號等進行全局控制,系統是由晶振器提供給FPGA一個20 MHz的頻率,在FPGA內部經過分頻使用;局部控制包括ADC、Flash、PC104總線3個單元的控制。?

3.2.1? FPGA對ADC控制的設計?

??? FPGA對ADC的控制電路連接如圖3所示。通過程序啟動AD7656的CONVSTA/B/C和BUSY,當BUSY為1時,ADC開始進行數據采集。經過3μs完成一次數據采集后,BUSY為0,依次讀取6個通道上的數據,將數據通過IO_D0~IO_D15讀入FPGA的FIFO緩存器。

?

?

3.2.2? FPGA與Flash連接設計?

??? 設計中要將AM29LV256的管腳BYTE置為1,選用16位的模式。如圖4所示,當FIFO完成一次存儲,程序就檢查RY/BY,如RY/BY=1,啟動CE片使能、WE寫使能,將數據寫入Flash中,寫入一次,地址逐次遞增。地址由Flash進行分配。當上位機要求讀取Flash中某一地址段的數據時,啟動OE使能,讀時序產生器用于產生讀Flash時的時序,由于讀Flash的時序是固定的,只有地址是變化的,所以它接收地址產生器輸出的地址,產生相應的讀時序。讀時序由狀態機來控制,每次讀完一頁后復位,繼續讀下一頁。數據讀到尾時,整個讀狀態控制器復位,重新從數據的頭開始讀。將數據先讀入FPGA中,進行編碼,再通過FPGA定義的端口,經PC104總線存入上位機。?

?

?

3.2.3? FPGA與PC104總線的連接?

??? FPGA與PC104總線的連接如圖5所示,SD[0...15]為16位雙向數據總線,SA[1...23]為地址總線,IOR和IOW為I/O讀寫信號,XAEN 是允許DMA控制地址總線、數據總線和讀寫命令線進行DMA傳輸以及對存儲器和I/O設備的讀寫。PC104總線有嚴格的時序標準,在總線操作過程中,FPGA必須設計正確、標準的時序邏輯。PCI04總線的中斷請求信號IRQ=HINT取“非”,因為PC104設置為上升沿中斷。外部I/0準備好信號IORDY在地址選通有效過程中接HPI口的HRDY信號,地址選通無效時置為高阻態。?

?

?

??? EP1K50QC208芯片所需要的2.5 V和3.3 V電源由外部的5 V電壓經過電源電路獲得,電源電路設計如圖6所示。

?

?

??? FPGA要實現對整個電路的控制,必須通過VHDL語言編寫程序[4]。程序設計的流程圖如圖7所示。

?

?

??? 本文提出了一種基于FPGA控制的6通道同步數據采集處理系統。詳細說明了電路、FPGA與ADC、Flash以及PC104總線連接及邏輯設計。經過測試和仿真,該采集系統各通道高速數據流能夠正確采集和存儲,工作穩定,達到了設計期望的6通道、16位有效數位的同步數據采集。?

參考文獻?

[1]?Analog Devices.250 ks/s, 6-Channel, simultaneous sampling, bipolar 16-/14-/12-Bit D7656/AD7657/AD7658?data sheet. 2006.?

[2] Altera. ACEX 1K programmable logic device family data?sheet.2001.?

[3] 周潤京,圖雅,張麗敏.基于Quartus Ⅱ的FPGA/CPLD數字系統設計實例[M].北京:電子工業出版社,2007.?

[4] 王誠,吳繼華,范麗珍,等. Altera FPGA/CPLD設計(基礎篇)[M].北京:人民郵電出版社,2005.

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
主站蜘蛛池模板: 欧美一级高清在线观看 | 中文字幕成人免费高清在线 | 日本黄色片一级 | 国产在线精品人成导航 | 日本亚洲欧美在线 | 亚洲图片在线欧美专区图片 | 中国性猛交xxxxx免费看 | 五月综合色啪 | 二级黄色毛片 | 国产精品一区二区久久精品 | 成人国产片免费 | sao虎视频在线精品永久 | 一本中文字幕一区 | 香蕉视频国产精品人 | 精品免费国产一区二区三区 | 午夜高清福利 | 国产成人精品久久一区二区三区 | 黄色短视频网站 | 国产区1 | 欧美日韩在线观看免费 | 欧美色图日韩色图 | 怡红院视频在线 | 高清女女同性一区二区 | 欧美日韩三级在线 | 动漫成年美女黄漫网站国产 | 欧美一级高清片免费一级 | 欧美老妇69交 | 青草悠悠视频在线观看 | 久久免费99精品国产自在现线 | 亚洲高清一区二区三区久久 | 日b在线| 国产精品视频一区二区三区不卡 | 欧美一级一片 | 亚洲黄色网址大全 | 99在线免费观看 | 国产精品亚洲专区在线观看 | 最近中文字幕大全免费版在线 | 国产日韩在线观看视频 | 黄色视屏在线免费观看 | 海天翼精品一区二区三区 | 欧美性与交视频在线观看 |