新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 一種基于FPGA的RFID無線通信系統(tǒng)的實現(xiàn)

一種基于FPGA的RFID無線通信系統(tǒng)的實現(xiàn)

作者: 時間:2010-11-03 來源:網(wǎng)絡(luò) 收藏

  1.4 控制模塊

  對于控制模塊來說,其實現(xiàn)方法是利用基于Verilog語言的有限狀態(tài)機來實現(xiàn),相當(dāng)于一條一條的指令來控制SPI模塊接收發(fā)送數(shù)據(jù)??刂颇K分成三個獨立的部分即接收控制模塊、發(fā)送控制模塊及NRF905配置模塊。其中接收與發(fā)送控制模塊分別包含對SPI進(jìn)行配置的狀態(tài)。下面對接收控制模塊的設(shè)計進(jìn)行說明。圖4即為Debussy綜合出的狀態(tài)機轉(zhuǎn)換圖。

Debussy綜合出的狀態(tài)機轉(zhuǎn)換圖

  為了完成無線通訊而設(shè)計的狀態(tài)較多,比較復(fù)雜,故只對比較重要的狀態(tài)做些簡要說明。idle空閑狀態(tài),完成對端口進(jìn)行初始化寄存器清零;config_div狀態(tài),對時鐘進(jìn)行分頻(定義sclk);configwb_in狀態(tài),定義傳輸數(shù)據(jù)的位數(shù)以及是上升沿收發(fā)還是下降沿收發(fā),wb_inl,wb_in2,wb_in3,wb_in4,這四個狀態(tài)就是通過Wishbone總線接口對SPI配置要寫的數(shù)(每一個狀態(tài)對應(yīng)一個寄存器);configspi_out狀態(tài),開始傳送數(shù)據(jù);done狀態(tài),片選置高數(shù)據(jù)傳送完成;readeonfigreg_prel狀態(tài),設(shè)定發(fā)送數(shù)據(jù)位數(shù);readconfigreg(讀寄存器控制字位數(shù))狀態(tài),通過Wishbone總線接口對SPI配置讀命令字;readconfigreg_out狀態(tài),設(shè)定發(fā)送/接收數(shù)據(jù)位;alldone狀態(tài),片選置高完成配置數(shù)據(jù)讀取的過程。

  該設(shè)計考慮到驗證配置過程的正確性,故特意設(shè)定了讀寄存器配置數(shù)據(jù)的狀態(tài),ehangemode就是接收狀態(tài),當(dāng)接收完成后(DR=1)進(jìn)入eh-angmodee狀態(tài),把收到的數(shù)據(jù)讀出來。然后再回到readeonfigreg_prel狀態(tài),等待新的傳輸數(shù)據(jù)。

  2 系統(tǒng)驗證

  該設(shè)計最后進(jìn)行了板級驗證,開發(fā)板與NRF905的PCB板構(gòu)成這個驗證系統(tǒng)。芯片的采用Xilinx公司的XC2V1000,所用的綜合工具是Synplify,前仿真與后仿真用來查看波形的工具是Modelsim,所用到的布局布線工具與下載工具是ISE10.1集成的iMPACT,而板級測試用來查看波形的工具是Chipseope。

  在下載之前對本設(shè)計進(jìn)行了充足的功能仿真,用Verilog編寫了SPI從機模仿NRF905的SPI接口與SPI主機進(jìn)行通信,確保能夠完成預(yù)先設(shè)定的功能。

  下載是將配置文件下載到具體的芯片中。本文系統(tǒng)中采用的是JTAG下載方式,下載工具使用Xilinx ISE的集成工具iMPACT。在下載之前進(jìn)行了管腳綁定其目的就在于能夠?qū)⒃O(shè)計的輸入/輸出端口約束在FPGA芯片的合適的引腳上,以方便對其進(jìn)行分析和調(diào)試并與外界I/O進(jìn)行相連。下面即為本設(shè)計中相應(yīng)的管腳約束文件中的相關(guān)內(nèi)容。

程序



關(guān)鍵詞: RFID 無線通信 FPGA

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉