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