崔瀅 朱敬生

【摘?要】由于其高度的流動性,正變得越來越具有自組織性。為了建立一個基于無線節點模塊的adhoc網絡,增加了MAC協議來保證網絡的位置和防止數據沖突。MSP430是該模塊的主要軟件芯片。本文提出了一種多通道硬件傳輸協議,充分利用了多通道的能力,同時又不妨礙數據傳輸,提高了傳輸效率。另外,使用轉換器可以提高數據的準確性和管理效率。
【關鍵詞】Adhoc網絡;MSP430;nRF905;SPI;跳頻機制
本文介紹了基于MSP430和nRF905的無線通信模塊,通過在SPI區域采用雙向通信,SPI支持高速數據傳輸,滿足nRF905的帶寬要求,為無線通信提供了強大的頻率機制,并對可使用的信道提供了大量的支持在許多特殊情況下。即使不使用PCB天線,傳輸距離也能達到200米。如果你想繼續傳輸,可以用有用的天線代替。傳輸距離增加1公里以上,滿足不同用戶的需求。
1驅動實現2.1MSP430的SPI驅動
如圖1所示,SPI可以在數據傳輸的同時獲得數據[2],這可以通過雙操作模式來理解。SPI分為主模式和完全被動模式,數據傳輸和接收由主機完成,主機將數據記錄在緩存utxbuf中,并將數據存儲在并行傳輸系統中。當數據記錄在utxbuf中時,它立即從MoSi線路接收移動緩存,移動緩存將城市中的數據傳輸到移動寄存器中的數據。我們可以同時獲取主機的移動寄存器和接受緩存,所以我們使用SPI同時進行讀寫。
1.1nRF905的驅動
trn mcu上三個通用引腳的功耗正常,rsp mcu上三個通用引腳的功耗由主引腳控制。nrf905的反饋線告訴我們,要感知三個通道使用的CD,接受具有正確地址的am,并從MCU數據中獲得正確的Dr。這些發夾應該由狀態MCU插入。包括接收到的信號數在內,主單片機應告知清楚。
1.1.1寄存器操作
(1)寄存器介紹
nrf905操作主啟動寄存器,有四個寄存器,即設置寄存器、發送地址寄存器或接收數據寄存器。每次發送數據時,另一方的地址記錄在傳輸地址寄存器中,不超過32字節的數據記錄在傳輸數據寄存器中。每個節點的地址在配置寄存器中設置。接收到的數據將自動放入寄存器。
1.1.2設置頻道和頻段
nrf905最吸引人的特性之一是它提供無線頻率支持,并且有大量的信道。nrf905可以在433/868/915頻率上通信。實際上,868和915屬于同一頻率,主要分為兩個頻率。一個頻率可以使用兩個通道,但事實上,對于不同的天線,只有一個頻率可以發揮芯片的最佳功能,一個天線可以使用兩個通道它可以在“X”中使用。如果任何一個信道受到干擾,都可以通過無線頻率繼續通信,保證數據的完整性。
1.1.3―發送數據流程
設置好配置寄存器后,就可以發送數據了。
當主MCU字段的pwrup值高時,進入905操作模式和TXEN數據傳輸模式。發送地址被傳輸到SPI端口的地址寄存器txaddress,數據被記錄在傳輸數據寄存器TX中。有效負載、SPI速度由主MCU設置。三周MCU高度TXC e,905自動改進數據幀的形式,添加包頭前導碼,并根據設置添加寄存器,接受CRC校驗,填寫包尾,905將所有數據以100位/秒的速度發送到GFSK,發送后Dr將被安裝得很高,并通知主MCU下次可以繼續發送。④ 如果設置了自動復位模式,NRF 905將自動復位,并且Trax也將減少CE。⑤ 發送后,trxc e減小,進入待機模式。在實際工作中,txce將產生持續時間為10×431s或更長的脈沖,可以傳輸數據。
1.1.4接受數據流程
下面我們討論如何接受數據,同樣先給出時序圖,再解釋流程。
檢查數據的CRC。如果正確,您可以刪除數據包頭和CRC段,并將數據存儲在數據寄存器Rx中。有效載荷,同時,Dr信號高,通知主MC讀取數據;主MC的TCE值較高。如果減少,則進入待機模式并通過SPI區域讀取數據。在讀取數據之后,nrf905將再次降低am和Dr以準備下次接受數據。
如果需要將驅動程序移動到arm等其他平臺,重新定義接口,SPI讀寫功能會相應調整,便于移植。
2 MAC算法實現
nrf905提供了如此多的信道和無線頻率系統,如何充分利用這一特性使通信更加穩定?下面是基于adhoc網絡的MAC協議。
2.1MAC協議框架
信道分為控制信道和數據信道兩種,數據信道又分為多組,每組有一個主數據信道和兩個備用數據信道。主數據通道用于正常的通信,如誤碼率達到一定程度,可以通過預備數據通道繼續通信。
本文采用ie802.11bcd-MA/CA系統,每次發送數據都要等到信道為空時,采用“二進制避免算法”,隨機延遲時間,發送數據,有效避免了同一信道的數據沖突。
考慮到隱藏節點和暴露節點,我們使用RTS/CTS/brain系統。如果節點a需要通過節點B發送數據,它將發送RTs并擁有自己的數據通道列表信息。節點B在接收到RTS后,選擇自己的信道列表共享的空閑信道,返回RTS,接收到CTS和負載后進入信道并發送數據,節點a通過信道信息發送負載,然后進入數據信道與節點B進行通信,其他節點在接收到CTS和負載后,快速登錄信道列表信息和直接傳輸數據允許下次查詢。信息隨著系統的發展而不斷更新。然后由每個節點維護的信道被當前信道使用。
3數據頻道
與普通控制信道不同,兩個節點在數據信道中都建立了專用信道。此時不使用CSMA/CA系統。我們可以使用確認系統、重傳系統和變頻系統來保證數據的準確傳輸?;旧?,通信過程是以數據10ack的形式發送數據,等待ACK,如果數據被接受則發送ACK確認。Ack不準確如果Ack不被接受或不被接受,它將被再次發送。如果通道不能使用,轉臺和交叉站需要雙方協調,具有一定的復雜性。這里,詳細描述了跨站系統。
總結
本文基于MSP430和nRF905無線多點收發模塊,實現了基于物理層驅動和adhoc網絡的MAC層協議,但不提供網絡層定位拍攝。物理層通信是數據傳輸的可靠性,它保證了MAC協議能夠無沖突地傳輸數據。
在測試中,我們在網絡層采用了魚眼算法,通過15個節點的動態組織網絡進行信息傳輸。在本系統中同時傳輸信息時,彼此之間沒有干擾。該模塊已在一些復制系統、遠程控制系統和機器人控制系統中得到了很好的應用。
參考文獻:
[1]高章飛,朱善安.基于MSP430和nRF905的多點無線通訊模塊[J].電子器件,2006,29(1):264-267,289.
[2]張業茂,張廣洲,張建功.基于nRF905的無線通訊直流電場測量系統設計[C].//中國電機工程學會.輸變電設施電磁環境學術會議論文集.2011:98-102.
(作者單位:陜西飛機工業有限責任公司)