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