胡振遠(yuǎn) 李 良
(華電能源股份有限公司富拉爾基發(fā)電廠,黑龍江 齊齊哈爾 161041)
由于大規(guī)模集成電路的飛速發(fā)展,計(jì)算機(jī)的微型化發(fā)展得很快,其性能價(jià)格比也大為提高,因而微型計(jì)算機(jī)的應(yīng)用越來越廣泛[1、2]。ARM實(shí)際上是微型計(jì)算機(jī)的一個(gè)重要分支,主要用于各種智能儀器儀表和自動(dòng)控制系統(tǒng)中。在這些系統(tǒng)中,ARM必須從外電路采集信息,通過對(duì)采集到的外部信息分析處理后還要輸出相關(guān)的控制信號(hào)對(duì)外電路進(jìn)行控制。本文介紹ARM在信號(hào)數(shù)據(jù)采集系統(tǒng)中的應(yīng)用,以水稻大棚為對(duì)象,采用ARM作為控制核心,溫度傳感單元采用DS18B20,針對(duì)大棚內(nèi)部溫度進(jìn)行數(shù)據(jù)采集,以及數(shù)據(jù)傳送存儲(chǔ)和顯示進(jìn)行介紹。
整個(gè)系統(tǒng)主控部分采用ARM構(gòu)成應(yīng)用系統(tǒng);溫度檢測(cè)部分采用DS18B20單總線數(shù)字溫度傳感器對(duì)溫度進(jìn)行檢測(cè);數(shù)據(jù)顯示部分采用靜態(tài)數(shù)碼管顯示同時(shí)上傳PC機(jī)。系統(tǒng)工作原理為ARM微處理器向溫度傳感器發(fā)出信號(hào),啟動(dòng)溫度傳感器采集溫度數(shù)據(jù),溫度傳感器采集完一次數(shù)據(jù)后,將模擬數(shù)據(jù)量轉(zhuǎn)變成ARM微處理器能識(shí)別的數(shù)字信號(hào)。然后由ARM微處理器根據(jù)現(xiàn)場(chǎng)對(duì)數(shù)據(jù)的不同要求可以選擇兩種方式來顯示數(shù)據(jù)。(l):數(shù)碼管顯示。(2):PC機(jī)顯示。本系統(tǒng)采用的核心芯片分別為三星公司的ARM7TDMIS3C44BOX芯片作為系統(tǒng)處理器,DALLAS公司的DS18B20作為溫度傳感器。
本系統(tǒng)主要分下位機(jī)上位機(jī)設(shè)計(jì),下位機(jī)部分主要由兩大部分組成,即DS18B20與ARM7溫度測(cè)量模塊和PC機(jī)與ARM7間的串行通訊顯示模塊。
溫度檢測(cè)部分采用集成溫度傳感器DS18B20,它采用獨(dú)特的單口接線方式傳輸,在與微處理器連接時(shí)僅需要一條口線即可實(shí)現(xiàn)微處理器與DS18B20的雙向通訊,不需要外圍器件,外加電源范圍是3.0~5.5V,測(cè)溫范圍從-55℃到+125℃,在-10℃~+85℃固有分辨率為0.5℃,測(cè)量結(jié)果以9位到12位數(shù)字量方式直接輸出數(shù)字溫度信號(hào),以“一線總線”串行傳送給CPU,同時(shí)可傳送CRC校驗(yàn)碼,具有極強(qiáng)的抗干擾糾錯(cuò)能力系統(tǒng)的抗干擾性。適合于惡劣環(huán)境的現(xiàn)場(chǎng)溫度測(cè)量[3]。
DS18B20是單總線芯片,只需把其數(shù)據(jù)線連接到ARM一個(gè)IO口上即可,本設(shè)計(jì)是把其與ARM的PortA端口的PA0相連。溫度的采集不僅能把數(shù)據(jù)傳輸?shù)缴衔粰C(jī)中,而且也能在下位機(jī)進(jìn)行顯示,由于需要,只需顯示兩位,所以采取數(shù)碼管靜態(tài)顯示的方法,分別用ARM的PortE、PortF。
由于串行通信標(biāo)準(zhǔn)RS一232C實(shí)現(xiàn)簡單,成本低,技術(shù)成熟。并且MAX232芯片是包含兩路接收器和驅(qū)動(dòng)器的IC芯片,適用于各種通信接口。芯片內(nèi)部有一個(gè)電源電壓變換器,可以把輸人的+5V電源電壓變換成為RS一232C輸出電平所需要的+10v或一10v電壓。所以,采用此芯片接口的串行通信系統(tǒng)只需要單一的+5V電源就可以了。故本模塊采用MAX232接口芯片作為ARM與PC機(jī)間的通訊接口。
DS18B20使用的關(guān)鍵在于清楚總線的讀寫時(shí)序。由于DS18B20外接電路極為簡單,所以電路連接沒有問題;但在軟件編程上,就要求嚴(yán)格按照它的時(shí)序進(jìn)行讀寫操作。具體操作如下:
對(duì)DS18B20操作時(shí),首先要將它復(fù)位。將DQ線拉低480至960μs,再將數(shù)據(jù)線拉高15至 60μs,然后,DS18B20發(fā)出 60至此240μs的低電平作為應(yīng)答信號(hào),這時(shí)主機(jī)才能對(duì)它進(jìn)行其它操作。
程序如下:
串口初始化:
基于ARM的溫度采集系統(tǒng),設(shè)計(jì)的電路相對(duì)簡單,方便實(shí)用,能實(shí)時(shí)并且準(zhǔn)確的顯示數(shù)據(jù)。在此系統(tǒng)的基礎(chǔ)上,可以加入更多的采集量,比如濕度,光照度等,也可以非常容易的實(shí)現(xiàn)多點(diǎn)采集,使得整個(gè)系統(tǒng)除了在傳輸顯示的優(yōu)勢(shì)之外,所采集的信息量也多樣化,用途也就更加廣泛。
[1]劉玉生,吳昭同.基于特征的層次式公差信息表示,模型及其實(shí)現(xiàn) [J].機(jī)械工程學(xué)報(bào),2003(3):1~7.
[2]田澤.嵌入式系統(tǒng)開發(fā)與應(yīng)用[M].北京:北京航空,航天大學(xué)出版社,2005(01).
[3]劉鳴,車立新,陳興梧,趙煜.數(shù)字溫度傳感器.DS18B20的特性及程序設(shè)計(jì)方法[J].電測(cè)與儀表,2001(04).