微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > SHT15在嵌入式系统中的应用方案

SHT15在嵌入式系统中的应用方案

时间:03-18 来源:互联网 点击:



图3 微控制器与SHT15的硬件连接图

3 软件设计

在程序开始,控制器S3C2440A需要用一组“启动传输”时序,来表示数据传输的初始化。它包括:当SCK时钟高电平时DATA翻转为低电平,紧接着SCK变为低电平的启动,如图4所示,随后是在SCK时钟高电平时DATA翻转为高电平。接着SCK变为低电平,随后又变为高电平,SCK时钟为高电平时,DATA再次翻转为高电平。



图4 启动传输时序

控制器发出启动命令后,接着发出一个后续8为命令码。后续命令包含3个地址位(目前只支持000’)和5个命令位。相应代码对应的命令集如表2所示。

表2 SHT15命令集



  SHT15接收到上述地址和命令码后,在第8个时钟下降沿,将DATA下拉为低电平作为从机的ACK;在第9个时钟下降沿之后,从机释放DATA(恢复高电平)总线;释放总线后,从机开始测量当前湿度,测量结束后,再次将DATA总线拉为低电平;主机检测到DATA总线被拉低后,得知湿度测量已经结束,给出SCK时钟信号;从机在第8个时钟下降沿,先输出高字节数据;在第9个时钟下降沿,主机将DATA总线拉低作为ACK信号。然后释放总线DATA;在随后8个SCK周期下降沿,从机发出低字节数据;接下来的SCK下降沿,主机再次将DATA总线拉低作为接收数据的ACK信号;最后8个SCK下降沿从机发出CRC校验数据,主机不予应答(NACK)则表示测量结束。

本设计中微处理器为三星公司的S3C2440A,通过对I/O寄存器编程来模拟通信过程。该处理器的I/O口可根据需要设置成输入、输出,高阻等状态。在软件实现过程中通过子函数来实现I/O口状态的改变。



  以上函数可以实现SCK和DATA总线的各种输入与输出状态。在SHT15的通信中还需要延时函数,设计时采用函数void DelaylIn8(U32 tt)实现软延时。这样就能完成对SHT15通信协议的模拟。



  4 温湿度及露点的计算

4.1 相对湿度

SHT15可通过I2C总线直接输出数字量湿度值,其相对湿度系数输出特性曲线如图5所示。



图5 从SORH转换为相对湿度

由图5可知,SHT15的输出特性呈一定的非线性,为了补偿湿度传感器非线性以获取准确数据,采用式(1)来修正输出数值。



  其中C1,C2,C3的值如表3所示,SHT15的相对湿度输出值(SORH)为12 bit。

表3 温度线性补偿系数



  4.2 温度计算及相对湿度的温度补偿

该温湿度传感器具有很好的线性,可用式(2)将数字输出转换为温度值。温度转换系数如表4所示。

表4 温度转换系数



 实际测量时利用式(3)修正温度系数。温度补偿系数如表5所示。
表5 温度补偿系数


4.3 露点计算

露点是一个特殊的温度值,是空气保持某一定湿度必须达到的最低温度。当空气的温度低于露点时,空气容纳不了过多的水份,这些水份会变成雾、露水或霜。露点可以根据当前相对湿度值和温度值计算得出,具体的计算公式如下:


式中,T为当前温度值,SORH为相对湿度值,Dp为露点。

5 实验结果

采用测氡仪对室内氡浓度进行测量,同时测量温湿度,为了保证测量的准确性,在不同地方对大气中进行了测量,同时测量测试为20次,求平均值计算,测量结果如表6所示。

表6 氡浓度及温湿度测量值


  6 结束语

本文提出了数字式温湿度传感器SHT15在嵌入式系统中的应用方案,并详细介绍了测氡仪温湿度测控模块的设计过程。由于SHT15集成了14位A/D转换器,采用数字输出,具有精度高、体积小、抗干扰性强等优点。作为测氡仪温湿度的监控系统,能够满足系统设计的要求。该设计也为其在其他监控设备中的应用提供参考作用。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top