CC2531的無線傳感器網絡節點軟件設計
摘要:提出一種基于射頻芯片CC2531的無線傳感器網絡節點的軟件設計方案,基于任務調度機制,采用功能模塊化設計。簡要介紹了無線傳感器網絡的系統結構和節點的硬件電路,重點對系統軟件主流程以及數據采集、數據處理、數據傳輸和能源管理4個功能模塊的軟件設計作了詳細介紹。
關鍵詞:無線傳感器網絡;ZigBee;CC2531;軟件設計
引言
無線傳感器網絡(Wireless Sensor Network,WSN)是由一組傳感器網絡節點組成。它們通過多跳自組織的方式構成無線通信網絡系統,傳感器節點實時采集分布區域內監測對象的各種信息,以無線通信方式發送至上位機。節點硬件提供了實現相關功能的平臺,而真正實現這些功能的應用需要借助軟件來完成。因此,軟件設計對整個節點的功能控制和資源的分配利用有較大的影響。
1 無線傳感器網絡系統結構
整個傳感器網絡是由若干個采集節點、1個匯聚節點、1個數據中轉器以及1個便于用戶查看和控制的上位機組成。系統的結構如圖1所示。采集節點用于對環境數據的采集和數據的預處理,擔當數據的路由;匯聚節點負責整個網絡的開啟和維護,向采集節點發送命令,搜
集節點的數據,以及完成與數據中轉器之間的串口通信;數據中轉器承擔數據的中轉,負責轉發上位機的命令;上位機是數據搜集的終端設備,并且可以根據用戶的需要對節點的采集時間間隔、休眠時間間隔、傳感器的開關進行相應設置。
2 節點硬件設計
為方便數據的搜集,匯聚節點和采集節點硬件電路設計相同,只是軟件設計有所不同。任意節點都可作為匯聚節點與數據中轉器通過串口進行通信,來搜集網絡中其他節點的數據。節點的硬件結構如圖2所示。
核心芯片選用TI公司推出的ZigBee芯片CC2531。它以8051微處理器為內核,自身攜帶的射頻收發器用來實現無線傳感器網絡節點的通信。選用5 路I/O口來控制傳感器的打開和關閉。傳感器組將相應的環境數據變成電壓、電流等信號送給信號調理電路,經相關調理后送到CC2531的A/D轉換器接口進行A/D采樣,最后將得到的采樣數據存入一個外接的256 Kb的存儲器中。當節點作為網絡中的匯聚節點時,CC25 31的兩路I/0口被設置成UARTO串口Tx和Rx,用于與數據中轉器進行串口通信。為保證節點長期穩定地工作,選用3 Ah的鉛酸充電電池,兩組鉛酸電池采用雙電源供電模式。軟件通過控制兩組鉛酸電池的切換實現對節點的輪流供電,并在電池電壓不足時控制太陽能電池板對其進行充電,保持“一充一供”的狀態。
評論