• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統 > 設計應用 > 一種基于FPGA的RFID無線通信系統的實現

    一種基于FPGA的RFID無線通信系統的實現

    作者: 時間:2010-11-03 來源:網絡 收藏

      1.4 控制模塊

      對于控制模塊來說,其實現方法是利用基于Verilog語言的有限狀態機來實現,相當于一條一條的指令來控制SPI模塊接收發送數據。控制模塊分成三個獨立的部分即接收控制模塊、發送控制模塊及NRF905配置模塊。其中接收與發送控制模塊分別包含對SPI進行配置的狀態。下面對接收控制模塊的設計進行說明。圖4即為Debussy綜合出的狀態機轉換圖。

    Debussy綜合出的狀態機轉換圖

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

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

      2 系統驗證

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

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

      下載是將配置文件下載到具體的芯片中。本文系統中采用的是JTAG下載方式,下載工具使用Xilinx ISE的集成工具iMPACT。在下載之前進行了管腳綁定其目的就在于能夠將設計的輸入/輸出端口約束在FPGA芯片的合適的引腳上,以方便對其進行分析和調試并與外界I/O進行相連。下面即為本設計中相應的管腳約束文件中的相關內容。

    程序



    關鍵詞: RFID 無線通信 FPGA

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 城步| 紫金县| 长沙市| 什邡市| 额尔古纳市| 华容县| 昌图县| 齐河县| 遵义县| 文化| 南投县| 申扎县| 睢宁县| 伊春市| 柳江县| 商丘市| 屏东市| 宁夏| 上高县| 富宁县| 东丰县| 行唐县| 沙洋县| 柏乡县| 静宁县| 永嘉县| 安福县| 寿光市| 松原市| 喀喇沁旗| 囊谦县| 子洲县| 阳山县| 根河市| 蒙自县| 新泰市| 临汾市| 沈丘县| 德州市| 古丈县| 辽阳县|