系統軟件設計 - STM32L152和S14432的無線網絡系統設計
系統的軟件設計分為主節點和從節點兩部分。軟件設計采用功能模塊化的設計思路,系統又可分為初始化模塊、應用模塊和網絡管理模塊。其中初始化模塊包括單片機初始化模塊、射頻芯片初始化模塊和應用初始化模塊;應用模塊包括無線發送模塊、無線接收模塊、數據處理模塊、工作模式模塊;網絡管理模塊是通過路由協議組建無線網絡。
4.1 系統初始化
系統上電后,單片機根據主節點和從節點的區別對硬件和功能模塊進行初始化,設定各個引腳的功能、單片機的工作模式和資源分配,以及各個應用功能模塊的初始化。然后,通過SPI接口對無線射頻芯片進行初始化。射頻芯片的工作模式、頻率、傳輸速度、傳輸方式等都按主從節點分別設置。
4.2 數據處理
系統采用類似ZMAC協議的幀格式對數據進行打包通信。數據包的格式如下:
?
數據包的前端加上8n位的前導碼,是為了使接收端進行幀同步。前導碼之后是幀同步字,當接收端收到幀同步字之后,開始接收數據。包長和校驗碼是接收端用來校驗數據接收錯誤與否。數據處理模塊負責在發送前和接收后對數據包進行信息處理。數據包分為網絡維護類和信息類,通過包類型位區分,其中數據包內數據位的信息不通。當網絡系統處于組建和維護期時,數據包屬于網絡維護類,數據位的信息為節點的路由信息。節點的路由信息包括到匯聚節點的跳數、到相鄰節點的鏈路質量評估信息、節點編號等。當網絡系統處于工作狀態時,數據位的信息為控制指令或數據碼。節點在數據信息發送前,數據處理模塊負責將需要發送的數據信息進行分類,然后向其中分別加入各種不同的位信息,形成成熟的待發送的數據包。節點在數據信息接收后,該模塊負責對數據包進行校驗,將數據包分類,然后對各種信息位進行分離整理。其中,在發送和接收時,通過對SI4432寄存器的配置操作,可以直接分離出配置位。配置位結構如下:
?
4.3 數據發送和接收
數據發送模塊負責將數據包發送出去。當接收到發送指令時,首先通過SPI清空射頻芯片的發送FIFO,然后向發送FIFO里寫入需要發送的數據。打開射頻芯片發送完成中斷并禁止其他所有中斷。微控制器使能射頻芯片的發送功能,數據開始無線發送。將IRQ引腳拉高,并等待無線發送完成中斷。如果數據發送成功,則NIRQ變低電平。
數據接收模塊負責接收數據包。當接收到微控制器的接收指令時,首先通過SPI清空射頻芯片的接收FIFO。打開前導碼接收、幀同步中斷和接收包數據有效中斷,并關閉其他中斷。準備好開始接收。若引腳NIRQ變為低電平,且讀取到接收包數據有效中斷位,通過SPI讀取接收FIFO中的數據,關閉接收功能。發送和接收程序流程如圖5所示。
?
- 第 1 頁:STM32L152和S14432的無線網絡系統設計
- 第 2 頁:系統軟件設計
- 第 3 頁:系統管理機制
本文導航
非常好我支持^.^
(5) 100%
不好我反對
(0) 0%
相關閱讀:
- [RF/無線] 5G-A時代的室內網絡建設解決方案 2023-10-24
- [物聯網] 智慧醫院項目物聯網設計方案 2023-10-24
- [電子說] 華為青浦研發中心擬明年6月竣工交付,開展終端芯片等領域研發 2023-10-19
- [電子說] SZBOX S100袖珍迷你PC支持雙4K顯示設置 2023-10-17
- [電子說] 無線網絡電表泛在電力物聯網的應用和趨勢 2023-10-13
- [電子說] 從1G到6G:移動通信的史前時代 2023-10-11
- [移動通信] 5G+PLC典型系統架構應用方案 2023-10-11
- [RF/無線] 機頂盒如何設置無線接入網絡? 2023-10-11
( 發表人:葉子 )