<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 測試測量 > 設計應用 > 基于USB2.0技術(shù)的高速雙路數據采集系統

基于USB2.0技術(shù)的高速雙路數據采集系統

作者: 時(shí)間:2011-12-03 來(lái)源:網(wǎng)絡(luò ) 收藏
GPIF狀態(tài)機可以定義四個(gè)波形描述符,一般情況下是:FIFO讀,FIFO寫(xiě),單字/字節讀,單字/字節寫(xiě)。Cypress提供了圖形化的波形描述工具GPIF Designer,用戶(hù)只需要給出GPIF波形,GPIF Designer會(huì )自動(dòng)生成C語(yǔ)言的波形代碼Gpif.c,可以直接鏈接到用戶(hù)的固件程序中。本文中用到了FIFORd描述符,波形如圖3所示。

本文引用地址:http://dyxdggzs.com/article/194663.htm


  圖3 GPIF Designer設計的 FIFORd波形

  4.系統軟件編寫(xiě)

  系統軟件主要包括三個(gè)部分:下位機CY7C68013的固件,驅動(dòng)程序和上位機主機應用程序。

  4.1 固件程序編寫(xiě)

  對于下位機CY7C68013的固件編寫(xiě),Cypress公司給出了在Keil C51下的固件程序框架,固件框架完成EZ- FX2的初始化、標準設備請求處理、USB掛起模式下的電源管理服務(wù)和USB中斷處理。Cypress還提供了函數鉤子來(lái)加速用戶(hù)代碼的添加。用戶(hù)只需要簡(jiǎn)單地提供一個(gè)USB描述符表和執行外圍功能的代碼即可。

  4.2 驅動(dòng)程序編寫(xiě)

  Windows系統下的USB驅動(dòng)包括三層,從高到低依次是:USB客戶(hù)端設備驅動(dòng)(USB Client Device Driver)、USB總線(xiàn)驅動(dòng)(USB Hub(Bus) Driver)、主機控制器驅動(dòng)(Host Controller Driver)。后兩者由Windows系統提供,用戶(hù)只需要開(kāi)發(fā)USB客戶(hù)端設備驅動(dòng)程序,Cypress公司提供了一個(gè)通用的驅動(dòng)程序 (General Purpose Driver),即ezusb.sys,一般情況下,該驅動(dòng)程序可以滿(mǎn)足FX2開(kāi)發(fā)者的需要。本文使用了Cypress公司的通用驅動(dòng) ezusb.sys。為了使用ezusb.sys,用戶(hù)必須編寫(xiě)對應的inf文件,inf文件將特定的USB設備綁定給相應的驅動(dòng)程序,該inf文件參照 ezusbw2k.inf編寫(xiě)。

  4.3 主機應用程序編寫(xiě)

  通用驅動(dòng)程序GPD即ezusb.sys提供了基本USB設備請求和數據傳輸的用戶(hù)模式接口,用戶(hù)模式應用程序通過(guò)Win32函數 DeviceIoControl()給設備驅動(dòng)器發(fā)送請求。Ezusb.sys提供了基本設備請求、批量讀寫(xiě)、同步讀寫(xiě)等一系列IOCTL函數。這里以 IOCTL_EZUSB_BULK_READ(EZUSB批量傳輸)為例加以介紹。

  批量傳輸模式下讀FX2的端點(diǎn)FIFO的關(guān)鍵代碼如下:

  DWORD ioctl_val=IOCTL_EZUSB_BULK_READ; //設置從設備中讀數據

  Bresult=DeviceIoControl ( hDevice , ioctl_val , //從設備讀數據

  bulkControl , //端點(diǎn)號

  sizeof ( BULK_TRANSFER_CONTROL), //傳入參數的大小

  buffer , //讀數據的緩沖區

  length , //讀數據的長(cháng)度

  (unsigned long *)nBytes , //驅動(dòng)返回的數據的實(shí)際長(cháng)度

  NULL);

  限于篇幅,其他程序代碼從略。

  6.結束語(yǔ)

  本文的創(chuàng )新點(diǎn)是充分發(fā)揮了CY7C68013的優(yōu)勢,利用FX2的內部可編程狀態(tài)機GPIF實(shí)現了與外圍FIFO“無(wú)膠”連接,避免了使用外圍ASIC或者CPLD、FPGA等的麻煩,系統升級方便。整個(gè)電路結構緊湊,占用面積小,便于攜帶。

  本文采用Cypress公司的USB芯片CY7C68013設計了一種通用的高速雙路同步,通過(guò)將其與高精度激光縱模分析儀連接進(jìn)行試驗,證明該系統實(shí)現了數據的高速實(shí)時(shí)傳輸,達到了預先設計的目標。隨著(zhù)USB口的進(jìn)一步普及和計算機的發(fā)展,本文設計的這種USB必將得到更加廣泛的應用。


上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: USB 2.0 數據采集系統

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>