文獻標識碼: A
文章編號: 0258-7998(2012)08-0050-03
隨著傳感器技術、嵌入式計算技術和無線通信技術的高速發展,孕育出了無線傳感器網絡(Wireless Sensor Networks),并以其低距離近、低成本、低功耗、自組織和分布式的特點,帶來了信息感知的一場革命[1]。其中ZigBee以其保密性好、功耗低、網絡容量大的特點,在自動氣象數據采集中得到應用。
隨著時間的推移,自動氣象站的各個氣象傳感器的測量準確度會產生漂移,必須定期進行校準,以確保測量數據的準確、可靠。傳統的校準裝置采用有線形式,為實現自動讀數及校準需要與各個傳感器和標準器進行連接,給現場校準帶了不少麻煩。因此,設計了基于無線傳感器網絡的手持式校準器,以無線方式接收無線傳感網絡自動氣象站各個傳感器發送的氣象數據,通過與標準器的比對并發送校準命令來校準傳感器的零點及滿量程,避免了校準裝置和自動氣象站之間的連線。校準完成時發送打印數據給無線打印機,實現校準結果的無線打印。
1 手持式校準器設計與實現原理
本設計利用ZigBee協議棧處理器為核心的無線傳輸功能模塊、單片計算機、液晶顯示模塊、NANDFlash存儲器、時鐘電路等,主要實現對所要校準的氣象傳感器數據與校準器數據的無線接收、顯示和存儲,并通過對傳感器數據與標準器數據的比對來發送校準命令給校準的氣象傳感器。
手持式校準器工作流程圖如圖1所示。當對無線傳感網絡自動氣象站的傳感器進行校準時,手持式校準器作為路由器加入自動氣象站所在的網絡中,發送包含所要校準氣象傳感器信息的校準開始命令給協調器,協調器接收到校準開始命令后會轉發該氣象傳感器數據和校準器數據給手持式校準器,由手持式校準器進行數據的顯示、存儲和處理。當校準完成時,通過點擊手持式校準器屏幕的“發送”,將校準命令發送給協調器,由協調器轉發給所校準的氣象傳感器,從而實現該傳感器的零點及滿量程校準。通過點擊手持式校準器屏幕的“打印”,手持式校準器發送打印數據給無線打印機,實現校準結果的無線打印。
2 硬件電路設計
2.1 CC2530與單片機的連接
手持式校準器的ZigBee協議棧處理器選用以CC2530為核心的無線傳輸功能模塊,單片計算機選用STC89C-516RD+。CC2530是TI公司以C51為內核的ZigBee芯片,它支持國際802.15.4標準以及ZigBee、ZigBee PRO和ZigBee RF4CE標準,提供101 dB的鏈路質量,具有高接收靈敏度和強抗干擾性,同時具有低功耗、低成本、時延短、高容量、高安全等特點[2]。盡管CC2530自身內嵌了高性能的C51處理器,但由于其資源有限,不能同時勝任彩色液晶顯示、鍵盤、大容量存儲器等連接的需要,因此采用了單片機STC89C516RD+來實現這些功能,成為雙處理器結構。
CC2530與單片機之間采用串口通信,波特率設置為57 600 b/s,因此單片機和CC2530的串行接口都通過編程使串行接口工作在同樣的波特率[3]。CC2530與單片機的連接電路如圖2所示,CC2530的串行數據發送端(P0_3)與單片機的串行數據接收端(RXD)直接相連,CC2530的串行數據接收端(P0_2)與單片機的串行數據發送端(TXD)直接相連。CC2530的設備類型被設置為路由器,主要負責數據的轉發。單片機是手持式校準器的核心部分,主要負責發送校準開始命令,以及對CC2530通過串口發送來的數據的處理、存儲和顯示,發送打印數據,同時控制其他電路的穩定運行。
2.2 單片機外圍電路設計
手持式校準器需要發送各種命令和打印數據,還需存儲和顯示所接收的數據、時間和日期等。為實現手持式校準器的便攜性,手持式校準器采用3.7 V高性能鋰電池供電。由于手持式校準器各個電路采用3.3 V供電,所以要把3.7 V降到3.3 V,這里選擇PAM3101DAB330,其壓差為0.18 V,即使鋰電池的電壓降到3.5 V,PAM3101-DAB330輸出電壓仍能穩定在3.3 V。目前觸摸屏功能在手機和電腦上得到廣泛應用。為了增加界面的可視性,同時避免外接按鍵電路引起的校準器體積變大,這里采用了支持觸摸屏功能的彩色液晶顯示模塊。由于顯示模塊具有16 bit數據總線,通過外加74HC373將單片機發送的高8 bit數據鎖存,然后和低8 bit數據一起發送給顯示模塊,解決了數據總線的擴展問題[4]。存儲電路采用三星的K9F1G08U0A,其1 Gbit的存儲空間完全能夠保存1天內接收到的所有氣象數據。校準器采用時鐘芯片DS1302產生時間和日期[5],單片機外圍電路如圖3所示。
3 軟件設計
由于手持式校準器是雙處理器結構,所以需要對CC2530和單片機分別編程。CC2530采用IAR Embedded Workbench進行開發,所選用Z-Stack是ZStack-CC2530-2.3.0-1.4.0[6]。單片機采用Keil C51(uVision3)編程。
手持式校準器是以路由器(Router)的形式加入到無線傳感網絡中,所以CC2530燒錄程序時EW的工程選擇RouterEB。CC2530主要負責加入無線傳感網絡后數據的轉發,包括搜尋網絡子程序、入網子程序、無線數據接收處理子程序、串口數據接收處理子程序等,CC2530的總體程序流程圖如圖4所示。
單片機負責發送各種命令、接收數據的存儲和顯示、觸摸屏不同界面的觸摸處理、時間和日期的更改和顯示等。單片機的主文件中包含串口數據接收處理子程序、觸摸屏處理子程序和時間日期選擇顯示子程序等,單片機串口數據接收處理程序流程圖如圖5所示,當顯示平均誤差后,如果點擊觸摸屏的“發送”,則單片機會將包含平均誤差的校準命令發送給協調器,由協調器轉發給校準的氣象傳感器;如果點擊“菜單”,則進入下一菜單,此時點擊“打印”,單片機會將存儲的傳感器數據、標準器數據和平均誤差發送給無線打印機打印。
4 實驗結果分析
選用自動氣象站的氣溫傳感器進行測試。將福祿克的鉑電阻溫度計作為標準器,放在被測氣溫傳感器的接近位置,穩定15 min以后開始采集氣溫傳感器和標準器的數據,采集頻率為1次/min,發送校準命令前的數據如表1所示,發送校準命令后的數據如表2所示。
由表1和表2可以看出,經過比對并發送校準命令后,被測氣溫傳感器的平均誤差由原來的0.27 ℃降低到0.06 ℃,滿足了氣溫傳感器最大容許誤差在±0.2 ℃的要求。如果通過便攜式校準器再產生一個標準的溫度源,則可以求出溫度計的量程校準系數來實現量程校準。
基于無線傳感器網絡的手持式校準器,在試驗中可以每一秒接收一次傳感器發送的數據。采用了表面焊接的集成電路,其體積只有普通手機大小,可校準基于無線傳感器網絡的自動氣象站中的所有氣象傳感器。該手持式校準器具有體積小、攜帶方便、功耗低、操作簡單等特點。
參考文獻
[1] AKYILDIZ I F,SU W,SANKARASUBRAMANIAM Y,et al. Wireless sensor networks:a survey[J].Computer Networks,2002,38:393-341.
[2] Texas Instruments.CC2530 Datasheet,2009.
[3] 張大明.單片機控制實訓指導及綜合應用實例[M].北京:機械工業出版社,2007:152-154.
[4] 周杏鵬.傳感器與檢測技術[M].北京:清華大學出版社,2010:32-56.
[5] 鄭峰,王巧芝,陳繪兵,等.51單片機應用系統典型模塊開發大全[M].北京:中國鐵道出版社,2010:273-293.
[6] Texas Instruments.Upgrading To Z-Stack v2.3 Datasheet,2010.