0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

SHT3x-DIS驅(qū)動及應(yīng)用詳解

撞上電子 ? 2024-01-03 08:01 ? 次閱讀

SHT3x-DIS是Sensirion新一代的溫濕度傳感器,精度為±2%RH和±0.3℃,輸入電壓范圍從2.4V到5.5V,采用IIC總線接口,速率可達1MHz。測量溫濕度范圍分別為是-40℃ ~ 125℃和0 ~ 100%。

一、電路組成

從下圖可以看到SHT3x內(nèi)部集成了濕度傳感器和溫度傳感器,通過ADC采樣輸入到數(shù)據(jù)處理和線性化單元,同時帶有校正儲存器,處理環(huán)境對器件測量的影響。通過數(shù)字接口IIC讀取數(shù)據(jù)。帶警報引腳,可通過修改寄存器的值設(shè)定閾值,當(dāng)測量的溫濕度超過閾值時它會被置位。

2c05cd64-a9cb-11ee-9ee2-92fbcf53809c.png

引腳分布如下,1和4號腳是IIC總線接口;2號腳是決定地址的引腳,當(dāng)ADDR接VSS時芯片地址為0x44,接VCC時芯片地址為0x45;3號腳警報引腳(當(dāng)不使用時浮空),當(dāng)溫濕度超過設(shè)定的閾值則該腳會被置位;5號和8號腳是電源引腳;6號引腳是復(fù)位引腳(當(dāng)不使用時接VDD),低電平有效;7號腳是為了封裝而保留的引腳。

2c186398-a9cb-11ee-9ee2-92fbcf53809c.png

下圖是設(shè)備地址分配情況。

2c2f891a-a9cb-11ee-9ee2-92fbcf53809c.png

典型電路如下,由于SCL和SDA為開漏輸出,驅(qū)動能力不足,需要接上拉電阻。VDD和VSS之間接一個小電容濾除高頻雜波,另外nRESET和ALERT根據(jù)情況進行選擇,若不需要使用,nRESET接高電平,ALERT浮空。Die Pad接地即可。

2c3e257e-a9cb-11ee-9ee2-92fbcf53809c.png

二、通訊指令說明

寫好IIC驅(qū)動程序后,便可以開始和SHT3x進行通訊了,下面是SHT3x的所有指令說明。

(一)、單次獲取數(shù)據(jù)指令

單次獲取數(shù)據(jù)指令的詳細(xì)數(shù)據(jù)格式如下圖。首先從表格最上面開始,Repeatability指的是重復(fù)性,Clock Stretching指的是時鐘延伸,它們的作用下面再講述。數(shù)據(jù)流動過程如下:

1,發(fā)送起始信號以及由高7位的器件地址和最低位的寫信號(WR=0) 組成的一字節(jié)地址,等待應(yīng)答信號。(注意地址位于高7位,所以傳址的時候需要將地址左移一位并加上讀1/寫0信號,如ADDR<<1 | WR)2,發(fā)送指令的高字節(jié)并等待應(yīng)答信號。3,發(fā)送指令的低字節(jié)并等待應(yīng)答信號,之后發(fā)送停止信號。4,等待一段時間(測量正在進行)。5,發(fā)送起始信號以及由高7位的器件地址和最低位的讀信號(RD=1) 組成的一字節(jié)地址,然后根據(jù)選擇的Clock Stretching從兩個方向選擇。假如失能了時鐘延長功能,則等待非應(yīng)答信號,發(fā)送停止信號,延遲一段時間(這步很重要?。⊙舆t時間大約為50ms左右)等待轉(zhuǎn)換結(jié)束,然后發(fā)送八位的應(yīng)答信號并等待應(yīng)答信號,之后便是逐字節(jié)分別讀取溫度和濕度的高字節(jié)、低字節(jié)以及CRC校驗字節(jié),每字節(jié)接收完都要發(fā)送應(yīng)答信號,最后發(fā)送停止信號即可。而如果使能了是時鐘延長功能,則總線的SCL由SHT3x控制,我們只需要通過while(SCL==0)阻塞程序,等待其釋放總線然后MCU讀取數(shù)據(jù)即可。

2c41e222-a9cb-11ee-9ee2-92fbcf53809c.png

(二)、周期獲取數(shù)據(jù)指令

周期獲取數(shù)據(jù)指令的詳細(xì)數(shù)據(jù)格式如下圖。周期獲取數(shù)據(jù)需要先配置讀取模式然后再進行讀取。

1、配置模式

周期讀取數(shù)據(jù)的配置主要是配置重復(fù)性和每秒測量次數(shù)。數(shù)據(jù)發(fā)送的方式同上。

2c5a3412-a9cb-11ee-9ee2-92fbcf53809c.png

2、讀取數(shù)據(jù)

讀取的步驟和上述單次讀取數(shù)據(jù)指令的流程類似,下面大概說一下。

2c668884-a9cb-11ee-9ee2-92fbcf53809c.png

發(fā)送起始信號,發(fā)送寫地址,等待應(yīng)答信號,注意如果傳感器沒有測量完,它只會返回非應(yīng)答信號。發(fā)送16位命令0xE000。讀取初始數(shù)據(jù)。

(三)、加快響應(yīng)時間指令

加快響應(yīng)時間指令,用于周期讀取數(shù)據(jù)指令,開啟后傳感器開始采集頻率為4Hz的數(shù)據(jù)。它的使用方法跟上述配置模式相同,在讀取之前配置好就可以了。

2c797052-a9cb-11ee-9ee2-92fbcf53809c.png

發(fā)送起始信號,發(fā)送寫地址,等待應(yīng)答信號。發(fā)送16位命令0x2B32,等待應(yīng)答信號。接著繼續(xù)配置或者讀取數(shù)據(jù)。

(四)、停止周期讀取數(shù)據(jù)指令

停止周期讀取數(shù)據(jù)指令,有時為了實現(xiàn)低功耗或暫時不需要傳感器測量數(shù)據(jù),可以通過該指令進行關(guān)閉。

2c875ce4-a9cb-11ee-9ee2-92fbcf53809c.png

發(fā)送起始信號,發(fā)送寫地址,等待應(yīng)答信號。發(fā)送16位命令0x3093,等待應(yīng)答信號,發(fā)送停止信號。

(五)、復(fù)位

復(fù)位(RESET)的方式有很多種。

1、IIC接口復(fù)位

當(dāng)通訊設(shè)備丟失時,在接下來的信號序列將會復(fù)位串口接口,此序列僅重置接口。狀態(tài)寄存器保留其內(nèi)容。SDA線置位,翻轉(zhuǎn)SCL線的電平9次以上。接下來必須在下一個命令之前執(zhí)行傳輸開始序列。

2、軟復(fù)位/重新初始化

軟復(fù)位/重新初始化的指令格式如下。

2c9f7fea-a9cb-11ee-9ee2-92fbcf53809c.png

發(fā)送起始信號,發(fā)送寫地址,等待應(yīng)答信號。發(fā)送16位命令0x30A2,等待應(yīng)答信號,發(fā)送停止信號。

3、一般呼叫復(fù)位指令

發(fā)送起始信號,發(fā)送通用呼叫地址0x00,等待應(yīng)答信號。發(fā)送第二個字節(jié)0x06,等待應(yīng)答信號。

2ca9b1ea-a9cb-11ee-9ee2-92fbcf53809c.png

4、通過nRESET引腳復(fù)位

拉低nRESET引腳的電平(至少350ns)將會產(chǎn)生硬復(fù)位信號重置傳感器。

5、硬復(fù)位

重新上電。

(六)、加熱器開啟/關(guān)閉指令

該指令的用法同上,至于該加熱器的作用是什么我也不清楚,明明是測溫用的還要加熱?!大概是想在溫度很低的環(huán)境但想要它還能正常工作所以才設(shè)置這功能吧。

2cb9fa8c-a9cb-11ee-9ee2-92fbcf53809c.png

(七)、讀取狀態(tài)寄存器

狀態(tài)寄存器包含有關(guān)加熱器運行狀態(tài)、警報模式以及最后一個命令的執(zhí)行狀態(tài)和最后一個寫序列的信息。

2cc3817e-a9cb-11ee-9ee2-92fbcf53809c.png

發(fā)送起始信號,發(fā)送寫地址,發(fā)送16位命令。發(fā)送起始信號,發(fā)送讀地址,依次接收狀態(tài)寄存器的高字節(jié)、低字節(jié)和CRC校驗,每次接收都需要發(fā)送應(yīng)答信號,直到接收的最后一個字節(jié)發(fā)送非應(yīng)答信號,發(fā)送停止信號。狀態(tài)寄存器每一位代表的含義如下所示。

2ce44102-a9cb-11ee-9ee2-92fbcf53809c.png

我們試一下讀取狀態(tài)寄存器看返回什么。可以發(fā)現(xiàn)二進制數(shù)1000 0000 0001 0000 1110 0001都為上面表格的默認(rèn)值,至于CRC校驗要根據(jù)給定公式對前兩字節(jié)進行計算和比較。下面來講CRC校驗。

2d00d86c-a9cb-11ee-9ee2-92fbcf53809c.png

(八)、CRC校驗

循環(huán)冗余校驗(CRC)其實就是一種異或計算(模2運算)。獲取的CRC校驗碼就是模2運算后的余數(shù)。

2d0f95dc-a9cb-11ee-9ee2-92fbcf53809c.png

(九)、轉(zhuǎn)換溫濕度數(shù)據(jù)

由于從傳感器獲取到的數(shù)據(jù)不是最終的溫濕度,所以我們需要根據(jù)公式進行轉(zhuǎn)換,轉(zhuǎn)換公式如下,在計算之前我們要對溫濕度數(shù)據(jù)進行整合。

2d18fabe-a9cb-11ee-9ee2-92fbcf53809c.png

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 傳感器
    +關(guān)注

    關(guān)注

    2542

    文章

    50240

    瀏覽量

    750039
  • 驅(qū)動
    +關(guān)注

    關(guān)注

    12

    文章

    1812

    瀏覽量

    85044
  • DIS
    DIS
    +關(guān)注

    關(guān)注

    0

    文章

    17

    瀏覽量

    16445
收藏 人收藏

    評論

    相關(guān)推薦

    SHT3x系列溫濕度傳感器的驅(qū)動設(shè)計與實現(xiàn)

    在我們的產(chǎn)品中經(jīng)常會遇到溫濕度檢測的需求??梢杂糜跈z測溫濕度的傳感器元件也有很多。我們經(jīng)常使用的SHT各系列數(shù)字溫濕度傳感器來實現(xiàn)應(yīng)用需求。在這里我們將設(shè)計并實現(xiàn)SHT3x系列溫濕度傳感器的驅(qū)動。
    發(fā)表于 12-12 15:14 ?3173次閱讀
    <b class='flag-5'>SHT3x</b>系列溫濕度傳感器的<b class='flag-5'>驅(qū)動</b>設(shè)計與實現(xiàn)

    SHT2x系列溫濕度傳感器的驅(qū)動設(shè)計與實現(xiàn)

    溫濕度檢測是嵌入式編程中經(jīng)常應(yīng)用到的一項功能。在我們的產(chǎn)品中亦經(jīng)常使用。SHT2x系列溫濕度傳感器作為一種高精度低成本的集成模塊,一直應(yīng)用于我們的產(chǎn)品中。在這里我們討論如何封裝SHT2x系列溫濕度傳感器的驅(qū)動。
    發(fā)表于 12-12 15:27 ?1150次閱讀
    <b class='flag-5'>SHT2x</b>系列溫濕度傳感器的<b class='flag-5'>驅(qū)動</b>設(shè)計與實現(xiàn)

    SHT1x系列溫濕度傳感器的驅(qū)動設(shè)計與實現(xiàn)

    在我們的產(chǎn)品中,經(jīng)常需要檢測溫濕度數(shù)據(jù)。有很多檢測溫濕度的方法和模塊,其中SHT1x系列溫濕度傳感器就是一種成本較低使用方便的溫濕度檢測模塊。下面我們就來說一說如何實現(xiàn)SHT1x系列溫濕度傳感器的驅(qū)動
    發(fā)表于 12-14 14:11 ?1425次閱讀
    <b class='flag-5'>SHT1x</b>系列溫濕度傳感器的<b class='flag-5'>驅(qū)動</b>設(shè)計與實現(xiàn)

    基于單片機的SHT11的溫濕度監(jiān)測

    unsigned int#define uiong unsigned long***it DAT=P2^7;//SHT11數(shù)據(jù)***it SCK=P2^6;//SHT11時鐘***it lcden=P3
    發(fā)表于 05-13 19:55

    STM32+SHT11測溫濕度,輸出顯示0

    ();TIM3_Int_Init(1,2880);//25000 hz的計數(shù)頻率,0.08ms 1 2880 while(1){err += SHT10_Measure(&temp_val
    發(fā)表于 05-20 21:22

    stm32 iic收不到器件應(yīng)答溫,傳感器是sht3x-dis

    最近在用stm32調(diào)iic,用iic讀取sht3x-dis溫濕度傳感器的數(shù)值,iic的配置和一些基本函數(shù)是照搬原子的例程,以下是我寫的,大家?guī)兔匆幌拢袅撕镁?,沒反應(yīng),很傷。
    發(fā)表于 10-17 15:57

    怎樣使用C51去驅(qū)動SHT3X溫濕度模塊呢

    SHT3X 溫濕度模塊 C51驅(qū)動SHT3X 溫濕度模塊圖示基于藍橋C51開發(fā)板驅(qū)動使用方法C51驅(qū)動S
    發(fā)表于 12-10 06:25

    SHT1x/SHT7x數(shù)字溫濕度傳感器

    SHT1x/SHT7x產(chǎn)品概述 SHTxx系列產(chǎn)品是一款高度集成的溫濕度傳感器芯片,提供全量程標(biāo)定的數(shù)字輸出。它采用專利的CMOSens?技術(shù),確保產(chǎn)品具有極高的可靠性與卓越的長期穩(wěn)定性。傳感器包括一個電容性聚合體濕度敏感元件和一個用能隙材料制成的溫度敏感元件,這
    發(fā)表于 01-27 22:42 ?137次下載

    溫濕度傳感器驅(qū)動SHT85 單片機STM32 HAL庫

    #ifndef __SHT85_H__#define __SHT85_H__#include "main.h"#define CRC_POLYNOMIAL 0x131 // P
    發(fā)表于 12-04 16:21 ?18次下載
    溫濕度傳感器<b class='flag-5'>驅(qū)動</b><b class='flag-5'>SHT</b>85 單片機STM32 HAL庫

    STM32F1 & SHT3x溫濕度模塊

    STM32F1 & SHT3x溫濕度模塊提示:以下程序是基于STM32F103和SHT3x系列硬件文章目錄STM32F1 & SHT3x溫濕度模塊一
    發(fā)表于 12-04 18:36 ?27次下載
    STM32F1 & <b class='flag-5'>SHT3x</b>溫濕度模塊

    可編程USB轉(zhuǎn)串口適配器開發(fā)板

    可編程 USB 轉(zhuǎn)串口適配器開發(fā)板 ?SHT3x-DIS 溫濕度傳感器芯片 可編程 USB 轉(zhuǎn)串口適配器開發(fā)板 ?SHT3x-DIS 溫濕度傳感器芯片 可編程USB轉(zhuǎn) UART/I2C
    的頭像 發(fā)表于 09-02 09:02 ?778次閱讀
    可編程USB轉(zhuǎn)串口適配器開發(fā)板

    溫濕度傳感器SHT30-DIS功耗測評

    溫濕度傳感器SHT30-DIS有兩種工作轉(zhuǎn)換模式。一種是單次轉(zhuǎn)換模式,另一種是周期轉(zhuǎn)換模式。
    的頭像 發(fā)表于 05-10 13:44 ?1399次閱讀
    溫濕度傳感器<b class='flag-5'>SHT30-DIS</b>功耗測評

    SHT11驅(qū)動

    SHT11驅(qū)動
    的頭像 發(fā)表于 07-17 09:28 ?656次閱讀

    SHT3x-DIS溫濕度傳感器數(shù)據(jù)手冊

    SHT3x-DIS是盛思銳的下一代溫度和濕度傳感器。它基于新的CMOSens?傳感器芯片,該芯片是Sensirion新的濕度和溫度平臺的核心。與其前代產(chǎn)品相比,SHT3x-DIS提高了智能性、可靠性
    發(fā)表于 08-31 11:17 ?1次下載

    數(shù)字溫濕度傳感器技術(shù)手冊SHT1x(SHT10SHT11SHT15)

    電子發(fā)燒友網(wǎng)站提供《數(shù)字溫濕度傳感器技術(shù)手冊SHT1x(SHT10SHT11SHT15).zip》資料免費下載
    發(fā)表于 10-09 14:59 ?8次下載
    數(shù)字溫濕度傳感器技術(shù)手冊<b class='flag-5'>SHT1x</b>(<b class='flag-5'>SHT10SHT11SHT</b>15)