一種高速實時數(shù)據(jù)采集系統(tǒng)的設(shè)計方案
掃描二維碼
隨時隨地手機看文章
0 引言
目前USB 已廣泛應(yīng)用于數(shù)據(jù)采集系統(tǒng),現(xiàn)階段使用較多的是USB 2.0 規(guī)范。隨著測試測量要求的不斷提高,USB 2.0 已逐漸難以滿足要求。新的USB3.0 規(guī)范很好的解決了USB 2.0 中存在的一些局限,非常適用于現(xiàn)代測試測量系統(tǒng)。
1 USB 2.0 的性能與局限
通用串行總線USB(Universal Serial Bus)是目前應(yīng)用極為廣泛的一種系統(tǒng)總線,大量應(yīng)用在測試測量領(lǐng)域。目前應(yīng)用最廣泛的是USB2.0 標(biāo)準(zhǔn),具有最高480Mbps 的通信速率。但同時USB2.0 標(biāo)準(zhǔn)也存在著以下不足:
1) 半雙工通信
USB2.0 采用半雙工通信,同一時間只能有一個方向的數(shù)據(jù)傳輸,在需要雙向高速數(shù)據(jù)傳輸?shù)膱龊贤y以滿足要求。
2) 需要主機調(diào)度
USB2.0 標(biāo)準(zhǔn)在傳輸調(diào)度上采用主從結(jié)構(gòu),需要計算機首先發(fā)起IN Token 或OUT Token,USB 設(shè)備才能進行數(shù)據(jù)傳輸,一次數(shù)據(jù)傳輸完成后,又必須等待下一個Token,大大制約了數(shù)據(jù)傳輸?shù)膶崟r性。
3) 通信速率相比于競爭對手不高
USB 的競爭對手有1394 和eSATA 等,較新的1394b 標(biāo)準(zhǔn)數(shù)據(jù)傳輸速度達到了800Mbps,幾乎比USB2.0 HS 高一倍。而eSATA的數(shù)據(jù)傳輸速度更高。
2 USB 3.0 SS(SuperSpeed)標(biāo)準(zhǔn)簡介
為了加強USB 的性能和競爭力,USB 聯(lián)盟推出了新的USB 3.0SS(SuperSpeed)標(biāo)準(zhǔn)。該標(biāo)準(zhǔn)使用兩條差分鏈路實現(xiàn)了全雙工通訊,速率達到了5.0Gps,不但高于1394b 標(biāo)準(zhǔn),與eSATA 相比也同樣具有競爭力。
USB3.0 在2.0 的基礎(chǔ)上新增加了2 對差分鏈路,專門用于傳送SS 差分信號。主機側(cè)接口的機械特性和USB 2.0 兼容,而設(shè)備側(cè)使用了新的接口形式,以容納新增的兩對差分信號線。USB2.0 接口的B 型連接器可以插入USB 3.0 的設(shè)備端,此時設(shè)備工作于USB 2.0 模式下;但USB 3.0 的B 型連接器無法插入USB 2.0的設(shè)備端。
除此以外,USB 3.0 的總線供電能力達到1A,使其可以用于移動硬盤等耗電量較大的設(shè)備,而不必另外配備外接電源。
3 CYUSB3014 芯片介紹
CYUSB3014 是USB 業(yè)界的領(lǐng)頭羊Cypress 公司出品的USB3.0 控制器,該款控制器集成了200MHz 的ARM9 控制器、512K 字節(jié)的RAM和USB 3.0物理層,具有可編程的100MHz GPIF II接口。
圖1 是該芯片的邏輯框圖。該芯片可用于數(shù)字?jǐn)z像機、數(shù)據(jù)采集、測試測量設(shè)備等多個領(lǐng)域。
4 系統(tǒng)硬件設(shè)計
本系統(tǒng)中,使用了一片AD6644 作數(shù)據(jù)轉(zhuǎn)換。這是AnalogDevice 公司生產(chǎn)的14 位高速ADC,最高采樣速率達到40Msps.
整個系統(tǒng)的功能框圖如圖2 所示。
圖中,傳感器將外部信號變換為電信號;放大濾波部分將傳感器輸出的微弱電信號進行放大、濾波處理,以去除外部干擾;AD6644 在FPGA 的控制下對放大濾波后的信號進行采集和轉(zhuǎn)換;FPGA 讀取AD 輸出,并按照CYUSB3014 的GPIF II 接口規(guī)范將該數(shù)據(jù)寫入芯片內(nèi)部的FIFO.此外,F(xiàn)PGA 還可以根據(jù)當(dāng)前信號特性調(diào)整放大濾波電路參數(shù),以獲取更優(yōu)的信噪比。 5 GPIF II 接口與FPGA 程序設(shè)計
在整個硬件系統(tǒng)中,F(xiàn)PGA 與CYUSB3014 之間的數(shù)據(jù)傳輸速度是決定整個系統(tǒng)性能的關(guān)鍵。Cypress 在GPIF 的基礎(chǔ)上設(shè)計 了可編程GPIF-II 接口,該接口可工作于主控或從屬方式,支持32 位數(shù)據(jù)總線,接口頻率最高可達100MHz,有異步和同步兩種時序。在本系統(tǒng)中,為了達到更高的數(shù)據(jù)傳送效率,根據(jù)GPIF-II 接口時序,編寫了相應(yīng)的FPGA 程序,實現(xiàn)了在FPGA 和CYUSB3014之間的高速數(shù)據(jù)傳輸。實測結(jié)果表明,FPGA 和CYUSB3014 之間的數(shù)據(jù)傳輸速度最高達到了200Mbytes/s,完全滿足本系統(tǒng)要求。下文是數(shù)據(jù)傳輸狀態(tài)機的部分代碼:
6 USB 固件設(shè)計
CYUSB3014 集成了一片ARM9 核心的處理器,完成USB 初始化、枚舉、數(shù)據(jù)傳輸管理等工作。固件開發(fā)使用開源的gcc 編譯器和Eclipse 集成開發(fā)環(huán)境,下面是用于管理數(shù)據(jù)傳輸?shù)牟糠执a:
7 上位機驅(qū)動和軟件設(shè)計
Cypress 提供了基于WDF 的驅(qū)動程序模塊,WDF(WindowsDriver Foundation)是microsoft 推行的驅(qū)動開發(fā)框架,用來替代之前的WDM 框架。WDF 框架對WDM 進行了封裝和繼承,與WDM相比,WDF 框架的驅(qū)動開發(fā)更簡單方便,尤其是簡化了電源管理和PNP(Plug and play)方面的工作量。根據(jù)該系統(tǒng)的實際需要,對驅(qū)動代碼進行了修改并編寫了應(yīng)用程序,能夠穩(wěn)定可靠地采集數(shù)據(jù),表明該系統(tǒng)滿足了預(yù)期的設(shè)計要求。
8 結(jié)語
本文的高速實時數(shù)據(jù)采集系統(tǒng)的設(shè)計方案,首先對傳感器輸出信號進行放大濾波處理,然后將其轉(zhuǎn)換為數(shù)字信號。實踐證明,USB 3.0 在USB 2.0 的基礎(chǔ)上大大提高了數(shù)據(jù)傳輸速率,實時性也有很好的增強,能夠滿足高速實時數(shù)據(jù)采集的要求,在數(shù)據(jù)采集和測試測量領(lǐng)域必將大顯身手。