摘要:设计了一种基于DS1922E的高温测量管理系统。通过对系统整体架构的分析和设计,阐述了主机与DS1922E间通过1-Wire总线获取DS1922E的序列码并且对其设置完全访问密码、准备和启动一个温度采集任务、主机停止任务及读取DS1922E采集记录的数据的通信过程,并给出及分析测试结果。DS1922E高温纽扣温度记录器可以在高温、潮湿等恶劣环境下可靠工作,应用前景良好。
0 引言
在日常生活中,经常需要在超过100 ℃的高温、蒸汽量大的恶劣环境下(如制药系统)进行温度的采集、管理及监控,而传统的纸质温度记录器和已开发出的一些温度测量模块很难能在这种恶劣的环境中可靠地完成温度的采集,而且它们的使用寿命都比较短。为此本文提出了一种基于DS1922E高温纽扣温度记录器的高温测量管理系统的设计。
该系统适合的温度测量范围较宽,能够解决一些特殊环境下进行高温测量的难题,且该系统对温度采集数据的读取简单、可靠。
1 高温记录管理系统架构
系统整体架构设计如图1所示。
1.1 DS1922E高温纽扣温度记录器
DS1922E高温纽扣温度记录器是具有惟一的64位注册号的坚固耐用系统,能够根据用户自定义的等间隔采样速率(从1 s~273 h)、以8位(0.5 ℃)或11位(0.062 5 ℃)的测量分辨率在15~140 ℃的温度范围内进行温度的测量并将测量结果自动记录在内部8KB的数据记录存储器中,数据的记录格式有8 位和16 位两种,15~110 ℃范围内测温的典型值为±7 ℃,110~140 ℃测温的典型值为±1.5 ℃,可通过密码访问存储器和控制功能,启动一个数据采集任务可有三种选择(立即开始、一个温度报警开始、用户定义的延时开始),该iButton 温度记录器可通过串行1-Wire 协议实现与主机的通信。
在本设计中,在将DS1922E高温纽扣温度记录器放入恶劣环境中进行高温测量时,选用具有较好的阻燃性及抗化学性能的DS1907作为iButton温度记录器的防护罩[1].同时为了通过测量容器内更多点处的温度从而更好地实现对容器的温度监控,选2 个DS1922E 高温纽扣温度记录器分布在容器的边缘处、选1个放在容器的中央,它们同时对容器的不同点进行温度的测量及记录。
1.2 读写头
在本设计中读写头采用DS1402D-DR8.DS1402D-DR8可通过蓝点接受点与DS1922E 高温纽扣温度记录器相接,而通过1-Wire RJ-11与适配器(或接口转换器)相连。该读写头可以很方便地实现对DS1922E 的读/写,只要与触点轻轻接触,瞬间便可完成。
1.3 适配器(或接口转换器)
适配器(或接口转换器)选用DS9490R.该适配器有支持标准和高速1-Wire的通信,它有一个RJ-11可与选取的读写头DS1402D-DR8 相连;而且它还拥有有通信速率高达到12 Mb/s的USB接口,可实现与PC机简便快速地通信。
1.4 温度记录管理系统
该温度管理系统采用装有驱动软件和应用程序的PC 机。利用PC 机通过1-Wire 协议对DS1922E 高温纽扣温度记录器进行初始化及温度记录任务的设置;当iButton 温度记录器采集完温度数据后,PC 机又通过1-Wire 协议快速将其采集到的数据读取,然后实现对数据的管理。
2 主机与从机的通信过程的设计
在本设计中对整个系统的通信过程的设计主要包括三个模块:主机获取DS1922E的序列码并且对其设置完全访问密码、准备和启动一个温度采集任务、主机停止任务及读取DS1922E采集记录的数据。下面对这三个设计进行介绍。
2.1 主机获取各DS1922E的序列码并且对其设置完全访问密码
主机通过发送读ROM 命令((命令代码为33H)分别获取系统共用3 个DS1922E的64位序列码,便于对所用的iButton温度记录器进行分辨;然后主机通过发送匹配ROM 命令(命令代码为55H)、写暂存器命令(命令代码为0FH)、复制暂存器命令(命令代码为99H)分别对3个DS1922E设置完全访问密码,这样保证数据的安全性。
2.2 准备和启动一个温度采集任务
在该通信过程模块设计中,主要包括3 个步骤:清空前一个任务的数据,初始化,启动一个新的任务[8].
2.2.1 清空前一个任务的数据首先主机通过发送匹配ROM 命令(命令代码为55H)、清空存储器命令(命令代码为96H)和输入正确的密码对分别对各DS1922E的前一个任务执行过程中产生的数据清空,从而为本次任务作准备。
2.2.2 初始化
主机通过发送匹配ROM 命令(命令代码为55H)、写暂存器命令(命令代码为0FH)、复制暂存器命令(命令代码为99H)、输入正确的密码分别对各DS1922E中相应的寄存器进行初始化,初始化的内容包括采样速率的设定、温度报警阈值的设定、采样速率方式的选择、存储器满后数据处理方式的选择、温度数据记录格式的选择、延时启动的设定等。
(1)初始化的设定
在本设计中,对DS1922E的初始化主要是对其内部的寄存器页1(地址范围为0200H~021FH)中的部分寄存器进行设定,涉及到的寄存器包括:采样速率寄存器(0206H、0207H)、温度报警寄存器(0208H、0209H)、温度报警使能寄存器(0210H)、RTC控制寄存器(0212H)、任务控制寄存器(0213H)、启动延时计数器(0216H~0218H)。针对本设计来说,寄存器页1中的其他单元可以忽略。所要初始化的寄存器的各位定义及本设计中初始化后的数值如表1所示。
(2)任务寄存器和启动延时计数器的设置。由于本系统主要是进行高温测量,且要求较高的测量分辨率,所以采用16 位的数据记录格式,则温度记录格式位TLFS=1;选用的启动方式是延时一些时间后启动而不用报警启动,则温度报警启动位SUTA=0;存储器记录满后停止记录且保留已记录的数据,则存储器满后数据处理方式的选择RO=0;在整个任务的中,要使能温度记录,则温度记录使能位ETL=1.采用的启动延时时间设定为20 min,所以启动延时计数器的三个字节的值为000014H.
(3)RTC控制寄存器的设置。采用低速率采样,故使能高速采样位EHSS=0,同时要使能晶振,则EOSC=1.
(4)采样速率寄存器的设置。在本设计中,对容器内的温度采集时间需要28天,而又由于采用16位的数据记录格式,则8 KB 的数据记录存储器多可记录的数为4 096 个,为了留出一定的存储余量,在本设计中采样速率选择为每10分钟采样一个点,则在这28天内记录的数据个数能达到4 032 个。则采样速率寄存器的低8位为0AH,高8位为00H.
(5)温度报警寄存器及温度报警使能寄存器的设置考虑到系统的实际温度变化范围及DS1922E的温度测量范围,在本设计中,选取温度T的值设为20 ℃、温度的值设为135 ℃,根据温度报警阈值TALM与温度T 的计算公式:TALM=2T-28,可得低温与高温报警阈值分别为12(0CH)、242(F2H)。该温度报警阈值的设置,主要是在实时监测容器内的温度的变化时,主机一旦查询到温度报警状态寄存器中的到有低温或是高温报警状态位置1,则说明低温已经等于或低于20 ℃或是高温已经等于或高于135 ℃,则需要立即采取措施升温或是降温。要实现温度报警,则温度报警使能寄存器中的高温报警使能位ETHA=1,低温报警使能ETLA=1.初始化的通信过程的设计。由于本设计中初始化的寄存器都在寄存器页1中,为不使地址出现中断,在0200H~021FH之间忽略的地址单元对应的数据也依次发送。在这些单元中除了0211H单元的数据规定为0FCH之外,其余的都发送空闲数据0FFH.其初始化的通信过程[8-9]如图2所示。
2.2.3 启动一个新的任务
主机通过匹配ROM 命令(命令代码为55H)、开始任务命令(命令代码为CCH)及输入正确的密码启动一个新的任务。
2.3 主机停止任务及读取DS1922E采集记录的数据
在28天的时间到后,则将容器内的3个DS1922E高温纽扣温度记录器取出,主机分别通过发送匹配ROM命令(命令代码为55H)、停止任务命令(命令代码为33H)及输入正确的密码,将这3个温度记录器停止记录任务。然后主机又分别通过发送匹配ROM 命令(命令代码为55H)、读存储器命令(命令代码为69H)、数据记录存储器的首地址1000H 送到地址寄存器TA1、TA2从而将各记录的数据读入到主机当中,然后对其进行分析、管理。
3 测试结果
主机将3 个DS1922E 高温纽扣温度记录器记录和数据读取出来后,分别对其分析后得到各自的温度曲线,如图3所示。
从图中可以看出,位于中间的记录器所记录的温度曲线相对于位于边缘上的两个记录器的曲线更加平滑,说明该容器中的中间位置处的温度变化是符合规律的,而边缘上的会有个别时间处有温度的小突变,引起这种小突变原因可能是容器外壁设置不合乎标准,外界会对容器内部温度造成一定影响;再有可能是对容器加热系统对各处加热不是非常均匀。这需要以后改进的地方。
4 结语
该iButton 温度记录器的温度测量范围较宽(15~140 ℃),耐腐蚀,寿命长,可自动完成温度测量任务的启动、数温度数据的采集与记录、数据的传输,与主机的连接简单、使用方便[10].正是由于DS1922E 高温纽扣(iButton)温度记录器的上述优点,使得基于该温度记录器的高温测量管理系统有较好的应用前景。
免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。