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