發布日期:2022-08-21 點擊率:46
摘要:介紹了溫室中無線傳感器網絡的組成及其工作過程,采用基于ARM?Cortex?-M3 的LMS3S1968 微控制器和無線收發芯片nRF905 設計了執行器節點。從硬件和軟件兩個層面進行研究,根據無線通信系統特點設計了系統的硬件、軟件,并進行了調試和試驗運行;采用μC/OS-II 嵌入式實時操作系統作為無線傳感器網絡節點的操作系統。系統具有可靠性高、可方便擴展通信節點容量等優點。
0 引言
溫室監控系統建立的最終目的是為了獲取溫室環境的數據信息,監控溫室的正常運行,并通過分析數據得到作物生長與環境變化的規律。傳統的多點環境參數監控系統一般都是通過有線通信(如RS-485 總線)的方式把環境參數數據傳送到監控中心的。有線通信的一個無法回避的問題是需要布線,它使系統的設計、安裝及維護等的復雜度大幅提高,同時使系統的成本也大大增加,而且如果某一節點損壞有可能導致整個通信網絡癱瘓。由于溫室大棚占地面積大,采用傳統的有線監控系統除了通信設備之間的物理線路連接還需要供電線路的支持。而采用無線技術后,系統精簡了通信和供電線路的鋪設,方便了系統的維護和擴展,對提高溫室的生產管理水平具有重要的意義。對于本設計而言,采用無線通信技術可以有效的解決采用有線通信所存在的問題,而且具有成本更低、不需要布線、可以任意增加或減少測量節點、維護方便等優點。
1 系統組成及工作過程
無線溫室監控系統由無線測量節點與執行器節點、匯聚節點和后臺管理系統三層組成,如圖1 所示。測量節點采集數據并通過匯聚節點將數據轉發給后臺管理系統。測量節點由51 兼容的射頻SoC 芯片nRF9E5 來實現;執行器節點采用基于ARM?CortexTM-M3 的微控制器LMS3S1968 和無線收發器NRF905 組成;匯聚節點采用處理能力更強的ARM9和無線收發器nRF905 組成。
溫室中,大量的測量節點采用分散布撒的方式擺放于溫室中,負責采集監控區域的環境信息,并通過多跳的傳輸方式將數據發送到匯聚節點;匯聚節點既負責數據的收集上傳,又系統中各個節點發送控制命令,還要通過Internet 網絡與后臺管理系統進行通信,由后臺管理系統控制溫室的環境參數和傳感器節點的管理。各個溫室內的節點相互獨立,某個溫室中的某個節點出現故障不會影響到其他節點的正常工作。
圖1 無線溫室監控系統組成
2 主要器件介紹
2.1 基于ARM Cortex-M3 的LM3S1968 微控制器
LM3S1968是Texas Instruments 公司生產的Stellaris?系列、基于ARM?Cortex?-M3的微控制器。該Stellaris?系列芯片能夠提供高效的性能、廣泛的集成功能以及按照要求定位的選擇,適用于各種關注成本并明確要求具有的過程控制以及連接能力的應用方案。
LM3S1968 微控制器是針對工業應用方案而設計的,包括遠程監控、電子販售機、測試和測量設備、網絡設備和交換機、工廠自動化、HVAC 和建筑控制、游戲設備、運動控制、醫療器械、以及火警安防。其主要特性有32 位RISC 性能、采用與Thumb?兼容的Thumb-2 指令集以獲取更高的代碼密度、高達256KB 的單周期Flash 和64KB 的單周期SRAM、4 個通用定時器模塊、2 個SSI 模塊、2 個I2C 模塊、采樣速率為1000000 次/秒的8通道10 位A/D 轉換、3 個獨立集成的模擬比較、3 個 PWM 發生器模塊、2 個QEI 模塊、多達52 個GPIO、片內低壓差穩壓器等。
2.2 無線收發芯片nRF905
nRF905是挪威Nordic 公司的產品,是真正的單片無線射頻收發器,工作在433/ 868/915MHz 的ISM 頻段。它由頻率合成器、功率合成器、晶體振蕩器和調制器組成,外圍元件少,不用外加聲表面振蕩器,天線可采用PBC 環形天線或單端鞭狀天線,發射功率最大為10dBm,接收靈敏度為-100dBm。
nRF905 采用Nordic 公司的VLSI ShockBurst 技術。ShockBurst 技術使nRF905 能夠提供高速的數據傳輸而不需要昂貴的高速MCU 來進行數據處理/時鐘覆蓋。通過將與RF 協議有關的高速信號處理放到芯片內,nRF905 提供給應用的微控制器一個SPI 接口,速率由微控制器自己設定的接口速度決定。在ShockBurst RX 模式下,地址匹配(AM)和數據就緒(DR)信號通知MCU 一個有效地地址和數據包已經各自接收完成。在ShockBurst TX 模式下,nRF905 自動產生前導碼和CRC 校驗碼,數據準備就緒(DR)信號通知MCU 數據傳輸已經完成。總之,這意味著降低MCU 的存儲器需求也就是降低MCU 成本,同時又縮短軟件開發時間。
nRF905 有兩種活動(RX/TX)模式和兩種節電模式。活動模式為ShockBurst RX 和ShockBurst TX。節電模式為掉電和SPI 編程、Standby 和SPI 編程。nRF90 工作模式由TRX_CE、TX_EN、PWR_UP 的設置來設置,如表1 所示。
3 無線執行器節點結構與設計
溫室環境參數的控制是由后臺管理系統通過 Internet 發送控制命令到匯聚節點,再由匯聚節點通過多跳傳輸到無線執行器節點,由無線執行器節點根據控制命令來控制相應的控制對象。無線執行器節點主要有LM3S1968 微控制器、光照強度控制、通風控制、溫度控制、灑水控制、CO2 濃度控制、施肥控制和nRF905 無線收發等模塊,如圖2 所示。
圖2 執行器節點結
圖3 LM3S1968 與nRF905 的電路
3.1 LM3S1968 與nRF905 的電路設計
LM3S1968 提供了兼容SPI 的2 個SSI 接口,故可以將LM3S1968 中的一個SSI 接口設置成SPI 接口形式,從而方便與nRF905 進行數據傳輸。除了SPI 接口與LM3S1968 連接外,nRF905 還有一些引腳需要與LM3S1968 連接,這些引腳是:TX_EN 引腳為TX 和RX 模式選擇、TRX_CE 引腳為使能芯片發射或接收、PWR_UP 引腳為芯片上電、uPCLK 引腳為由晶體振蕩器分頻的輸出時鐘、CD 引腳為載波檢測、AM 引腳為地址匹配、DR 引腳為接收或發射數據完成,它們分別與LM3S1968 的引腳PE3、PE2、PE1、PE0、PF5、PF7 和PG6連接,如圖3 所示。其中,在nF905 工作前,由LM3S1968 通過引腳PE1 發出高電平信號給nF905 上電,之后通過PE2 和PE3 發出TRX_CE 和TX_EN 信號來確定nF905 的工作模式。LM3S1968 通過PF5、PF7 和PG6 來接收nF905 的狀態信號,從而LM3S1968 確定后續工作。
3.2 軟件設計
(1)μC/OS-II嵌入式實時操作系統
隨著無線傳感器網絡的廣泛應用,節點構成的變化是巨大的。因此無線傳感器網絡節點上的嵌入式操作系統必須具備好的移植性。與通用的操作系統相比,嵌入式操作系統具有如下一些特征:小巧、實時性、可裁減性、固化代碼、穩定性。針對不同的處理器類型,存儲器容量和實時性需求,有不同的嵌入式操作系統。UCB 為Mica 系列傳感器網絡產品開發了一套微型的操作系統TinyOS;清華大學也開發出了一種靈活的低成本無線傳感器網絡節點 FLOWS,它的單片機采用TI 公司的MSP430,移植了uC/OS-II 操作系統,無線傳輸芯片采用NRF905。
μC/OS-II 是一個簡單、高效的源碼公開的嵌入式實時操作系統內核。其大多數函數調用和服務的執行時間具有可確定性;具有可搶占的實時多任務調度系統功能,而且提供了用于任務間同步、互斥、通信的系統服務。這些功能可以根據不同需求進行裁減,它的最小化內核能編譯到2 KB,目前已經被移植到x86、ARM、PowerPC、MIPS 等眾多體系結構上。基于短小精悍、可移植性強的特點,μC/OS-II 很適用于無線傳感器網絡節點芯片。相比較于TinyOS,uC/OS-II 提供了更加完善的任務調度和任務通信機制,并且采用標準的C 語言設計,從而可以更加方便的移植與調試。
(2)μC/OS-II 在LM3S1968 上的移植
LM3S1968 片上具有高達256KB 的單周期Flash 和64KB 的單周期SRAM,因此,不需要外擴存儲器就可以滿足μC/OS-II 代碼對容量的要求。
μC/OS-II 在LM3S1968 上的移植,由用戶層、中間件層、μC/OS-II 源碼層、μC/OS-II移植層和驅動庫層等五個層次組成。
①用戶層的User 目錄存放用戶代碼與設置。其中Main.C 文件是用戶編寫任務的地方,如通風控制、光照強度控制等任務;Main.H 定義任務的堆棧大小、優先級等。OS_CFG.H是μC/OS-II 的配置文件,用戶可根據需要修改其內容。Includes.H 是總的頭文件,除μC/OS-II的源碼外,所有“.C”的文件都包含它,這樣用戶所需的頭文件和其它聲明只需在Includes.H中聲明一次就行了。
②中間件層的Middleware 目錄存放用戶自己編寫的中間件,如Uart0.C、Uart0.H 串口通信中間件等。
③μC/OS-II 源碼層的μC/OS-II Source 目錄存放μC/OS-II 的源代碼(除uCOS_II.C 外的全部“.C”和“.H”的文件)。用戶只要把源碼復制到此目錄,不需對源碼作任何的修改。
④μC/OS-II 移植層的μC/OS-II Ports 目錄存放μC/OS-II 基于LM3S1968 的移植代碼,包括OS_CPU_C.C、OS_CPU_A.ASM 和OS_CPU.H 等三個必要的文件,用戶應根據處理器來改寫這三個文件,使之能夠移植到相應的處理器上。Target 目錄中的Startup 文件是LM3S1968 的啟動代碼和中斷向量表,用戶要在其中加入需要的中斷服務函數的首地址;Target.C 和Target.H 提供LM3S1968 初始化函數targetInit()和其它外設控制函數。
⑤驅動庫層是直接面向硬件目標板的層。一般來說,除μC/OS-II 外,其它代碼都要直接或間接通過它訪問硬件。
3.3 后臺管理系統、匯聚節點及節點間的通信
后臺管理系統與節點的通信途徑為:后臺管理系統←→Internet←→匯聚節點←→測量節點或執行器節點。后臺管理系統以IP 數據包形式通過Internet 傳送到匯聚節點的數據包括目標節點編號、控制命令。測量節點和執行器節點采取統一編號方式,控制命令為要求測量節點上傳采樣數據,或要求執行器節點執行命令要求的動作(即控制設備的啟動或停止)或要求執行器節點上傳該節點控制設備的運行狀態。
匯聚節點與測量節點/執行器節點之間采用多跳路由的通信方式,由于監控區域內的節點眾多,采用統一的數據格式有利于節點間的通信,數據格式如下:
其中,Preamble 為引導字節,BroAddr 為廣播地址(為0xFF),Final-No 為數據傳輸的目標節點編號,Middle-No 為中間節點編號,Source-No 為提供數據的源節點編號,CtrlData為控制命令,Data 1…Data n 為需發送或接收的有效數據,CRC 為校驗碼。
nRF905 處于發射模式時,Preamble 和CRC 由nRF905 自動加載,BroAddr 和中間所有數據由微控制器按順序送入射頻模塊 nRF905。接收模式時,nRF905 先接收一數據包,分別驗證Preamble、BroAddr 和CRC 正確后,再將所有數據送入微控制器處理,由軟件比較地址,進行相應處理。
4 結語
本設計基于無線通信技術、電子技術和計算機技術,,采用基于ARM? Cortex?-M3 的LMS3S1968 微控制器和無線收發芯片nRF905 設計了無線執行器節點。系統集成度高、性能穩定、可靠性高、實用性強。溫室監控系統由后臺終端根據測量節點的測得數據進行決策,以此控制執行器節點執行任務,系統可以比較方便的擴展通信節點容量,實現較大區域的溫濕度及光照度的監控。可以用于農業溫室等對溫濕度和光照度控制要求比較嚴格的行業。
下一篇: PLC、DCS、FCS三大控
上一篇: 變頻傳感器的維護