基于FPGA無線傳感器網(wǎng)絡(luò)MAC控制器的設(shè)計(jì)
摘要 給出了一種由FPGA實(shí)現(xiàn)的無線傳感器網(wǎng)絡(luò)MAC控制器的設(shè)計(jì)方法,采用自頂向下的方法設(shè)計(jì)各個模塊,并在QuartusII8.0完成了仿真,該控制器主要支持IEEE802.15.4協(xié)議。測試結(jié)果表明,該MAC控制器支持20~250 kb·s-1數(shù)據(jù)傳輸速率,適應(yīng)IEEE802.15.4協(xié)議要求。
關(guān)鍵詞 無線傳感器網(wǎng)絡(luò);MAC;CSMA/CA
媒體訪問控制(Medium Access Control,MAC)協(xié)議處于無線傳感器網(wǎng)絡(luò)協(xié)議的物理層和網(wǎng)絡(luò)層之間。用于在傳感器節(jié)點(diǎn)間公平有效地共享通信媒介。它完成載波偵聽多路訪問(CSMA/CA)的信道存取、協(xié)議格式成幀或解幀、自動應(yīng)答、系統(tǒng)多周期定時和幀校驗(yàn)等功能。
不同傳感網(wǎng)絡(luò)的應(yīng)用有著不同MAC協(xié)議,其中IEEE802.15. 4是最具代表性的協(xié)議。本文給出了用FPGA的控制邏輯來實(shí)現(xiàn)無線傳感器網(wǎng)絡(luò)MAC控制器的設(shè)計(jì)方法,并最終實(shí)現(xiàn)了符合IEEE802.15.4協(xié)議的控制器。
1 總體設(shè)計(jì)方案
無線傳感器網(wǎng)絡(luò)控制器的FPGA設(shè)計(jì)包括無線傳感器網(wǎng)絡(luò)MAC子層的FPGA設(shè)計(jì)、MAC子層與上層協(xié)議的接口設(shè)計(jì)以及與物理層(PHY)的接口設(shè)計(jì)。該無線傳感器網(wǎng)絡(luò)的總體結(jié)構(gòu)設(shè)計(jì)如圖1所示。整個系統(tǒng)分為發(fā)送模塊、接收模塊、CSMA/CA協(xié)處理器模塊、PHY接口模塊和MCU接口模塊5個部分。發(fā)送模塊和接收模塊主要完成MAC幀的發(fā)送和接收功能,包括MAC幀的封裝和解包,它直接提供了到外部物理層芯片(PHY)的串行接口。CSMA/CA協(xié)處理器是MAC的核心,控制接收和發(fā)送狀態(tài)機(jī)協(xié)調(diào)半雙工收發(fā)控制,并且通過程序執(zhí)行的方式完成CSMA—CA算法。
2 模塊實(shí)現(xiàn)
2.1 MAC發(fā)送模塊
發(fā)送模塊可將上層協(xié)議提供的數(shù)據(jù)封裝之后通過PHY接口發(fā)送給PHY。發(fā)送狀態(tài)機(jī)按照幀的格式將數(shù)據(jù)進(jìn)行封裝,分別在數(shù)據(jù)的前端添加前導(dǎo)序列和幀起始分隔符以及在數(shù)據(jù)的后端添加CRC校驗(yàn)值,封裝后的整個數(shù)據(jù)包以串行格式發(fā)送出去。因此,發(fā)送部分的功能包括前導(dǎo)序列和幀起始分隔符插入、CRC計(jì)算、幀發(fā)送和自動應(yīng)答等功能。
發(fā)送模塊包括發(fā)送FIFO(First In First Out)緩存器模塊(Tx_FIFO)、發(fā)送狀態(tài)機(jī)模塊(Tx_FSM)、自動應(yīng)答模塊(Tx_Ack)、發(fā)送計(jì)數(shù)器模塊(Tx_Counter)和CRC計(jì)算模塊(Tx_Crc)等5個子模塊。其內(nèi)部結(jié)構(gòu)如圖2所示。
評論