UWB模塊Wisair DV9110M 配置的FPGA實(shí)現
2.2 FPGA實(shí)現
由于FPGA的工作電壓足3.3 V,因此,為UWB子板提供3.3 V電壓很容易。使用FPGA實(shí)現配置的關(guān)鍵在于對時(shí)序的控制。對UWB子板進(jìn)行寄存器的相關(guān)操作是通過(guò)異步并行通信來(lái)完成的。該接口主要包括8位數據線(xiàn),8位地址線(xiàn)和讀寫(xiě)控制信號。整個(gè)寄存器地址空間呈線(xiàn)性分布,并被劃分為若干頁(yè),每一頁(yè)的最后一個(gè)地址FF用來(lái)控制頁(yè)跳轉。
配置寄存器的操作步驟如圖1所示。第一步,設定被訪(fǎng)問(wèn)寄存器的頁(yè)地址,此時(shí),地址總線(xiàn)賦予“FF”,數據總線(xiàn)賦予頁(yè)地址。第二步,對寄存器寫(xiě)入參數值,此時(shí)地址總線(xiàn)設定為該寄存器的頁(yè)內地址,數據總線(xiàn)設為該寄存器要配置的值。
由于是異步通信,因此必須保證最小的時(shí)序間隔:其中低有效的寫(xiě)控制信號的持續時(shí)間必須大于76 ns,而相鄰兩次寫(xiě)操作時(shí)間間隔必須大于60 ns。同時(shí),為了配置成功,還應保證在寫(xiě)控制信號有效時(shí),數據和地址信號保持穩定,具體流程如圖2所示。
包含配置地址和數據信息的文檔位于Wisman安裝目錄下的Default_NoAck.txt中。默認需要順序配置4 195個(gè)寄存器。此外,對于特定接口(如以太網(wǎng)接口)以及特定參數(如物理層速率,調頻序列等)需要另行配置,共有8個(gè)相關(guān)寄存器。因此總共需要配置的寄存器為4 203個(gè)。由于配置一個(gè)寄存器需要獲知16位地址信息和8位數據信息,因此一個(gè)寄存器需要存儲的信息量為24位,而需要配置的寄存器達4 203個(gè),如果將這些信息全固化入ROM中,將占用大量的FPGA資源,不利于系統其他功能的開(kāi)發(fā)。為此,針對這4 203個(gè)寄存器,進(jìn)行分類(lèi)優(yōu)化,一共可分為三個(gè)部分:
第一部分是前5個(gè)寄存器。這5個(gè)寄存器的地址和數據沒(méi)有規律,但由于數量很少,配置時(shí)枚舉即可。
第二部分包括41組寄存器,共4 052個(gè)。其中每組寄存器的起始地址都相同,偏移地址在起始地址的基礎上依次增加1。配置這部分寄存器時(shí),只需用ROM存儲8位的數據信息,其地址信息則由該組寄存器的起始地址以及該寄存器的配置順序號決定。這樣24位寬的ROM變?yōu)?位寬,大大減少了資源。
第三部分包括148個(gè)寄存器,其地址和數據也沒(méi)有規律,對這部分寄存器信息用24位的ROM來(lái)存儲。
3 仿真結果與資源使用量
通過(guò)使用FPGA來(lái)代替軟件完成配置,一層子板就可實(shí)現UWB模塊的數據收發(fā)功能,其高度由20 mm變?yōu)?0 mm,降低了50%,大大壓縮了體積,有利于UWB模塊在使用時(shí)的設備集成;去掉了母板,用FPGA來(lái)提供UWB子板的電壓,節省了一個(gè)需單獨供電的5 V電源,而且節省了器件,降低了功耗;同時(shí)由于減少了母板的中轉,接口時(shí)鐘從25 MHz提高到30MHz,理論帶寬由200 MHz提高到240 MHz,提高了20%,在數據的無(wú)線(xiàn)傳輸過(guò)程中具有重大的意義。
最終仿真波形如圖3所示。
如果用Xilinx Virtex4系列的xc4lxl5器件來(lái)綜合,最后使用的資源如表1所列。
評論