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