STM32L152和S14432的無(wú)線(xiàn)網(wǎng)絡(luò )系統設計
整個(gè)無(wú)線(xiàn)網(wǎng)絡(luò )只采用一個(gè)主節點(diǎn),設計中采用硬件冗余技術(shù)。在主節點(diǎn)處設置一個(gè)備用主節點(diǎn),備用主節點(diǎn)是主節點(diǎn)的復制品,擁有主節點(diǎn)同樣的控制和管理,以及同一級別的主節點(diǎn)地址。當控制系統檢測到主節點(diǎn)出現故障時(shí),可以激活冗余主節點(diǎn),以替代主節點(diǎn)保證整個(gè)無(wú)線(xiàn)網(wǎng)絡(luò )系統的正常運行。
4 系統軟件設計
系統的軟件設計分為主節點(diǎn)和從節點(diǎn)兩部分。軟件設計采用功能模塊化的設計思路,系統又可分為初始化模塊、應用模塊和網(wǎng)絡(luò )管理模塊。其中初始化模塊包括單片機初始化模塊、射頻芯片初始化模塊和應用初始化模塊;應用模塊包括無(wú)線(xiàn)發(fā)送模塊、無(wú)線(xiàn)接收模塊、數據處理模塊、工作模式模塊;網(wǎng)絡(luò )管理模塊是通過(guò)路由協(xié)議組建無(wú)線(xiàn)網(wǎng)絡(luò )。
4.1 系統初始化
系統上電后,單片機根據主節點(diǎn)和從節點(diǎn)的區別對硬件和功能模塊進(jìn)行初始化,設定各個(gè)引腳的功能、單片機的工作模式和資源分配,以及各個(gè)應用功能模塊的初始化。然后,通過(guò)SPI接口對無(wú)線(xiàn)射頻芯片進(jìn)行初始化。射頻芯片的工作模式、頻率、傳輸速度、傳輸方式等都按主從節點(diǎn)分別設置。
4.2 數據處理
系統采用類(lèi)似ZMAC協(xié)議的幀格式對數據進(jìn)行打包通信。數據包的格式如下:本文引用地址:http://dyxdggzs.com/article/155878.htm
數據包的前端加上8n位的前導碼,是為了使接收端進(jìn)行幀同步。前導碼之后是幀同步字,當接收端收到幀同步字之后,開(kāi)始接收數據。包長(cháng)和校驗碼是接收端用來(lái)校驗數據接收錯誤與否。數據處理模塊負責在發(fā)送前和接收后對數據包進(jìn)行信息處理。數據包分為網(wǎng)絡(luò )維護類(lèi)和信息類(lèi),通過(guò)包類(lèi)型位區分,其中數據包內數據位的信息不通。當網(wǎng)絡(luò )系統處于組建和維護期時(shí),數據包屬于網(wǎng)絡(luò )維護類(lèi),數據位的信息為節點(diǎn)的路由信息。節點(diǎn)的路由信息包括到匯聚節點(diǎn)的跳數、到相鄰節點(diǎn)的鏈路質(zhì)量評估信息、節點(diǎn)編號等。當網(wǎng)絡(luò )系統處于工作狀態(tài)時(shí),數據位的信息為控制指令或數據碼。節點(diǎn)在數據信息發(fā)送前,數據處理模塊負責將需要發(fā)送的數據信息進(jìn)行分類(lèi),然后向其中分別加入各種不同的位信息,形成成熟的待發(fā)送的數據包。節點(diǎn)在數據信息接收后,該模塊負責對數據包進(jìn)行校驗,將數據包分類(lèi),然后對各種信息位進(jìn)行分離整理。其中,在發(fā)送和接收時(shí),通過(guò)對SI4432寄存器的配置操作,可以直接分離出配置位。配置位結構如下:
評論