《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 業(yè)界動態(tài) > 基于FPGA的高速采集系統(tǒng)設(shè)計與實現(xiàn)

基于FPGA的高速采集系統(tǒng)設(shè)計與實現(xiàn)

2008-05-29
作者:張東升1, 張東來1, 秦海亮1

  摘 要: 給出了高速采集" title="高速采集">高速采集系統(tǒng)的實現(xiàn)架構(gòu)及控制原理,并在分析數(shù)據(jù)采集系統(tǒng)現(xiàn)狀的基礎(chǔ)上,針對高速采集系統(tǒng)存在的采集和傳輸速度" title="傳輸速度">傳輸速度、資源利用不合理以及硬件成本偏高等問題,給出了一種共享總線、同步采集、分時讀取的方法。實踐表明,采用該方法提高了系統(tǒng)的采集和傳輸速度,實現(xiàn)了對多通道、高分辨率并行A/D" title="A/D">A/D同步采集的有效控制,節(jié)省了FPGA系統(tǒng)資源,降低了硬件成本。
  關(guān)鍵詞: 高速采集 FPGA 分時操作


  工程應(yīng)用中經(jīng)常需要對一些具有長時間域、瞬變特征的信號進行檢測,由于信號波形具有時域位置不確定等特點,特別在航天測控、故障診斷、定位等系統(tǒng)中,所以往往還需要同時對多個參數(shù)進行采集[1~3]。一般暫態(tài)過程中還有豐富的有用信息,能夠為故障診斷、失效分析等提供有力的理論依據(jù);連續(xù)大容量數(shù)據(jù)信息對于趨勢預(yù)測、壽命診斷、檢測以及系統(tǒng)參數(shù)估計和辨識具有重要的意義。因此,這對數(shù)據(jù)采集、存儲和傳輸速度及精度提出了較高要求。由于一般處理器主頻和資源的限制,無法達到高速數(shù)據(jù)采樣、高分辨率、大數(shù)據(jù)量存儲的目的;DSP等高性能處理器雖然可以滿足一定場合的高速采集的需要,但過于頻繁的中斷使CPU效率降低,響應(yīng)速度變差。
  目前,一般采用CPLD 或FPGA直接控制A/D轉(zhuǎn)換的方式達到高速采集的目的。但采用CPLD或FPGA控制A/D轉(zhuǎn)換的很多應(yīng)用中,同樣存在一些問題,主要為一般都外掛數(shù)據(jù)緩沖區(qū),降低了系統(tǒng)的傳輸速度,同時增加了硬件成本[4];另外對于高精度、多通道、并行轉(zhuǎn)換A/D系統(tǒng),使得接入FPGA的管腳數(shù)增多,這樣造成FPGA等系統(tǒng)資源的嚴重浪費和成本的增加。本文給出了一種共享總線、同步采集、分時讀取的方法,提高了系統(tǒng)采集和傳輸速度,達到對多通道、高分辨率并行A/D同步采集的有效控制,合理利用了FPGA系統(tǒng)資源,降低了硬件成本。
1 系統(tǒng)基本原理與設(shè)計
  多通道同步高速采集系統(tǒng)結(jié)構(gòu)如圖1所示[5]。由圖1可知,系統(tǒng)主要包括信號調(diào)理、A/D數(shù)據(jù)采集與控制、數(shù)據(jù)傳輸存儲、EMIF總線接口、DSP部分以及PCI接口等。6路輸入模擬信號經(jīng)過信號調(diào)理電路后送入A/D轉(zhuǎn)換器,數(shù)據(jù)經(jīng)A/D控制單元存入FPGA內(nèi)部緩沖區(qū),由EMIF接口模塊送至DSP外部存儲區(qū),最后經(jīng)PCI總線上傳給PCI104上位機。


1.1 基本原理
  總線共享、同步采集、分時讀取的方法主要是借鑒了分時操作系統(tǒng)的思想,按照時間片對A/D轉(zhuǎn)換結(jié)果進行輪循讀取。從圖1可知,在硬件設(shè)計上,6路A/D轉(zhuǎn)換器共享采樣時鐘信號" title="時鐘信號">時鐘信號adclk、讀寫控制信號adwr、片選信號adcs;AD1、AD3、AD5共享一路數(shù)據(jù)總線ADCD14~27,AD0、AD2、AD4共享另一路數(shù)據(jù)總線ADCD0~13;AD0、AD1共享輸出使能信號ADOE0、AD2、AD3共享輸出使能信號ADOE1,AD4、AD5共享輸出使能信號ADOE2。6路A/D轉(zhuǎn)換器共享采樣時鐘信號adclk、片選信號adcs保證了采樣的同步問題,共享數(shù)據(jù)總線節(jié)約了FPGA管腳,合理利用FPGA資源,通過分別使能ADOE信號,在A/D轉(zhuǎn)換完成后數(shù)據(jù)有效的時間內(nèi),分時讀取轉(zhuǎn)換結(jié)果,達到了并行采集的目的;不同數(shù)據(jù)總線的2路A/D轉(zhuǎn)換器共享OE信號,保證在同一時間片內(nèi)并行讀取2路A/D轉(zhuǎn)換結(jié)果。
1.2 A/D數(shù)據(jù)采集與控制
  本文使用TI公司的THS1408 A/D轉(zhuǎn)換芯片。THS1408具有14bit分辨率,最高采樣速率達到8 MSPS,采用流水線結(jié)構(gòu),14位并行接口[6]。本文最高采樣頻率為5MHz,并行采集6路模擬電壓或電流信號。A/D轉(zhuǎn)換采樣時序如圖2所示,在CLK為高電平的半個時鐘周期加上td(輸出延時時間)的時間內(nèi),轉(zhuǎn)換后的數(shù)據(jù)都是有效的。因此,在CLK為高電平的半個時鐘周期內(nèi),讀取轉(zhuǎn)換結(jié)果是最穩(wěn)定和可靠的。

?


  圖3為A/D采樣結(jié)果讀取時序,其中,為片選信號,低電平有效;為輸出激活信號,低電平有效;D[13:0]為雙向數(shù)據(jù)總線;A[1:0]為地址輸入信號,可尋址四個地址,其中0地址存放轉(zhuǎn)換結(jié)果,另外三個地址為控制、增益設(shè)定和偏移設(shè)定寄存器;tsu(OE-ACS)為地址以及片選建立時間,要求最小為4ns;ten為輸出使能時間,最大為15ns;tdis為輸出關(guān)斷時間,典型值為10ns;th(A)為地址保持,最小為1ns;th(CS)為片選保持時間,最小為0ns。從圖2和圖3可以得出,完成A/D采樣和讀取控制的步驟如下:
  (1)首先,為ADC提供采樣時鐘信號CLK;
  (2)在CLK時鐘信號上升沿,使片選信號有效,地址信號A[1:0]輸出為0,使輸出激活信號有效;
  (3)至少延時tsu(OE-ACS)+ten=19ns;
  (4)從數(shù)據(jù)總線D[13:0]讀取轉(zhuǎn)換結(jié)果;
  (5)使片選信號無效,無效。
2 環(huán)形隊列數(shù)據(jù)存儲" title="數(shù)據(jù)存儲">數(shù)據(jù)存儲與控制
  本文在FPGA內(nèi)部采用環(huán)形隊列結(jié)構(gòu),用于暫存采集數(shù)據(jù),并采用乒乓方式切換數(shù)據(jù)存儲區(qū),提高數(shù)據(jù)傳輸和數(shù)據(jù)暫存的可靠性。定時觸發(fā)DSP的EDMA(Enhanced Direct Memory Access)事件,通過EMIF(External Memory Interface)總線接口完成高速數(shù)據(jù)傳輸。環(huán)形隊列內(nèi)存要求較小,不易丟失數(shù)據(jù),控制邏輯復(fù)雜,采用乒乓方式觸發(fā)數(shù)據(jù)傳輸事件,保證了采樣和傳輸?shù)牟婚g斷進行。
3 FPGA的邏輯控制功能的實現(xiàn)
  采用Xilinx Spartan-II E系列40萬門FPGA完成邏輯控制功能,主要包括采集時鐘處理、6路并行A/D采集與控制、數(shù)據(jù)存儲與傳輸控制、與DSP的EMIF接口、EDMA事件觸發(fā)控制等。
3.1 A/D控制模塊
  通過上面對A/D控制分析可以知道,在采樣時鐘CLK為高電平的半個時鐘周期內(nèi),讀取轉(zhuǎn)換結(jié)果是可靠和穩(wěn)定的,由于片選、地址建立時間以及輸出激活時間的要求,在5MHz時鐘信號的半個周期內(nèi),以共享總線方式可以控制三路A/D轉(zhuǎn)換器,那么通過兩路總線,就可以完成對六路并行數(shù)據(jù)的采集。圖4為三路A/D轉(zhuǎn)換器共享數(shù)據(jù)總線的控制時序圖,采用ModelSim仿真工具完成。其中,adcclk為A/D采樣時鐘;inclk0為外接時鐘,經(jīng)過PLL輸出main_clk作為系統(tǒng)的主時鐘,時鐘周期為10ns;adc_oe1、 adc_oe2、adc_oe3為三路A/D輸出使能信號,通過分時有效的方法,讀取各路A/D轉(zhuǎn)換結(jié)果,每個時間片長度為30 ns;adc_cs為A/D片選信號,該信號建立需要一定時間,為實現(xiàn)多路A/D并行采樣,將六路A/D片選信號連接在一起,一直有效;fpga_reset為FPGA復(fù)位信號。


3.2 環(huán)形數(shù)據(jù)存儲模塊
  FPGA內(nèi)部通過將雙口RAM與地址控制器結(jié)合構(gòu)成環(huán)形隊列數(shù)據(jù)存儲模塊,數(shù)據(jù)存儲器大小為16KB,每136.53μs觸發(fā)一次DSP的EDMA事件,經(jīng)過EMIF數(shù)據(jù)總線,將采集數(shù)據(jù)存儲到DSP的外部存儲器SDRAM中,當有異常發(fā)生時,通過PCI總線上傳到PCI104存儲介質(zhì)中。圖5為FPGA綜合后的數(shù)據(jù)存儲模塊邏輯圖,通過對地址模塊和雙口RAM的讀寫達到對數(shù)據(jù)的有效存儲和傳輸。


4 實驗數(shù)據(jù)與波形
  圖6為實測其中一路A/D控制的時序圖,A路為A/D輸出使能信號,在每個采樣時鐘的上升沿有效,有效時間為30ns;B路為5MHz采樣時鐘信號。圖7為實際捕獲的瞬變信號圖形,圖8為漸變信號變化的實測圖形。由于系統(tǒng)具有較高的采樣速率,高速的數(shù)據(jù)傳輸和大容量的數(shù)據(jù)存儲能力,無論是對瞬態(tài)變化的信號,還是漸變信號的特征,都可以達到捕捉的目的。

?


  系統(tǒng)采用FPGA實現(xiàn)邏輯控制、數(shù)據(jù)傳輸?shù)墓δ?,將?shù)據(jù)緩沖部分在FPGA內(nèi)部實現(xiàn),提高了存儲、讀取速度,節(jié)省了硬件成本;采用分時操作系統(tǒng)思想,以共享總線的方式,完成對多路A/D同步采集的功能,合理利用了資源、節(jié)省了硬件成本。實踐證明,該系統(tǒng)可以滿足多通道高速采集、大數(shù)據(jù)存儲的要求。
參考文獻
1 曾祥君, 尹項根, 陳 浩等. 電力系統(tǒng)暫態(tài)過程同步記錄的研究. 電力系統(tǒng)及其自動化學(xué)報, 2001;(1)
2 劉蘇宜, 王國榮, 郭烈恩等. 一種基于ISA總線的高速數(shù)據(jù)采集系統(tǒng)的設(shè)計. 華南理工大學(xué)學(xué)報, 2004;(8)
3 王志華, 尹項根, 張小波等. 利用CVT捕捉電壓行波實現(xiàn)故障測距的分析與實踐. 電力系統(tǒng)自動化, 2004;(8)
4 林長青, 孫勝利. 基于FPGA的多路高速數(shù)據(jù)采集系統(tǒng).電測與儀表, 2005;(5)
5 Zhang Donglai, Zhang Dongsheng, Zhang Jian et al. Data sampling system with high speed and high timing synchron-ization precision for power line fault position detection based on dual ports traveling wave distance measurement method. IEEE/PES T&D, 2005
6 THS1408datasheet. Texas Instruments Incorporated,2002

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。