<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è) > 嵌入式系統 > 設計應用 > 基于USB 2. 0數據采集系統的實(shí)現

基于USB 2. 0數據采集系統的實(shí)現

作者: 時(shí)間:2011-05-12 來(lái)源:網(wǎng)絡(luò ) 收藏

  1 引言

  在工業(yè)生產(chǎn)和科學(xué)技術(shù)研究的各行業(yè)中, 常利用PC或工控機對各種數據進(jìn)行采集, 如壓力、頻率、液位、溫度等。常用的采集方式是通過(guò)板卡, 其不僅安裝麻煩, 易受機箱內環(huán)境的干擾,而且由于受計算機插槽數量和地址、中斷資源的限制, 不可能掛接很多設備。而通用串行總線(xiàn)( Universa l Ser ia l Bus, USB )的出現, 很好地解決了以上這些沖突, 可實(shí)現低成本、高可靠性、多點(diǎn)的。USB 2. 0 是一種計算機外設連接規范, 除了USB1. 1中規定的1. 5Mb it / s和12Mb it / s兩個(gè)模式以外, 還增加了480Mbit / s( 60MB / s)這一 高速 模式, 將USB的應用范圍得到進(jìn)一步擴大。

  本文介紹的基于USB 2. 0的兩路力信號采集傳輸系統, 可用于銷(xiāo)盤(pán)式摩擦實(shí)驗機, 測量材料的摩擦系數。

硬件框圖

圖1 硬件框圖

  2 硬件設計

  2. 1 系統方案

  外部傳感器的摩擦力信號和壓力信號分別通過(guò)兩片8位AD轉換器轉換為數字信號, 由USB 芯片直接傳輸至計算機中處理, 并使用軟件演示兩路力之間的關(guān)系, 計算出材料的摩擦系數。主機同時(shí)負責數據傳輸的啟動(dòng)與停止, USB 控制器控制信號的采集并讀取到內部緩沖區。

  2. 2 控制器芯片選擇USB 控制器采用56 腳SSOP 封裝的CY7C68013, 屬于Cypresss 公司FX2 系列。

  Cypresss EZFX2將USB 2. 0的收發(fā)器、SIE、增強型8051 和一個(gè)可編程邏輯接口集成在一個(gè)芯片上。在EZUSB FX2 上, 靈活的SIE 處理大部分USB1. 1和USB 2. 0硬件協(xié)議, 釋放了用于特殊應用功能的嵌入式微控制器。通用可編程接口( GPIF)和主控/伺服端點(diǎn)FIFO ( 8..或16..位數據總線(xiàn)) 提供了其與常用接口, 如: ATA, UTOPA, EPP,PCMC IA, 以及大多數DSP /處理器的簡(jiǎn)單無(wú)縫連接。其有如下特點(diǎn):

  內核: 增強型8051的時(shí)鐘頻率高達48M; 每個(gè)周期4個(gè)時(shí)鐘; 運行來(lái)自?xún)炔縍AM的程序。

  四個(gè)可編程BULK / INTERRUPT / ISOCHRONOUS端點(diǎn): 緩沖區可選擇為雙緩沖區, 三緩沖區或四緩沖區; 外部數據接口可為8或16位。

  GPIF: GPIF對于FX2的FIFO來(lái)說(shuō)是一個(gè)內部主機, 可編程狀態(tài)機是它的核心。對于56腳封裝,它可以產(chǎn)生三個(gè)‘控制?’( CTL [ 2: 0] ) 和九個(gè)‘地址’ (GPIFADR [ 8: 0] )輸出, 能接收兩個(gè)外部和兩個(gè)內部‘準備’ ( RDY [ 1: 0] )輸入??刂茽顟B(tài)機由四個(gè)用戶(hù)定義的!波形描述‘控制’。內部RAM 中的波形描述符描述每個(gè)GPIF信號的行為。初始化階段, 波形描述符由FX2固件下載到GPIF寄存器中,通過(guò)GPIF接口在傳輸操作的代碼執行全過(guò)程使用它??刂戚敵鲂盘? CTL[ 1: 0] )通常用做閘門(mén)控制(使能信號線(xiàn))、讀/寫(xiě)信號線(xiàn)等。CTLx波形邊沿可通過(guò)編程進(jìn)行傳輸, 速率可達每個(gè)IFCLK時(shí)鐘一次( IFCLK 運行于48MH z)。RDY[ 1: 0]由GPIF取樣,而且能迫使一個(gè)傳輸處于等待, 繼續, 或重復狀態(tài),直到它們處于一個(gè)特殊的狀態(tài)。

  2. 3 硬件電路圖

  根據所選控制器和具體條件, 設計硬件電路如圖2所示。

硬件電路圖

圖2 硬件電路圖。

  采用從主機下載固件程序的方法, SCL, SDA引腳通過(guò)兩個(gè)2. 2k 的電阻接3. 3V 電源, RESET引腳有滯后作用, 低電平有效; 內部PLL 在V cc 到達3. 3V后約200s后穩定。典型電路是外接一個(gè)RC電路(R = 100K, C = 0. 1F)提供RESET:信號;軟件部分采用GPIF Master模式, 16 位數據總線(xiàn),將兩路8位ADC 數據線(xiàn)直接連到GPIF數據總線(xiàn)上: FD[ 0: 7]接摩擦力數據信號FDATA [ 0: 8] ,FD[ 8 : 15] 接壓力數據信號PDATA [ 0 : 7 ]。

  CTL0, CTL1分別連接ADC 的READ 和WRITE 引腳, 用于控制其工作時(shí)序。REY0連接ADC 的INTR, 用于判斷是否開(kāi)始讀取數據, 并由此判斷何時(shí)改變GPIF狀態(tài)。

  芯片電源使用USB 總線(xiàn)電源, 采用MAX IM 公司的MAX882 芯片, 把5. 25V 的Vbus轉換為3.3V, 如圖3所示。


圖3 電源轉換電路。

  對于USB 2. 0系統, D + 和D - 信號線(xiàn)上的差分特性阻抗會(huì )嚴重影響到信號眼圖、EOP、帶寬、信號抖動(dòng)和干擾的大小。根據U SB 2. 0規范的要求,差分線(xiàn)對的特性阻抗要求控制在90 ? 10% 以?xún)?使D+ 和D - 布線(xiàn)長(cháng)度在1英寸以?xún)? 匹配誤差在50m il以?xún)取?/P>

  3 軟件設計

  USB接口程序設計包括三部分: 固件程序設計、硬件驅動(dòng)程序設計、高級應用程序設計。

  3. 1 固件( firmw are)設計

  設備固件程序的主要功能是控制EZUSB FX2接收并處理USB 驅動(dòng)程序的請求、控制芯片中應用程序控制指令的接收、控制ADC 中的數據讀入等。該設計的固件程序除能夠使內置的GPIF在沒(méi)有CPU 的干涉下通過(guò)四個(gè)端點(diǎn)FIFO ( EP2、EP4、EP6、EP8)中的兩個(gè)處理數據傳輸外, 還有配置端點(diǎn)、通過(guò)控制端點(diǎn)0 來(lái)響應主機請求、控制和監測GPIF的活動(dòng)等固定工作。

  GPIF的波形描述符通過(guò)FX2的固件保存在波形寄存器中。FX2可以保持多達4個(gè)波形描述符,均可采用4種傳輸方式( Single 讀, Single寫(xiě), FIFO讀, FIFO寫(xiě))中的一種。

  一個(gè)波形由7 個(gè)可編程的狀態(tài)( S0 ~ S6 ) 和一個(gè)特殊的IDLE 狀態(tài)S7 組成, 當程序分支到它的IDLE 狀態(tài)時(shí)波形終止。從一種狀態(tài)到另一個(gè)狀態(tài)的轉換發(fā)生在IFCLK 的上升沿, 但GPIF可以保持在同一種狀態(tài)很多IFCLK 周期。每一個(gè)狀態(tài)都通過(guò)一個(gè)32位的狀態(tài)指令定義: 1) NDP狀態(tài): 在整個(gè)狀態(tài)期間, 控制輸出CTLx 被GPIF 指令定義為1, 0, 或三態(tài)。NDP狀態(tài)有一個(gè)以IFCLK 周期為單位的程序固定周期。如果一個(gè)波形定義的狀態(tài)少于7個(gè), 最后一個(gè)編程的狀態(tài)結束后不會(huì )自動(dòng)進(jìn)入IDLE狀態(tài), 即最后一個(gè)編程狀態(tài)的狀態(tài)指令必須包含一個(gè)IDLE 狀態(tài)的明確分支。2) DP 狀態(tài): 任何一個(gè)狀態(tài)都可以定義為DP, 允許GPIF采樣兩個(gè)信號, 對采樣值進(jìn)行布爾操作, 根據結果跳轉到其它狀態(tài)(或循環(huán)到自身)。若一個(gè)狀態(tài)指令包含一個(gè)控制任務(wù)(遞增FIFO 指針, 增加GPIFADR 地址等) , 這些任務(wù)總是在進(jìn)入該狀態(tài)時(shí)執行一次。若該狀態(tài)是一個(gè)循環(huán)到自身的DP, 可以編程為在每一個(gè)循環(huán)中重新執行控制任務(wù)。

  GPIF的設計使用的是Cypress的GPIF Design工具, 可根據ADC 的時(shí)序和控制要求方便地設計,設計波形如圖4。采用Sing le Read 方式, 每一個(gè)狀態(tài)的持續時(shí)間可設置為0~ 256個(gè)IFCLK 個(gè)周期。

  在Status中設置了一個(gè)DP, 當RDY0( INTR )信號為高時(shí), 跳轉到狀態(tài)0 重新下一次; 當為低時(shí), 則返回到自身繼續執行。定義好波形后, 由工具欄中的Too ls菜單中的Export to GPIF. c file導出為C語(yǔ)言文件。定義端點(diǎn)2, 6 為輸入端點(diǎn), 對應的FIFO 緩沖區為雙緩沖區, 保證不會(huì )因為緩沖區中的數據沒(méi)有傳送完畢而被覆蓋。每次采集數據的高字節存入端點(diǎn)2緩沖區, 低字節存入端點(diǎn)6緩沖區。

波形設置

圖4 波形設置。

  3. 2 驅動(dòng)程序的設計

  該系統需要兩個(gè)驅動(dòng)程序, 下載固件的驅動(dòng)程序和功能驅動(dòng)程序。采用固件從主機下載的方式,由固件下載驅動(dòng)程序完成。當設備連接到U SB 總線(xiàn)后, 負責把固件程序下載到CY 7C68013的RAM中, 完成重列舉工作, 使內核正常工作。主機根據其設置的V ID /PID尋找并安裝功能驅動(dòng)程序, 從而實(shí)現主機與設備的通信。用戶(hù)程序與設備的通信及控制由功能驅動(dòng)程序負責完成。

  驅動(dòng)程序設計采用WDM (W indow s DriveMode)。其引入設備對象的概念來(lái)描述一個(gè)設備,主要包括物理設備對象( PDO )、功能設備對象( FDO)、過(guò)濾設備對象( f ilter DO )。其中, PDO 對應實(shí)際的物理設備, FDO 和f ilterDO 是相應驅動(dòng)程序的處理對象。WDM 驅動(dòng)程序直接操作的不是硬件本身, 而是相應的PDO, FDO, 和filter DO。當用戶(hù)發(fā)出請求時(shí), 操作系統會(huì )將其打包形成一個(gè)IRP結構, 并發(fā)送至驅動(dòng)程序, 通過(guò)識別IRP 中的設備對象來(lái)區分它是發(fā)送給哪個(gè)設備。

  USB設備最大優(yōu)點(diǎn)就是即插即用功能( PnP) ,PnP設備具有不同的設備狀態(tài), 當它接收到某些PnP IRP時(shí), 其所處的設備狀態(tài)就會(huì )發(fā)生改變。圖5描述了PnP設備狀態(tài)及其相應的PnP IRP。

PnP設備狀態(tài)

圖5 PnP設備狀態(tài)。

  為保證USB設備連入系統時(shí), W indow s能夠找到并加載與其進(jìn)行通信的設備驅動(dòng)程序, 除提供的編譯好的驅動(dòng)程序外, 還需為其提供一個(gè)設備信息文件( DIF) , 該文件包含USB 設備、設備驅動(dòng)程序及其安裝過(guò)程的詳細信息, 如該為設備使用哪個(gè)驅動(dòng)、系統注冊表中應存儲哪些信息等, 以確保其硬件設備能正確地配置和安裝。在U SB 設備驅動(dòng)程序安裝完畢后, 該設備的一些基本信息將被存儲到W indow s系統注冊表中, 驅動(dòng)程序可執行文件和其DIF也被復制到指定的系統目錄, 該USB 設備將出現在W indow s設備管理器中。

  3. 3 應用程序設計

  高級應用程序建立在驅動(dòng)程序之上, 主機應用程序的編寫(xiě)使用VC 編譯環(huán)境中的API函數實(shí)現。

  應用程序的編程方法與串口編程類(lèi)似。首先必須查找設備, 打開(kāi)設備的句柄, 然后進(jìn)行讀寫(xiě)和控制操作, 最后是關(guān)閉設備句柄。為了提高效率,可使用多線(xiàn)程技術(shù)實(shí)現讀寫(xiě)。

  4 結語(yǔ)

  本文設計的用于摩擦實(shí)驗機的USB 數據采集系統, 采用Cypress FX2系列芯片CY7C68013, 利用其GPIF Master模式的16位數據線(xiàn)與兩塊8位數模轉換芯片連接, 準確地保證了兩路力信號的同步。該芯片靈活的接口大大簡(jiǎn)化了硬件連接。其固件程序自動(dòng)下載功能可方便地對固件進(jìn)行修改和調試。此USB設備的即插即用特性滿(mǎn)足了該系統便攜式及使用方便的要求。



關(guān)鍵詞: USB2.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>