基于CYUSB3014的高速實(shí)時(shí)數(shù)據(jù)采集系統(tǒng)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
0 引言
目前USB已廣泛應(yīng)用于數(shù)據(jù)采集系統(tǒng),現(xiàn)階段使用較多的是USB2.0 規(guī)范。隨著測(cè)試測(cè)量要求的不斷提高,USB2.0已逐漸難以滿足要求。新的USB3.0 規(guī)范很好的解決了USB2.0中存在的一些局限,非常適用于現(xiàn)代測(cè)試測(cè)量系統(tǒng)。
1 USB2.0的性能與局限
通用串行總線USB(Universal Serial Bus)是目前應(yīng)用極為廣泛的一種系統(tǒng)總線,大量應(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)合往往難以滿足要求。
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 USB3.0SS(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ì)差分鏈路,專門用于傳送SS差分信號(hào)。主機(jī)側(cè)接口的機(jī)械特性和USB2.0 兼容,而設(shè)備側(cè)使用了新的接口形式,以容納新增的兩對(duì)差分信號(hào)線。USB2.0接口的B型連接器可以插入U(xiǎn)SB3.0 的設(shè)備端,此時(shí)設(shè)備工作于USB2.0 模式下;但USB3.0 的B型連接器無法插入USB2.0的設(shè)備端。
除此以外,USB3.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ù)采集?測(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所示。[!--empirenews.page--]
圖中,傳感器將外部信號(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ù)寫入芯片內(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í)測(cè)結(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框架對(duì)WDM進(jìn)行了封裝和繼承,與WDM相比,WDF框架的驅(qū)動(dòng)開發(fā)更簡(jiǎn)單方便,尤其是簡(jiǎn)化了電源管理和PNP(Plug and play)方面的工作量。根據(jù)該系統(tǒng)的實(shí)際需要,對(duì)驅(qū)動(dòng)代碼進(jìn)行了修改并編寫了應(yīng)用程序,能夠穩(wěn)定可靠地采集數(shù)據(jù),表明該系統(tǒng)滿足了預(yù)期的設(shè)計(jì)要求。
8 系統(tǒng)的后續(xù)改進(jìn)
在測(cè)試測(cè)量系統(tǒng)中,很多應(yīng)用需要系統(tǒng)能夠產(chǎn)生預(yù)定義的波形,下一步將為該系統(tǒng)添加任意波形發(fā)生器功能,進(jìn)一步完善該系統(tǒng)的功能。
9 結(jié)語
實(shí)踐證明,USB 3.0在USB 2.0的基礎(chǔ)上大大提高了數(shù)據(jù)傳輸速率,實(shí)時(shí)性也有很好的增強(qiáng),能夠滿足高速實(shí)時(shí)數(shù)據(jù)采集的要求,在數(shù)據(jù)采集和測(cè)試測(cè)量領(lǐng)域必將大顯身手。