微型溫度測(cè)量的數(shù)字化方案
摘要:在各種傳感器的設(shè)計(jì)中,溫度是影響其性能指標(biāo)的一個(gè)重要因素。在對(duì)體積限制很?chē)?yán)格的條件下,解決了硅微加速度計(jì)設(shè)計(jì)中的內(nèi)部溫度測(cè)量問(wèn)題。主要討論了內(nèi)嵌于加速度計(jì)的微型數(shù)字溫度傳感器DS18B20U的功能特點(diǎn)和使用要點(diǎn),并且介紹了“一線(xiàn)”網(wǎng)關(guān)的硬件及軟件設(shè)計(jì)。此項(xiàng)技術(shù)已有后續(xù)的軟件開(kāi)發(fā)實(shí)例。
關(guān)鍵詞:數(shù)字溫度傳感器 DS18B20U “一線(xiàn)”總線(xiàn) 網(wǎng)關(guān)
隨著技術(shù)的發(fā)展,各種慣性器件的性能在不斷提高,體積也在不斷小型化。對(duì)于慣性器件(如加速度計(jì)、陀螺)性能的提高,溫度補(bǔ)償作為一種重要的修正方式越來(lái)越引起人們的注意,因此如何在慣性器件極小的空間內(nèi)精確地測(cè)量、傳輸、處理溫度信息,成了能否使其性能和體積優(yōu)勢(shì)進(jìn)一步提高的關(guān)鍵問(wèn)題。
1 DS18B20U和“一線(xiàn)”總線(xiàn)
在研制新一代的微型MMS加速度計(jì)時(shí),溫度測(cè)量的難題以一次擺在人們的面前。在3~4cm3的空間內(nèi)放置一個(gè)傳統(tǒng)的SO-8或TO-92封裝的器件都顯得擁擠,更何況還要旋轉(zhuǎn)一個(gè)非主要功能的溫度傳感器了。
縱觀(guān)國(guó)際上現(xiàn)有的溫度傳感器的變化,總的趨勢(shì)是從模擬向數(shù)字轉(zhuǎn)變,相應(yīng)的體積也在不斷減小。在體積非??量痰膽T性器件中使用高精度、數(shù)字輸出型的溫度傳感器,MAXIM公司的DS18B20U最為符合要求。DS1820U是DS18B20系列產(chǎn)品中的一種。與以往模擬溫度信號(hào)的輸出不同,DS18B20的數(shù)字溫度輸出通過(guò)“一線(xiàn)”總線(xiàn)(1-Wire是被MAXIM公司收購(gòu)的DALLAS公司新?lián)碛械囊环N獨(dú)特的數(shù)字信號(hào)總線(xiàn)協(xié)議,它將獨(dú)特的電源線(xiàn)和信號(hào)線(xiàn)復(fù)合在一起,僅使用一條口線(xiàn);每個(gè)芯片唯一編碼,支持聯(lián)網(wǎng)尋址、零功耗等待等,是所需硬件連線(xiàn)最少的一種總線(xiàn))這種獨(dú)特的方式,使多個(gè)DS18B20U方便地組建成傳感器網(wǎng)絡(luò),為整個(gè)測(cè)量系統(tǒng)的建立和組合提供了更大可能性。
DS18B20真正令人驚奇的是其μSOP封裝,這種封裝只有3.0mm×6.4mm的水平尺寸,高度小于1.2mm。這樣可以節(jié)省更多的印刷電路板空間,非常適合于集成度高、對(duì)尺寸要求嚴(yán)格的慣性器件電路。因此在本加速度計(jì)的狹窄空間中使用,它是最為合適的內(nèi)嵌式溫度傳感器件。
DS18B20溫度傳感器的主要性能指標(biāo)為:
*“一線(xiàn)”總線(xiàn)接口令需一個(gè)端口進(jìn)行通訊。
*簡(jiǎn)單的多點(diǎn)分布應(yīng)用。
*可通過(guò)數(shù)據(jù)線(xiàn)供電。
*測(cè)溫范圍為-55~+125℃,在-10~+85℃的范圍內(nèi),精度為±0.5℃。
*溫度以9~12位數(shù)字量讀出,分辨率為0.0625℃。
*U型產(chǎn)品采用超小型的μSOP封裝,大大減小了體積。
以下介紹DS18B20U的一些使用要點(diǎn),更詳細(xì)的信息可以參考MAXIM公司網(wǎng)站提供的DS18B20的Datasheet(英文版)。
1.1 DS18B20U的溫度測(cè)量時(shí)間
DS18B20U作為溫度傳感器。
1.2 DS18B20U的“一線(xiàn)”總線(xiàn)標(biāo)識(shí)序號(hào)
每一個(gè)DS18B20U都有一個(gè)唯一的64位的“一線(xiàn)”總線(xiàn)標(biāo)識(shí)序號(hào),存放在DS18B20U的內(nèi)部ROM(只讀存儲(chǔ)器)中。開(kāi)始8位是產(chǎn)品類(lèi)型編碼(DS18B20編碼均為28H),接著的48位是每個(gè)器件的唯一序號(hào),最后8位是前面56位的CRC(循環(huán)冗余校驗(yàn))碼。
1.3 DS18B20U的溫度數(shù)據(jù)表示格式
DS18B20U中有用于存儲(chǔ)測(cè)得溫度值的兩個(gè)8位寄存器,它們存儲(chǔ)的溫度數(shù)據(jù)由兩個(gè)字節(jié)組成,分別為L(zhǎng)S Byte(低字節(jié))和MS Byte(高字節(jié)),MS Byte的高5位存放溫度值的符號(hào),如果溫度為負(fù)(℃),則MS Byte的高5位全為1,否則全為0。LS Byte的8位和MS Byte的低3位用于存放溫度值的補(bǔ)碼,LSB(最低位)為0.0625℃。將寄存器中的二進(jìn)制數(shù)求補(bǔ),就得到了被測(cè)溫度值(-55℃~+125℃)。
1.4 DS18B20U的供電方式
DS18B20可以設(shè)置成兩種供電方式,即數(shù)據(jù)總線(xiàn)供電方式和外部供電方式。采取數(shù)據(jù)總線(xiàn)供電方式可以節(jié)省一根導(dǎo)線(xiàn),但由此帶來(lái)的缺點(diǎn)是完成溫度測(cè)量的時(shí)間較長(zhǎng);而采取外部供電方式則多用一根導(dǎo)線(xiàn),但測(cè)量速度較快。注意:采用超小型μSOP封裝的DS18B20U不適合使用數(shù)據(jù)總線(xiàn)供電方式。
1.5 DS18B20U的多路同步測(cè)量
每一片DS18B20在其ROM中都存在唯一的48位序列號(hào),在出廠(chǎng)前已寫(xiě)入片內(nèi)ROM中。
如圖1所示,當(dāng)主機(jī)需要對(duì)眾多在線(xiàn)DS18B20中的某一個(gè)進(jìn)行操作時(shí),首先發(fā)出匹配ROM命令(命令代號(hào)55h),緊接著主機(jī)提供64位序列號(hào)(包括該DS18B20的48位序列號(hào)),之后的操作就是針對(duì)該DS18B20的。但是DS18B20的命令中允許對(duì)所有在線(xiàn)節(jié)點(diǎn)進(jìn)行統(tǒng)一操作,利用的是跳過(guò)ROM命令(命令代號(hào)CCh)。而所謂路過(guò)ROM命令即可:之后的操作是面對(duì)總線(xiàn)上所有DS18B20的。命令序列先跳過(guò)ROM,啟動(dòng)總線(xiàn)上所有DS18B20進(jìn)行溫度測(cè)量,然后通過(guò)匹配ROM再逐一地讀回每個(gè)DS18B20的溫度數(shù)據(jù)。這種方式使采集的溫度數(shù)據(jù)具有很好的同步性,而且節(jié)省時(shí)間。
2 “一線(xiàn)”網(wǎng)關(guān)的硬件設(shè)計(jì)
為了收集DS18B20U器件采集的溫度信息,需要控制掛接在“一線(xiàn)”總線(xiàn)網(wǎng)絡(luò)上的DS18B20U芯片,所以需要研制“一線(xiàn)”網(wǎng)關(guān)。“一線(xiàn)”網(wǎng)關(guān)的主要功能就是面對(duì)試驗(yàn)人員,把“一線(xiàn)”總線(xiàn)上的DS18B20U的信息轉(zhuǎn)換成異步串口232接口中的信息,這相當(dāng)于兩種類(lèi)型網(wǎng)絡(luò)之間的網(wǎng)關(guān),因此叫做“一線(xiàn)”網(wǎng)關(guān)。“一線(xiàn)”網(wǎng)關(guān)由一個(gè)功能強(qiáng)大的8位單片機(jī)P89C668組合各種外圍芯片構(gòu)成,各模塊之間的關(guān)系如圖2所示。下面介紹其設(shè)計(jì)重點(diǎn)。[!--empirenews.page--]
2.1 寬的工作溫度范圍
為了不僅能夠通過(guò)“一線(xiàn)”總線(xiàn)采集溫度信息,而且能夠在工作現(xiàn)場(chǎng)或試驗(yàn)現(xiàn)場(chǎng)可靠工作,需要系統(tǒng)至少能勉夠在80℃以上的高溫環(huán)境下可靠工作,因此在設(shè)計(jì)時(shí)應(yīng)對(duì)工作溫度范圍予以重視。
2.2 強(qiáng)的抗外界電磁干擾性能
工作在現(xiàn)場(chǎng)環(huán)境下,總是面對(duì)比較強(qiáng)烈的電磁干擾,因而需要采取更有效的措施。
首先,在外部供電的輸入接口應(yīng)加入二極管橋依據(jù)電路,防止在一些特殊條件下出現(xiàn)的電流逆向問(wèn)題,同時(shí)也使得內(nèi)外電路的地線(xiàn)隔離,起到抗干擾作用。
由于系統(tǒng)需要和外部設(shè)備進(jìn)行串口通訊,而232串口的電氣接口需要地線(xiàn)作為參考電平(因?yàn)橥庠O(shè)系統(tǒng)帶來(lái)的電磁干擾可能通過(guò)相連地線(xiàn)傳入系統(tǒng),引起工作異常),因此必須使用完全光耦隔離的方法來(lái)提高抗干擾能力。采用光耦隔離器件可抑制電磁干擾,保護(hù)系統(tǒng)電路不受網(wǎng)絡(luò)影響。串口的二線(xiàn)式通訊需要兩個(gè)光耦節(jié)點(diǎn),節(jié)點(diǎn)兩側(cè)需有獨(dú)立的供電電源。光耦器件應(yīng)該選擇高速類(lèi)型。例如TLP113,以滿(mǎn)足在最高通訊速率?。?15200bps)下的電氣性能。電路中還應(yīng)采用隔離型DC/DC模塊向串口收發(fā)器電路供電。
2.3 小的系統(tǒng)體積
設(shè)備的小型化是每一個(gè)項(xiàng)目所追求的目標(biāo)之一。為了使得設(shè)備便于攜帶、使用方便,在設(shè)計(jì)的初期就決定使用I2C等串行接口方式,而不使用速度雖然很快,但是卻占用大量PCB面積、連接線(xiàn)路以及IC管腳的并口方式。簡(jiǎn)單的串行接口可以?huà)旖佣喾N不同功能的芯片。因此系統(tǒng)的主芯片選用了具有I2C接口的Philips公司生產(chǎn)的P89C668單片機(jī)。其內(nèi)帶64KB Flash存儲(chǔ)器/8KB RAM存儲(chǔ)器,F(xiàn)lash存儲(chǔ)器既可以并行編程又可以串行在系統(tǒng)編程(ISP),還可以程序自我編程(IAP)。由于時(shí)鐘周期為6個(gè)時(shí)鐘,因此速度是傳統(tǒng)51結(jié)構(gòu)的兩倍。
大量使用串行接口不僅獲得了很小的體積,也使得電路的電氣連接簡(jiǎn)單明了。
3 “一線(xiàn)”網(wǎng)關(guān)的軟件設(shè)計(jì)
由于使用了單片機(jī)構(gòu)成嵌入式系統(tǒng),因此在完成硬件設(shè)計(jì)后,需要編制相應(yīng)的程序在單處機(jī)系統(tǒng)中運(yùn)行,這樣才能最終完成“一線(xiàn)”網(wǎng)關(guān)的設(shè)計(jì)。由于采用的單片機(jī)是與51系列兼容的P89C668,所以使用流行的C51語(yǔ)言編譯軟件Keil C V7.07a編制程序。
系統(tǒng)的核心任務(wù)是通過(guò)“一線(xiàn)”總線(xiàn)采集總線(xiàn)上的溫度傳感器數(shù)據(jù)并轉(zhuǎn)發(fā)至串口,特點(diǎn)如下:
?。?)利用DS18B20的總線(xiàn)特點(diǎn),同步所有溫度采集節(jié)點(diǎn)的采集過(guò)程。
在一線(xiàn)總線(xiàn)上發(fā)送同步采集指令,可以使系統(tǒng)在同一時(shí)刻采集到各個(gè)溫度測(cè)量點(diǎn)的溫度數(shù)據(jù),而避免“一線(xiàn)”總線(xiàn)本身通訊速率低的難題,而且也不用關(guān)心總線(xiàn)上掛接傳感器的具體數(shù)量。流程圖如圖3所示。
(2)利用EEPROM保存采集節(jié)點(diǎn)的歷史溫度數(shù)據(jù),允許脫機(jī)運(yùn)行。
系統(tǒng)自帶的EEPROM是掉電數(shù)據(jù)保存的可靠方式。8K的存儲(chǔ)空量和快速的區(qū)域?qū)懭敕绞阶阋詫?shí)時(shí)保存現(xiàn)場(chǎng)采集的測(cè)量數(shù)據(jù)和相應(yīng)的時(shí)間序列信息。
?。?)聯(lián)機(jī)運(yùn)行時(shí)間步采集數(shù)據(jù),通過(guò)串口上傳PC機(jī)。
在一般的應(yīng)用方式下,系統(tǒng)通過(guò)串口連接現(xiàn)場(chǎng)的PC機(jī)或其它上位設(shè)備,通過(guò)通訊接收上位機(jī)的指令,并進(jìn)行數(shù)據(jù)采集、保存和傳輸。這種工作方式即“一線(xiàn)”總線(xiàn)溫度傳感器網(wǎng)關(guān)的原始設(shè)計(jì)理念。
?。?)聯(lián)機(jī)運(yùn)行時(shí)保存的歷史數(shù)據(jù)通過(guò)串口上傳PC機(jī)。
由于系統(tǒng)可以保存脫機(jī)時(shí)采集的溫度數(shù)據(jù),因此可以在聯(lián)機(jī)工作時(shí)接收命令,通過(guò)串口把保存在EEPROM中的歷史數(shù)據(jù)上傳至上位機(jī),方便了數(shù)據(jù)的轉(zhuǎn)移、備份和分析。
所以,上位機(jī)可以是最普通的PC機(jī)(至少具有一個(gè)標(biāo)準(zhǔn)232串口),也可以是具有串行232接口的嵌入式系統(tǒng)。
4 溫度測(cè)量數(shù)字化方案的使用實(shí)例
本文介紹的技術(shù)在某型加速度計(jì)的開(kāi)發(fā)、試驗(yàn)中得到了應(yīng)用。在相關(guān)試驗(yàn)中,為配合溫度數(shù)據(jù)采集系統(tǒng)和其它相關(guān)設(shè)備,編制了應(yīng)用軟件。溫度數(shù)據(jù)采集系統(tǒng)的上位機(jī)功能相關(guān)程序已經(jīng)內(nèi)嵌入該軟件之中。
配套開(kāi)發(fā)的PC機(jī)(上位機(jī))控制軟件,其編程環(huán)境為:
系統(tǒng)平臺(tái)-Windows2000 Pro SP4中文版
開(kāi)發(fā)平臺(tái)-Visual C++6英文版
以上方案經(jīng)過(guò)精心設(shè)計(jì),在多方努力下成功運(yùn)用到某新型MEMS加速度計(jì)的研制過(guò)程中,取得了良好的效果。