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

          新聞中心

          EEPW首頁 > EDA/PCB > 設(shè)計(jì)應(yīng)用 > 基于FPGA無線傳感器網(wǎng)絡(luò)MAC控制器的設(shè)計(jì)

          基于FPGA無線傳感器網(wǎng)絡(luò)MAC控制器的設(shè)計(jì)

          作者: 時(shí)間:2011-06-17 來源:網(wǎng)絡(luò) 收藏

          接收狀態(tài)機(jī)產(chǎn)生整個(gè)接收過程所需要的控制信號,在控制信號的作用下將接收到的幀存儲(chǔ)到RxFIFO。接收部分的狀態(tài)轉(zhuǎn)移如圖6所示。

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

          g.JPG


          (1)IDIE:初始狀態(tài)。當(dāng)接收狀態(tài)機(jī)上電復(fù)位或者成功接收到幀時(shí),進(jìn)入到此狀態(tài)。收到RxCSP_en信號時(shí),開始數(shù)據(jù)接收過程。
          (2)Rx_Preamhle:接收前導(dǎo)序列。啟動(dòng)序列檢測器,開始檢測數(shù)據(jù)線上符合IEEE802.15.4協(xié)議的序列。
          (3)Rx_Length:接收數(shù)據(jù)幀長度。在這個(gè)狀態(tài)下,開始接收數(shù)據(jù)的長度,同時(shí)存入計(jì)數(shù)器寄存器。
          (4)Rx_MPDU:接收數(shù)據(jù)幀MPDU部分。這個(gè)狀態(tài)下,接收幀的有效數(shù)據(jù)。每接收到1 Byte有效數(shù)據(jù)后,便產(chǎn)生接收FIFO緩存寫信號,同時(shí)將數(shù)據(jù)寫入到接收FIFO。如果接收數(shù)據(jù)CRC校驗(yàn)有誤或者接收過程中發(fā)生堵塞現(xiàn)象,則狀態(tài)機(jī)退回到初始狀態(tài)。
          (5)Rx_CRC_CHECK:接收CRC校驗(yàn)。接收數(shù)據(jù)包的CRC校驗(yàn)碼,同時(shí)啟動(dòng)CRC校驗(yàn)的過程。
          (6)Rx_RSSI_PAD:幀末尾RSSI值填充。計(jì)算RSSI強(qiáng)度值,并附著CRC校驗(yàn)結(jié)果,將該字節(jié)填入接收FIFO。
          (7)Rx_CRC_PAD:CRC狀態(tài)和Correlation值填充。
          2.3 CSMN/CA協(xié)處理器模塊
          CSMA/CA協(xié)處理器是設(shè)計(jì)中的核心模塊。協(xié)處理器主要包括指令寄存器、4個(gè)輔助寄存器以及控制信號產(chǎn)生模塊。通過指令寄存器、4個(gè)輔助寄存器與系統(tǒng)CPU接口的功能。同時(shí),控制信號產(chǎn)生模塊產(chǎn)生發(fā)送和接收模塊所需要的控制信號。
          包括4種工作狀態(tài):
          (1)睡眠狀態(tài):在該狀態(tài)下,除協(xié)處理器模塊外,所有子模塊的時(shí)鐘都將停止,從而降低功耗。只有當(dāng)協(xié)處理器執(zhí)行發(fā)送使能指令或接收使能指令時(shí),才離開睡眠狀態(tài)。
          (2)發(fā)送狀態(tài):當(dāng)協(xié)處理器執(zhí)行發(fā)送使能指令時(shí),進(jìn)入發(fā)送狀態(tài)。如果一幀發(fā)送完成,則自動(dòng)轉(zhuǎn)入接收狀態(tài)。
          (3)接收狀態(tài):當(dāng)協(xié)處理器執(zhí)行接收使能指令時(shí),進(jìn)入接收狀態(tài)。因?yàn)榻邮諣顟B(tài)是主要的工作狀態(tài),所以在成功接收完一幀或幀校驗(yàn)失敗后依然處于接收狀態(tài)。
          (4)發(fā)送應(yīng)答幀狀態(tài):當(dāng)協(xié)處理器執(zhí)行應(yīng)答指令時(shí),進(jìn)入到此狀態(tài)。
          無論在那種狀態(tài),一旦執(zhí)行了休眠指令,控制器立即進(jìn)入睡眠狀態(tài)。
          2.4 接口模塊
          接口模塊分為和系統(tǒng)MCU的特殊功能寄存器接口以及和與物理層芯片的物理接口。MCU要想控制MAC控制器的運(yùn)行,就必須采用一種接口與它進(jìn)行通信,本文采用SPI接口。
          SPI(Serial Peripheral Interface)是一種串行外圍設(shè)備接口,是Motorola首先在其MC68HCXX系列處理器上定義的。優(yōu)點(diǎn)如下:第一,它是一種高速的,全雙工,同步的通信總線;第二,它只占用4根線,節(jié)約了芯片的管腳,同時(shí)為PCB的布局上節(jié)省空間。SPI接口主要應(yīng)用在EEPROM,F(xiàn)lash,實(shí)時(shí)時(shí)鐘,A/D轉(zhuǎn)換器,還有數(shù)字信號處理器和數(shù)字信號解碼器之間。
          SPI的通信原理:它以主從方式工作,這種模式通常有一個(gè)主設(shè)備,一個(gè)或多個(gè)從設(shè)備,需要至少4根線。
          (1)SEL:從設(shè)備使能信號,由主設(shè)備控制。
          (2)MOSI:主設(shè)備數(shù)據(jù)輸出,從設(shè)備數(shù)據(jù)輸入。
          (3)MISO:主設(shè)備輸入,從設(shè)備數(shù)據(jù)輸出。
          (4)SCLK:時(shí)鐘信號,由主設(shè)備產(chǎn)生。
          其中,SEL是控制芯片是否被選中,也就是說只有片選信號為預(yù)先規(guī)定的使能信號時(shí),對此芯片的操作才有效。這就允許在同一總線上連接多個(gè)SPI設(shè)備成為可能。由SCLK提供時(shí)鐘脈沖,MOSI和MISO則基于此脈沖完成數(shù)據(jù)傳輸。數(shù)據(jù)輸出通過MOSI,MISO線,數(shù)據(jù)在時(shí)鐘上升沿或下降沿時(shí)改變,在緊接著的下降沿或上升沿被讀取,完成一位數(shù)據(jù)傳輸。輸入也使用同樣的原理。這樣,在至少8次時(shí)鐘信號改變內(nèi),就可以完成8位數(shù)據(jù)的傳輸。MAC控制器采取的是上升沿接收、下降沿發(fā)送、高位先發(fā)送。

          3 綜合結(jié)果
          本設(shè)計(jì)采用Verilog語言,芯片使用Altera公司的Cyclone,整個(gè)設(shè)計(jì)都是在Altera公司的Quartus8.0下進(jìn)行綜合、布局布線以及仿真。表1是綜合結(jié)果。

          h.JPG



          4 結(jié)束語
          本文給出了完全用實(shí)現(xiàn)MAC控制器的設(shè)計(jì)方法,該方法只需外接物理層芯片和MCU便可完成網(wǎng)絡(luò)功能。從而有效降低了成本,減少了版面積,提高了整個(gè)系統(tǒng)的集成度。


          上一頁 1 2 3 下一頁

          評論


          相關(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); })();