當前位置:首頁 > 物聯(lián)網(wǎng) > 網(wǎng)絡(luò)層
[導讀] 給出了一種由FPGA實現(xiàn)的無線傳感器網(wǎng)絡(luò)MAC控制器的設(shè)計方法,采用自頂向下的方法設(shè)計各個模塊,并在QuartusII8.0完成了仿真,該控制器主要支持IEEE802.15.4協(xié)議。測試結(jié)果表明,該MAC控制器支持20~250 kb·s-1數(shù)據(jù)傳輸速率,適應(yīng)IEEE802.15.4協(xié)議要求。

 給出了一種由FPGA實現(xiàn)的無線傳感器網(wǎng)絡(luò)MAC控制器的設(shè)計方法,采用自頂向下的方法設(shè)計各個模塊,并在QuartusII8.0完成了仿真,該控制器主要支持IEEE802.15.4協(xié)議。測試結(jié)果表明,該MAC控制器支持20~250 kb·s-1數(shù)據(jù)傳輸速率,適應(yīng)IEEE802.15.4協(xié)議要求。

媒體訪問控制(Medium Access Control,MAC)協(xié)議處于無線傳感器網(wǎng)絡(luò)協(xié)議的物理層和網(wǎng)絡(luò)層之間。用于在傳感器節(jié)點間公平有效地共享通信媒介。它完成載波偵聽多路訪問(CSMA/CA)的信道存取、協(xié)議格式成幀或解幀、自動應(yīng)答、系統(tǒng)多周期定時和幀校驗等功能。

不同傳感網(wǎng)絡(luò)的應(yīng)用有著不同MAC協(xié)議,其中IEEE802.15. 4是最具代表性的協(xié)議。本文給出了用FPGA的控制邏輯來實現(xiàn)無線傳感器網(wǎng)絡(luò)MAC控制器的設(shè)計方法,并最終實現(xiàn)了符合IEEE802.15.4協(xié)議的控制器。

1 總體設(shè)計方案

無線傳感器網(wǎng)絡(luò)控制器的FPGA設(shè)計包括無線傳感器網(wǎng)絡(luò)MAC子層的FPGA設(shè)計、MAC子層與上層協(xié)議的接口設(shè)計以及與物理層(PHY)的接口設(shè)計。該無線傳感器網(wǎng)絡(luò)的總體結(jié)構(gòu)設(shè)計如圖1所示。整個系統(tǒng)分為發(fā)送模塊、接收模塊、CSMA/CA協(xié)處理器模塊、PHY接口模塊和MCU接口模塊5個部分。發(fā)送模塊和接收模塊主要完成MAC幀的發(fā)送和接收功能,包括MAC幀的封裝和解包,它直接提供了到外部物理層芯片(PHY)的串行接口。CSMA/CA協(xié)處理器是MAC的核心,控制接收和發(fā)送狀態(tài)機協(xié)調(diào)半雙工收發(fā)控制,并且通過程序執(zhí)行的方式完成CSMA—CA算法。

2 模塊實現(xiàn)

2.1 MAC發(fā)送模塊

發(fā)送模塊可將上層協(xié)議提供的數(shù)據(jù)封裝之后通過PHY接口發(fā)送給PHY。發(fā)送狀態(tài)機按照幀的格式將數(shù)據(jù)進行封裝,分別在數(shù)據(jù)的前端添加前導序列和幀起始分隔符以及在數(shù)據(jù)的后端添加CRC校驗值,封裝后的整個數(shù)據(jù)包以串行格式發(fā)送出去。因此,發(fā)送部分的功能包括前導序列和幀起始分隔符插入、CRC計算、幀發(fā)送和自動應(yīng)答等功能。

發(fā)送模塊包括發(fā)送FIFO(First In First Out)緩存器模塊(Tx_FIFO)、發(fā)送狀態(tài)機模塊(Tx_FSM)、自動應(yīng)答模塊(Tx_Ack)、發(fā)送計數(shù)器模塊(Tx_Counter)和CRC計算模塊(Tx_Crc)等5個子模塊。其內(nèi)部結(jié)構(gòu)如圖2所示。

2.1.1 發(fā)送狀態(tài)機Tx_FSM

Tx_FSM是整個發(fā)送模塊的狀態(tài)機,它是整個發(fā)送模塊的核心,主要用于產(chǎn)生發(fā)送過程中各個模快的控制信號。發(fā)送的狀態(tài)轉(zhuǎn)移,如圖3所示。TxCSP_en是來自MAC控制部分CSMA/CA協(xié)處理器的發(fā)送狀態(tài)機控制信號。當TxCSP_en信號為高電平時,啟動狀態(tài)機,開始幀的發(fā)送過程。

(1)IDLE:初始狀態(tài)。當發(fā)送狀態(tài)機上電復位或者成功接收到數(shù)據(jù)包時,進入此狀態(tài)。如果收到TxCSP_en信號時,開始數(shù)據(jù)發(fā)送過程,否則,保持此狀態(tài)。

(2)Tx_Preamble:發(fā)送前導序列。當狀態(tài)機將跳變到此狀態(tài),開始向數(shù)據(jù)線上發(fā)送符合特定組合的前導碼序列。IEEE802.15.4協(xié)議的幀格式的前導序列是4 Byte O。

(3)Tx_SFD:發(fā)送幀起始分隔符。在這個狀態(tài)下開始發(fā)送幀的幀起始符,IEEE802.15.4協(xié)議的幀格式的幀起始符為10100111。同時啟動計數(shù)器,對該過程進行計數(shù)。

(4)Tx_Data:發(fā)送數(shù)據(jù)幀MPDU部分。這個狀態(tài)下發(fā)送幀的有效數(shù)據(jù),這個有效數(shù)據(jù)是來自上層。當發(fā)送完8位有效數(shù)據(jù)后,便產(chǎn)生讀取FIFO緩存信號,從接收FIFO讀取1 Byte數(shù)據(jù)。

(5)Tx_Crc:發(fā)送數(shù)據(jù)包的CRC校驗位。在這個狀態(tài)下,發(fā)送幀的16位CRC校驗碼。

(6)Tx_Ack:發(fā)送應(yīng)答狀態(tài)。如果接收到的幀有應(yīng)答要求,則啟動該狀態(tài)。

2.1.2 CRC校驗電路

通過使用16位CRC串行校驗來進行幀的差錯校驗,其中校驗多項式采用。將要傳送幀的MPDU通過CRC校驗?zāi)K,便產(chǎn)生了16位CRC校驗碼。16位串行CRC校驗電路如圖4所示。

2.1.3 發(fā)送模塊的仿真結(jié)果

圖5是發(fā)送模塊的仿真結(jié)果,Tx_clk是來自PHY接口的發(fā)送時鐘,s_out是幀以串行方式發(fā)送。最先發(fā)送的前導序列碼,接下來幀起始分隔符,再就是數(shù)據(jù)位,最后是CRC檢驗位。

2.2 MAC接收模塊

接收模塊的主要功能:接收并識別從串行數(shù)據(jù)線上輸入的符合IEEE802.15.4協(xié)議格式的幀。如果協(xié)處理器RxCSP_en信號有效,則啟動數(shù)據(jù)接收過程。通過接收狀態(tài)機的控制,按幀格式順序接收不同的數(shù)據(jù)域。當接收到1 Byte數(shù)據(jù)后,且Rx_fifowrite信號有效時,數(shù)據(jù)被寫入到接收緩存RxFIFO中。

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

(1)IDIE:初始狀態(tài)。當接收狀態(tài)機上電復位或者成功接收到幀時,進入到此狀態(tài)。收到RxCSP_en信號時,開始數(shù)據(jù)接收過程。

(2)Rx_Preamhle:接收前導序列。啟動序列檢測器,開始檢測數(shù)據(jù)線上符合IEEE802.15.4協(xié)議的序列。

(3)Rx_Length:接收數(shù)據(jù)幀長度。在這個狀態(tài)下,開始接收數(shù)據(jù)的長度,同時存入計數(shù)器寄存器。

(4)Rx_MPDU:接收數(shù)據(jù)幀MPDU部分。這個狀態(tài)下,接收幀的有效數(shù)據(jù)。每接收到1 Byte有效數(shù)據(jù)后,便產(chǎn)生接收FIFO緩存寫信號,同時將數(shù)據(jù)寫入到接收FIFO。如果接收數(shù)據(jù)CRC校驗有誤或者接收過程中發(fā)生堵塞現(xiàn)象,則狀態(tài)機退回到初始狀態(tài)。

(5)Rx_CRC_CHECK:接收CRC校驗。接收數(shù)據(jù)包的CRC校驗碼,同時啟動CRC校驗的過程。

(6)Rx_RSSI_PAD:幀末尾RSSI值填充。計算RSSI強度值,并附著CRC校驗結(jié)果,將該字節(jié)填入接收FIFO。

(7)Rx_CRC_PAD:CRC狀態(tài)和Correlation值填充。

2.3 CSMN/CA協(xié)處理器模塊

CSMA/CA協(xié)處理器是MAC控制器設(shè)計中的核心模塊。協(xié)處理器主要包括指令寄存器、4個輔助寄存器以及控制信號產(chǎn)生模塊。通過指令寄存器、4個輔助寄存器與系統(tǒng)CPU接口的功能。同時,控制信號產(chǎn)生模塊產(chǎn)生MAC控制器發(fā)送和接收模塊所需要的控制信號。

MAC控制器包括4種工作狀態(tài):

(1)睡眠狀態(tài):在該狀態(tài)下,除協(xié)處理器模塊外,所有子模塊的時鐘都將停止,從而降低功耗。只有當協(xié)處理器執(zhí)行發(fā)送使能指令或接收使能指令時,才離開睡眠狀態(tài)。

(2)發(fā)送狀態(tài):當協(xié)處理器執(zhí)行發(fā)送使能指令時,進入發(fā)送狀態(tài)。如果一幀發(fā)送完成,則自動轉(zhuǎn)入接收狀態(tài)。

(3)接收狀態(tài):當協(xié)處理器執(zhí)行接收使能指令時,進入接收狀態(tài)。因為接收狀態(tài)是主要的工作狀態(tài),所以在成功接收完一幀或幀校驗失敗后依然處于接收狀態(tài)。

(4)發(fā)送應(yīng)答幀狀態(tài):當協(xié)處理器執(zhí)行應(yīng)答指令時,進入到此狀態(tài)。

無論在那種狀態(tài),一旦執(zhí)行了休眠指令,控制器立即進入睡眠狀態(tài)。

2.4 接口模塊

接口模塊分為和系統(tǒng)MCU的特殊功能寄存器接口以及和與物理層芯片的物理接口。MCU要想控制MAC控制器的運行,就必須采用一種接口與它進行通信,本文采用SPI接口。

SPI(Serial Peripheral Interface)是一種串行外圍設(shè)備接口,是Motorola首先在其MC68HCXX系列處理器上定義的。優(yōu)點如下:第一,它是一種高速的,全雙工,同步的通信總線;第二,它只占用4根線,節(jié)約了芯片的管腳,同時為PCB的布局上節(jié)省空間。SPI接口主要應(yīng)用在EEPROM,F(xiàn)lash,實時時鐘,A/D轉(zhuǎn)換器,還有數(shù)字信號處理器和數(shù)字信號解碼器之間。

SPI的通信原理:它以主從方式工作,這種模式通常有一個主設(shè)備,一個或多個從設(shè)備,需要至少4根線。

(1)SEL:從設(shè)備使能信號,由主設(shè)備控制。

(2)MOSI:主設(shè)備數(shù)據(jù)輸出,從設(shè)備數(shù)據(jù)輸入。

(3)MISO:主設(shè)備輸入,從設(shè)備數(shù)據(jù)輸出。

(4)SCLK:時鐘信號,由主設(shè)備產(chǎn)生。

其中,SEL是控制芯片是否被選中,也就是說只有片選信號為預先規(guī)定的使能信號時,對此芯片的操作才有效。這就允許在同一總線上連接多個SPI設(shè)備成為可能。由SCLK提供時鐘脈沖,MOSI和MISO則基于此脈沖完成數(shù)據(jù)傳輸。數(shù)據(jù)輸出通過MOSI,MISO線,數(shù)據(jù)在時鐘上升沿或下降沿時改變,在緊接著的下降沿或上升沿被讀取,完成一位數(shù)據(jù)傳輸。輸入也使用同樣的原理。這樣,在至少8次時鐘信號改變內(nèi),就可以完成8位數(shù)據(jù)的傳輸。MAC控制器采取的是上升沿接收、下降沿發(fā)送、高位先發(fā)送。

3 綜合結(jié)果

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

4 結(jié)束語

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

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉