《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 通信與網(wǎng)絡(luò) > 設(shè)計(jì)應(yīng)用 > ZigBee和S3C2440的手持式校準(zhǔn)儀研制方案
ZigBee和S3C2440的手持式校準(zhǔn)儀研制方案
RFID中國(guó)網(wǎng)
匯文
摘要: 0引言自動(dòng)氣象站由氣壓,、溫度,、濕度、風(fēng)向風(fēng)速、雨量,、輻射等氣象傳感器及數(shù)據(jù)采集處理、管理系統(tǒng)等組成,。自動(dòng)氣象站存在長(zhǎng)期穩(wěn)定性問(wèn)題,,需要對(duì)氣象傳感器進(jìn)行定期的校準(zhǔn)來(lái)確保觀(guān)測(cè)數(shù)據(jù)準(zhǔn)確。氣象觀(guān)測(cè)數(shù)據(jù)不能中斷,,所以不能像普通計(jì)量?jī)x器一樣拆下后送檢到檢定室,。較好的方法是直接在觀(guān)測(cè)現(xiàn)場(chǎng)利用標(biāo)準(zhǔn)器進(jìn)行比對(duì)后校準(zhǔn)。因此設(shè)計(jì)了一種手持式校準(zhǔn)儀,,采用無(wú)線(xiàn)傳感器網(wǎng)絡(luò)來(lái)讀取自動(dòng)氣象站的觀(guān)測(cè)數(shù)據(jù)及標(biāo)準(zhǔn)器的示值,,并進(jìn)行校準(zhǔn)。1系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)原理本設(shè)計(jì)利用無(wú)線(xiàn)傳感器網(wǎng)絡(luò),、WindowsCE操作系統(tǒng),,ARM處理器開(kāi)發(fā)了一種針對(duì)氣象要素傳感器校準(zhǔn)的手持式校準(zhǔn)儀。校準(zhǔn)的時(shí)候,,被測(cè)傳感器的數(shù)
Abstract:
Key words :

  0 引 言
  
  自動(dòng)氣象站由氣壓,、溫度、濕度,、風(fēng)向風(fēng)速,、雨量、輻射等氣象傳感及數(shù)據(jù)采集處理,、管理系統(tǒng)等組成,。自動(dòng)氣象站存在長(zhǎng)期穩(wěn)定性問(wèn)題,需要對(duì)氣象傳感器進(jìn)行定期的校準(zhǔn)來(lái)確保觀(guān)測(cè)數(shù)據(jù)準(zhǔn)確,。
  
  氣象觀(guān)測(cè)數(shù)據(jù)不能中斷,,所以不能像普通計(jì)量?jī)x器一樣拆下后送檢到檢定室。較好的方法是直接在觀(guān)測(cè)現(xiàn)場(chǎng)利用標(biāo)準(zhǔn)器進(jìn)行比對(duì)后校準(zhǔn),。因此設(shè)計(jì)了一種手持式校準(zhǔn)儀,,采用無(wú)線(xiàn)傳感器網(wǎng)絡(luò)來(lái)讀取自動(dòng)氣象站的觀(guān)測(cè)數(shù)據(jù)及標(biāo)準(zhǔn)器的示值,并進(jìn)行校準(zhǔn)。
  
  1 系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)原理
  
  本設(shè)計(jì)利用無(wú)線(xiàn)傳感器網(wǎng)絡(luò),、Windows CE操作系統(tǒng),,ARM 處理器開(kāi)發(fā)了一種針對(duì)氣象要素傳感器校準(zhǔn)的手持式校準(zhǔn)儀。校準(zhǔn)的時(shí)候,,被測(cè)傳感器的數(shù)據(jù)利用ZigBee技術(shù)通過(guò)無(wú)線(xiàn)傳感器網(wǎng)絡(luò)發(fā)送到協(xié)調(diào)器,,協(xié)調(diào)器將數(shù)據(jù)傳送給手持式校準(zhǔn)儀。校準(zhǔn)儀進(jìn)行誤差的計(jì)算,,如果存在的誤差大于對(duì)應(yīng)要素預(yù)設(shè)的誤差,,則會(huì)自動(dòng)生成校準(zhǔn)命令以及校準(zhǔn)值發(fā)送給傳感器,直到消除誤差為止,。整個(gè)系統(tǒng)工作原理如圖1所示[1].
  


  圖1 系統(tǒng)工作原理
  


  2 系統(tǒng)硬件設(shè)計(jì)
  
  該校準(zhǔn)儀硬件功能框圖如圖2所示,,硬件主要由基于CC2530的數(shù)據(jù)采集模塊和具有ARM9內(nèi)核的硬件平臺(tái)模塊。
  


  圖2 手持式校準(zhǔn)儀硬件框圖
  


  數(shù)據(jù)采集模塊主要由CC2530芯片,、傳感器及外圍部件構(gòu)成,。在硬件平臺(tái)上進(jìn)行操作系統(tǒng)的移植以及數(shù)據(jù)校準(zhǔn)的功能[2].
  
  2.1 數(shù)據(jù)采集模塊設(shè)計(jì)
  
  數(shù)據(jù)采集模塊利用了ZigBee無(wú)線(xiàn)傳感器網(wǎng)絡(luò),主要由ZigBee網(wǎng)絡(luò)協(xié)調(diào)器節(jié)點(diǎn)和ZigBee傳感器終端節(jié)點(diǎn)構(gòu)成,,本系統(tǒng)采用的是TI公司的CC2530作為無(wú)線(xiàn)傳感器網(wǎng)絡(luò)節(jié)點(diǎn)[3].CC2530是用于2.4GHz IEEE 802.15.4,、ZigBee和RF4CE應(yīng)用的一個(gè)真正的片上系統(tǒng)解決方案,,它能夠以非常低的總的材料成本建立強(qiáng)大的網(wǎng)絡(luò)節(jié)點(diǎn),。
  
  CC2530具有極高的接收靈敏度和抗干擾性,只需要配合少數(shù)的外圍元器件就可以實(shí)現(xiàn)信號(hào)的收發(fā)功能[4].
  
  2.2 硬件平臺(tái)設(shè)計(jì)
  
  本系統(tǒng)采用的32位ARM920T 的RISC處理器SamsungS3C2440A          ,主頻400MHz.采用320×240分辨率的3.5英寸觸摸真彩液晶屏,。SDRAM 采用的H57V2562GTR,具有32 MB 的存儲(chǔ)空間,,NANDFLASH采用三星公司的K9F2G08ROA.網(wǎng)絡(luò)協(xié)調(diào)器節(jié)點(diǎn)采用CC2530,具有較低的成本,只需要配合少數(shù)的外圍元器件就可以工作,。S3C2440 與CC2530,NAND FLASH,SDRAM 的連接簡(jiǎn)圖如圖3所示,。硬件系統(tǒng)構(gòu)成簡(jiǎn)潔,體積小,,運(yùn)算速度快,,并可安裝WindowsCE,Linux等操作系統(tǒng)[5].
  


  圖3 系統(tǒng)連接簡(jiǎn)圖
  


  3 軟件設(shè)計(jì)
  
  校準(zhǔn)儀根據(jù)所需校準(zhǔn)的氣象要素,進(jìn)入相應(yīng)的校準(zhǔn)界面,,并自動(dòng)接收處理數(shù)據(jù),,如果檢測(cè)誤差大于預(yù)設(shè)誤差時(shí),在確認(rèn)校準(zhǔn)密碼后,,自動(dòng)生成校準(zhǔn)命令并無(wú)線(xiàn)發(fā)送給對(duì)應(yīng)的氣象傳感器,。
  
  系統(tǒng)安裝了Windows CE 5.0操作系統(tǒng)。WindowsCE是微軟公司嵌入式,、移動(dòng)計(jì)算平臺(tái)的基礎(chǔ),,它是一個(gè)開(kāi)放的、可升級(jí)的32位嵌入式操作系統(tǒng),具有可靠性好,、實(shí)時(shí)性高,、內(nèi)核體積小及可伸縮性、強(qiáng)大的通信能力等特點(diǎn),,被廣泛用于嵌入式智能設(shè)備的開(kāi)發(fā)[6].校準(zhǔn)儀系統(tǒng)軟件部分主要由兩部分構(gòu)成:一是串口通信,,主要用于協(xié)調(diào)器與手持式校準(zhǔn)儀之間進(jìn)行實(shí)時(shí)數(shù)據(jù)傳輸,另一部分是用戶(hù)界面軟件設(shè)計(jì)及功能實(shí)現(xiàn),,兩者都使用嵌入式C#語(yǔ)言編寫(xiě),,采用VS 2005的窗體界面進(jìn)行可視化軟件開(kāi)發(fā)。圖4為系統(tǒng)軟件流程圖,。
  
  3.1 嵌入式操作系統(tǒng)Windows CE.NET的移植
  
  硬件系統(tǒng)完成后,,需要將操作系統(tǒng)移植到硬件平臺(tái)并開(kāi)發(fā)應(yīng)用程序。Platform Builder是基于WindowsCE.NET操作系統(tǒng)構(gòu)建定制嵌入式平臺(tái)而提供的集成開(kāi)發(fā)環(huán)境(IDE),,它提供了設(shè)計(jì),、創(chuàng)建、編譯,、測(cè)試和調(diào)試功能,,以及平臺(tái)開(kāi)發(fā)向?qū)Ш虰SP開(kāi)發(fā)向?qū)А⒒A(chǔ)配置,、仿真器,、Windows CE Test Kit等。具體移植的步驟如下:
  


  圖4 系統(tǒng)流程圖
  


 ?。?)對(duì)操作系統(tǒng)進(jìn)行裁剪,,配置各個(gè)組件及修改相關(guān)配置文件;(2)開(kāi)發(fā)目標(biāo)設(shè)備上的驅(qū)動(dòng)程序,,建立定制的CE操作系統(tǒng)映像文件,;44 現(xiàn)代電子技術(shù)2012年第35卷(3)將目標(biāo)文件下載到目標(biāo)設(shè)備上調(diào)試;(4)定制操作系統(tǒng)內(nèi)核后,,導(dǎo)出平臺(tái)SDK,供在Visual Studio 2005中開(kāi)發(fā)上層應(yīng)用軟件[7].
  
  3.2 開(kāi)發(fā)環(huán)境的搭建
  
  針對(duì)Windows CE 5.0 操作系統(tǒng),,選用基于。NET 2.0框架的Visual Studio 2005環(huán)境來(lái)開(kāi)發(fā),。本文通過(guò)訪(fǎng)問(wèn),。NET Compact FrameWork類(lèi)庫(kù),進(jìn)行圖形化窗口編程,,在開(kāi)發(fā)環(huán)境中選擇智能設(shè)備WindowsCE 5.0設(shè)備應(yīng)用程序模板進(jìn)行開(kāi)發(fā),。
  
  3.3 界面設(shè)計(jì)
  
  在系統(tǒng)界面設(shè)計(jì)中,主要分為主界面,,各氣象要素校準(zhǔn)界面,。主界面主要用于氣象要素的選擇,,使用了Menuitem控件進(jìn)行菜單的創(chuàng)建,另外還提供了編輯和工具等功能,。在校準(zhǔn)界面中,,主要使用了SerialPort,ComboBox,TextBox和Button等幾個(gè)控件。Serial-Port控件是用來(lái)對(duì)串口的設(shè)置,,進(jìn)行收發(fā)數(shù)據(jù),;ComboBox控件用來(lái)對(duì)節(jié)點(diǎn)和校準(zhǔn)點(diǎn)的選擇;TextBox控件用來(lái)存放數(shù)據(jù),;Button控件用來(lái)進(jìn)行一些命令的操作[8].
  
  3.4 校準(zhǔn)功能設(shè)計(jì)
  
  進(jìn)入各個(gè)氣象要素校準(zhǔn)頁(yè)面,,首先進(jìn)行節(jié)點(diǎn)和校準(zhǔn)點(diǎn)的選擇,接著設(shè)置好串口號(hào)和波特率,,打開(kāi)串口進(jìn)行數(shù)據(jù)的自動(dòng)接收,。在串口應(yīng)用程序中,發(fā)送區(qū)文本框?yàn)門(mén)xSend,接收區(qū)文本框名為T(mén)xrec,項(xiàng)目中添加一個(gè)SerialPort控件,,名為Port,發(fā)送按鈕名為Send,下面是接收和發(fā)送的部分代碼[9].
  
  Port控件中DataReceived事件的處理函數(shù)為:
  
  Void port_DataReceived (object send,SerialDataReceivedEventArgs){int bytesToRead=port.BytesToRead;byte[]arr=new byte[bytesToRead];port.Read(arr,0,bytesToRead),;string str=Encoding,Default,GetString(arr,0,bytes-ToRead);txrec.Text+=str;}
  
  發(fā)送按鈕單擊事件對(duì)應(yīng)的處理函數(shù)為:
  
  Void Send_Click(object send,EventArgs e){Byte[]arr=Encoding.Default.GetBytes(txSend.txt),;Port.Write(arr,0,arr.Length),;}
  
  由協(xié)調(diào)器接收傳感器網(wǎng)絡(luò)中氣象傳感器節(jié)點(diǎn)發(fā)來(lái)的數(shù)據(jù),并通過(guò)串口發(fā)送到ARM 處理器,,其數(shù)據(jù)采用九字節(jié)的十六進(jìn)制數(shù)的數(shù)據(jù)通信格式,,如圖5所示。
  
  第一字節(jié)是數(shù)據(jù)標(biāo)識(shí)符,;第二個(gè)字節(jié)表示氣象要素類(lèi)型,,01是氣壓,,02是氣溫,,03是濕度等;接下來(lái)連續(xù)四個(gè)字節(jié)是傳感器的數(shù)據(jù),,并緊跟兩位校驗(yàn)位,;最后一個(gè)字節(jié)是結(jié)束符。
  

  當(dāng)協(xié)調(diào)器發(fā)送一幀數(shù)據(jù)后,,系統(tǒng)解析接收數(shù)據(jù)并轉(zhuǎn)化為浮點(diǎn)數(shù)顯示在接收傳感器數(shù)據(jù)區(qū)中,。如標(biāo)識(shí)符為“D”,則表示傳感器發(fā)來(lái)的數(shù)據(jù),如為“S”,表示標(biāo)準(zhǔn)器發(fā)來(lái)的數(shù)據(jù),。將傳感器的數(shù)據(jù)與標(biāo)準(zhǔn)器的數(shù)據(jù)進(jìn)行比對(duì)分析,,如果誤差大于規(guī)定閾值,則將誤差數(shù)據(jù)通過(guò)校準(zhǔn)命令發(fā)送給傳感器,。溫度校準(zhǔn)的運(yùn)行界面如圖6所示,,采用第二個(gè)串口的目的是確保在標(biāo)準(zhǔn)器沒(méi)有連接無(wú)線(xiàn)傳感器網(wǎng)絡(luò)接口時(shí),,直接利用串口實(shí)現(xiàn)數(shù)據(jù)通信。利用5次連續(xù)溫度檢測(cè)的平均值進(jìn)行校準(zhǔn),,以確保校準(zhǔn)精度[10].
  


  圖5 溫度校準(zhǔn)時(shí)的軟件實(shí)時(shí)運(yùn)行界面
  


  3.5 軟件的部署及移植
  
  程序編寫(xiě)完成之后在VS 2005開(kāi)發(fā)環(huán)境中進(jìn)行調(diào)試,、目標(biāo)設(shè)備、傳輸協(xié)議等相關(guān)的設(shè)置,,再將VS 2005與硬件設(shè)備平臺(tái)進(jìn)行連接握手,,利用微軟提供的工具ActiveSync將程序部署到手持式校準(zhǔn)儀中,并可在目標(biāo)設(shè)備上實(shí)時(shí)運(yùn)行,。
  
  為了將以上編譯的應(yīng)用程序固化到設(shè)備中,,以便每次開(kāi)機(jī)時(shí)都能自動(dòng)運(yùn)行,采用以下步驟進(jìn)行處理:
  
 ?。?)把應(yīng)用程序Regulation.exe復(fù)制到PlatformBuilder 5.0安裝目錄下的FILES目錄中,。
  
  (2)創(chuàng)建Regulation.lnk 快捷方式文件,,放入FILES目錄中,。
  
  (3)打開(kāi)Platform.bib文件,,添加如下內(nèi)容:
  
  Regulation.exe$(_FLATRELEASEDIR)Regulation.exeNK U;Regulation.lnk $(_FLATRELEASEDIR)Regulation.lnkNK U這樣,,執(zhí)行SYSGEN的時(shí)候會(huì)把這兩個(gè)文件加入到內(nèi)核中,最后它們會(huì)存在于系統(tǒng)的Windows目錄中,。
  
 ?。?)打開(kāi)Platform.dat,加入以下內(nèi)容:
  
  Directory(“\windows\桌面”):-File(“校準(zhǔn)儀。lnk”,“\windows\Regulation.lnk”)這將會(huì)在桌面上出現(xiàn)名稱(chēng)為“校準(zhǔn)儀”的快捷方式,。
  
 ?。?)最后執(zhí)行菜單Builder→Sysgen生成NK.bin和NK.nb0,把它們燒寫(xiě)或者下載到ARM 系統(tǒng)中啟動(dòng)后,就會(huì)在桌面上看到“校準(zhǔn)儀”快捷方式了,。
  
  4 結(jié) 語(yǔ)
  
  通過(guò)系統(tǒng)的電路設(shè)計(jì)及軟件編程,,完成了手持式校準(zhǔn)儀的設(shè)計(jì),該手持式校準(zhǔn)儀能夠在無(wú)線(xiàn)傳感網(wǎng)絡(luò)自動(dòng)氣象站現(xiàn)場(chǎng)方便地進(jìn)行溫度,、濕度,、氣壓等氣象要素的實(shí)時(shí)校準(zhǔn),具有使用方便,、成本低廉等特點(diǎn),。通過(guò)改進(jìn)完善,系統(tǒng)可應(yīng)用于實(shí)際的物聯(lián)網(wǎng)自動(dòng)氣象站的校準(zhǔn)中,。

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。