APP下载

温湿度传感器SHT15及其在嵌入式系统中的应用

2011-03-14王冬霞张玉辉洪耀球

电子设计工程 2011年2期
关键词:露点低电平高电平

王冬霞,张玉辉,洪耀球

(景德镇高等专科学校 江西 景德镇 333000)

氡及其子体的测量是一个涵盖智能仪器、核辐射探测、核技术应用、环境评价、工业计量、工业自动化、计算机通信与软件等多领域的问题。然而氡及其子体浓度受温湿度的影响很大[1,4],因此温湿度的测量对于测氡仪来说是非常重要的。传统的模拟式温湿度传感器一般都要涉及信号调理电路并需要经过复杂的校准和标定过程,所以测量精度难以保证[1]。由某公司生产的SHT15单芯片传感器,是一款含有已校准数字信号输出的温湿度复合传感器,应用专利的工业COMS过程微加工技术(CMOSens),确保产品具有极高的可靠性与卓越的长期稳定性。传感器包括1个电容式聚合体测湿元件和1个能隙式测温元件,并与1个14位的A/D转换器以及串行接口电路在同一芯片上实现无缝连接。因此,该产品具有品质卓越、超快响应、抗干扰能力强、性价比高等优点[5]。系统采用S3C2440A作为微控制器,S3C2440A采用ARM920T内核,提供了一套完整的通用系统外设,有130个多功能输入/输出端口[3,6],所以在设计时直接利用S3C2440A的通用 I/O口来模拟通信时序控制SHT15,整个电路设计简单。

1 SHT15简介

1.1 SHT15性能特点

SHTl5是瑞士Sensirion公司推出的一款数字温湿度传感器芯片。该芯片广泛应用于暖通空调、汽车、消费电子、自动控制等领域。其主要特点如下:

1)将温湿度感测、信号变换、A/D转换和I2C总线接口等功能集成到一个芯片上;

2)提供两线数字串行接口SCK和DATA,并支持CRC传输校验;

3)测量精度可编程调节,内置A/D转换器;

4)提供温度补偿和湿度测量值以及高质量的露点计算功能;

5)由于采用了CMOSensTM技术,可浸入水中进行测量。

1.2 SHT15性能参数

SHT15的性能参数如下:

1) 湿度测量范围:0~100%RH;2) 温度测量范围:-40~+123.8℃;3)湿度测量精度:±2.0%RH;4)温度测量精度:±0.3 ℃;5)响应时间:8 s(tau63%);6)可完全浸没。

由于该款温湿度传感器具有高精度,并能浸入水中测量等特点,而所设计的测氡仪要求具有测量土壤、大气,水中氡浓度的功能,因此采用该款温湿度传感器完全满足要求。

1.3 SHT15内部结构及工作原理

数字式温湿度传感器SHT15是8引脚SMD(LCC)表面贴片封装形式[5],如图1所示。其中引脚1接地,引脚4接电源,工作电压为2.4~5.5 VDC,为了达到传感器的最高精确度,供电电压为3.3 V为宜。引脚2为数据线,引脚3为时钟线,引脚5~8为空管脚。

图1 SHT15引脚图Fig.1 Pin map of SHT15

数字式温湿度传感器SHT15将温度感测、湿度感测、信号变换、A/D转换和加热器等功能集成到一个芯片上,其内部结构如图2所示。

图2 SHT15内部结构图Fig.2 Internal structural of SHT15

该芯片包括1个电容性聚合体湿度敏感元件和1个用能隙材料制成的温度敏感元件。这两个敏感元件分别将湿度和温度转换成电信号,该电信号首先进入微弱信号放大器进行放大,然后进入1个14位的A/D转换器,最后经过二线串行数字接口输出数字信号。SHT15在出厂前,都会在恒湿或恒温环境中进行校准,校准系数存储在校准寄存器中,在测量过程中,校准系数会自动校准来自传感器的信号。此外,SHT15内部还集成了1个加热元件,加热元件接通后可以将SHT15的温度升高5℃左右,同时功耗也会有所增加。此功能主要是为了比较加热前后的温度和湿度值,可以综合验证两个传感器元件的性能。在高湿(>95%RH)环境中,加热传感器可预防传感器结露,同时缩短响应时间,提高精度。加热后SHT15温度升高、相对湿度降低,较加热前,测量值会略有差异。

2 硬件设计

微处理器可通过二线串行数字接口与SHT15进行通信,由于其通信协议与通用的I2C总线协议不兼容[2],所以在设计时直接利用S3C2440A的通用I/O口来模拟通信时序控制SHT15。 S3C2440A 有 130个通用 I/O 口[3,6],共分为 9 组(GPAGPJ),其中GPG包括16路I/O口。S3C2440A引脚采用289-FBGA封装,GPG9及GPG10对应引脚功能图如表1所示。

表1 S3C2440A 289引脚FBGA的管脚分配表(部分)Tab.1 S3C2440A 289-pin FBGA pin assignments(Part)

设计中利用S3C2440A的GPG9模拟时钟信号,GPG10来模拟数据信号(数据线需要外接上拉电阻),硬件连接图如图3所示。

图3 微控制器与SHT15的硬件连接图Fig.3 Hardware circuit connection diagram of micro-process and SHT15

3 软件设计

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

图4 启动传输时序Fig.4 Sequence of transmission start

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

表2 SHT15命令集Tab.2 Command set of 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口状态的改变。

//设置时钟为输入

void SHT_SCK_In(){

rGPGCON=rGPGCON & (~(0X1 <<18)) & (~(0X1<<19));

}

//设置时钟为输出

void SHT_SCK_Out(){

rGPGCON=rGPGCON& (~(0x1<<19)) |(0x1<<18);

}

//设置数据信号为输入

void SHT_DATA_In() {

rGPGCON=rGPGCON & (~(0X1 <<20)) & (~(0X1<<21));

}

//设置数据信号为输出

void SHT_DATA_Out(){

rGPGCON=rGPGCON& (~(0x1<<21)) |(0x1<<20);

}

//DATA为低电平

void SHT_DATA_CLR(){

rGPGCON=rGPGCON& (~(0x1<<21)) |(0x1<<20);

rGPGDAT=rGPGDAT& (~(0X1<<10));

}

//DATA为高电平

void SHT_DATA_SET() {

rGPGCON=rGPGCON& (~(0x1<<21)) |(0x1<<20);

rGPGDAT=rGPGDAT |(0X1<<10);

}

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

Void Delay1ms(U32 tt) {

U32 i;

for(;tt>0;tt--) {

for(i=0;i<26000;i++){}

}

}

4 温湿度及露点的计算

4.1 相对湿度

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

图5 从SORH转换为相对湿度图Fig.5 Conversion from SORHto relative humidity

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

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

表3 湿度线性补偿系数Tab.3 Humidity conversion coefficients

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

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

表4 温度转换系数Tab.4 Temperature conversion coefficients

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

表5 温度补偿系数Tab.5 Temperature compensation coefficients

4.3 露点计算

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

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

5 实验结果

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

表6 氡浓度及温湿度测量值Tab.6 The measurements of radon concentration,temperature and humidity

6 结束语

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

[1] 吴越,方方,周伟,等.基于SHT75的氡室温湿度测控系统[J].核电子学与探测技术,2008,28(4):783-785.WU Yue,FANG Fang,ZHOU Wei,et al.The temperature&humidity measurement and control system for radon chamber based on SHT75 [J].Nuclear Electronics&Detection Technology,2008,28(4):783-785.

[2] 李国柱.利用温湿度传感器SHTxx实现湿度测量[J].西安文理学院学报:自然科学版,2008,11(01):101-104.LI Guo-zhu.Measurement of humidity by using temperature and humidity sensor SHTxx[J].Journal of Xi’an University of Arts&Science:Natural Science Editon,2008,11 (01):101-104.

[3] 熊茂华,杨震伦.ARM9嵌入式系统设计与开发应用[M].北京:清华大学出版社,2008.

[4] 朱景良.氡气测量和测氡仪器的标定技术研究[D].成都:成都理工大学,2004.

[5] The SENSIRION Company.SHT1X/SHT7X Humidity&Temperature Sensor[EB/OL].[2007-08-15].http://www.sensirion.com/en/pdf/Datasheet_SHT1x_SHT7x.pdf

[6] SUMSUNG Electronics.S3C2440A USER’S MANUAL[EB/OL].[2004-03-15].http://www.samsung.com/global/business/semiconductor/index.html.

猜你喜欢

露点低电平高电平
一种基于FPGA的PWM防错输出控制电路
铁道车辆高/低电平信号智能发生器设计
煤层气集输系统中仪表风水露点问题分析与探索
TS-03C全固态PDM中波发射机开关机控制电路原理及故障分析
2017款凯迪拉克2.8L/3.0L/3.2L/3.6L车型低电平参考电压总线电路图
浅谈物理电路与数字电路
PDM 1kW中波广播发射机保护电路分析
水露点水含量的换算关系简要分析
15-MeV电子直线加速器的低电平系统
新闻报道要当心露点走光