TSic系列高精度温度传感器的应用
2012-09-25朱艳丽陈拓
朱艳丽,陈拓
(中国科学院 西安网络中心,西安 710043)
引 言
TSic是IST(Innovative Sensor Technology)公司单总线温度传感器IC的注册商标。TSic产品系列由集成芯片和已校准的温度传感器组成,内部集成了用于模拟或数字信号输出的信号转换器。Tsic系列的测量精度为±0.5~±0.07℃,是目前精度极高的数字温度传感器IC,优于DIN Y(1/3DIN B)铂传感器的精度。信号分辨率为0.1~0.004℃。Tsic不仅有出色的精度,而且具有长期稳定性。IST公司还提供TSic的精度范围偏移定制校准服务。
TSic系列有标准0~1V模拟电压输出、比例10%~90%V+电压输出和11位数字信号输出3种方式,用户可根据自己的需求选择适用的型号。TSic的低功耗(典型值为30μA)使其非常适合移动应用。TSic还有无需校准、转换速度快(100ms)和易使用等优点。
1 计算公式和通信协议
1.1 TSic输出信号的计算公式
◆数字输出:T=(Digital_signal/2047×(HT-LT)+LT)℃
◆模拟输出信号:T=(Sig[Volt]×(HT-LT)+LT)℃
◆比例输出信号:T=((Sig[V]/VDD[V]-0.1)/0.8×(HT-LT)+LT)℃
不同的型号有不同的LT和HT,例如精度±0.1℃的TSic 50x,其LT=-10,HT=60。
1.2 用于TSic的ZACwire通信协议
ZACwire是一种单线双向通信协议。位编码类似于时钟信号嵌入数据信号中的曼彻斯特编码(信号的下降沿以固定周期产生)。这样协议对两个IC之间通信时波特率的差异就很不敏感。
在终端用户应用中,TSic传送温度信息,另一个IC(通常是MCU)通过ZACwire读温度数据。
TSic发送长度为1字节的数据包。这些包由1个起始位、8个数据位和一个奇偶校验位组成。常用的波特率是8kbps(125μs位宽)。信号的常态是高电平。当传输开始,起始信号发生,紧接着是数据位(先高后低),包的结尾是偶校验位。ZACwire数据包如图1所示。
图1 ZACwire数据包
TSic提供11位分辨率的温度数据,11位数据不能在单个包中传递。一个来自TSic的完整温度数据包由2个包组成。第1个包包含高3位温度信息,第2个包包含低8位温度信息。在第1个传输包的末端和第2个传输包的开始之间有一个宽度为二分之一信号位宽的高信号,即停止位。来自TSic的全ZACwire温度数据包如图2所示。
图2 来自TSic的全ZACwire温度数据包
ZACwire的位格式是占空比编码。起始位:50%占空比,用于设置闸门时间。逻辑1:75%占空比。逻辑0:25%占空比。停止位:信号高电平,持续半位宽度时间。在包中的字节之间有一个半停止位时间。ZACwire位编码时序如图3所示。
图3 ZACwire位编码时序
2 硬件设计
图4是某个应用中与TSic相关部分的电路图。
图中温度传感器U2的图标借用了晶体管的图标,该设计兼容DS18B20和TSic,如果使用TSic则不接R2。引脚2是数据线,引脚3是传感器的电源。
传感器的电源没有直接接到VCC,原因如下:MCU可以用中断方式或查询方式读TSic的数据。当连接ZACwire信号到MCU的引脚时,能够在起始位的下降沿引发一个中断,使MCU转向中断服务程序ISR。当使用查询方式时,MCU必须发起读温度操作,这可以用MCU的一个引脚提供电源到TSic来实现。当MCU要读温度时,该引脚首先给TSic供电,大约65~85ms后它将收到一个温度数据包。这种开关TSic的方法有额外的好处,就像掉电模式,可以将静态电流从通常的45μA减小到0。
TSic是一种混合信号IC,需要低噪声供电。通过MCU的引脚供电易受MCU电源的数字噪声的影响,因此要在MCU的供电引脚加一个RC滤波器,即图4中的R1和C,C尽可能接近TSic V+和地。
在装配时要特别注意安装工艺会影响精度。SOP-8封装适用于PCB自动组装,但是回流焊工艺会影响已校准的精度。为了用这种封装实现高精度,IST公司提供组装后的校准。在小批量应用中应选用TO92封装,使用冷连接工艺安装。TO92封装还可以装在不锈钢探头中。
为TSic提供电源的MCU引脚要由一个强CMOS推挽驱动器来驱动,图4中用P3.5为 TSic供电。STC11L16XE是可以选择端口工作模式的,可以将P3.5配置为强推挽输出模式。经实验ZACwire线用普通的8051端口就可以。
3 软件设计
3.1 怎样读包
测量起始位下降沿和上升沿之间的时间,该时间(Tstrobe)就是选通时间,其宽度为位宽度(bit window)的一半。再等待一个Tstrobe的时间,即在下一个下降沿,开始采样ZACwire信号。因为每个位都以一个下降沿开始,所以每个位的采样窗口都会复位。这意味着从起始位开始的比特流将不会发生误差。
建议当捕获起始位时,ZACwire信号的采样率至少为正常波特率的16倍。因为正常波特率是8kHz,当捕获Tstrobe时要求最小128kHz的采样速率。
图4 TSic应用电路图
当起始位的下降沿产生时,它引发MCU进入一个计数循环,递增一个内存位置,直到看见ZACwire信号的上升沿,该计数值就是Tstrobe。在获得Tstrobe后,MCU就可以简单地等待下面9个下降沿(8个用于数据,1个用于奇偶校验)。在每个下降沿之后,MCU等待Tstrobe期满,然后采样下一个位。
下面给出一个TSic 506的应用例子,使用其他型号的传感器时测量范围和计算公式需要调整。
3.2 8051C语言代码
代码使用查询方式读TSic数据。代码中对于选通时间并没有进行精确测量,而是用延时函数估计。延时函数delay_10us是用逻辑分析仪对STC11L16XE标定的,使用其他MCU需要重新标定。极高的性价比,在需要高精度测温的场合具有良好的应用前景。
结 语
Tsic温度传感器与其他单总线温度传感器相比,具有精度高、测量范围宽、同等分辨率下转换速度快、操作简单、支持模拟输出等优点。Tsic与铂传感器相比,在校准范围内精度可以更高。TSic系列温度传感器IC具有
[1]IST.TSic 506F/503F/501Fhigh precision,longterm stable temperature sensor IC IST AG[OL].[2011-10].http://www.ist-ag.com.
[2]IST.TSic Temperature Sensor IC Technical Notes-ZACwire Digital Output Tech Notes-ZACwire Digital Output,Rev.2.3 [OL].(2006-10-17)[2011-10].http://www.ist-ag.com.