IR-UWB通信系統(tǒng)高速USB接口的設計與實現(xiàn)
組幀的流程,如圖6所示。usedw表示1 kB FIFO內(nèi)所存儲的未讀數(shù)據(jù)的bit數(shù)。若usedw≥512則表1 kB FIFO內(nèi)有512個數(shù)據(jù)可以被打成一個完整的包。若usedw512表示緩存中的數(shù)據(jù)不足一幀,這時判斷1 kB FIFO中是否還有數(shù)據(jù)。若usedw>0,則表示FIFO內(nèi)還有數(shù)據(jù)。 Timer_ count是一個特殊的計數(shù)器,它表示連續(xù)多少個時鐘周期沒有從USB讀取過數(shù)據(jù),當從USB讀取數(shù)據(jù)時,它會被清零。若Time_count=1 024l貝0表示l 024個時鐘周期都沒有從USB讀取過數(shù)據(jù),便把1 kB FIFO中剩余的數(shù)據(jù)補零打包發(fā)送出去。
2.4發(fā)送端OSB接口電路實現(xiàn)
發(fā)送端USB接口電路,如圖8所示。 本文引用地址:http://www.ex-cimer.com/article/157580.htm
2.5 發(fā)送端接口電路數(shù)據(jù)波形
圖9是利用FPGA開發(fā)工具QuartusⅡ6.O提供的虛擬邏輯分析儀邏輯分析測試圖。如圖9所示,u_flagc是USB芯片中FIFO的空滿信號,它表示USB的FIFO中是否有數(shù)據(jù),若u_flagc為高電平表示有數(shù)據(jù)。bit_out是數(shù)據(jù)進行組幀打包后輸出的比特流,比特流將送入通信系統(tǒng)的基帶部分進行信道編碼。bit_valid為高電平對應bit_out中的有效數(shù)據(jù)。rdusedw表示FPGA控制電路FIFO中的剩余數(shù)據(jù)。當FPGA控制電路FIFO中的數(shù)據(jù)滿512 bit時,控制電路從FIF0中讀取一幀數(shù)據(jù)。state表示狀態(tài)機的狀態(tài)轉(zhuǎn)換,0表示等待狀態(tài),狀態(tài)1時發(fā)送幀頭數(shù)據(jù),狀態(tài)2時發(fā)送幀長數(shù)據(jù),狀態(tài)3時發(fā)送有效數(shù)據(jù)。
3 收端計算機與UWB通信系統(tǒng)接口的實現(xiàn)
3.1 接收端USB接口方案
如圖10所示,數(shù)據(jù)解幀模塊通過串行移位寄存器對比特流數(shù)據(jù)進行初步緩存,同時進行數(shù)據(jù)幀頭檢測,一旦檢測到幀頭,并且FIFO中有存儲空間,就對緩存的比特流進行解幀處理,將解幀后的數(shù)據(jù)送入128 kB FIFO,否則一直檢測幀頭。128 kB FIFO模塊用于進行數(shù)據(jù)緩沖,匹配前后模塊之間速率。USB接收端狀態(tài)檢測與控制模塊是用來檢測相應狀態(tài)的標志信號,產(chǎn)生同步寫入USB接口FIFO中數(shù)據(jù)的信號u_ifclk和u_slwr,在u_ifclk的上升沿與u_slwr有效電平期間,將基帶模塊輸出到總線上的數(shù)據(jù)寫入USB接口芯片中。
3.2 接收端USB接口芯片控制電路
流程如圖11所示。
評論