《電子技術應用》
您所在的位置:首頁 > 其他 > 業界動態 > USB接口的高速數據采集卡的設計與實現

USB接口的高速數據采集卡的設計與實現

2008-09-25
作者:崔巖松

??? 摘? 要: 討論了基于USB接口的高速數據采集卡" title="高速數據采集卡">高速數據采集卡的實現。該系統采用TI公司的TUSB3210芯片作為USB通信及主控芯片,完全符合USB1.1協議,是一種新型的數據采集卡。

??? 關鍵詞: USB? A/D" title="A/D">A/D? FIFO? 固件

?

  現代工業生產和科學研究對數據采集的要求日益提高,在瞬態信號測量、圖像處理等一些高速、高精度的測量中,需要進行高速數據采集?,F在通用的高速數據采集卡一般多是PCI卡或ISA卡,存在以下缺點:安裝麻煩;價格昂貴;受計算機插槽數量、地址、中斷資源限制,可擴展性差;在一些電磁干擾性強的測試現場,無法專門對其做電磁屏蔽,導致采集的數據失真。

  通用串行總線USB是1995年康柏、微軟、IBM、DEC等公司為解決傳統總線不足而推廣的一種新型的通信標準。該總線接口具有安裝方便、高帶寬、易于擴展等優點,已逐漸成為現代數據傳輸的發展趨勢?;赨SB的高速數據采集卡充分利用USB總線的上述優點,有效解決了傳統高速數據采集卡的缺陷。

1 USB數據采集卡原理

1.1 USB簡介

  通用串行總線適用于將USB外圍設備連接到主機上,通過PCI總線與PC內部的系統總線連接,實現數據傳送。同時USB又是一種通信協議,支持主系統與其外設之間的數據傳送。USB器件支持熱插拔,可以即插即用。USB1.1支持兩種傳輸速度,既低速1.5Mbps和高速12Mbps,在USB2.0中其速度提高到480Mbps。USB具有四種傳輸方式" title="傳輸方式">傳輸方式,既控制方式(Control mode)、中斷傳輸方式(Interrupt mode)、批量傳輸方式(Bulk mode)和等時傳輸方式(Iochronous mode)。

  考慮到USB傳輸速度較高,如果用只實現USB接口的芯片外加普通微控制器(如8051),其處理速度就會很慢而達不到USB傳輸的要求;如果采用高速微處理器(如DSP),雖然滿足了USB傳輸速率,但成本較高。所以選擇了TI公司內置USB接口的微控制器芯片TUSB3210,開發了具有USB接口的高速數據采集卡。

1.2 系統原理圖

  系統原理圖如圖1所示。

?

  整個系統以TUSB3210為核心,負責啟動A/D轉換,控制FIFO的讀寫及采樣頻率的設定,與主機之間的通信及數據傳輸。

2 USB數據采集卡硬件

2.1 TUSB3210芯片

  TUSB3210是TI公司推出的內嵌8052內核并帶有USB接口的微控制器芯片。TUSB3210有256字節的內部RAM,8K字節的程序RAM,512字節的USB數據緩沖和端點描述塊EDB(Endpoint Descriptor Blocks),4個通用的GPIO端口P0、P1、P2、P3,I2C接口電路,看門狗電路等。

  TUSB3210的USB接口符合USB1.1協議,有4個輸入端點(Input Endpoint)和4個輸出端點(Output Endpoint),支持全速和低速傳輸速率,并具有USB協議所規定的4種傳輸方式。TUSB3210的USB接口采用串行接口引擎(SIE)編碼和解碼串行數據,并且進行校驗、位填充,執行USB所需要的其他信號。這樣采用硬件完成USB協議,簡化了固件" title="固件">固件代碼的編制。

  TUSB3210采用基于內部RAM的解決方案,允許通過I2C總線從串行EEPROM中讀入固件或從主機中下載固件程序。這項功能便于設備的開發與在線升級。

2.2 A/D芯片MAX1449

  MAX1449是MAXIM公司生產的10位、105MSPS、單3.3V電源、低功耗的高速A/D芯片。它采用差分輸入,帶有高寬帶采樣/保持(T/H)的10階段流水線(pipeline)型結構的ADC,如圖2。采樣信號每半個時鐘周期通過一個流水線階段,完成連續轉換到數據輸出共需5.5個時鐘周期。

?

?

  每個流水線首先通過一個1.5位的閃速ADC對輸入電壓量化,由DAC產生一個對應于量化結果的電壓并與輸入電壓作差,輸出電壓放大2倍后送到下一級流水線處理。每級流水線提供1位的分辨率,并進行差錯校正,得到良好的線性和低失調。

MAX1449提供一個2.048V的精確帶隙基準源,用來設定ADC滿量程范圍,也可以用外部基準源改變量程范圍。MAX1449的最大差分輸入電壓范圍為2V。

2.3 輸入信號處理電路

  MAX1449芯片的輸入信號為差分輸入時有最佳的采樣效果。在本系統中用TI的THS4503作為單端輸入到差分輸出的轉換電路。THS4503高性能的全差分運放,帶寬可達270MHz,具有非常好的線性,在100MHz下可支持11位的A/D轉換要求,適合作為A/D變換的前端接口電路。具體電路見圖3所示。

?

?

2.4 FIFO和時鐘發生電路

  高速A/D變換的數據不能直接通過USB送入主機,系統中通過FIFO來緩沖數據。本系統采用TI公司的SN74V293芯片。它的容量為65536×18或131072×9,最快讀寫周期為6ns,可以滿足100MHz采樣數據的存儲。用戶可以選擇輸入、輸出寬度,當選擇輸入、輸出寬度為18時,可存儲64K×10位的數據。如果選擇輸入、輸出為9位,則可使存儲容量擴大到128K×9位,這樣對精度要求不高的用戶可以獲得更多數據。

  SN74V293有獨立的讀寫時鐘控制電路,允許讀寫操作同時進行。SN74V293內部有滿、空、半滿輸出信號以及可編程設定的幾乎滿和幾乎空輸出信號,通過這些信號控制器可以靈活控制FIFO的讀寫操作。

  對于高速數據采集系統,時鐘信號很重要。在本系統中選用DALLAS公司的DS1073時鐘芯片。DS1073是無需外部元件的頻率振蕩器。通過DALLAS獨有的1-wire技術,可以設定內部的分頻器數值,實現輸出頻率從27.3kHz~100MHz可調,從而方便地改變采樣時鐘,簡化電路設計。MAX1449數據輸出時下降沿有效,而FIFO寫入時上升沿鎖存數據。系統中采用DS90LC028A實現對時鐘信號的取反。

2.5 PCB板制作

  由于是高速A/D采集,在制作PCB板時有一些需要注意的地方。電路板最好使用多層板,元件盡量選用表面封裝器件。這樣可以減小元器件之間的距離,減小寄生電感、寄生電容,同時減小電路板的尺寸。所有的旁路電容都要盡量靠近芯片的電源管腳。模擬公共地和數字公共地要分開,選一點通過低值表貼電阻(1~5Ω)、磁珠或直接連接,以免數字地電流干擾模擬地。電源最好用線性穩壓電源,A/D和前端處理電路要用同一電源地輸出,減小電源波動對采集的影響。

3 USB高速數據采集卡的軟件

  開發一個USB設備,軟件設計是必不可少的。USB應用系統軟件設計分為三部分:USB外設端的固件(Firmware)、主機操作系統上的客戶驅動程序以及主機應用軟件。主機應用軟件通過客戶驅動程序與系統USBI(USB Device Interface)進行通信,由系統產生USB數據的傳送動作;固件則響應各種來自系統的USB標準請求,完成各種數據的交換工作和事件處理。

3.1 USB接口編程

  固件程序主要是實現USB通信。TUSB3210采用SIE來管理USB通信。當主機與芯片進行USB通信時,會產生外部中斷0,通過中斷矢量寄存器判斷。Setup_packed_Int、Input_endpoint0_Int、Output_endpoint0_Int 這三個中斷主要用于與主機建立連接、進行控制傳輸或中斷傳輸;Input_endpoint1_Int、Output_endpoint1_Int這兩個中斷主要在批量傳輸時使用。在固件中分別執行不同的中斷程序來實現USB的數據傳輸。

  void EX0_int(void) interrupt 0 // 外部中斷0

  {

?????? EA=DISABLE; // 關中斷

?????? switch (bVECINT){ // 確定中斷ID

????????????? case VECINT_OUTPUT_ENDPOINT0:

????     ???? bVECINT=0x00;

?????????????????? Ep0OutputInterruptHandler();

?????????????????? break;

????????????? case VECINT_INPUT_ENDPOINT0:

?????????????????? bVECINT=0x00;

?????????????????? Ep0InputInterruptHandler();

?????????????????? break;

????????????? case VECINT_OUTPUT_ENDPOINT1:

?????????????????? bVECINT=0x00;

?????????????????? Ep1OutputInterruptHandler();

?????????????????? break;

????????????? case VECINT_INPUT_ENDPOINT1:

?????????????????? bVECINT=0x00;

????????      Ep1InputInterruptHandler();

?????????????????? break;

????????????? case VECINT_SETUP_PACKET_RECEIVED:

?? ?????????????? SetupPacketInterruptHandler();

 ???????????????? bUSBSTA=USBSTA_SETUP;

?????????????????? bVECINT=0x00;

?????????????????? break;

????????????? default: break; //不知道中斷ID

?????? }

?????? EA=ENABLE; // 開中斷

  }

3.2 主機軟件設計

  筆者首先開發TUSB3210在主機中的驅動程序。用WinDK3.0開發了Win2000下的驅動程序,實現了控制傳輸、中斷傳輸和批量傳輸的標準接口函數。

  在應用程序開發中,可用VC++編制應用程序??梢园裊SB設備當成文件來操作,利用CreateFile得到USB句柄" title="句柄">句柄,用DeviceIoControl來進行控制傳輸,用ReadFile、WriteFile進行批量傳輸。程序實例如下:

  HANDLE m_hUsbSample;?? //USB句柄

  m_hUsbSample=CreateFile(″\.USBSampl0″, GENERIC_READ|GENERIC_WRITE,FILE_SHARE_READ|FILE_SHARE_

    WRITE, NULL,OPEN_EXISTING,0,NULL);????????????????????????????????????????  ?? //打開USB句柄

  DeviceIoControl(m_hUsbSample,IOCTL_USBSAMPL_REBOOT,NULL,0,NULL,0,&length,NULL);????? //控制傳輸

  WriteFile(m_hUsbSample,pBuffer,writelength,&writelength,NULL);

????? ????????????????????????????????????????????? //批量輸出傳輸

  ReadFile(m_hUsbSample,pBuffer,64,&length,NULL);?

???? ?????????????????????????????????????????????? //批量輸入傳輸

  CloseHandle(m_hUsbSample); ??   ????????????? //關閉USB句柄

  使用上述函數編制USB高速數據采集卡的主機軟件。

  通過以上設計實現了基于USB數據采集卡的基本功能。但還有一些如信號的觸發、事件的捕獲功能還需完善;需開發基于USB2.0的系統,進一步提高數據傳輸的速率。

?

參考文獻

1 TUSB3210 Datasheet. SLLS466. http://www.ti.com,2001

2 MAX1449 Datasheet. http://www.maxim-ic.com.cn,2000

3 SN74V293 Datasheet.SCAS669C. http://www.ti.com,2002

4 Jan Axelson. USB大全[M]. 北京:中國電力出版社,1999

5 Chirs,Cant.WindowsWDM設備驅動程序開發指南[M].北京:機械工業出版社, 2000

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          国产乱码精品1区2区3区| 欧美国产国产综合| 国产精品私拍pans大尺度在线| 日韩一级免费观看| 亚洲欧美国产不卡| 午夜精品久久久| 亚洲国产精品免费| 久久九九久精品国产免费直播| 国内精品嫩模av私拍在线观看| 欧美国产乱视频| 欧美日韩精品欧美日韩精品一| 日韩午夜高潮| 在线日韩一区二区| 亚洲高清视频中文字幕| 欧美日韩精品在线观看| 亚洲一区黄色| 欧美日韩精品免费在线观看视频| 亚洲高清不卡在线观看| 久久综合电影一区| 尤妮丝一区二区裸体视频| …久久精品99久久香蕉国产| 国产精品久久久久久久久久久久久| 亚洲精品久久久久久一区二区| 黄色成人在线网站| 亚洲蜜桃精久久久久久久| 国产精品久久久久aaaa樱花| 亚洲中无吗在线| 亚洲国产成人精品久久| 国产精品永久在线| 欧美中文在线视频| 日韩视频―中文字幕| 韩国美女久久| 99人久久精品视频最新地址| 国产精品剧情在线亚洲| 一区二区三区成人精品| 一本久道久久综合狠狠爱| 亚洲毛片在线| 黑人巨大精品欧美一区二区| 欧美高清在线精品一区| 亚洲另类黄色| 日韩视频中文| 亚洲激情黄色| 在线不卡免费欧美| 国产一区在线播放| 亚洲黄色成人| 亚洲国产综合在线看不卡| 欧美日韩成人在线视频| 欧美大片一区二区| 一区二区三区在线免费观看| 亚洲图片在线| 欧美精品尤物在线| 国产一区二区观看| 欧美第一黄网免费网站| 黄色另类av| 欧美在线日韩| 亚洲日韩中文字幕在线播放| 国产精品久线观看视频| 亚洲一区二区三| 国产精品专区h在线观看| 欧美日韩二区三区| 伊人久久大香线| 国产精品手机视频| 欧美日韩另类视频| 夜夜精品视频一区二区| 国产精品自拍网站| 久久久久青草大香线综合精品| 亚洲一区在线视频| 国产日韩高清一区二区三区在线| 国产精品福利在线| 在线免费一区三区| 欧美日韩亚洲系列| 国产精品美女在线| 久久久久久伊人| 免费在线一区二区| 久久综合狠狠综合久久综合88| 欧美日韩国产精品一区二区亚洲| 亚洲三级色网| 国产精品久久久久免费a∨| 亚洲天堂av高清| 在线观看国产精品网站| 欧美精品亚洲一区二区在线播放| 亚洲国产精彩中文乱码av在线播放| 免费看的黄色欧美网站| 欧美午夜不卡| 亚洲最新在线视频| 国产精品女人久久久久久| 午夜亚洲激情| 亚洲国产另类久久精品| 国产精品久久久久久久久婷婷| 亚洲二区视频在线| 久久久亚洲高清| 欧美精品一区二区三区蜜桃| 在线视频国产日韩| 日韩亚洲欧美在线观看| 亚洲经典三级| 久久久99免费视频| 欧美高清视频www夜色资源网| 亚洲天堂视频在线观看| 免费久久精品视频| 国产日产精品一区二区三区四区的观看方式| 亚洲精品国偷自产在线99热| 一区二区三区视频观看| 日韩西西人体444www| 亚洲欧美不卡| 久久精品国产免费观看| 欧美国产日本在线| 国产在线拍偷自揄拍精品| 午夜国产不卡在线观看视频| 亚洲欧美日韩国产成人| 国产精品捆绑调教| 国产乱码精品一区二区三区av| 久久综合国产精品台湾中文娱乐网| 一区二区三区蜜桃网| 亚洲视频在线观看一区| 久久精品人人做人人爽| 亚洲国产精品传媒在线观看| 欧美成在线视频| 亚洲精品久久嫩草网站秘色| 欧美日产国产成人免费图片| 国产精品一区二区在线观看不卡| 久久久久久日产精品| 亚洲一区日本| 亚洲午夜久久久久久久久电影院| 欧美一区二区三区在| 久久久av毛片精品| 国产精品护士白丝一区av| 欧美性片在线观看| 欧美一级淫片aaaaaaa视频| 一区在线免费| 在线看欧美日韩| 最新中文字幕亚洲| 久久精品国产成人| 欧美视频一区二区三区四区| 国产一区二区日韩精品欧美精品| 国产精品一二三四区| 欧美久久在线| 国外视频精品毛片| 亚洲国产精品成人综合色在线婷婷| 日韩一区二区免费高清| 亚洲影视在线播放| 亚洲精品1区2区| 亚洲网在线观看| 亚洲乱码精品一二三四区日韩在线| 先锋a资源在线看亚洲| 国精品一区二区三区| 国产综合色精品一区二区三区| 欧美精品啪啪| 久久综合99re88久久爱| 欧美在线观看你懂的| 一区二区三区欧美日韩| 免费日韩视频| 亚洲美女一区| 一本在线高清不卡dvd| 久久久久久久久综合| 欧美日韩在线一区二区三区| 国产精品天天摸av网| 午夜精品福利电影| 含羞草久久爱69一区| 尤物精品国产第一福利三区| 亚洲欧美日韩天堂一区二区| 国产精品久久久久久久一区探花| 经典三级久久| 亚洲精品国产精品乱码不99按摩| 99在线观看免费视频精品观看| 在线视频精品一| 亚洲永久免费| 国产精品igao视频网网址不卡日韩| 精品999日本| 激情成人中文字幕| 亚洲精品综合久久中文字幕| 亚洲影院免费| 嫩草伊人久久精品少妇av杨幂| 国产亚洲欧美一区在线观看| 久久久久88色偷偷免费| 国产综合视频在线观看| 亚洲精品久久视频| 国产日本欧美一区二区三区| 欧美国产先锋| 国产精品久久久久毛片软件| 亚洲成人在线网站| 久色婷婷小香蕉久久| 久久成人免费网| 亚洲欧美精品伊人久久| 午夜精品福利视频| 国产精品mv在线观看| 伊人成人在线视频| 91久久精品www人人做人人爽| 136国产福利精品导航网址应用| 亚洲欧美日韩成人| 久久久久久夜| 亚洲国产日韩欧美| 欧美一区三区二区在线观看| 亚洲免费精彩视频| 国模叶桐国产精品一区| 国外精品视频| 国产精品久久一区二区三区| 欧美日本簧片| 国产精品久久久久久久久借妻| 国产精品久久77777| 欧美区国产区| 欧美国产日产韩国视频| 欧美日韩成人在线观看| 国产一区二区精品久久91| 亚洲永久精品国产| 亚洲视频精选在线| 亚洲国产影院| 亚洲第一视频| 午夜国产精品视频免费体验区| 女同一区二区| 亚洲高清自拍| 尤物99国产成人精品视频| 国产精品普通话对白| 欧美日韩国产三级| 国产性天天综合网| 极品尤物av久久免费看| 在线播放中文一区| 麻豆成人91精品二区三区| 在线精品视频在线观看高清| 国产色综合久久| 国产精品视频一二三| 亚洲国产一区二区三区在线播| 国产亚洲欧美中文| 欧美三级资源在线| 久久久一本精品99久久精品66| 欧美在线视屏| 国产精品美女久久| 国产一区二区三区在线观看精品| 国产伦精品一区二区三区免费| 欧美激情视频网站| 久久久亚洲午夜电影| 最新日韩在线视频| 国产日韩欧美视频| 国产精品一二一区| 亚洲欧美日韩综合国产aⅴ| 国产精品久久久久久久久| 亚洲片在线资源| 亚洲精品极品| 亚洲欧美成人一区二区在线电影| 欧美日韩黄色一区二区| 欧美成人网在线| 久久影视三级福利片| 欧美中文字幕在线观看| 日韩视频在线永久播放| 欧美成人福利视频| 国产九九精品| 国产精品毛片a∨一区二区三区| 久久国产精品亚洲77777| 国产精品每日更新| 日韩一级精品视频在线观看| 亚洲欧美精品伊人久久| 国产亚洲精品福利| 欧美日韩亚洲一区三区| 亚洲免费精彩视频| 一区二区三区欧美成人| 欧美在线视频二区| 欧美亚男人的天堂| 欧美视频中文在线看| 国产一区二区三区久久久| 欧美一区二区在线看| 一区二区日韩精品| 欧美色精品天天在线观看视频| 亚洲国产日韩欧美在线99| 欧美高清影院| 欧美日本一道本| 国产一区二区三区久久久| 中日韩视频在线观看| 尤妮丝一区二区裸体视频| 午夜精品一区二区三区四区| 久久精品一区二区三区不卡| 久久久精品国产99久久精品芒果| 欧美成人小视频| 亚洲成人在线网站| 久久久久久久一区| 日韩一区二区精品视频| 久久性天堂网| 亚洲国产91精品在线观看| 影音先锋亚洲视频| 亚洲日本黄色| 欧美日韩精选| 欧美日韩国产大片| 狠狠色综合网站久久久久久久| 你懂的成人av| 国产性做久久久久久| 国内偷自视频区视频综合| 亚洲高清网站| 欧美在线日韩在线| 香蕉免费一区二区三区在线观看| 浪潮色综合久久天堂| 亚洲精品一区二| 欧美经典一区二区三区| 亚洲第一精品在线| 中文日韩在线| 欧美成人一区在线| 亚洲国产精品久久久久婷婷884| 欧美日韩国产影片| 国产精品人人做人人爽人人添| 美女主播精品视频一二三四| 国产精品入口麻豆原神| 欧美日韩在线视频首页| 国产欧美日韩中文字幕在线| 亚洲电影在线看| 欧美在线一级视频| 蜜桃av久久久亚洲精品| 国产欧美日韩视频一区二区三区| 国产婷婷97碰碰久久人人蜜臀| 欧美专区一区二区三区| 亚洲视屏在线播放| 欧美成年人网站| 免费成人黄色片| 久久久久国产精品厨房| 国产精品你懂的在线| 欧美精品一区二区精品网| 久久亚洲风情| 欧美在线播放视频| 国产精品久久一级| 欧美精品七区| 欧美一区二区三区在| 亚洲国产精品ⅴa在线观看| 亚洲国产婷婷香蕉久久久久久99| 亚洲剧情一区二区| 国产精品久久久久久影院8一贰佰| 亚洲第一网站| 中文精品在线| 国产欧美日韩麻豆91| 欧美精品色综合| 91久久在线| 欧美国产激情二区三区| 99www免费人成精品|