基于CYUSB3014高速實(shí)時(shí)數(shù)據(jù)采集系統(tǒng)的設(shè)
0 引言
本文引用地址:http://2s4d.com/article/245879.htm目前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 的通信速率。但同時(shí)USB2.0 標(biāo)準(zhǔn)也存在著以下不足:
1) 半雙工通信
USB2.0 采用半雙工通信,同一時(shí)間只能有一個(gè)方向的數(shù)據(jù)傳輸,在需要雙向高速數(shù)據(jù)傳輸?shù)膱龊贤y以滿足要求。
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) 通信速率相比于競爭對手不高
USB 的競爭對手有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)簡介
為了加強(qiáng)USB 的性能和競爭力,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 相比也同樣具有競爭力。
USB3.0 在2.0 的基礎(chǔ)上新增加了2 對差分鏈路,專門用于傳送SS 差分信號(hào)。主機(jī)側(cè)接口的機(jī)械特性和USB 2.0 兼容,而設(shè)備側(cè)使用了新的接口形式,以容納新增的兩對差分信號(hào)線。USB2.0 接口的B 型連接器可以插入U(xiǎn)SB 3.0 的設(shè)備端,此時(shí)設(shè)備工作于USB 2.0 模式下;但USB 3.0 的B 型連接器無法插入U(xiǎn)SB 2.0的設(shè)備端。
除此以外,USB 3.0 的總線供電能力達(dá)到1A,使其可以用于移動(dòng)硬盤等耗電量較大的設(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ù)采集、測試測量設(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 的控制下對放大濾波后的信號(hào)進(jìn)行采集和轉(zhuǎn)換;FPGA 讀取AD 輸出,并按照CYUSB3014 的GPIF II 接口規(guī)范將該數(shù)據(jù)寫入芯片內(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ù)總線,接口頻率最高可達(dá)100MHz,有異步和同步兩種時(shí)序。在本系統(tǒng)中,為了達(dá)到更高的數(shù)據(jù)傳送效率,根據(jù)GPIF-II 接口時(shí)序,編寫了相應(yīng)的FPGA 程序,實(shí)現(xiàn)了在FPGA 和CYUSB3014之間的高速數(shù)據(jù)傳輸。實(shí)測結(jié)果表明,F(xiàn)PGA 和CYUSB3014 之間的數(shù)據(jù)傳輸速度最高達(dá)到了200Mbytes/s,完全滿足本系統(tǒng)要求。下文是數(shù)據(jù)傳輸狀態(tài)機(jī)的部分代碼:
6 USB 固件設(shè)計(jì)
CYUSB3014 集成了一片ARM9 核心的處理器,完成USB 初始化、枚舉、數(shù)據(jù)傳輸管理等工作。固件開發(fā)使用開源的gcc 編譯器和Eclipse 集成開發(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)開發(fā)框架,用來替代之前的WDM 框架。WDF 框架對WDM 進(jìn)行了封裝和繼承,與WDM相比,WDF 框架的驅(qū)動(dòng)開發(fā)更簡單方便,尤其是簡化了電源管理和PNP(Plug and play)方面的工作量。根據(jù)該系統(tǒng)的實(shí)際需要,對驅(qū)動(dòng)代碼進(jìn)行了修改并編寫了應(yīng)用程序,能夠穩(wěn)定可靠地采集數(shù)據(jù),表明該系統(tǒng)滿足了預(yù)期的設(shè)計(jì)要求。
8 結(jié)語
本文的高速實(shí)時(shí)數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)方案,首先對傳感器輸出信號(hào)進(jìn)行放大濾波處理,然后將其轉(zhuǎn)換為數(shù)字信號(hào)。實(shí)踐證明,USB 3.0 在USB 2.0 的基礎(chǔ)上大大提高了數(shù)據(jù)傳輸速率,實(shí)時(shí)性也有很好的增強(qiáng),能夠滿足高速實(shí)時(shí)數(shù)據(jù)采集的要求,在數(shù)據(jù)采集和測試測量領(lǐng)域必將大顯身手。
評論