摘 要: 給出了高速采集" 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)常需要對一些具有長時間域,、瞬變特征的信號進(jìn)行檢測,由于信號波形具有時域位置不確定等特點,,特別在航天測控,、故障診斷、定位等系統(tǒng)中,,所以往往還需要同時對多個參數(shù)進(jìn)行采集[1~3],。一般暫態(tài)過程中還有豐富的有用信息,,能夠為故障診斷、失效分析等提供有力的理論依據(jù),;連續(xù)大容量數(shù)據(jù)信息對于趨勢預(yù)測,、壽命診斷、檢測以及系統(tǒng)參數(shù)估計和辨識具有重要的意義,。因此,,這對數(shù)據(jù)采集、存儲和傳輸速度及精度提出了較高要求,。由于一般處理器主頻和資源的限制,,無法達(dá)到高速數(shù)據(jù)采樣、高分辨率,、大數(shù)據(jù)量存儲的目的,;DSP等高性能處理器雖然可以滿足一定場合的高速采集的需要,但過于頻繁的中斷使CPU效率降低,,響應(yīng)速度變差。
目前,,一般采用CPLD 或FPGA直接控制A/D轉(zhuǎn)換的方式達(dá)到高速采集的目的,。但采用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)資源的嚴(yán)重浪費和成本的增加。本文給出了一種共享總線,、同步采集,、分時讀取的方法,提高了系統(tǒng)采集和傳輸速度,,達(dá)到對多通道,、高分辨率并行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上位機(jī)。
1.1 基本原理
總線共享,、同步采集,、分時讀取的方法主要是借鑒了分時操作系統(tǒng)的思想,按照時間片對A/D轉(zhuǎn)換結(jié)果進(jìn)行輪循讀取,。從圖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é)果,,達(dá)到了并行采集的目的,;不同數(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分辨率,,最高采樣速率達(dá)到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斷進(jìn)行。
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中,,當(dāng)有異常發(fā)生時,通過PCI總線上傳到PCI104存儲介質(zhì)中,。圖5為FPGA綜合后的數(shù)據(jù)存儲模塊邏輯圖,,通過對地址模塊和雙口RAM的讀寫達(dá)到對數(shù)據(jù)的有效存儲和傳輸。
4 實驗數(shù)據(jù)與波形
圖6為實測其中一路A/D控制的時序圖,,A路為A/D輸出使能信號,,在每個采樣時鐘的上升沿有效,有效時間為30ns,;B路為5MHz采樣時鐘信號,。圖7為實際捕獲的瞬變信號圖形,圖8為漸變信號變化的實測圖形,。由于系統(tǒng)具有較高的采樣速率,,高速的數(shù)據(jù)傳輸和大容量的數(shù)據(jù)存儲能力,,無論是對瞬態(tài)變化的信號,還是漸變信號的特征,,都可以達(dá)到捕捉的目的,。
?
系統(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ù)存儲的要求。
參考文獻(xiàn)
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