STM32L152和S14432的無線網(wǎng)絡系統(tǒng)設計
3 系統(tǒng)硬件設計
無線網(wǎng)絡系統(tǒng)的硬件結(jié)構(gòu)如圖2所示。主節(jié)點、備份主節(jié)點和從節(jié)點都采取同樣的硬件電路。STM32L152單片機控制SI4432實現(xiàn)無線數(shù)據(jù)的收發(fā)。射頻收發(fā)芯片采用的是Silicon Labs公司推出的SI4432芯片。該芯片是一款高集成度、低功耗的EZRadioPRO系列無線收發(fā)芯片。其工作頻段為240~960 MHz,接收靈敏度達到-117 dB,可提供極佳的鏈路質(zhì)量,在擴大范圍的同時將功耗降至較低,較高輸出功率可達+20 dB,傳輸距離可達2km。
主控制芯片sTM32L152選用高速外部時鐘信號(HSE),通過BOOT0和BOOT1來選擇3種boot模式。芯片可以采用STM studio、Keil MDK-ARM等編譯工具,擁有20引腳的JTAG接口可以使用ST-LINK和ULINK2仿真器。主控制電路通過一個RS232接口與控制系統(tǒng)通信。主控制芯片硬件電路如圖3所示。
STM32L152通過標準的SPI接口與SI4432相接。主控制芯片通過SPI接口對射頻芯片內(nèi)部寄存器進行初始化配置,并且發(fā)送控制指令和讀寫數(shù)據(jù)信息。SI4432的SDN、NIRQ、NSEL、GPIO0、GPIO1、GPIO2等與主控制芯片相連。SDN引腳為工作模式位,NIRQ引腳為中斷狀態(tài)輸出,NSEL引腳為片選信號,GPIO1和GPIO2為天線選擇位。射頻電路工作在470 MHz的中心頻率段。470~510 MHz為國家無線電管理部門免申請的無線計量頻段。射頻芯片硬件電路如圖4所示。
整個無線網(wǎng)絡只采用一個主節(jié)點,設計中采用硬件冗余技術。在主節(jié)點處設置一個備用主節(jié)點,備用主節(jié)點是主節(jié)點的復制品,擁有主節(jié)點同樣的控制和管理,以及同一級別的主節(jié)點地址。當控制系統(tǒng)檢測到主節(jié)點出現(xiàn)故障時,可以激活冗余主節(jié)點,以替代主節(jié)點保證整個無線網(wǎng)絡系統(tǒng)的正常運行。
4 系統(tǒng)軟件設計
系統(tǒng)的軟件設計分為主節(jié)點和從節(jié)點兩部分。軟件設計采用功能模塊化的設計思路,系統(tǒng)又可分為初始化模塊、應用模塊和網(wǎng)絡管理模塊。其中初始化模塊包括單片機初始化模塊、射頻芯片初始化模塊和應用初始化模塊;應用模塊包括無線發(fā)送模塊、無線接收模塊、數(shù)據(jù)處理模塊、工作模式模塊;網(wǎng)絡管理模塊是通過路由協(xié)議組建無線網(wǎng)絡。
4.1 系統(tǒng)初始化
系統(tǒng)上電后,單片機根據(jù)主節(jié)點和從節(jié)點的區(qū)別對硬件和功能模塊進行初始化,設定各個引腳的功能、單片機的工作模式和資源分配,以及各個應用功能模塊的初始化。然后,通過SPI接口對無線射頻芯片進行初始化。射頻芯片的工作模式、頻率、傳輸速度、傳輸方式等都按主從節(jié)點分別設置。
4.2 數(shù)據(jù)處理
系統(tǒng)采用類似ZMAC協(xié)議的幀格式對數(shù)據(jù)進行打包通信。數(shù)據(jù)包的格式如下:
數(shù)據(jù)包的前端加上8n位的前導碼,是為了使接收端進行幀同步。前導碼之后是幀同步字,當接收端收到幀同步字之后,開始接收數(shù)據(jù)。包長和校驗碼是接收端用來校驗數(shù)據(jù)接收錯誤與否。數(shù)據(jù)處理模塊負責在發(fā)送前和接收后對數(shù)據(jù)包進行信息處理。數(shù)據(jù)包分為網(wǎng)絡維護類和信息類,通過包類型位區(qū)分,其中數(shù)據(jù)包內(nèi)數(shù)據(jù)位的信息不通。當網(wǎng)絡系統(tǒng)處于組建和維護期時,數(shù)據(jù)包屬于網(wǎng)絡維護類,數(shù)據(jù)位的信息為節(jié)點的路由信息。節(jié)點的路由信息包括到匯聚節(jié)點的跳數(shù)、到相鄰節(jié)點的鏈路質(zhì)量評估信息、節(jié)點編號等。當網(wǎng)絡系統(tǒng)處于工作狀態(tài)時,數(shù)據(jù)位的信息為控制指令或數(shù)據(jù)碼。節(jié)點在數(shù)據(jù)信息發(fā)送前,數(shù)據(jù)處理模塊負責將需要發(fā)送的數(shù)據(jù)信息進行分類,然后向其中分別加入各種不同的位信息,形成成熟的待發(fā)送的數(shù)據(jù)包。節(jié)點在數(shù)據(jù)信息接收后,該模塊負責對數(shù)據(jù)包進行校驗,將數(shù)據(jù)包分類,然后對各種信息位進行分離整理。其中,在發(fā)送和接收時,通過對SI4432寄存器的配置操作,可以直接分離出配置位。配置位結(jié)構(gòu)如下:
4.3 數(shù)據(jù)發(fā)送和接收
數(shù)據(jù)發(fā)送模塊負責將數(shù)據(jù)包發(fā)送出去。當接收到發(fā)送指令時,首先通過SPI清空射頻芯片的發(fā)送FIFO,然后向發(fā)送FIFO里寫入需要發(fā)送的數(shù)據(jù)。打開射頻芯片發(fā)送完成中斷并禁止其他所有中斷。微控制器使能射頻芯片的發(fā)送功能,數(shù)據(jù)開始無線發(fā)送。將IRQ引腳拉高,并等待無線發(fā)送完成中斷。如果數(shù)據(jù)發(fā)送成功,則NIRQ變低電平。
數(shù)據(jù)接收模塊負責接收數(shù)據(jù)包。當接收到微控制器的接收指令時,首先通過SPI清空射頻芯片的接收FIFO。打開前導碼接收、幀同步中斷和接收包數(shù)據(jù)有效中斷,并關閉其他中斷。準備好開始接收。若引腳NIRQ變?yōu)榈碗娖剑易x取到接收包數(shù)據(jù)有效中斷位,通過SPI讀取接收FIFO中的數(shù)據(jù),關閉接收功能。發(fā)送和接收程序流程如圖5所示。
4.4 系統(tǒng)管理機制
無線網(wǎng)絡由主節(jié)點和從節(jié)點組成,是一個以主節(jié)點為根中心的樹形拓撲。整個網(wǎng)絡的管理是通過各節(jié)點中的網(wǎng)絡管理模塊完成的。無線網(wǎng)絡采用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)絡的中心是較高級的父節(jié)點,它的路由表中擁有整個網(wǎng)絡節(jié)點的編號和地址。主節(jié)點的數(shù)據(jù)由其子節(jié)點逐級傳向各從節(jié)點。
無線網(wǎng)絡分為拓撲結(jié)構(gòu)的建立、路由維護和數(shù)據(jù)通信3個階段。在拓撲結(jié)構(gòu)的建立階段,所有的節(jié)點周期性地廣播自己的路由信息,節(jié)點根據(jù)跳數(shù)和鏈路質(zhì)量信息建立較短條數(shù)路由,建立路由表。網(wǎng)絡將進行定期的維護,在維護的過程中,節(jié)點將再次對父節(jié)點做出評估,刷新路由表。在數(shù)據(jù)通信階段,路由協(xié)議為數(shù)據(jù)傳遞提供行進路徑。在完成組網(wǎng)后,若向網(wǎng)絡中增加節(jié)點,則只需要對網(wǎng)絡進行維護更新,更新路由表即可。
4.5 父節(jié)點選擇
所有從節(jié)點的數(shù)據(jù)都是通過父節(jié)點傳送到主節(jié)點的。父節(jié)點性能是路由協(xié)議的核心部分。父節(jié)點的選擇決定于鏈路質(zhì)量和跳數(shù)。
鏈路質(zhì)量是兩節(jié)點間的雙向鏈路通信質(zhì)量。以兩相鄰節(jié)點A、B為例。在網(wǎng)絡廣播信息中,節(jié)點A向節(jié)點B發(fā)送多組數(shù)據(jù),則B節(jié)點的接收成功率為:
協(xié)議進一步采用加權唯一平均的方法計算較終的鏈路質(zhì)量估計值,進而減小鏈路質(zhì)量評估的抖動。令新的鏈路估計值為NEWEST,所占比例為μ=25%,則原先的作戰(zhàn)比例為(1-μ),較終的鏈路質(zhì)量估計值為:
跳數(shù)HOPNU為節(jié)點到主節(jié)點的總共轉(zhuǎn)發(fā)次數(shù)。在網(wǎng)絡中,由于鏈路質(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é)議技術提高系統(tǒng)的通信效率,使系統(tǒng)拓展方便。本系統(tǒng)適合于工業(yè)現(xiàn)場數(shù)據(jù)采集、小區(qū)數(shù)據(jù)采集、醫(yī)院病房監(jiān)控、農(nóng)業(yè)現(xiàn)場數(shù)據(jù)采集等一些短距離的通信應用。功能模塊化和網(wǎng)絡可拓展化,使系統(tǒng)便于功能的更新和節(jié)點的拓展。
相關閱讀:
- ...2011/12/19 10:26·ST 基于STM32的稅控器方案
- ...2011/10/31 16:02·STM32直接驅(qū)動RGB接口的TFT數(shù)字彩屏設計
- ...2010/12/24 13:32·基于Cortex-M3的 STM32微控制器處理先進電機控制方法
- ...· “芯創(chuàng)杯”首屆高校未來汽車人機交互設計大賽報名正式啟動
- ...· 探秘第二屆衛(wèi)藍山鷹“創(chuàng)新·共享”試驗技術論壇!
- ...· “2018中國半導體生態(tài)鏈大會”在江蘇省盱眙舉行
- ...· 新主題新規(guī)劃,CITE 2019瞭望智慧未來
- ...· 從汽車到工廠,TI毫米波傳感器致力于創(chuàng)造更智能的世界
- ...· 意法半導體(ST)、Cinemo和Valens在CES 2018展上聯(lián)合演示汽車信息娛樂解決方案
- ...· 北京集成電路產(chǎn)業(yè)創(chuàng)新發(fā)展高峰論壇即將在京召開
- ...· 三菱電機強勢出擊PCIM亞洲2017展
- ...· Efinix® 全力驅(qū)動AI邊緣計算,成功推出Trion™ T20 FPGA樣品, 同時將產(chǎn)品擴展到二十萬邏輯單元的T200 FPGA
- ...· 英飛凌亮相進博會,引領智慧新生活
- ...· 三電產(chǎn)品開發(fā)及測試研討會北汽新能源專場成功舉行
- ...· Manz亞智科技跨入半導體領域 為面板級扇出型封裝提供化學濕制程、涂布及激光應用等生產(chǎn)設備解決方案
- ...· 中電瑞華BITRODE動力電池測試系統(tǒng)順利交付北汽新能源
- ...· 中電瑞華FTF系列電池測試系統(tǒng)中標北京新能源汽車股份有限公司
- ...· 中電瑞華大功率高壓能源反饋式負載系統(tǒng)成功交付中電熊貓
- ...· 中電瑞華國際在電動汽車及關鍵部件測評研討會上演繹先進測評技術
- ...· 數(shù)據(jù)采集終端系統(tǒng)設備
- ...· 簡儀科技踏上新征程
- ...· 易靈思® 宣布 AEC-Q100 資質(zhì)認證和汽車系列產(chǎn)品計劃
- ...· 易靈思® 宣布擴充高性能 鈦金系列™ FPGA 產(chǎn)品 鈦金系列產(chǎn)品擴充至包含 1M 邏輯單元的 FPGA
- ...· 易靈思® 宣布Trion® Titanium 在臺積電 (TSMC) 16納米工藝節(jié)點流片
- ...· TI杯2019年全國大學生電子設計競賽頒獎典禮在京舉行
- ...· BlackBerry QNX虛擬機獲得全球首個汽車安全完整性等級(ASIL) ‘D’認證
- ...· 威馬汽車選擇BlackBerry助力下一代汽車