高精度溫濕度傳感器SHT2x的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)

2014-01-21 10:43 來源:電子信息網(wǎng) 作者:蒲公英

摘要:介紹了基于STC11系列單片機(jī)和Sensirion公司新一代高精度溫濕度傳感器SHT2x的溫濕度數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)。SHT2x完全標(biāo)定,具有精度高、功耗低、穩(wěn)定度好、體積小和數(shù)字輸出等特點(diǎn),非常適合于在便攜和移動(dòng)設(shè)備中對(duì)溫度和濕度進(jìn)行監(jiān)控。

引言

新一代Sensirion溫濕度傳感器SHT2x,采用適于回流焊的雙列扁平無引腳DFN無鉛封裝,底面3 mm×3 mm,高度1.1 mm,具有超小型的體積,特別適合移動(dòng)測(cè)量設(shè)備。傳感器輸出經(jīng)過標(biāo)定的數(shù)字信號(hào),是標(biāo)準(zhǔn)的 I2C總線格式。SHT2x配有一個(gè)全新設(shè)計(jì)的4C代CMOSens芯片、一個(gè)經(jīng)過改進(jìn)的電容式濕度傳感元件和一個(gè)標(biāo)準(zhǔn)的能隙溫度傳感元件,內(nèi)置放大器、A/D轉(zhuǎn)換器、OTP內(nèi)存和數(shù)字處理單元,能同時(shí)檢測(cè)溫度和濕度。SHT2x的性能和可靠性,特別是在高濕環(huán)境下的穩(wěn)定性,相對(duì)于前一代傳感器SHT1x和SHT7x有很大提升,而數(shù)據(jù)傳輸操作更為簡(jiǎn)單。每一個(gè)傳感器都經(jīng)過校準(zhǔn)和測(cè)試,在芯片內(nèi)存儲(chǔ)了電子識(shí)別碼,可以通過輸入命令讀出這些識(shí)別碼。此外,SHT2x的分辨率可以通過輸入命令進(jìn)行改變,傳感器可以檢測(cè)到電池低電量狀態(tài),有極低功耗的節(jié)能模式,具有優(yōu)異的長(zhǎng)期穩(wěn)定性。SHT2x系列中最高精度的SHT25的相對(duì)濕度測(cè)量精度達(dá)到1.8%,溫度測(cè)量精度為0.2。

1 接口和通信協(xié)議

1.1 芯片引腳、信號(hào)和時(shí)序說明

SHT2x使用了6引腳封裝中的4個(gè)引腳,分別是電源VDD、地VSS、雙向串行時(shí)鐘SCL和雙向串行數(shù)據(jù)SDA。SHT2x供電范圍為2.1~3.6 V,推薦電壓為3.0 V。SCK用于微處理器與SHT1x之間的通信同步。

1


圖1 數(shù)字輸入/輸出端的時(shí)序圖

SDA引腳用于傳感器的數(shù)據(jù)輸入和輸出。當(dāng)向傳感器發(fā)送命令時(shí),SDA在串行時(shí)鐘SCL的上升沿有效,且當(dāng) SCL為高電平時(shí),SDA必須保持穩(wěn)定。在SCL下降沿之后,SDA值可被改變。為確保通信安全,SDA的有效時(shí)間在SCL上升沿之前和下降沿之后應(yīng)該分別延長(zhǎng)至tSU和tHD,數(shù)字輸入/輸出端時(shí)序如圖1所示。當(dāng)從傳感器讀取數(shù)據(jù)時(shí), SDA在SCL變低以后有效tVD時(shí)長(zhǎng),且維持到下一個(gè)SCL的下降沿。圖1中的縮略語(yǔ)在表1中解釋。圖1中DATA OUT SDA由傳感器控制,DATA IN SDA由MCU控制。SDA有效讀取時(shí)間由前一個(gè)轉(zhuǎn)換的下降沿觸發(fā)。

表1 I2C總線快速模式數(shù)字輸入/輸出端的時(shí)序特性

2


1.2 通信協(xié)議

SHT2x采用標(biāo)準(zhǔn)的I2C總線協(xié)議進(jìn)行通信,所有傳感器都被設(shè)置為相同的7位I2C總線地址1000 000。

1.2.1 傳感器的啟動(dòng)與停止時(shí)序

上電后,傳感器需要15 ms時(shí)間以達(dá)到空閑狀態(tài),即準(zhǔn)備接收由主機(jī)(MCU)發(fā)送的命令,此時(shí)SCL為高電平。每個(gè)傳輸序列都以啟動(dòng)傳輸狀態(tài)(S)作為開始,并以停止傳輸狀態(tài)(P)作為結(jié)束。圖2是啟動(dòng)傳輸狀態(tài)的時(shí)序圖。

3


圖2 啟動(dòng)傳輸狀態(tài)時(shí)序圖

當(dāng)SCL為高電平時(shí),SDA由高電平轉(zhuǎn)換為低電平。開始狀態(tài)是由主機(jī)控制的一種特殊的總線狀態(tài),指示從機(jī)傳輸開始,啟動(dòng)之后,總線處于占線狀態(tài)。圖3是停止傳輸狀態(tài)的時(shí)序圖。

4


圖3 停止傳輸狀態(tài)時(shí)序圖

當(dāng)SCL高電平時(shí), SDA由低電平轉(zhuǎn)換為高電平。停止?fàn)顟B(tài)是由主機(jī)控制的一種特殊的總線狀態(tài),指示從機(jī)傳輸結(jié)束,停止之后,總線處于閑置狀態(tài)。

1.2.2 發(fā)送命令和接收數(shù)據(jù)

在啟動(dòng)傳輸后,隨后傳輸?shù)氖鬃止?jié)包括7位的I2C總線設(shè)備地址和一個(gè)SDA方向位,讀為“1”,寫為“0”。在第8個(gè)SCL時(shí)鐘下降沿之后,通過拉低SDA引腳(ACK位),指示傳感器數(shù)據(jù)接收正常。在發(fā)出測(cè)量命令之后主機(jī)必須等待測(cè)量完成?;镜拿钤诒?中進(jìn)行說明,有兩種不同的方式可選——主機(jī)模式或非主機(jī)模式。

表2 基本命令集

5


MC與傳感器之間的通信有兩種不同的工作模式:主機(jī)模式和非主機(jī)模式。在主機(jī)模式下,在測(cè)量的過程中,SCL線被封鎖(由傳感器進(jìn)行控制);在非主機(jī)模式下,當(dāng)傳感器在執(zhí)行測(cè)量任務(wù)時(shí),SCL線仍然保持開放狀態(tài),可進(jìn)行其他通信。非主機(jī)模式允許傳感器進(jìn)行測(cè)量時(shí)在總線上處理其他I2C總線通信任務(wù)。本文只涉及主機(jī)模式,其時(shí)序如圖4所示。

6


圖4 主機(jī)通信模式時(shí)序

在主機(jī)模式下測(cè)量時(shí),SHT2x將SCL拉低,強(qiáng)制主機(jī)進(jìn)入等待狀態(tài)。通過釋放SCL線,表示傳感器內(nèi)部處理工作結(jié)束,進(jìn)而可以繼續(xù)數(shù)據(jù)傳送。

圖4中灰色部分由SHT2x控制。如果要省略校驗(yàn)和(CRC)傳輸,可將第45位改為NACK,之后接一個(gè)傳輸停止時(shí)序。

由于測(cè)量的最大分辨率為14位,第2個(gè)字節(jié)SDA上的后兩位LSB,即第43和44位用來傳輸相關(guān)的狀態(tài)信息,第43位表示測(cè)量的類型,“0”表示測(cè)量溫度,“1”表示測(cè)量濕度,第0位當(dāng)前沒有使用。

在圖4中,傳感器輸出為0110 0011 0101 0010。在進(jìn)行物理?yè)Q算時(shí),后兩位狀態(tài)位應(yīng)置0。

所需最長(zhǎng)測(cè)量時(shí)間取決于測(cè)量類型和分辨率,最高分辨率14位的測(cè)量時(shí)間最大值為85 ms,測(cè)量時(shí)間的最大值由MCU控制。

1 2 3 4 > 
傳感器 單片機(jī) SHT2x

相關(guān)閱讀

暫無數(shù)據(jù)

一周熱門