当前位置:首页 > 嵌入式 > 嵌入式分享
[导读]SHT11是Sensirion公司推出的数字式温湿度传感器,采用CMOSens™技术将温湿度传感、信号放大、A/D转换、校准数据存储及I²C类串行接口集成于单芯片。与标准I²C协议不同,SHT11的接口为“类似I²C”的二线制时序,需使用通用I/O口通过位操作实现专用驱动。这种设计在提升接口灵活性的同时,对软件开发者的时序控制能力提出了明确要求。

SHT11是Sensirion公司推出的数字式温湿度传感器,采用CMOSens™技术将温湿度传感、信号放大、A/D转换、校准数据存储及I²C类串行接口集成于单芯片。与标准I²C协议不同,SHT11的接口为“类似I²C”的二线制时序,需使用通用I/O口通过位操作实现专用驱动。这种设计在提升接口灵活性的同时,对软件开发者的时序控制能力提出了明确要求。

接口时序协议与命令集

SHT11的通信协议围绕5条用户命令构建,包括测量温度(0x03)、测量湿度(0x05)、读状态寄存器(0x07)、写状态寄存器(0x06)和软启动复位(0x1E)。所有通信操作均以“传输开始”命令作为起始——SCK为高时使DATA由高电平变为低电平,在下一个SCK高电平周期将DATA拉高,后续命令由3位地址位(固定为“000”)和5位命令位组成。

温度测量命令需约210ms完成(14位精度),湿度测量命令同样需约210ms。测量过程中SCK需维持高电平,SHT11完成测量后通过将DATA拉低通知控制器,此时MCU需重新启动SCK并连续读取两字节测量数据与一字节CRC-8校验和。数据从MSB至LSB依次传输,每字节后需发送应答位(ACK)以确认接收状态。若无需CRC校验,可在测量数据LSB后保持ACK为高直接终止通信,SHT11随后自动返回休眠模式。

CRC校验的工程实现

CRC校验是SHT11抗干扰机制的核心,用于检测通信过程中的位翻转或噪声干扰。官方应用笔记提供了CRC-8计算方法和查找表实现方案。CRC校验覆盖两字节测量数据,计算结果需与传感器输出的第三字节进行比对,一致则数据有效,否则需重试或触发错误处理。

// SHT11 CRC-8校验查找表实现(参考开源实现)

static const uint8_t crcTab[] = {

0, 49, 98, 83, 196, 245, 166, 151, 185, 136, 219, 234, 125, 76, 31, 46,

67, 114, 33, 16, 135, 182, 229, 212, 250, 203, 152, 169, 62, 15, 92, 109,

// ... 完整256字节表

};

uint8_t sht11_crc(uint8_t *data, uint8_t len) {

uint8_t crc = 0;

for (uint8_t i = 0; i < len; i++) {

crc = crcTab[crc ^ data[i]];

}

return crc;

}

在中断驱动的系统中,CRC计算建议在完成字节接收后立即执行,若校验失败则触发重读请求而非继续向上层传递错误数据。

## 抗干扰的时序策略

SHT11的时序设计遵循特定的抗干扰机制。当通信中断或总线被意外占用时,可通过“连接复位顺序”恢复:保持DATA线为高电平,触发SCK 9次以上,随后发送“传输开始”命令。这一复位序列不依赖电源重启,可在运行期间快速恢复通信。

上拉电阻的选择同样影响抗干扰能力。SHT11的DATA线为开漏输出,需外接10kΩ上拉电阻至VDD。在强电磁干扰环境中,可适当减小上拉电阻至4.7kΩ以增强驱动能力、缩短上升时间,但需注意过小的电阻会增加功耗并拉低高电平电压。

在软件层面,时序延迟的精度直接影响通信成功率。在12/14位精度测量模式下,测量完成时间分别为55ms/210ms,轮询方式需在等待期间允许其他任务运行以提升系统吞吐。对于长线或高噪声环境,可在每次位操作后加入微秒级空操作延迟(NOP),补偿线缆分布电容对信号边沿的影响。

应用实现与数据转换

测量数据需经校准公式转换为物理量。温度转换公式为:T = d1 + d2 × SOt,其中d1 = -40℃(14位分辨率),d2 = 0.01℃/bit;相对湿度转换需结合温度补偿:RH_linear = c1 + c2 × SOrh + c3 × SOrh²,再根据温度进行修正。露点值则可通过相对湿度与温度值经经验公式计算得出。

结语

SHT11的I²C类接口时序设计需在命令协议、CRC校验和复位机制三个层面建立完善的工程实现。基于I/O位操作的驱动需精确控制启动条件、命令发送和数据读取的时序窗口,CRC-8校验提供数据完整性保障,连接复位顺序则在通信异常时提供非电源重启的恢复手段。理解并实现这三重机制,是确保SHT11单片机系统中可靠工作的基础。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
关闭