SHT30使用的学习过程1SHT30工作模式介绍

转自:https://blog.csdn.net/qq_14823403/article/details/81285777

SHT30使用的学习过程1SHT30工作模式介绍 
本人是新人小白,欢迎各位大佬指正,本文介绍的是SHT30两种工作模式【手动比心 by zwx lvmm】 
看到网上对于sht30的博客很少,我也是刚刚学习使用这个传感器的小白,想把自己学习的经历详细写在这,希望大家一起学习和进步。 
Datasheet中的相关内容【使用芯片我觉得还是先啃datasheet比较好】: 
首先要弄清楚每个引脚是什么:

引脚功能
1 SDAI2C数据线,要接10k上拉电阻
2 ADDR(不可悬空)用于选择I2C的地址,当两个或两个以上的sht30接入同一个总线的时候才会使用。一般接地,地址是0x44,若接高电平 则地址是0x45(注意开启信号的时候,发送的8位数据是前七位是地址,就是0x44的后7位 100 0100,后面加一个0表示写,所以开启信号是 1000 1000 既0x88)
3 ALERT(如果不用这个引脚,可以悬空)用来检测如果所测量的数据和写入的最大温湿度值,如果超出了就会有输出的变化(没在官方的datasheet上看到具体的电平变化)
4 SCLI2C时钟线,要接10k上拉电阻
5 VDD电源正极,2.4-5.5v,必须要接入一个100nf的去耦电容(尽可能的和器件靠的很近)
6 nRESET(不使用的话建议悬空)用来让传感器reset,最低有效脉冲是1us
7 R没有电器意义的引脚,必须和VSS连接
8 VSS电源负极(GND)
9 die port就是背面那个大焊盘,这个官方数据手册里面强制要求接VSS,考虑手动焊接不好接地,在pcb设计的时候,封装这里要加过孔,焊接的时候在过孔中加焊锡(不知道这么做可以不可以,有懂得大佬指点一下)

芯片的使用和通信: 
所有的指令和数据都对应一个16位的地址空间,并且所有的数据和命令都有CRC校验保护。命令字是3bit的CRC校验,数据是8bit的CRC校验。写模式下强制要求数据或者命令带有CRC校验,否则不会接收数据。读模式下,CRC校验留给主机进行。 
工作在单射模式(Single Shot Mode)流程:

首先是写操作,写入一个16bit的命令。

I2C开始信号->7位I2C地址+0(写操作标志位)(前面介绍了,如果ADDR接低电平,那么这里就是0x88,如果接高电平就是0x8a)->命令MSB->命令LSB(这里的16位数据0x2C06是默认的操作,表示的意思是高速测量开启时钟拉伸)-> I2C停止信号。

接下来是读操作,读取返回的数值。

I2C开始信号->7位I2C地址+1(写操作标志位)(ADDR接低电平0x89,ADDR接高电平0x8b下以接低电平为例)->拉低时钟线->16位温度数据+8位CRC校验+16位湿度数据+8位CRC校验-> I2C停止信号

工作在周期获取模式(Periodic Data Acquisition Mode)下:

时钟拉伸在这个模式下禁用,分为高中低可重复性测量,测量周期为0.5、1、2、4、10(单位 次/秒)(这种模式下最快的测量速度是1秒10次)如果传感器在一种工作模式下正在测量数据,此时要发送命令其他命令,推荐先发送一次中断命令(详见下文中断命令),让传感器停止当前的测量,进入单射模式,然后再发送命令。具体的命令详见datasheet。

流程: 
2C开始信号->7位I2C地址+0(写操作标志位)(前面介绍了,如果ADDR接低电平,那么这里就是0x88,如果接高电平就是0x8a)->命令MSB->命令LSB(eg 0x2130 高可重复性,1秒测量一次)-> I2C停止信号。

工作在这个模式下的读取数据,随时可以进行测量,需要发送一个读取命令(0xE000) 
一旦读取时序结束之后,寄存器中的数值就会清零,如果这时再一次读取数据将得到0。下一次测量结束后,寄存器的值就会重新写入。

流程: 
2C开始信号->7位I2C地址+0(写操作标志位)(前面介绍了,如果ADDR接低电平,那么这里就是0x88,如果接高电平就是0x8a)->命令MSB->命令LSB(0xE000)-> I2C停止信号-> I2C开始信号->7位I2C地址+1(写操作标志位)(0x89)->拉低时钟线->16位温度数据+8位CRC校验+16位湿度数据+8位CRC校验-> I2C停止信号

中断命令(停止周期数据测量模式): 
发送命令0x3093,用于打断当前的周期数据获取模式来发送其他命令(除获取数据命令0xE000)一旦这个命令发出之后,当结束当前数据测量后就会进入单射模式,最多15ms(依据所选的哪种可重复性决定)

下一期会写自己写的代码,不过目前只是啃完了datasheet,板子还没画,买到的封装没办法直接测试,所以代码篇要等一周左右了

  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值