高精度温湿度传感器SHT2x的数据采集系统的设计

2014-01-21 10:43 来源:电子信息网 作者:蒲公英

摘要:介绍了基于STC11系列单片机和Sensirion公司新一代高精度温湿度传感器SHT2x的温湿度数据采集系统的设计。SHT2x完全标定,具有精度高、功耗低、稳定度好、体积小和数字输出等特点,非常适合于在便携和移动设备中对温度和湿度进行监控。

引言

新一代Sensirion温湿度传感器SHT2x,采用适于回流焊的双列扁平无引脚DFN无铅封装,底面3 mm×3 mm,高度1.1 mm,具有超小型的体积,特别适合移动测量设备。传感器输出经过标定的数字信号,是标准的 I2C总线格式。SHT2x配有一个全新设计的4C代CMOSens芯片、一个经过改进的电容式湿度传感元件和一个标准的能隙温度传感元件,内置放大器、A/D转换器、OTP内存和数字处理单元,能同时检测温度和湿度。SHT2x的性能和可靠性,特别是在高湿环境下的稳定性,相对于前一代传感器SHT1x和SHT7x有很大提升,而数据传输操作更为简单。每一个传感器都经过校准和测试,在芯片内存储了电子识别码,可以通过输入命令读出这些识别码。此外,SHT2x的分辨率可以通过输入命令进行改变,传感器可以检测到电池低电量状态,有极低功耗的节能模式,具有优异的长期稳定性。SHT2x系列中最高精度的SHT25的相对湿度测量精度达到1.8%,温度测量精度为0.2。

1 接口和通信协议

1.1 芯片引脚、信号和时序说明

SHT2x使用了6引脚封装中的4个引脚,分别是电源VDD、地VSS、双向串行时钟SCL和双向串行数据SDA。SHT2x供电范围为2.1~3.6 V,推荐电压为3.0 V。SCK用于微处理器与SHT1x之间的通信同步。

1


图1 数字输入/输出端的时序图

SDA引脚用于传感器的数据输入和输出。当向传感器发送命令时,SDA在串行时钟SCL的上升沿有效,且当 SCL为高电平时,SDA必须保持稳定。在SCL下降沿之后,SDA值可被改变。为确保通信安全,SDA的有效时间在SCL上升沿之前和下降沿之后应该分别延长至tSU和tHD,数字输入/输出端时序如图1所示。当从传感器读取数据时, SDA在SCL变低以后有效tVD时长,且维持到下一个SCL的下降沿。图1中的缩略语在表1中解释。图1中DATA OUT SDA由传感器控制,DATA IN SDA由MCU控制。SDA有效读取时间由前一个转换的下降沿触发。

表1 I2C总线快速模式数字输入/输出端的时序特性

2


1.2 通信协议

SHT2x采用标准的I2C总线协议进行通信,所有传感器都被设置为相同的7位I2C总线地址1000 000。

1.2.1 传感器的启动与停止时序

上电后,传感器需要15 ms时间以达到空闲状态,即准备接收由主机(MCU)发送的命令,此时SCL为高电平。每个传输序列都以启动传输状态(S)作为开始,并以停止传输状态(P)作为结束。图2是启动传输状态的时序图。

3


图2 启动传输状态时序图

当SCL为高电平时,SDA由高电平转换为低电平。开始状态是由主机控制的一种特殊的总线状态,指示从机传输开始,启动之后,总线处于占线状态。图3是停止传输状态的时序图。

4


图3 停止传输状态时序图

当SCL高电平时, SDA由低电平转换为高电平。停止状态是由主机控制的一种特殊的总线状态,指示从机传输结束,停止之后,总线处于闲置状态。

1.2.2 发送命令和接收数据

在启动传输后,随后传输的首字节包括7位的I2C总线设备地址和一个SDA方向位,读为“1”,写为“0”。在第8个SCL时钟下降沿之后,通过拉低SDA引脚(ACK位),指示传感器数据接收正常。在发出测量命令之后主机必须等待测量完成。基本的命令在表2中进行说明,有两种不同的方式可选——主机模式或非主机模式。

表2 基本命令集

5


MC与传感器之间的通信有两种不同的工作模式:主机模式和非主机模式。在主机模式下,在测量的过程中,SCL线被封锁(由传感器进行控制);在非主机模式下,当传感器在执行测量任务时,SCL线仍然保持开放状态,可进行其他通信。非主机模式允许传感器进行测量时在总线上处理其他I2C总线通信任务。本文只涉及主机模式,其时序如图4所示。

6


图4 主机通信模式时序

在主机模式下测量时,SHT2x将SCL拉低,强制主机进入等待状态。通过释放SCL线,表示传感器内部处理工作结束,进而可以继续数据传送。

图4中灰色部分由SHT2x控制。如果要省略校验和(CRC)传输,可将第45位改为NACK,之后接一个传输停止时序。

由于测量的最大分辨率为14位,第2个字节SDA上的后两位LSB,即第43和44位用来传输相关的状态信息,第43位表示测量的类型,“0”表示测量温度,“1”表示测量湿度,第0位当前没有使用。

在图4中,传感器输出为0110 0011 0101 0010。在进行物理换算时,后两位状态位应置0。

所需最长测量时间取决于测量类型和分辨率,最高分辨率14位的测量时间最大值为85 ms,测量时间的最大值由MCU控制。

1 2 3 4 > 
传感器 单片机 SHT2x

相关阅读

暂无数据

一周热门