摘 要:詳細(xì)介紹Sensirion傳感器公司推出的新型集成數(shù)字式溫濕度傳感器。該傳感器采用CMOSens專利技術(shù)將溫度濕度傳感器、A/D轉(zhuǎn)換器及數(shù)字接口無縫結(jié)合,使傳感器具有體積小、響應(yīng)速度快、接口簡(jiǎn)單、性價(jià)比高等特點(diǎn)。本文結(jié)合實(shí)例講解該傳感器的命令、時(shí)序,以及其在單片機(jī)系統(tǒng)中的應(yīng)用。
關(guān)鍵詞:SHT10;溫濕度傳感器;數(shù)字傳感器;ATmeg8L
引 言
隨著社會(huì)的不斷發(fā)展前進(jìn),人們進(jìn)入了數(shù)字化信息時(shí)代,對(duì)生活質(zhì)量的要求越來越高。汽車、空調(diào)、除濕器、烘干機(jī)等都已家喻戶曉,它們都離不開對(duì)溫度、濕度等環(huán)境因素的要求。
瑞士Sensirion公司推出了SHTxx單片數(shù)字溫濕度集成傳感器。采用CMOS過程微加工專利技術(shù)(CMOSens technology),確保產(chǎn)品具有極高的可靠性和出色的長(zhǎng)期穩(wěn)定性。該傳感器由1個(gè)電容式聚合體測(cè)濕元件和1個(gè)能隙式測(cè)溫元件組成,并與1個(gè)14位A/D轉(zhuǎn)換器以及1個(gè)2-wire數(shù)字接口在單芯片中無縫結(jié)合,使得該產(chǎn)品具有功耗低、反應(yīng)快、抗干擾能力強(qiáng)等優(yōu)點(diǎn)。
1 SHT10的特點(diǎn)
SHT10的主要特點(diǎn)如下:
◆相對(duì)濕度和溫度的測(cè)量兼有露點(diǎn)輸出;
◆全部校準(zhǔn),數(shù)字輸出;
◆接口簡(jiǎn)單(2-wire),響應(yīng)速度快;
◆超低功耗,自動(dòng)休眠;
◆出色的長(zhǎng)期穩(wěn)定性;
◆超小體積(表面貼裝);
◆測(cè)濕精度±45%RH,測(cè)溫精度±0.5℃(25℃)。
2 引腳說明及接口電路
(1)典型應(yīng)用電路
SHT10典型應(yīng)用電路如圖1所示。
(2)電源引腳(VDD、GND)
SHT10的供電電壓為2.4V~5.5V。傳感器上電后,要等待11ms,從“休眠”狀態(tài)恢復(fù)。在此期間不發(fā)送任何指令。電源引腳(VDD和GND)之間可增加1個(gè)100nF的電容器,用于去耦濾波。
(3)串行接口
SHT10的兩線串行接口(bidirectional 2-wire)在傳感器信號(hào)讀取和電源功耗方面都做了優(yōu)化處理,其總線類似I2C總線但并不兼容I2C總線。
①串行時(shí)鐘輸入(SCK)。SCK引腳是MCU與SHTIO之問通信的同步時(shí)鐘,由于接口包含了全靜態(tài)邏輯,因此沒有最小時(shí)鐘頻率。
②串行數(shù)據(jù)(DATA)。DATA引腳是1個(gè)三態(tài)門,用于MCU與SHT10之間的數(shù)據(jù)傳輸。DATA的狀態(tài)在串行時(shí)鐘SCK的下降沿之后發(fā)生改變,在SCK的上升沿有效。在數(shù)據(jù)傳輸期間,當(dāng)SCK為高電平時(shí),DATA數(shù)據(jù)線上必須保持穩(wěn)定狀態(tài)。
為避免數(shù)據(jù)發(fā)生沖突,MCU應(yīng)該驅(qū)動(dòng)DATA使其處于低電平狀態(tài),而外部接1個(gè)上拉電阻將信號(hào)拉至高電平。
3 命令與時(shí)序
(1)SHT10命令
SHT10命令如表1所列。
(2)命令時(shí)序
發(fā)送一組“傳輸啟動(dòng)”序列進(jìn)行數(shù)據(jù)傳輸初始化,如圖2所示。其時(shí)序?yàn)椋寒?dāng)SCK為高電平時(shí)DT翻轉(zhuǎn)保持低電平,緊接著SCK產(chǎn)生1個(gè)發(fā)脈沖,隨后在SCK為高電平時(shí)DATA翻轉(zhuǎn)保持高電平。
緊接著的命令包括3個(gè)地址位(僅支持“000”)和5個(gè)命令位。SHT10指示正確接收命令的時(shí)序?yàn)椋涸诘?個(gè)SCK時(shí)鐘的下降沿之后將DATA拉為低電平(ACK位),在第9個(gè)SCK時(shí)鐘的下降沿之后釋放DATA(此時(shí)為高電平)。
(3)測(cè)量時(shí)序(RH和T)
“000 00101”為相對(duì)濕度(RH)量,“000 00101”為溫度(θ)測(cè)量。發(fā)送一組測(cè)量命令后控制器要等待測(cè)量結(jié)束,這個(gè)過程大約需要20/80/320ms對(duì)應(yīng)其8/12/14位的測(cè)量。測(cè)量時(shí)間隨內(nèi)部晶振的速度而變化,最多能夠縮短30%。SHT10下拉DATA至低電平而使其進(jìn)入空閑模式。重新啟動(dòng)SCK時(shí)鐘讀出數(shù)據(jù)之前,控制器必須等待這個(gè)“數(shù)據(jù)準(zhǔn)備好”信號(hào)。
接下來傳輸2個(gè)字節(jié)的測(cè)量數(shù)據(jù)和1個(gè)字節(jié)的CRC校驗(yàn)。MCU必須通過拉低DATA來確認(rèn)每個(gè)字節(jié)。所有的數(shù)據(jù)都從MSB開始,至LSB有效。例如對(duì)于12位數(shù)據(jù),第5個(gè)SCK時(shí)鐘時(shí)的數(shù)值作為MSB位;而對(duì)于8位數(shù)據(jù),第1個(gè)字節(jié)(高8位)數(shù)據(jù)無意義。
確認(rèn)CRC數(shù)據(jù)位之后,通信結(jié)束。如果不使用CRC-8校驗(yàn),控制器可以在測(cè)量數(shù)據(jù)LSB位之后,通過保持ACK位為高電平來結(jié)束本次通信。
測(cè)量和通信結(jié)束后,SHT10自動(dòng)進(jìn)入休眠狀態(tài)模式。
(4)復(fù)位時(shí)序
如果與SHT10的通信發(fā)生中斷,可以通過隨后的信號(hào)序列來復(fù)位串口,如圖3所示。保持DATA為高電平,觸發(fā)SCK時(shí)鐘9次或更多,接著在執(zhí)行下次命令之前必須發(fā)送一組“傳輸啟動(dòng)”序列。這些序列僅僅復(fù)位串口,狀態(tài)寄存器的內(nèi)容仍然保留。
(5)狀態(tài)寄存器讀寫時(shí)序
SHT10通過狀態(tài)寄存器實(shí)現(xiàn)初始狀態(tài)設(shè)定。
讀狀態(tài)寄存器時(shí)序如圖4所示。
寫狀態(tài)寄存器時(shí)序如圖5所示。
4 幾點(diǎn)說明
①CRC-8校驗(yàn)。整個(gè)數(shù)據(jù)的傳輸過程都由8位校驗(yàn)保證,確保任何錯(cuò)誤的數(shù)據(jù)都能夠被檢測(cè)到并刪除[1] 。
②為保持自身發(fā)熱溫升小于0.1℃,SHTxx的激活時(shí)間不超過10%。如12位精度測(cè)量,每秒最多測(cè)量2次。
③轉(zhuǎn)換為物理量輸出相對(duì)濕度輸出轉(zhuǎn)換公式為:
其中,RHlinear為25℃時(shí)相對(duì)濕度的線性值,SORH為傳感
器輸出的相對(duì)濕度的數(shù)值,c1,c2,c3為系數(shù),如表3所列。
當(dāng)測(cè)量溫度與25℃相差較大時(shí),則需要考慮傳感器的溫度系數(shù):
其中,RHtrue為溫度不等于25℃時(shí)相對(duì)濕度的實(shí)際值,θc為當(dāng)前溫度,t1、t2是系數(shù),如表4所列。
溫度輸出轉(zhuǎn)換公式為:
其中,θ為實(shí)際溫度,SOθ為傳感器輸出的溫度數(shù)值,θ1,θ2為系數(shù),如表5、表6所列。
由于濕度與溫度經(jīng)由同一塊芯片測(cè)量而得,因此SHT10可以同時(shí)實(shí)現(xiàn)高質(zhì)量的露點(diǎn)測(cè)量。具體算法可參閱參考文獻(xiàn)[2] ,這里不再詳述。
5 SHT10與ATmegal的應(yīng)用實(shí)例
這里以SHT10與Atmel公司低功耗8位RISC指令集的ATmega8L(內(nèi)部8MHz振蕩頻率)MCU的接口電路為例,給出實(shí)際應(yīng)用電路及控制程序?qū)嵗?/p>
本例采用ATmega8L微控制器控制SHT10,讀取溫濕度數(shù)據(jù),并將結(jié)果顯示在LCD1602(采用4位模式)上,如圖6所示。
程序采用C語言模塊化設(shè)計(jì),大大方便被移植到其他MCU上使用,提高了工作效率。
參考文獻(xiàn):
[1]Sensirion.CRC Calculation Application Note,2006.
[2]Sensirion.Dew-point Calculation Application Note,2006.
[3]Sensirion.SHT10 Humidity Sensor Datasheet,2007.
縮略語:
FCS Frame Check Sequence 幀校驗(yàn)序列
TTS Text To Speech 語音合成
SSP Synchronous Serial Port 同步串行口
SMC Symbolic Model Checking 符號(hào)模型檢查
MANET Mobile Ad hoc NET 移動(dòng)Ad Hoc網(wǎng)絡(luò)
WMN Wireless Mesh Network 無線網(wǎng)狀網(wǎng)