STM32L152和S14432的無線網(wǎng)絡(luò)系統(tǒng)設(shè)計
4.3 數(shù)據(jù)發(fā)送和接收
數(shù)據(jù)發(fā)送模塊負責(zé)將數(shù)據(jù)包發(fā)送出去。當(dāng)接收到發(fā)送指令時,首先通過SPI清空射頻芯片的發(fā)送FIFO,然后向發(fā)送FIFO里寫入需要發(fā)送的數(shù)據(jù)。打開射頻芯片發(fā)送完成中斷并禁止其他所有中斷。微控制器使能射頻芯片的發(fā)送功能,數(shù)據(jù)開始無線發(fā)送。將IRQ引腳拉高,并等待無線發(fā)送完成中斷。如果數(shù)據(jù)發(fā)送成功,則NIRQ變低電平。
數(shù)據(jù)接收模塊負責(zé)接收數(shù)據(jù)包。當(dāng)接收到微控制器的接收指令時,首先通過SPI清空射頻芯片的接收FIFO。打開前導(dǎo)碼接收、幀同步中斷和接收包數(shù)據(jù)有效中斷,并關(guān)閉其他中斷。準備好開始接收。若引腳NIRQ變?yōu)榈碗娖?,且讀取到接收包數(shù)據(jù)有效中斷位,通過SPI讀取接收FIFO中的數(shù)據(jù),關(guān)閉接收功能。發(fā)送和接收程序流程如圖5所示。本文引用地址:http://www.ex-cimer.com/article/155878.htm
4.4 系統(tǒng)管理機制
無線網(wǎng)絡(luò)由主節(jié)點和從節(jié)點組成,是一個以主節(jié)點為根中心的樹形拓撲。整個網(wǎng)絡(luò)的管理是通過各節(jié)點中的網(wǎng)絡(luò)管理模塊完成的。無線網(wǎng)絡(luò)采用LEPS(Link Estimation and Parent Selection)協(xié)議。LEPS協(xié)議是TinyOS系統(tǒng)的多跳路由協(xié)議。它通過節(jié)點之間的鄰居信息交換
機制,考慮鏈路質(zhì)量,建立到中心節(jié)點的最短通信路徑。
從節(jié)點分為不同級別的父節(jié)點,只向自己的父節(jié)點發(fā)送信息,通過父節(jié)點逐級向上傳到主節(jié)點。從節(jié)點路由表中擁有自己子節(jié)點的編號地址。父節(jié)點處于網(wǎng)絡(luò)的中心是最高級的父節(jié)點,它的路由表中擁有整個網(wǎng)絡(luò)節(jié)點的編號和地址。主節(jié)點的數(shù)據(jù)由其子節(jié)點逐級傳向各從節(jié)點。
無線網(wǎng)絡(luò)分為拓撲結(jié)構(gòu)的建立、路由維護和數(shù)據(jù)通信3個階段。在拓撲結(jié)構(gòu)的建立階段,所有的節(jié)點周期性地廣播自己的路由信息,節(jié)點根據(jù)跳數(shù)和鏈路質(zhì)量信息建立最短條數(shù)路由,建立路由表。網(wǎng)絡(luò)將進行定期的維護,在維護的過程中,節(jié)點將再次對父節(jié)點做出評估,刷新路由表。在數(shù)據(jù)通信階段,路由協(xié)議為數(shù)據(jù)傳遞提供行進路徑。在完成組網(wǎng)后,若向網(wǎng)絡(luò)中增加節(jié)點,則只需要對網(wǎng)絡(luò)進行維護更新,更新路由表即可。
4.5 父節(jié)點選擇
所有從節(jié)點的數(shù)據(jù)都是通過父節(jié)點傳送到主節(jié)點的。父節(jié)點性能是路由協(xié)議的核心部分。父節(jié)點的選擇決定于鏈路質(zhì)量和跳數(shù)。
鏈路質(zhì)量是兩節(jié)點間的雙向鏈路通信質(zhì)量。以兩相鄰節(jié)點A、B為例。在網(wǎng)絡(luò)廣播信息中,節(jié)點A向節(jié)點B發(fā)送多組數(shù)據(jù),則B節(jié)點的接收成功率為:
協(xié)議進一步采用加權(quán)唯一平均的方法計算最終的鏈路質(zhì)量估計值,進而減小鏈路質(zhì)量評估的抖動。令新的鏈路估計值為NEWEST,所占比例為μ=25%,則原先的作戰(zhàn)比例為(1-μ),最終的鏈路質(zhì)量估計值為:
跳數(shù)HOPNU為節(jié)點到主節(jié)點的總共轉(zhuǎn)發(fā)次數(shù)。在網(wǎng)絡(luò)中,由于鏈路質(zhì)量的原因,節(jié)點的父節(jié)點可能丟失。在進行父節(jié)點選取時,為了保證父節(jié)點的質(zhì)量,通常選用SEDEST>0.1,RCVEST>0.1和EST>0.16的鏈路質(zhì)量,這樣不至于鏈路質(zhì)量過低而不穩(wěn)定。然后在相鄰節(jié)點中先判斷跳數(shù)最小,再判斷鏈路通信質(zhì)量選擇父節(jié)點。
結(jié)語
本系統(tǒng)采用的STM32L152主控芯片和SI4432無線收發(fā)芯片都屬于低功耗高集成芯片,降低了系統(tǒng)的功耗。其中STM32L152是Cortex-M3微控制器,提高了系統(tǒng)的性能;主節(jié)點帶有硬件備份提高了系統(tǒng)的可靠性;LPES路由協(xié)議技術(shù)提高系統(tǒng)的通信效率,使系統(tǒng)拓展方便。本系統(tǒng)適合于工業(yè)現(xiàn)場數(shù)據(jù)采集、小區(qū)數(shù)據(jù)采集、醫(yī)院病房監(jiān)控、農(nóng)業(yè)現(xiàn)場數(shù)據(jù)采集等一些短距離的通信應(yīng)用。功能模塊化和網(wǎng)絡(luò)可拓展化,使系統(tǒng)便于功能的更新和節(jié)點的拓展。
評論