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