引脚接口定义:
传感器通讯:
1、启动传感器
第一步,将传感器上电,电压为所选择的VDD电源电压 (范围介于2.1 V与3.6 V之间)。上电后,传感器最多需要15毫秒时间(此时SCL为高电平)以达到空闲状态,即做好准备接收由主机(MCU)发送的命令。启动时的最大电流消耗为350µA。
2、启动/停止时序
每个传输序列都以 Start 状态作为开始并以Stop 状态作为结束。
如图:启动传输状态(S)-当 SCL 为高电平时,SDA 由高电平转换为低电平。开始状态是由主机控制的一种特殊的总线状态,指示从机传输开始(Start 之后,BUS 总线一般被认为处于占线状态)。
如图:停止传输状态(P)-当 SCL 高电平时, SDA 线上从低电平转换为高电平。停止状态是由主机控制的一种特殊的总线状态,指示从机传输结束(Stop 之后,BUS 总线一般被认为处于闲置状态)
####3、 发送命令
在启动传输后,随后传输的 I2C 首字节包括 7 位的I2C 设备地址(B-范例地址‘1000’000’)和一个 SDA方向位(读 R: ‘1’,写 W: ‘0’)。在第 8 个 SCL时钟下降沿之后,通过拉低 SDA 引脚(ACK 位),指示传感器数据接收正常。在发出测量命令之后( ‘1110’0011’代表温度测量,
‘1110’0101’代表相对湿度测量), MCU 必须等待测量完成。
基本的命令在下表中进行概述。有两种不同的方式可选,主机模式或非主机模式。
4、主机/非主机模式
MCU 与传感器之间的通讯有两种不同的工作方式:主机模式或非主机模式。在第一种情况下,在测量的过程中, SCL 线被封锁(由传感器进行控制),在第二种情况下,当传感器在执行测量任务时,SCL 线仍然保持开放状态,可进行其他通讯。非主机模式允许传感器进行测量时在总线上处理其他 I2C 总线通讯任务。
主机模式
在主机模式下测量时,SHT2x 将 SCL 拉低强制主机进入等待状态。通过释放 SCL 线,表示传感器内部处理工作结束,进而可以继续数据传送。
主机通信模式时序-灰色部分由 SHT2x 控制。如果要省略校验和(CRC)传输,可将第 45 位改为 NACK,后接一个传输停止时序(P)
在非主机模式下,MCU 需要对传感器状态进行查询。此过程通过发送一个启动传输时序,之后紧接着是如上图(停止传输状态图)所示的 I2C 首字节(1000’0001)来完成。如果内部处理工作完成,单片机查询到传感器发出的确认信号后,相关数据就可以通过 MCU 进行读取。如果测量处理工作没有完成,传感器无确认位(ACK)输出,此时必须重新发送启动传输时序。
无论哪种传输模式,由于测量的最大分辨率为 14位,第二个字节 SDA 上的后两位 LSBs(bit43 和bit44)用来传输相关的状态信息。两个 LSBs 中的 bit1表明测量的类型(’0’温度; ‘1’:湿度)。bit0 位当前没有赋值