《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于FPGA的DMA方式高速數據采集系統(tǒng)設計
基于FPGA的DMA方式高速數據采集系統(tǒng)設計
來源:電子技術應用2011年第12期
何 瓊1,陳 鐵1,程 鑫2
1.武漢軟件工程職業(yè)學院 電子系,湖北 武漢430074; 2.華中科技大學 數字制造與裝備國家重點實驗室,湖北 武漢430074
摘要: 提出了一種基于FPGA的DMA方式高速數據采集系統(tǒng)設計方案。該方案由底層控制器提供精確采樣時序,保證ADC器件的采樣吞吐;采用支持PCI協(xié)議的DMA方式的數據采集機制,優(yōu)化數據采集存儲及向上位機交互方式,以確保采集數據的高實時性。該方案具有良好的移植性,可應用于采樣速率高、數據采集量大、數據實時性要求高的數據采集系統(tǒng)。
中圖分類號: TN274
文獻標識碼: A
文章編號: 0258-7998(2011)12-0040-04
Design of DMA mode high-speed data acquisition system based on FPGA
He Qiong1,Chen Tie1,Cheng Xin2
1.Department of Electronic,Wuhan Vocational College of Software Engineering,Wuhan 430074,China; 2.State Key Lab of Digital Manufacturing Equipment & Technology,Huazhong University of Science & Technology, Wuhan 430074,China
Abstract: This paper proposes a design scheme of DMA mode high-speed real-time data acquisition system based on FPGA. Bottom layer microcontroller provides precise data sampling timing sequence to ensure ADC sampling throughout. Data sampling mechanism under DMA mode supports PCI interface protocol, which ensures systematic high real-time performance. The scheme has excellent portability, can be applied in the data acquisition system which requires high sampling rate, large amount of data and high real-time performance.
Key words : FPGA;DMA;high-speed;real-time;data acquisition system


    工業(yè)自動化設備的快速發(fā)展,對控制精度的要求越來越高,對數據采集的可靠性和實時性的要求也不斷提高。提高數據采集系統(tǒng)性能的方法有:(1)采用高性能的ADC器件,配合低噪聲、低靜態(tài)偏移的前端驅動電路,以達到極高的采樣吞吐和采樣分辨率。目前高端的ADC器件分辨率可達24 bit,采樣率已達40 GS/s[1]。(2)設計數據存儲為FIFO,以提高數據采樣實時性和數據存儲深度。(3)采用高速數據通信技術,完成由底層數據采集單元到上位計算機的數據傳輸,利用上位機軟件平臺進行數據的分析處理和多樣化的輸出顯示[2]。數據采集系統(tǒng)的性能瓶頸在于高速采樣數據實時存儲,以及上下位機間的數據傳輸能力。
    針對ADC器件,一般采用微控制器以指令方式控制其執(zhí)行時序,但微控制器的速度有限,而且一般需要3~4條指令完成一次數據采樣工作,制約了ADC的采樣吞吐[3]。如目前高性能的浮點型DSP TMS320C6713B的外部總線時鐘也僅為100 MHz[4],難以直接控制超過50 MS/s ADC器件的數據采樣或存儲。此外,微控制器對外訪問為標準時序,并不具備針對精密復雜采樣時序ADC器件的能力。而FPGA具有較高的運行主頻,用于控制底層器件的執(zhí)行時序,具備良好的接口能力,能最大限度地保障ADC的采樣率[5]。
    為保證數據采樣的實時性,應盡可能減少數據實時采集、預處理、存儲和傳輸過程中的時間開銷,需設計高性能的數據鏈路,一方面實現(xiàn)高速采樣數據的實時存儲,另一方面實現(xiàn)底層數據采集單元與上位機之間的數據交互。DMA(Direct Memory Access)方式由專用的DMA控制器完成多系統(tǒng)單元之間的快速數據交互,包括微處理器內核、存儲區(qū)、外部接口等,不占用大量的處理器時間,而且數據傳輸速率不受處理器執(zhí)行速度限制,能有效減輕處理器的負擔,提高數據傳輸的效率,從而提高系統(tǒng)性能[6]。
    本文提出了一種基于FPGA的DMA方式高速實時數據采集系統(tǒng)設計方案:基于FPGA實現(xiàn)高速ADC器件采樣時序控制與實時存儲;采用帶DMA控制器的PCI接口,將數據實時傳輸到上位機;數據采集、存儲與傳輸呈流水線方式進行。
1 數據采集系統(tǒng)總體結構
    DMA方式數據采集是指數據采集過程由底層數據采集單元完成,而數據采集結果不經過微處理器而被直接寫入系統(tǒng)內存。底層數據采集單元依照上位機設定而高效運行,對微處理器的依賴程度低,能有效節(jié)省上位機軟件開銷,且數據采集實時性高。
    數據采集系統(tǒng)的總體架構如圖1所示,其中PCI核、DMA控制器與A/D控制器均在FPGA內部實現(xiàn)。為實現(xiàn)多路并行采樣,可選用多片A/D器件并行處理的方式,在FPGA的高速狀態(tài)機控制下,完成模擬信號經過多片A/D器件流水轉換,并將數據采樣結果儲存到由Block RAM構建的高速緩沖RAM陣列中,采樣時序由FPGA生成,保證了多路并行采樣的高同步性。

    FPGA采用Altera公司的Cyclone IV系列 EP4CGX150,內部帶有6.3 MB嵌入式 Block RAM,支持最高頻率167 MHz的存儲區(qū)訪問,易于設計接口友好的存儲區(qū)[7]。在FPGA內部設計了數據FIFO用于實現(xiàn)總線速率匹配,PCI總線速率為32 bit、33 MHz,而數據采樣流水速率為16 bit、20 MHz。為提高總線利用率,需設計數據緩沖來實現(xiàn)不同速率數據傳輸之間的速度匹配,而數據緩沖的深度取決于采樣數據實時性要求。
    采用以上結構具有如下優(yōu)點:(1)底層A/D控制器提供精密采樣時序,保證了ADC器件的采樣吞吐,最大化地保證數據采樣的實時性;(2)采用帶DMA控制器的PCI接口與上位機進行數據交互,減少了上位機軟件負荷; (3)基于單片F(xiàn)PGA芯片設計,結構簡單而優(yōu)化,可靠性高,可降低成本。
2 數據采集系統(tǒng)的實現(xiàn)
2.1 PCI IP核

    PCI總線是獨立于處理器的32 bit或64 bit局部總線,在32 bit/33 MHz時,可達到132 MB/s的帶寬;在64 bit/66 MHz 時,可達到528 MB/s的帶寬[1]。通常PCI總線接口通過專用的PCI橋芯片或帶PCI控制器DSP器件(如TMS320C6205等)實現(xiàn)。
    Altera公司推出的 PCI Compiler 軟件包可以參數化地生成應用于PCI總線的IP核,基于該IP核可生成符合32 bit/33 MHz PCI 2.2規(guī)范的主從控制器,包含了PCI總線的全部功能,能實現(xiàn)總線協(xié)議的轉換,并將復雜的、時序要求高的PCI總線操作,轉換成易于使用本地總線(Local 總線)的接口邏輯[6]。
    PCI IP核的結構如圖2所示,包括:(1)配置寄存器:用于保存PCI設備的基本信息;(2)PCI地址數據緩存:用于緩存PCI總線上的地址信號;(3)主模式接口控制模塊:負責在主模式(Master)下對PCI總線的操作;(4)從模式接口控制模塊:負責在從模式(Slave)下PCI總線的操作;(5)奇偶校驗器:當數據校驗出錯時,生成一個錯誤信息輸出到配置寄存器;(6)本地主模式控制模塊:負責主模式下的本地接口控制邏輯;(7)本地從模式控制模塊:負責從模式下本地接口控制邏輯;(8)本地邏輯接口模塊:負責控制本地端接口的地址、數據、控制、字節(jié)使能等[6]。

2.2 DMA控制器
    針對高帶寬、低延時和大量數據存儲與傳輸需求,設計了基于PCI IP核的DMA控制器。該DMA控制器是系統(tǒng)中的核心單元,實現(xiàn)高速采樣數據向上位機的DMA方式實時傳輸。DMA控制器結構如圖3所示,內部寄存器堆定義了DMA控制器的行為,而上位機可通過PCI總線設置相應的寄存器。

 

 

    系統(tǒng)的數據鏈路中包含有兩種設置:(1)上位機對PCI IP核配置寄存器的設置,其對應的訪問操作完全遵循標準的PCI總線配置讀寫操作時序;(2)上位機對DMA控制器內部寄存器的設置,作為PCI目標地址映射到系統(tǒng)的PCI地址空間,其訪問操作符合PCI Target訪問時序。DMA內部寄存器堆被直接映射到上位機的PCI地址空間,其基地址由PCI 核中配置寄存器設定,上位機通過設置DMA寄存器控制DMA的執(zhí)行。PCI IP核完成標準PCI訪問與Local總線訪問之間的時序轉換,而DMA控制器按照其寄存器堆的設置,完成各個Local總線設備之間的數據傳輸,并通過PCI IP核申請PCI總線,向上位機進行數據傳輸。
    DMA控制器設計了兩個通信接口:接口0可以進行主、從模式通信;接口1僅能進行主模式通信。在主模式下,每個通信接口可主動對Local總線進行訪問;而處于從模式時,僅能接收來自Local總線的命令及返回相應的數據至Local總線。考慮到總線速率并不一致,即采用FIFO進行數據緩沖;A/D采樣數據被緩沖到FIFO中,而DMA引擎將讀取該數據并發(fā)送到上位機,數據存儲和讀取呈流水線方式并行進行,其實時性損耗僅在于DMA引擎啟動延遲。值得注意的是:在上位機連續(xù)發(fā)起對后端的訪問時,需確定上次的Local總線訪問是否已結束;而當總線速率差異過大時,應該在PCI訪問時序中插入等待周期,以避免造成數據丟失。
    DMA引擎支持多通道模式(提供4個通道),可對應多個A/D器件,大大提高了系統(tǒng)數據傳輸的并行度。每個通道都可在兩個接口之間通信,當兩個接口都處于主模式時,一個接口負責從目標設備讀取數據,數據通過DMA控制器的寄存器緩存,而通過另一個接口寫入目的設備。當多個通道同時收到DMA請求時,如果所訪問的端口不沖突,則每個通道可以各自獨立地通過所訪問的端口資源進行DMA傳輸,從而提高DMA數據傳輸的效率。考慮到通道對接口訪問可能產生沖突,則需要引入通道優(yōu)先級仲裁機制。多個通道間的仲裁機制如圖4所示。


    當多個通道同時請求時,DMA引擎應該進行優(yōu)先級仲裁,來判定哪個通道占據數據傳輸接口。DMA控制器工作過程如下:(1)上位機通過DMA控制器接口0向其寄存器寫入配置信息,包括中斷設置、DMA傳輸接口配置、各通道的工作方式設置、傳輸數據長度、源地址及目的地址等。(2)待配置信息寫入完畢,DMA數據傳輸開始。若設置使用兩個接口傳輸數據,則處于主模式的接口從數據源讀取數據,經過通道內部緩存,由另一個處于主模式的接口寫入目的地址。(3)某個通道數據傳輸完成后,會設置其控制狀態(tài)寄存器的對應位,若對應中斷沒有被屏蔽,則DMA引擎通過接口0向微處理器提交中斷;若在傳輸過程中出現(xiàn)錯誤,則控制狀態(tài)寄存器對應位置位,而DMA引擎同樣會向微處理器提交中斷。
2.3 A/D采樣控制及數據存儲
    TLC5510A是CMOS 8 bit精度、20 MS/s采樣速率的ADC器件,采用Semi-flash架構[8],支持5 V單電源供電,典型功耗為130 mW,包含內部采樣保持電路、高阻抗的并行接口以及內部采樣參考。Semi-flash架構減少了功耗而且簡化了數據比較轉換邏輯。TLC5510A實現(xiàn)流水線方式采樣,每個時鐘周期完成一次數據采樣。在FPGA內部設計了A/D控制器,負責提供ADC器件采樣時序控制信號,完成采樣及存儲控制,將采樣數據實時寫入數據FIFO。值得注意的是:ADC的數據采樣結果會延遲3個周期輸出,則FIFO存儲地址輸出應該有對應的延遲時序,如圖5所示。將邏輯存儲地址以采樣時鐘速率延遲3個周期,即可生成實際存儲地址,而將采樣數據存儲到緩存FIFO的對應空間中。

    上位機通過設置采樣序列,可完成特定采樣率的若干次采樣(通過設置采樣存儲深度),且采樣數據被無延遲地存儲入數據FIFO,A/D控制器隨后申請DMA傳輸,在DMA控制器的作用下,該采樣數據高效傳輸至上位機。
3 實驗平臺與結果分析
    為了驗證本文介紹的高速實時數據采集系統(tǒng)性能,建立如圖6所示的實驗平臺。上位機提供設備驅動程序,實現(xiàn)對數據采集卡的初始化,能對端口進行讀寫操作、中斷設置和響應及中斷調用,以及對內存的直接讀寫等。驅動設備基于Driver Studio完成,其包含完善的源代碼生成工具以及相應的類庫和驅動程序樣本,提供了在VC++下進行驅動程序開發(fā)的支持。

    接觸傳感器CIS(Contact Image Sensor)廣泛用于掃描儀、清分機以及其他機器視覺應用中。本實驗平臺中采用山東華菱電子公司的LT2R183N-090723傳感器,該器件最大支持1 440×800的圖像掃描分辨率,傳感器信號采用三路式模擬信號輸出方式。自行設計的數據采集卡與上位機共同構成了本文所介紹的數據采集系統(tǒng),系統(tǒng)中包含3個并行的TLC5510a 器件,以實現(xiàn)對CIS器件三路輸出的采樣。圖7為CIS傳感器輸出的圖像信號波形,圖8為采用SignalTap II工具獲取的數據存儲時序。

    本系統(tǒng)完全支持8 MS/s采樣率的DMA方式數據存儲與傳輸。目前,數據采集系統(tǒng)的性能瓶頸在于CIS傳感器輸出速率較低(最大10 MHz,試驗中采用8 MHz),但本文討論的方法理論上支持最高66 MS/s采樣速率的應用。
    本文提出了一種基于FPGA的DMA方式數據采集系統(tǒng)設計方案,數據采集結果不經過微處理器而直接被寫入系統(tǒng)內存,而采樣時序定義由底層控制提供,確保了ADC器件的采樣吞吐;采用帶DMA控制器的PCI接口與上位機進行數據交互,既減少了上位機軟件負荷,又最大限度地保證了采樣數據的實時性。即使進一步提高A/D器件采樣速率,本架構依然適用。本數據采集系統(tǒng)已應用于高速圖像采集中,具有良好的移植性,可應用于采樣速率高、數據采集量大、數據實時性要求的數據采集系統(tǒng)。
參考文獻
[1] 唐林波,趙保軍,韓月秋.超高速數據采集與處理系統(tǒng)的設計及應用[J].系統(tǒng)工程與電子技術,2005,27(7):1203-1206.
[2] 羅偉林.基于USB2.0的高速數據采集系統(tǒng)[D].哈爾濱:哈爾濱工業(yè)大學,2008.
[3] 肖金球,馮翼,仲嘉霖.高速多路實時數據采集處理系統(tǒng)設計[J].計算機工程,2004,30(24):180-182.
[4] Texas Instruments Incorporated.Floating-point digital signal   processor(DSP):TMS320C6713B.2006:13-73.
[5] 鄧慶緒,寧寶鋒,金曦,等.基于局部動態(tài)可重構技術的多通道數據采集系統(tǒng)[J].小型微型計算機系統(tǒng),2010,9(9):1778-1883.
[6] 張浩,徐寧儀,周祖成.基于PCI Core的鏈式DMA控制器設計[J].電子技術應用,2005,31(3):11-13.
[7] Altera Incorporated. Cyclone IV device handbook,volume 1. 2010:15-29.
[8] Texas Instruments Incorporated.TLC5510,TLC5510A high-speed analog-to-digital converters handbook.1999:1-4.

此內容為AET網站原創(chuàng),未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
99re8这里有精品热视频免费 | 国产在线国偷精品产拍免费yy| 欧美日韩一区在线观看| 玖玖视频精品| 麻豆av一区二区三区久久| 久久亚洲国产成人| 久久亚洲精品一区二区| 久久久国产精品一区二区三区| 午夜久久电影网| 亚洲欧美制服中文字幕| 亚洲一区制服诱惑| 亚洲欧美日韩直播| 性感少妇一区| 久久9热精品视频| 久久精品国产久精国产爱| 久久精品五月| 久久天堂精品| 欧美xxx成人| 欧美激情1区2区3区| 欧美国产精品中文字幕| 欧美黑人国产人伦爽爽爽| 欧美福利精品| 欧美日韩国产一区| 国产精品豆花视频| 国产精品自拍网站| 国产一区二区三区四区老人| 国内精品写真在线观看| 一区久久精品| 亚洲人体大胆视频| 一区二区日韩伦理片| 亚洲一区二区在线| 久久成人资源| 亚洲精品一区二区三区福利| 一本到12不卡视频在线dvd| 亚洲综合成人在线| 久久精品视频在线看| 免费不卡亚洲欧美| 欧美另类综合| 国产精品午夜电影| 精品电影在线观看| 亚洲欧洲午夜| 亚洲网址在线| 欧美一区二区三区另类 | 久久精品亚洲一区二区三区浴池| 最新国产乱人伦偷精品免费网站| 亚洲日本在线观看| 亚洲一区二区毛片| 久久精品噜噜噜成人av农村| 免费观看亚洲视频大全| 欧美三区在线| 国产在线乱码一区二区三区| 91久久夜色精品国产九色| 一区二区三区视频在线| 午夜精品视频在线| 亚洲精品视频在线| 小嫩嫩精品导航| 欧美a一区二区| 国产精品久久久亚洲一区 | 99在线精品视频| 久久国产精品久久精品国产| 日韩亚洲一区二区| 久久福利资源站| 欧美精品一区二区蜜臀亚洲| 国产精品一区二区你懂的| 亚洲国产欧美一区| 亚洲综合色婷婷| 亚洲美女在线国产| 欧美一区午夜精品| 欧美精品1区2区3区| 国产婷婷成人久久av免费高清| 亚洲欧洲一区| 欧美专区亚洲专区| 亚洲一区二区精品在线| 免费看成人av| 国产欧美日韩不卡免费| 亚洲精品久久视频| 亚洲福利视频免费观看| 亚洲一区网站| 欧美成人免费全部观看天天性色| 国产精品日韩久久久久| 亚洲激情午夜| 久久精品一区二区国产| 午夜精品久久久久久久白皮肤 | 久久久www免费人成黑人精品| 欧美日韩在线不卡一区| 一区在线视频观看| 亚洲综合电影| 亚洲色在线视频| 免费久久精品视频| 国产自产在线视频一区| 亚洲视频观看| 一区二区三区日韩精品视频| 老司机午夜精品视频| 国产欧美精品xxxx另类| 一本久道久久综合中文字幕| 最新日韩在线| 久久性天堂网| 国产一区二区丝袜高跟鞋图片| 亚洲图片你懂的| 亚洲天堂成人在线视频| 欧美韩日一区| 亚洲国产日韩一级| 亚洲国产精品一区二区www在线| 欧美一区二区三区免费观看| 国产精品福利在线观看网址| 亚洲精品裸体| 日韩亚洲欧美综合| 欧美精品亚洲二区| 亚洲精品视频在线看| 亚洲毛片av在线| 欧美高清视频在线| 亚洲国产va精品久久久不卡综合| 久久国产高清| 久久美女性网| 黄色精品一区二区| 久久精品日韩| 免费不卡在线观看| 亚洲高清成人| 亚洲美女黄网| 欧美日韩黄色一区二区| 亚洲麻豆一区| 亚洲色图综合久久| 国产精品国产自产拍高清av王其| 日韩一二三在线视频播| 这里只有精品电影| 欧美午夜在线一二页| 一区二区三区|亚洲午夜| 亚洲一品av免费观看| 欧美性猛交xxxx免费看久久久 | 欧美二区在线看| 亚洲精品系列| 亚洲视频中文| 国产精品久久亚洲7777| 亚洲欧美成人一区二区三区| 欧美一区二区三区免费大片| 国产日产高清欧美一区二区三区| 亚洲你懂的在线视频| 久久精品国产成人| 亚洲第一搞黄网站| 夜夜爽www精品| 国产精品视区| 久久精品国产久精国产一老狼| 麻豆精品精华液| 亚洲国产精品一区| 宅男噜噜噜66一区二区| 国产精品亚洲不卡a| 久久国产加勒比精品无码| 欧美大胆成人| 在线亚洲+欧美+日本专区| 欧美一区二区三区视频在线| 国产一区91精品张津瑜| 亚洲精品久久久蜜桃| 欧美日韩一区二区三区免费| 亚洲一区二区视频| 久久一区亚洲| 99精品久久久| 午夜精品久久久久久久99樱桃| 国产亚洲欧洲997久久综合| 亚洲精品久久久久久久久久久| 欧美色偷偷大香| 香蕉免费一区二区三区在线观看 | 亚洲欧美国产视频| 国产亚洲一区二区三区在线播放| 亚洲国产精品一区二区第一页| 欧美精品在线视频| 亚洲欧美国产制服动漫| 男女精品网站| 亚洲一区二区在线播放| 狼人天天伊人久久| 一区二区国产日产| 久久久久久亚洲精品不卡4k岛国| 亚洲国产乱码最新视频| 亚洲资源在线观看| 狠狠噜噜久久| 亚洲主播在线| 亚洲第一色在线| 香蕉久久a毛片| 亚洲国产精品成人综合色在线婷婷 | 久久成人这里只有精品| 亚洲国产精品久久久久| 亚洲欧美日韩一区二区| 在线观看国产日韩| 香蕉久久国产| 日韩亚洲精品电影| 久久深夜福利免费观看| 亚洲图片在线| 欧美伦理视频网站| 久久黄色影院| 国产精品高潮呻吟久久| 亚洲精品一区二区三区福利| 国产午夜一区二区三区| 在线视频你懂得一区| 在线视频成人| 久久黄金**| 亚洲图片在线| 欧美日韩成人精品| 亚洲黄色在线观看| 国产婷婷色一区二区三区| 亚洲自拍偷拍麻豆| 亚洲精品乱码久久久久久日本蜜臀|