IR-UWB通信系統高速USB接口的設計與實現
1.2 USB接口芯片分析與選用
文中選用EZ-USB FX2系列芯片作為USB接口芯片,并設計了USB接口電路。該電路控制USB芯片與UWB通信系統基帶模塊的數據傳輸,實現了計算機與UWB通信系統的互連。
USB2.0協議中規定,USB芯片支持3種傳輸速率,分別為1.5 MB?s-1低速傳輸、12 MB?s-1全速傳輸、480 MB?s-1高速傳輸。一般有3種常用的USB功能設備接口芯片:低速傳輸芯片CY7C630/1xxA、全速傳輸芯片EZ-USB系列和高速傳輸芯片EZ-USB FX2系列。為了支持UWB通信系統高達100 MB?s-1的傳輸速率,并且保證流媒體傳輸的實時性、流暢性,系統選用高速傳輸系列芯片CY7C68013作為USB接口芯片。本文引用地址:http://www.104case.com/article/157580.htm
2 發端計算機與UWB通信系統接口的實現
2.1 發送端USB接口方案
如圖4所示,控制電路收發端計算機傳送的數據,將其存入USB芯片內部512 bit的FIFO中,同時產生表示FIFO空或非空的狀態信號u_flagc,當u_flagc為高電平表示FIFO非空,反之即空。1 kBFIFO模塊是用來進行數據緩沖,同時產生寫滿wrfull的標志信號與表示FIFO中還有多少bit數據未讀出的信號usedw。USB發送端狀態檢測與控制模塊用于檢測相應狀態的標志信號,以產生異步讀取USB接口FIFO中數據的信號u_slrd,在u_slrd的上升沿將USB接口FIFO中的l bit讀出,同時將數據寫入到l kBFIFO中。數據打包模塊是將數據按照幀格式打包處理。
若u_flagc=1表示USB設備中有數據。FPGA控制電路從USB芯片中讀取數據,接下來判斷FPGA控制電路的緩存是否還有空間,如果緩存未滿,則將從USB芯片中讀得的數據寫入FPGA緩存中。在實際調試中發現,wrfull為高電平不會出現,因為在有效時間段內,讀取數據的速率要比寫入快。
2.3數據組幀模塊
完成將數據組幀和短包發送功能。當1 kB FIFO中數據有512 bit時,進行數據打包發送,即首先發送幀頭數據E25F35,接著發送表示幀長度的數據,最后發送512 bit的幀數據。當傳輸文件的最后一幀數據不足512 bit時,才用短包發送功能。首先將剩余數據打包,先發送幀頭數據,再發送剩余數據大小,最后發送剩余數據。
數據流在物理層上是以幀為單位進行傳送的,因此將數據送入物理層之前必須對數據進行組幀。數據幀結構,如圖7所示。
24 bit代表這個包的包頭,其值為E25F35。9 bit代表這個包中有效數據的bit數。512×8 bit代表512 bit數據,其中有效數據的個數由包頭前面的9 bit所標識。接收端只有在檢測到包頭E25F35后,才會處理包頭前面的9 bit和包頭后面的512×8 bit。
評論