《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于FPGA的數據采集系統設計
基于FPGA的數據采集系統設計
海軍駐西安導彈設備軍事代表室
葛 澎,王 壟
摘要: 摘要:提出一種基于FPGA技術的多路模擬量、數字量采集與處理系統的設計方案,分析整個系統的結構,并討論FPGA內部硬件資源的劃分和軟件的設計方案等。本設計方案外部電路結構簡單可靠,特別適用于多路檢測系統中,而
Abstract:
Key words :

摘要:提出一種基于FPGA技術的多路模擬量、數字量采集與處理系統的設計方案,分析整個系統的結構,并討論FPGA內部硬件資源的劃分和軟件的設計方案等。本設計方案外部電路結構簡單可靠,特別適用于多路檢測系統中,而且可以根據需要容易地對系統進行擴展,對于檢測系統來講具有一定的通用性。
關鍵詞:FPGA;A/D采集;數字量采集;Verilog HDL語言設計

0 引言

在電氣測控系統中,常常需要采集各種模擬量信號、數字量信號,并對它們進行相應的處理。一般情況下,測控系統中用普通MCU(如51、196等單片機或控制型DSP)就可以完成系統任務,但當系統中要采集的信號量特別多時(特別是各種信號量、狀態量),僅僅靠用普通MCU的資源就往往難以完成任務。本文所提出的一種基于FPGA技術的模擬量、數字量采集與處理系統,利用FPGA的I/O端口多,且可以自由編程支配、定義其功能的特點,能很好地解決采集的信號路數多的問題。
 
1 系統組成
   
本系統中的外圍電路設計相對簡單、可靠,且鑒于FPGA自身的特點,系統具有較好的擴展性,在監測和控制系統中也具有一定的通用性。系統主要包括:FPGA芯片區、多路選擇與A/D采樣電路、時鐘電源區、PROM代碼下載電路等幾部分。結構示意如圖1所示。

1.jpg

2 FPGA芯片特點分析及資源分配
   
本系統中的FPGA是采用Altera公司的EP1C20F400。該系列的內核采用1.5 V供電,I/O端口供電電壓為3.3V。

FPGA內部資源劃分為四大部分,如圖2所示。

2.jpg

(1)FPGA邏輯運算中心。用來接收其他各部分的數據,并按照程序中設定的方案對所收到的數據進行相應的分析和處理。包括:對從MCU接收來的數據指令進行分析,并按其指令要求進行相應操作;接收A/D采樣來的數據,對數據進行處理,存儲等工作。
   
(2)A/D控制單元。主要負責控制外部A/D芯片和多路開關的選通時序,以及實現對A/D采要過程的合理控制,利用FPGA實現A/D自動采集與數據存儲。
   
(3)數字量監測控制單元。負責所有要監視和控制的數字量的狀態數據的采集和控制命令的輸出。這一部分主要實現數字量輸出的控制、數字量輸入的存儲、數字量輸入狀態變化識別(中斷輸入)。
   
(4)FPGA接口邏輯控制單元。在FPGA內部設計了FPGA模塊與外界MCU的接口單元,該部分主要用于同CPU的接口,使數據采集系統可以方便的與PCI、ISA及其他總線連接。

3 模擬量采集的控制與管理
  
在模擬量采集外圍電路中,A/D芯片采用的是AD公司的AD976A。多路模擬量是通過AD438的多路開關后輸入到AD976A芯片的。
   
A/D采樣部分可分為:寄存器組、時鐘發生模塊、采樣控制狀態機、數據存儲模塊。

3.1 寄存器組
   
寄存器組用于設置/讀取A/D的工作狀態,包括:采樣頻率設置寄存器、工作模式選擇寄存器、工作狀態寄存器及FIFO中斷寄存器。
   
(1)采樣頻率設置寄存器Frereg1,Frereg2(R/W):兩個16位寄存器,用于設置12路A/D的采樣頻率,其位含義如下:
   
頻率設置如下:

3.jpg

4.jpg
   
為保留位。
   
(2)工作模式選擇寄存器modereg(R/W)。176位寄存器,用于設置A/D的工作模式和啟動、停止FPGA,各位的定義如下:
   
   
(3)FIFO中斷寄存器(fifo_int)(R):16位寄存器,用來記錄FIFO的狀態,各位定義如下:
   
3.2 時鐘發生模塊
   
(1)把時鐘分頻為1 MHz時鐘,作為狀態機的工作時鐘;  
(2)生成20 Hz,50 Hz,100 Hz時鐘并結合Frereg的值給出12路A/D啟動中斷信號。

3.3 采樣控制狀態機

每個A/D用一個采樣控制狀態機,用于自動控制A/D的數據采集。其狀態轉換圖如圖3所示。

6.jpg
IDLE:空閑狀態。
READ:temp=intreg,進入下一狀態
WAIT:等待中斷,如果中斷寄存器(intreg)不為0,進入下一狀態,否則返回READ。
SHIFT:根據temp[0]的值進行下一步操作,若temp[0]=0則temp>>1,同時通道計數器(counter)加1;若temp[0]=1,則根據counter的值給出通道選擇信號,進入下一狀態。
START:發出RC=0信號,進入下一狀態。
W_BLISY:RC=1,等待A/D轉換結束信號,如果結束,temp>>1,發出寫FIFO信號,進入下一狀態。
END:無效FIFO寫信號,若temp=0,表明已無中斷,coutnter=0,進入WAIT;否則,counter+1,進入SHIFT。

3.4 數據存儲模塊

用于存儲A/D轉換結果,對于每路A/D用一個FIFO。

4 數字采集模塊

數字采集模塊主要完成數字量輸入的采集與存儲,中斷信號狀態識別功能。其原理圖如圖4所示。

7.jpg


5 結論
   
本文提出了一種基于FPGA技術的多路模擬量、數字量采集與處理系統,設計了相應的外圍硬件電路和系統處理軟件。在仿真和綜合調試成功的基礎上,本系統成功用于某重點預研項目的控制系統試驗中。試驗結果表明,本系統成功地完成了對多路模擬量、數字量的采集處理任務。
 

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 亚洲va久久久噜噜噜久久狠狠| 波多野结衣的av一区二区三区| 美女扒开大腿让男人桶| 第一福利官方导航大全| 波多野结衣1区| 朝鲜女人性猛交| 打扑克又痛又叫原声| 天天综合网网欲色| 国产精品va无码免费麻豆| 国产丝袜第一页| 伊人久久青草青青综合| 亚洲一区二区三区播放在线| 久久88色综合色鬼| 99久久99热精品免费观看国产| 国产女同在线观看| 综合图区亚洲欧美另类小说| 波多野结衣mxgs-968| 日韩午夜小视频| 天天躁日日躁狠狠躁一区 | 日韩一级在线播放| 好妻子韩国片在线| 国产精品亚洲欧美一区麻豆| 国产91在线免费| 亚洲图片中文字幕| 中文字幕亚洲欧美专区| 99久久人妻精品免费二区| 邱淑芬一家交换| 欧美日韩国产一区二区三区欧| 日产乱码卡一卡2卡3卡.章节| 在线观看xxx| 四虎成人精品在永久免费| 亚洲日韩AV一区二区三区四区| 丰满肥臀风间由美357在线| 1000又爽又黄禁片在线久| 色国产在线视频一区| 欧美怡红院高清在线| 性欧美18-19sex性高清播放| 国产精品9999久久久久仙踪林 | 在线观看一级毛片| 国产一区二区三区在线电影| 亚洲婷婷在线视频|