陳 洺, 郭曉學(xué)
隨著科技技術(shù)的快速發(fā)展,在許多地方都要用到溫度采集系統(tǒng),考慮到溫度采集過程中遇到的各種惡劣環(huán)境,此系統(tǒng)要求有較高的穩(wěn)定性和可靠性。本系統(tǒng)使用了四線制鉑熱電阻PT100作為溫度傳感器,為了在空間、實(shí)時(shí)性及可靠性上達(dá)到一定的要求,設(shè)計(jì)了一種基于ZigBee平臺(tái)的溫度采集系統(tǒng)。ZigBee技術(shù)是一種具有統(tǒng)一技術(shù)標(biāo)準(zhǔn)的短距離無線通信技術(shù),其特點(diǎn)是近距離、自組織、低功耗、低數(shù)據(jù)速率、低成本[1]。
工業(yè)常見的溫度采集設(shè)備,采集精度不是很高,采集到的信號(hào)之間時(shí)序不是很嚴(yán)格,4通道的溫度采集能夠滿足常見的要求。本設(shè)計(jì)采用2塊A/D芯片設(shè)計(jì)了4通道溫度采集,通過選擇開關(guān)選擇需要采集的通道,每當(dāng)一路信號(hào)采集送給 CC2430芯片處理以后,在選通下一路進(jìn)行采集。這樣輪流選通各個(gè)通道進(jìn)行采集。
設(shè)計(jì)的硬件主要由CC2430微控制器,ADC采樣電路,通道模擬選擇電路,RS232接口電路,(ARM,Advanced RISC Machines)顯示電路等。其功能框圖如圖1和圖2所示。
在該系統(tǒng)中 CC2430芯片集成了符合IEEE802.15.4標(biāo)準(zhǔn)的2.4 GHz的RF無線電收發(fā)機(jī)。微控制器是低功耗的 8051內(nèi)核,集成了 14位的ADC帶有2個(gè)強(qiáng)大支持幾組協(xié)議的USART。為提高采集精度,沒有采用CC2430自帶的14位A/D轉(zhuǎn)換模塊而是采用24位高精度的AD7793。此芯片工作電壓在2.7~5.25 V,含有3個(gè)差分模擬輸入,片內(nèi)集成低噪聲儀表放大器,因而可直接輸入小信號(hào)[2],它還有兩路可編程恒流源輸出(10 μA,210 μA,1 MA),可以為電阻類型的傳感器提供電流。系統(tǒng)通過恒流源作為模擬轉(zhuǎn)換的外部基準(zhǔn)電壓,可實(shí)現(xiàn)2.1 V的基準(zhǔn)電壓輸出,適合高精度測(cè)量應(yīng)用的低功耗、低噪聲需求。它的接口有三線制串行接口(SPI,Serial Peripheral Interface)。
圖2 ZigBee接收和ARM顯示框
系統(tǒng)的總體硬件設(shè)計(jì)電路是多通道的:僅以兩個(gè)通道為例。另外兩個(gè)通道是對(duì)稱的,設(shè)計(jì)原理一樣。溫度采集電路負(fù)責(zé)四線制熱電阻信號(hào)的采集。輸入信號(hào)要通過低通濾波、開關(guān)選通、濾波消噪等單元后再進(jìn)入AD7793的A/D輸入端。由于引線電阻的存在,所以系統(tǒng)傳感器采用的是四線制PT100是鉑熱電阻,它通過對(duì) AD7793芯片編程使 LOUT1輸出一個(gè)210 μA恒定電流,激勵(lì)鉑電阻,其中r1、r2、r3、r4、分別為近似相等的傳感器引線電阻,Rt為鉑電阻。AN1和AN2測(cè)量端通常是高輸入阻抗[3],因此測(cè)量電路對(duì)I的分流可以忽略不計(jì),得到的鉑電阻上的電壓為I×(Rt+△R),可以完全消除引線電阻所引起的誤差。在電路設(shè)計(jì)中,ADC的AN1+和AN1-是第一個(gè)通道的差分模擬輸入端,直接與傳感器的兩端相接,采集到的就是傳感器的電壓值。電流從LOUT1輸出,經(jīng)過ADG719模擬開關(guān)如圖4所示,如果IN腳為低電平,S1通,如果IN腳為高電平,S2通。通過對(duì)外圍擴(kuò)展槽Header8X2A編程使模擬開關(guān)的IN引腳低電平,S1通。電流從SI流出進(jìn)入另一個(gè)個(gè)模擬開關(guān)的S1。第一個(gè)和第2個(gè)模擬開關(guān)的IN又接到了反相器74HC04芯片。所以第一個(gè)模擬開關(guān)的IN為高電平,S1不通。電流從第2個(gè)開關(guān)S1直接流入了傳感器,然后流出經(jīng)過第一個(gè)模擬開關(guān)的 S2,一路通過電阻接地,另一路接到ADC芯片的REFIN+。這樣就為芯片提供了2.1 V的外部基準(zhǔn)電壓。這樣就完成了系統(tǒng)的溫度采集過程。也可以對(duì)擴(kuò)展槽的引腳重新編程,可以控制通道的選擇,如果是高電平,就選中了第2個(gè)通道工作。
圖3 四線制測(cè)量電路
圖4 ADG719模擬開關(guān)
無線發(fā)送和接收主要由CC2430的ZigBee無線發(fā)收發(fā)模塊來完成。上一過程AD采集到的數(shù)據(jù)通過SPI通道與 CC2430的ZigBee發(fā)射模塊進(jìn)行數(shù)據(jù)傳輸。SPI接口在內(nèi)部硬件實(shí)際上是兩個(gè)簡(jiǎn)單的移位寄存器,傳輸?shù)臄?shù)據(jù)為8位,在主器件產(chǎn)生的從器件使能信號(hào)和移位脈沖下,按位傳輸,高位在前,低位在后。在SCLK的下降沿上數(shù)據(jù)改變,同時(shí)一位數(shù)據(jù)被存入移位寄存器[4]。AD作為SPI通信的從機(jī),AD芯片它的DOUT/RDY作為SPI從機(jī)模式的輸出,接主機(jī)模式的輸入口MISO。它的DIN腳是SPI從機(jī)模式的輸入,和主機(jī)模式的輸出口MOSI相連。SCLK是時(shí)鐘輸入接CC2430芯片的SCLK。然后CPU內(nèi)核將讀出來的數(shù)據(jù)進(jìn)行處理,讀出 AD芯片的數(shù)據(jù)前,先進(jìn)行對(duì)AD芯片的寄存器配置,首先寫通信寄存器,選擇配置寄存器,將使能為單極性編碼,儀表放大器的增益設(shè)為8,然后配置ADC為緩沖模式工作,通道選擇AIN(+)-AIN(-),再寫通信寄存器,選擇IO寄存器,編程電流為210 uA,接著選擇模式寄存器進(jìn)行內(nèi)部零電位校準(zhǔn),再選擇模式寄存器進(jìn)行內(nèi)部滿量程校準(zhǔn)[5-6],最后從通信寄存器讀出3字節(jié)。把3個(gè)字節(jié)的CODE碼轉(zhuǎn)化為溫度值,ADC已配置成單極性工作模式。數(shù)據(jù)處理結(jié)束,被送到RF模塊的RFD緩存器里面,經(jīng)過調(diào)制、合成、放大,送到ADC芯片的RF_P和RF_N口,準(zhǔn)備通過天線發(fā)送出去。CC2430接收模塊的RF_P和RF_N口接收到正向和負(fù)向射頻信號(hào),并向LNA輸入信號(hào),經(jīng)解調(diào)送入存儲(chǔ)器[7],ZigBee接收模塊通過電平轉(zhuǎn)換芯片是 MAX3232和異步串行通信接口 RS232進(jìn)行通信。RS232和CC2430芯片的P0口相接。RS232另一端和ARM開發(fā)板相連,直接在ARM開發(fā)板的LCD上面進(jìn)行界面顯示。
系統(tǒng)軟件設(shè)計(jì)如圖5所示,設(shè)計(jì)過程實(shí)現(xiàn)了基于ZigBee平臺(tái)的多通道溫度采集的功能。應(yīng)用程序需要通過SPI通道從AD芯片上讀取24位code碼。然后將這3個(gè)字節(jié)的數(shù)據(jù)碼轉(zhuǎn)化為溫度值,通過ZigBee無線發(fā)送模塊和無線接收模塊傳輸數(shù)據(jù),剛開始要對(duì)CC2430、AD7793、串口、SPI口進(jìn)行初始化,接著需要對(duì)AD芯片上的各個(gè)寄存器進(jìn)行配置,電位進(jìn)行校準(zhǔn)。然后就從AD里面連續(xù)的讀取3個(gè)字節(jié)數(shù)據(jù),并轉(zhuǎn)換成電阻值,電阻100歐是溫度0度的一個(gè)分界點(diǎn)。最后將得到的小數(shù)類型的溫度值轉(zhuǎn)換為字符型的溫度值,并基于ZigBee協(xié)議棧構(gòu)建無線網(wǎng)絡(luò)實(shí)現(xiàn)主從節(jié)點(diǎn)之間數(shù)據(jù)的采集與傳輸,ZigBee發(fā)送模塊將數(shù)據(jù)傳送給接收模塊,經(jīng)串口傳輸ARM開發(fā)板對(duì)數(shù)據(jù)進(jìn)行處理并在LCD上面進(jìn)行顯示[8]。
圖5 系統(tǒng)軟件設(shè)計(jì)流程
通過觀察幾組實(shí)驗(yàn)的數(shù)據(jù),100 Ω標(biāo)準(zhǔn)溫度應(yīng)為0℃,138.5 Ω對(duì)應(yīng)100℃,150.2 Ω對(duì)應(yīng)131℃,實(shí)際結(jié)果出現(xiàn)了0.1℃的誤差,這是由多種原因造成的,因?yàn)檎麄€(gè)溫度采集系統(tǒng)經(jīng)過好幾個(gè)環(huán)節(jié),剛開始溫度傳感器采集模擬信號(hào)會(huì)出現(xiàn)微小的偏差,AD芯片的采集以及 CC2430芯片的讀取數(shù)據(jù),再經(jīng)ZigBee平臺(tái)無線傳輸,每個(gè)環(huán)節(jié)硬件電路的工作過程和它的穩(wěn)定性都會(huì)對(duì)數(shù)據(jù)有影響。硬件電路中,還需要進(jìn)一步增加一些濾波和抗干擾電路的設(shè)計(jì)。軟件設(shè)計(jì)過程還需要進(jìn)一步的優(yōu)化,軟件設(shè)計(jì)代碼盡量精簡(jiǎn),算法不復(fù)雜,才能減小最終數(shù)據(jù)的誤差。在開發(fā)中,已經(jīng)開始用到嵌入式系統(tǒng)[9-10],數(shù)據(jù)在ARM板的LCD上顯示,這樣在實(shí)際應(yīng)用中就會(huì)更方便。在實(shí)際開發(fā)中,已經(jīng)有很多類似的例子??紤]到 CC2430芯片內(nèi)核的資源和處理能力有限的局限性,不能運(yùn)行復(fù)雜的算法和對(duì)數(shù)據(jù)更好的處理,同時(shí)為了節(jié)省資源和成本,今后進(jìn)一步把采集電路和ARM處理控制電路集成到一起,外接合適的LCD進(jìn)行顯示,或者會(huì)通過 RS323總線連接上位機(jī),用QT和數(shù)據(jù)庫(kù)做出更豐富的顯示界面。這樣就會(huì)在工業(yè)控制,消費(fèi)電子,軍工業(yè)等領(lǐng)域尤其是在信號(hào)的實(shí)時(shí)跟蹤這個(gè)方向會(huì)有很廣闊的實(shí)際應(yīng)用價(jià)值。
[1] 李文仲,段朝玉.ZigBee2006無線網(wǎng)絡(luò)與無線定位實(shí)戰(zhàn)[M].北京:北京航空航天大學(xué)出版社,2008:2-37.
[2] 郭淵博,楊奎武,趙儉,等.ZigBee技術(shù)與應(yīng)用:CC2430設(shè)計(jì)、開發(fā)與實(shí)踐[M].北京:國(guó)防工業(yè)出版社,2010:65-86.
[3] 陳旭,方康玲,李曉卉.基于CC2430的ZigBee 數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)[J].湖南工業(yè)大學(xué)學(xué)報(bào),2008,22(06):59-61.
[4] 劉任慶,劉莉娜.基于 ZigBee技術(shù)的工業(yè)無線溫度變送器的設(shè)計(jì)和實(shí)現(xiàn)[J].通信技術(shù),2009,42(06):188-193.
[5] 李文仲,段朝玉.ZigBee無線網(wǎng)絡(luò)技術(shù)入門與實(shí)戰(zhàn)[M].北京:北京航空航天大學(xué)出版社,2007: 87-106.
[6] 高守瑋,吳燦陽(yáng).ZigBee技術(shù)實(shí)踐教程:基于CC2430/31的無線傳感器網(wǎng)絡(luò)解決方案[M].北京:北京航空航天大學(xué)出版社,2009:94-116.
[7] 穆虹,陳向東,劉勝,等.基于 CC2430無線傳感器網(wǎng)絡(luò)監(jiān)控系統(tǒng)設(shè)計(jì)[J].通信技術(shù),2011,44(06):107-109.
[8] 昂志敏,金海紅,范之國(guó),等.基于 ZigBee 的無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)的設(shè)計(jì)與通信實(shí)現(xiàn)[J].現(xiàn)代電子技術(shù),2007,30(10):47-49.
[9] 唐六華,王瑛.智能 IC卡技術(shù)及其在嵌入式系統(tǒng)中的應(yīng)用[J]. 信息安全與通信保密,2010(04):90-92.
[10] 關(guān)可,盛惠興,王海濱,等.基于nRF905的無線數(shù)據(jù)傳輸系統(tǒng)設(shè)計(jì)[J]. 信息安全與通信保密,2009(03):85-87.