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