本设计采用SHT11温湿度传感器芯片和一款集成了ADC的环境光传感器MAX9635,实现温、湿度及光照三合一传感器设计。旨在为了解决在对环境温度、湿度和光照度进行测量时,大多使用热敏电阻、湿敏电容和光敏器件来分别测量温度、湿度和光照度。这种测量方法一般要设计相应的信号调理电路,还要经过复杂的标定过程,测量精度难以保证。当对两个以上的参数进行监测时,每一个测量点都必须使用独立传感器和独立的信号调理电路,这不仅使得测量系统的成本和体积大幅提高,也在一定程度上增加了系统设计的复杂性。
1 三合一传感器简介
该传感器集环境温、湿度和光照度传感器于一体,使测量系统的成本和体积大为降低,减少了系统设计的复杂性。
1.1 温湿度测量
环境温度、湿度测量采用SHT11数字温湿度传感器芯片。其主要特点有:(1)高度集成。(2)提供二线数字串行接口,接口简单。(3)测量精度可编程调节。(4)测量精确度高,可以提供温度补偿的湿度测量值和高质量的露点计算。(5)测量和通信结束后,自动转入低功耗模式。(6)高可靠性,自校准。
SHT11将温度、湿度感测、A/D转换和加热器等功能集成到一个芯片上,该芯片分别将湿度和温度转换成电信号,经14位A/D转换后;由二线串行数字接口输出数字信号。在测量过程中,校准系数会自动校准来自传感器的信号。
由于将传感器与电路部分结合在一起,因此,该传感器具有比其他类型湿度传感器优越得多的性能。首先是传感器信号强度的增加增强了传感器的抗干扰性能,保证了传感器的长期稳定性。传感器可直接通过I2C总线与任何类型的微处理器、微控制器系统连接,从而减少了接口电路的硬件成本,简化了接口方式。
1.2 光照度测量
环境光传感器采用集成了光电二极管和ADC,且提供I2C数字接口的光传感器MAX9635。传感器IC具有超低电流损耗(典型值为0.65μA)和极宽的光动态范围为0.045~188 000 lx。片内自动量程调整机制无需用户干涉增益范围的设置。
2 温湿度传感器工作时序
SHT11的I2C通讯数据格式与普通格式不兼容。
(1)传输开始。在SCK为高时使SDA由高电平变为低电平,并在下一个SCK为高时将SDA升高,如图1所示。
(2)地址与测试对象命令。该命令包含3个地址位和5个命令位,其后为应答ACK位,表示SHT11正确收到命令。传感器命令列表,如表2所示。
(3)温湿度测量时序。当发出了温/湿度测量命令后,控制器就要等到测量完成(使用8/12/14位的分辨率测量分别需要大约11/55/210 ms)。当测量完成后,SHT11将数据线拉低,然后传送2 Byte的测量数据与1 Byte CRC校验和。通讯在确认CRC数据位后停止。如果没有用CRC校验和,则控制器就会在测量数据LSB后保持ACK为高来停止通讯,测量和通讯完成后会自动返回睡眠模式。测量温度和湿度命令所对应的时序见SHT11说明书。
(4)温湿度寄存器配置。温湿度传感器中一些高级功能是通过状态寄存器实现的。寄存器中各位的类型及说明详见SHT11使用说明书。
3 光传感器I2C通讯格式
Start和Stop条件:主机通过发送Start条件启动通信,Start、Repeated Start条件如图2所示,Stop条件如图3所示。
从地址:写操作从地址0x94,读操作0x95。
应答:写操作模式下,应答位(ACK)是第9个时钟位,是传感器IC对其接收的每个数据字节的握手信号,如图4所示。如果成功接收主机发送确认,若数据传输失败,总线主机会重试通信。每次读取字节后,主机均发送应答信号,使数据继续传输。当主机从传感器IC读取数据的最后Byte时,发送非应答,随后是Stop。
写数据格式:图4所示为向传感器IC写入1个字节数据时的正确帧格式。
读数据格式:图5所示为读1 Byte数据时的正确帧格式。
寄存器定义:0x00和0x01中断状态与中断使能;0x02功能配置;0x03和0x04存放流明读数;0x05和0x06中设置流明上限和流明下限;0x07中设置适当的门限定时器数据。
自动量程调整模式:自动模式配置下,自动量程调整电路采用两种方法改变其灵敏度。光照超过700 lx时,分流器通过除以系数8来降低光电二极管的电流。默认设置下,分流比为1,电流直接送入A/D转换器。当光强降低时,自动量程调整电路将积分时间从100 ms提高到200 ms、400 ms或800 ms。分流器和不同积分时间相组合,可使A/D转换范围比其16位标称范围提高8倍,或降低8倍。从而获得22位或略高于4 000 000:1的动态范围。
流明读数的数据格式:传感器IC提供用户易于接收的数字输出格式。它由4位指数和随后的8位尾数组成。在最高灵敏度模式下,1个计数值表示0.045 lx。尾数最大值为255,指数最大值为14。所以,最大量程为255&TImes;214=4 177 920。在此模式下,最大读数为188 000 lx,大于该值的任何读数均被认为是过载。
门限寄存器数据格式:传感器IC中断电路要求按照特定格式给出上限和下限,以便正确解析数据。寄存器0x05和0x06中的上限和下限数值必须与高字节流明格式相匹配,由4位指数和尾数的4个最高有效位组成。