新型溫溫度傳感囂SHTl0的原理及應(yīng)用
摘 要 詳細(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)鍵詞 SHTl0 溫濕度傳感器 數(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 SHTl0的特點(diǎn)
SHTlO的主要特點(diǎn)如下:
◆相對(duì)濕度和溫度的測(cè)量兼有露點(diǎn)輸出;
◆全部校準(zhǔn),數(shù)字輸出;
◆接口簡(jiǎn)單(2一wire),響應(yīng)速度快;
◆超低功耗,自動(dòng)休眠;
◆出色的長(zhǎng)期穩(wěn)定性;
◆超小體積(表面貼裝);
◆測(cè)濕精度±4.5%RH,測(cè)溫精度±O.5℃(25℃)。
2 引腳說明及接口電路
(1)典型應(yīng)用電路
SHTlO典型應(yīng)用電路如圖1所示。
(2)電源引腳(VDD、GND)
SHTlO的供電電壓為2.4~5.5 V。傳感器上電后,要等待11 ms,從“休眠”狀態(tài)恢復(fù)。在此期間不發(fā)送任何指令。電源引腳(VDD和GND)之間可增加1個(gè)100 nF的電容器,用于去耦濾波。
(3)串行接口
SHTlO的兩線串行接口(bidirectional 2一wire)在傳感器信號(hào)讀取和電源功耗方面都做了優(yōu)化處理,其總線類似I2C總線但并不兼容I2C總線。
①串行時(shí)鐘輸入(SCK)。SCK引腳是MCU與SHTlO之間通信的同步時(shí)鐘,由于接口包含了全靜態(tài)邏輯,因此沒有最小時(shí)鐘頻率。
②串行數(shù)據(jù)(DATA)。DATA引腳是1個(gè)三態(tài)門,用于MCU與SHTlO之間的數(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)SHTl0命令
SHTlO命令如表1所列。
(2)命令時(shí)序
發(fā)送一組“傳輸啟動(dòng)”序列進(jìn)行數(shù)據(jù)傳輸初始化,如圖2所示。其時(shí)序?yàn)椋寒?dāng)SCK為高電平時(shí)DATA翻轉(zhuǎn)保持低電平,緊接著SCK產(chǎn)生1個(gè)發(fā)脈沖,隨后在SCK為高電平時(shí)DATA翻轉(zhuǎn)保持高電平。
緊接著的命令包括3個(gè)地址位(僅支持“000”)和5個(gè)命令位。SHTl0指示正確接收命令的時(shí)序?yàn)椋涸诘?個(gè)SCK時(shí)鐘的下降沿之后將DATA拉為低電平(ACK位),在第9個(gè)SCK時(shí)鐘的下降沿之后釋放DATA(此時(shí)為高電平)。
(3)測(cè)量時(shí)序(RH和T)
“000 00101”為相對(duì)濕度(RH)測(cè)量,“000 0001l”為溫度(θ)測(cè)量。發(fā)送一組測(cè)量命令后控制器要等待測(cè)量結(jié)束,這個(gè)過程大約需要20/80/320 ms,對(duì)應(yīng)其8/12/14位的測(cè)量。測(cè)量時(shí)間隨內(nèi)部晶振的速度而變化,最多能夠縮短30%。SHTlO下拉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é)束后,SHTlO自動(dòng)進(jìn)入休眠狀態(tài)模式。
(4)復(fù)位時(shí)序
如果與SHTlO的通信發(fā)生中斷,可以通過隨后的信號(hào)序列來復(fù)位串口,如圖3所示。保持DATA為高電平,觸發(fā)SCK時(shí)鐘9次或更多,接著在執(zhí)行下次命令之前必須發(fā)送一組“傳輸啟動(dòng)”序列。這些序列僅僅復(fù)位串口,狀態(tài)寄存器的內(nèi)容仍然保留。
(5)狀態(tài)寄存器讀寫時(shí)序
SHTl0通過狀態(tài)寄存器實(shí)現(xiàn)初始狀態(tài)設(shè)定。
評(píng)論