新聞中心

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

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

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

  1.3.2 SPI硬件設(shè)計(jì)

  圖3是本文系統(tǒng)中SPI模塊的結(jié)構(gòu)圖,該系統(tǒng)中的SPI主要由時(shí)鐘生成模塊,SPI寄存器組,SPI功能配置的模塊組成,并且通過(guò)Wishbone總線與控制器相連,具體設(shè)計(jì)如下:

  時(shí)鐘生成模塊:由于SPI模塊是基于來(lái)實(shí)現(xiàn)的,而外部提供的時(shí)鐘較快(50 MHz或100 MHz),不適合與NRF905的SPI接口進(jìn)行通信(1 Hz~10 MHz),所以需要分頻來(lái)使時(shí)鐘慢下來(lái)。但是至于幾分頻是由SPI功能配置模塊來(lái)完成的。其次由于SPI協(xié)議指出數(shù)據(jù)可在上升沿或下降沿觸發(fā),所以還需要對(duì)時(shí)鐘的上升沿或下降沿進(jìn)行鑒別(也稱抓沿程序),這個(gè)功能也由這個(gè)模塊完成。

本文無(wú)線通信系統(tǒng)中SPI模塊的結(jié)構(gòu)圖

  SPI寄存器模塊:這個(gè)模塊實(shí)現(xiàn)的是一個(gè)由16個(gè)8位寄存器組成的128位的寄存器組,也就是說(shuō)通過(guò)SPI接口一次性可收發(fā)8~128位的串行數(shù)據(jù)。具體操作由SPI功能配置模塊來(lái)完成。

  SPI功能配置模塊:這個(gè)模塊相當(dāng)于一個(gè)SPI控制器,通過(guò)對(duì)其寄存器的配置來(lái)決定時(shí)鐘的分頻數(shù),收發(fā)數(shù)據(jù)位數(shù),時(shí)鐘上升沿或下降沿傳輸數(shù)據(jù)等,而對(duì)這些寄存器的配置是由控制模塊完成的。下面就配置寄存器做一些簡(jiǎn)要說(shuō)明。

  首先介紹控制寄存器:

  •   控制寄存器第O位go:是否開始發(fā)送。
  •   控制寄存器第1位rx_negedge:接收數(shù)據(jù)是下降沿還是上升沿。
  •   控制寄存器第2位tx_negedge:發(fā)送數(shù)據(jù)是下降沿還是上升沿。
  •   控制寄存器第3~9位char_len:發(fā)送數(shù)據(jù)的位數(shù)(因?yàn)镾PI是全雙工的,所以這實(shí)際上也是接收數(shù)據(jù)的位數(shù))。
  •   控制寄存器第10位lsb:是從高位發(fā)送還是地位發(fā)送。
  •   控制寄存器第11位ie:讀寫完成之后是否發(fā)送中斷信號(hào)。
  •   控制寄存器第12位ass:是否自動(dòng)產(chǎn)生片選信號(hào)。
  •   分頻寄存器:spi_divider_sel。
  •   狀態(tài)寄存器:spi_ctrl_sel。
  •   數(shù)據(jù)寄存器O:spi_tx_sel[0]。
  •   數(shù)據(jù)寄存器1:spi_tx_sel[1]。
  •   數(shù)據(jù)寄存器2:spi_tx_sel[2]。
  •   數(shù)據(jù)寄存器3:spi_tx_sel[3]。
  •   片選信號(hào)寄存器:spi_ss_sel。

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

評(píng)論


相關(guān)推薦

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

關(guān)閉