<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 手機(jī)與無線通信 > 設(shè)計(jì)應(yīng)用 > 基于FPGA的RFID無線通信系統(tǒng)的實(shí)現(xiàn)

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

          作者: 時(shí)間:2010-10-29 來源:網(wǎng)絡(luò) 收藏

          SPI總線模式的數(shù)據(jù)是以字節(jié)為單位進(jìn)行傳輸?shù)?一次傳輸可以傳多個(gè)字節(jié)),每字節(jié)為8位,每個(gè)命令或者數(shù)據(jù)塊都是字節(jié)對(duì)齊的(8個(gè)時(shí)鐘的整數(shù)倍)。數(shù)據(jù)按位傳輸,高位在前,地位在后,為全雙工通信,數(shù)據(jù)傳輸速度總體來說比I2C總線要快,速度可達(dá)到每秒幾兆比特。SPI接口是以主從方式工作的,這種模式通常有一個(gè)主器件和一個(gè)或多個(gè)從器件。在本文設(shè)計(jì)的無線通信系統(tǒng)中,由FPGA實(shí)現(xiàn)的SPI總線接口模塊為主機(jī),NRF905的SPI模塊為從機(jī)。
          SPI時(shí)序模式的選擇:
          SPI接口有4種不同的數(shù)據(jù)傳輸時(shí)序,取CPOL和CPHL這兩位的組合。CPOL是用來決定SCK時(shí)鐘信號(hào)空閑時(shí)的電平;CPOL=O,空閑電平為低電平,CPOL=1時(shí),空閑電平為高電平。CPHA是用來決定采樣時(shí)刻的,CPHA=0,在每個(gè)周期的第一個(gè)時(shí)鐘沿采樣;CPHA=1,在每個(gè)周期的第二個(gè)時(shí)鐘沿采樣。
          圖2為NRF905的SPI接口的時(shí)序圖,由此本文設(shè)計(jì)的SPI工作模式是在CPOL=O,CPHA=O這種時(shí)序下。

          本文引用地址:http://www.ex-cimer.com/article/156991.htm


          1.3.2 SPI硬件設(shè)計(jì)
          圖3是本文無線通信系統(tǒng)中SPI模塊的結(jié)構(gòu)圖,該系統(tǒng)中的SPI主要由時(shí)鐘生成模塊,SPI寄存器組,SPI功能配置的模塊組成,并且通過Wishbone總線與控制器相連,具體設(shè)計(jì)如下:
          時(shí)鐘生成模塊:由于SPI模塊是基于FPGA來實(shí)現(xiàn)的,而FPGA外部提供的時(shí)鐘較快(50 MHz或100 MHz),不適合與NRF905的SPI接口進(jìn)行通信
          (1 Hz~10 MHz),所以需要分頻來使時(shí)鐘慢下來。但是至于幾分頻是由SPI功能配置模塊來完成的。其次由于SPI協(xié)議指出數(shù)據(jù)可在上升沿或下降沿觸發(fā),所以還需要對(duì)時(shí)鐘的上升沿或下降沿進(jìn)行鑒別(也稱抓沿程序),這個(gè)功能也由這個(gè)模塊完成。


          SPI寄存器模塊:這個(gè)模塊實(shí)現(xiàn)的是一個(gè)由16個(gè)8位寄存器組成的128位的寄存器組,也就是說通過SPI接口一次性可收發(fā)8~128位的串行數(shù)據(jù)。具體操作由SPI功能配置模塊來完成。
          SPI功能配置模塊:這個(gè)模塊相當(dāng)于一個(gè)SPI控制器,通過對(duì)其寄存器的配置來決定時(shí)鐘的分頻數(shù),收發(fā)數(shù)據(jù)位數(shù),時(shí)鐘上升沿或下降沿傳輸數(shù)據(jù)等,而對(duì)這些寄存器的配置是由控制模塊完成的。下面就配置寄存器做一些簡(jiǎn)要說明。
          首先介紹控制寄存器:
          控制寄存器第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。
          1.4 控制模塊
          對(duì)于控制模塊來說,其實(shí)現(xiàn)方法是利用基于Verilog語言的有限狀態(tài)機(jī)來實(shí)現(xiàn),相當(dāng)于一條一條的指令來控制SPI模塊接收發(fā)送數(shù)據(jù)??刂颇K分成三個(gè)獨(dú)立的部分即接收控制模塊、發(fā)送控制模塊及NRF905配置模塊。其中接收與發(fā)送控制模塊分別包含對(duì)SPI進(jìn)行配置的狀態(tài)。下面對(duì)接收控制模塊的設(shè)計(jì)進(jìn)行說明。圖4即為Debussy綜合出的狀態(tài)機(jī)轉(zhuǎn)換圖。

          11z.jpg



          關(guān)鍵詞: 收發(fā)器

          評(píng)論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();