- 相關推薦
具有USB2.0接口的高速數據采集卡設計
摘要:討論基于USB接口的高速數據采集卡的設計與實現。詳細講述數據采集卡的硬件部分設計,并簡要介紹固件程序、驅動程序和應用軟件的設計。引言
數據采集在現代工業(yè)生產及科學研究中的重要地位日益突出,并且實時高速數據采集的要求也不斷提高。在信號測量、圖像處理、音頻信號處理等一些高速、高精度的測量中,都需要進行高速數據采集,F在通用的高速數據采集卡一般多是PCI卡或ISA卡,這些采集卡存在很多缺點,比如安裝麻煩,價格昂貴,尤其是受計算機插槽數量、地址、中斷資源的限制,可擴展性差。
通用串行總線USB是用來連接外圍設備與計算機之間的新式標準接口總線。它是一種快速、雙向、同步傳輸、廉價的并可以實現熱拔插的串行接口。USB技術是為實現計算機和通信集成而提出的一種用于擴充PC體系結構的工業(yè)標準。基于USB接口的高速數據采集卡,充分利用了USB總線的優(yōu)點,它也必將被越來越多的用戶所接受。
1 USB數據采集卡原理
1.1 USB簡介
USB是英文Universal Serial Bus的縮寫,中文含義是“通用串行總線”。它支持在主機與各式各樣即插即用的外設之間進行數據傳輸。它由主機預定傳輸數據的標準協(xié)議,在總線上的各種設備分享USB總線帶寬。當總線上的外設和主機在運行時,允許自由添加、設置、使用以及拆除一個或多個外設。USB總線技術的提出就是想利用單一的總線技術,來滿足多種應用領域的需要。USB1.1協(xié)議支持兩種傳輸速度,即低速1.5Mbps和高速12Mbps。為了在高速接口之爭中占有一席之地,2000年發(fā)布了USB2.0協(xié)議,它向下兼容USB1.1協(xié)議,數據的最高傳輸速率提高到480Mbps,這就使USB對打印機和其它需要快速傳遞大容量數據的外設更具吸引力。
為了滿足實際數據采集USB傳輸速度較高的需要,選擇了Cypress公司的內置USB接口微控制器芯片EZUSB FX2系列,開發(fā)了具有USB接口的高速數據采集卡。
1.2 系統(tǒng)框圖
USB系統(tǒng)是一個主從系統(tǒng),而非對等(peer-to-peer)系統(tǒng)。在主從系統(tǒng)中,命令是由主設備發(fā)出,而從設備只能接收命令,只有在主設備讀取數據時,從設備才能提交數據。如圖1所示,在USB控制器與外圍電路之間需要一個FIFO,來充當數據的緩存區(qū)。那么,在USB從設備向主設備發(fā)送數據時存在一個問題:FIFO多大才能滿足要求。為了滿足數據采集中高速實時流數據垢應用,避免FIFO溢出,在我們的系統(tǒng)中,通過FPGA及SDRAM構造一個容量的FIFO(圖1虛線框內所示),可以提供一個低成本并能滿足高速實時流數據傳輸的解決方案。
圖2
2 USB數據采集卡硬件
2.1 EZ-USB FX2(CY7C68013)芯片
Cypress公司的EZ-USB FX2系列芯片是最早符合USB2.0協(xié)議的微控制器之一,它集成了符合USB2.0協(xié)議的收發(fā)器(transceiver),串行接口引擎(SIE),增強型的8051內核以及可編程的外圍接口。FX2系列芯片獨特的結構使得數據傳輸速度最高可達56Mbps,最大限度地滿足了USB2.0的帶寬。
EZ-USB FX2的微處理器是一個增強型的8051內核,性能可達標準8051的5~10倍,并與標準8051的指令完全兼容。增強型的8051內核使用RAM世馘 作程序指令和數據存儲器,從而使得EZ-USB FX2具有“軟”特性,也就是說,可以通過自行編寫程序指令來實現所需的功能。EZ-USB FZ2使用增強型SIE/USB接口(稱為USB核),通過執(zhí)行USB部本身的協(xié)議來簡化8051代碼編寫的工作。這樣采用硬件完成USB塄,簡化了固件代碼的編制。對于固件代碼的使用,主機通過軟件下載的方法實現。這種方法充分利用FZ2內部的8KB RAM來裝載8051代碼和數據。由于EZ-USB FZ2具有重新枚舉的能力,所以在初始化枚舉時,用戶并不需要斷天設備就可以裝載新的描述符。設備描述符和8051程序代碼都能通過主機中的磁盤文件下載,只有制造商號、產品號和設備號從啟動時從一個16字節(jié)的EEPROM下載到硬件中的。通過這種方式,可以比較容易地從主機升級軟件和修改USB總線設備的固件代碼。
EZ-USB FX2的通用可編程接口GPIF以及Master/Slave端點FIFO所對應的8/16位數據總線,可以很容易地實現FX2與當前一些主流通過接口(如ATA、UTOPIA、EPP、PCMCIA和大部分DSP處理器)的互連。它共有7個端點,端點0,端點1和IN和OUT,還有端點2、4、6和8。其中,前3個端點的大小是固定的64字節(jié),后4個端點默認大小是2級512字節(jié)的FIFO,端點2和端點4默認是OUT端點,端點6和端點8默認是IN端點,而端點2和6分別可以定義為2級、3級或4級的存儲器,每級的大小也可以是512字節(jié)或1024字節(jié)。從EZ-USB FX2方向來看,一個端點相當于通過總線收發(fā)數據的緩沖區(qū),EZ-USB FX2從OUT緩沖區(qū)中讀取端點數據,將通過USB傳的端點數據寫入IN緩沖區(qū)。它求全責備速(12 Mbps)和高速(480 Mbps)傳輸速率,并具有USB協(xié)議所規(guī)定的4種傳輸方式,即控制方式(control mode)、中斷傳輸方式(interrupt mode)、批量傳輸方式(bulk mode)和等時傳輸方式(isochronous mode)。
EZ-USB FX2系列是基于RAM的“軟”結構,在開發(fā)過程中允許無限制設置和升級;它支持全速USB總線吞吐量的傳輸,使用EZ-USB FX2進行設計,可以不受端點數、緩沖區(qū)大小和傳輸速度的限制;此外,其內核中做了大量的輔助指令,簡化了編碼,同時也加快了對U
【具有USB2.0接口的高速數據采集卡設計】相關文章:
USB接口的高速數據采集卡的設計與實現03-18
基于USB2.0的高速同步數據采集系統(tǒng)設計03-19
高速PCI總線接口模塊設計03-08
基于TC534的數據采集卡設計03-20
設計具有ARQ功能的全雙工數據電臺03-18