DS2438在单总线微网中的应用

DS2438在单总线微网中的应用
1 概述
在数字化测控系统中,由于单总线微网仅使用1根导线进行双向数据传送,并同时为远端器件提供电源,既降低了测控系统硬件成本,又提高了系统可靠性,因而是有着广泛应用前景现场总线技术。但是,由于单总线微网一方面要传送数据,另一方面还要向单总线器件提供电源,这必然造成单总线上供电电源电压波动;而测控系统中所使用传感器元件,其输出值不仅正比于被测量,而且往往还与供电电源电压值有关,因此,为了保证传证传感器测量精度,就必须进行相应电压校正。另外,传感器输出值往往还受环境温度影响,也必须进行相应温度补偿。 摘要:介绍内部集成多种功能部件单总线器件DS2438,利用该器件内部丰富硬件资源,可构成具有环境温度及单总线供电电压补偿功能单总线数据采集系统;介绍器件性能特点、内部结构及工作原理,并给出该器件在单总线微网中具体应用实例。 
关键词:单总线微网 测控系统 单片机 传感器 上述问题如果采用基于单总线普通A/D转换器件予以解决,会使相应硬件电路及软件编程过于复杂。这里利用Dallas公司单总线器件DS2438,巧妙地解决了上述问题。下面首先介绍该器件,并重点介绍该器件与测控系统相关功能。

DS2438是Dallas公司推出智能电池监视器。该器件是为了解决便携式电子产品电池工作状态实时监测而推出,主要性能特点如下: ①单总线器件,仅需1根口线实现电源及双向数据传输;

②片内13位精度温度传感器,最小分辨率0.031 25℃;

③片内10位二通道电压A/D转换器,最小分辨率为10mV;

④片内10位电流A/D转换器;
⑤片内40字节非易失性用户存储器; ⑥片内逝去时间计数器,完成充放电时间计时;

⑦单电源工作,低功耗特性;

⑧工作温度范围为-40℃~ 80℃。

DS2438采用SOIC表面贴装封装形式,其外形及引脚排列如图1所示,引脚功能说明见表1。
表1 DS2438引脚功能说明

引脚号 引脚名称 说 明 
 1 GND 接地
2 VSENS  电源电流监视输入( )
3 VSENS- 电池电流监视输入(-)
4 VAD 通用A/D输入端
5 VDD 供电电压(2.4~10V)
6,7 NC 空引脚
8 DQ 数据输入/输出、1线操作、开漏
2 工作原理
DS2438内部结构框图如图2所示。

由图2可知,DS2438由单总线接口、电压A/D转换器、电流A/D转换器、温度传感器、时钟电路、40字节E2PROM及与上述硬件相关寄存器组成。其中电压A/D转换器输入,可编程为由VDD电源端输入或VAD输入端输入,以满足VDD电源端及外部输入模拟量VAD测量要求。

2.1 器件存储单元
DS2438存储器类型包括易失性SRAM和非易失性E2PROM。DS2438内部存储器为一个总容量64字节存储器。存储器被分为8页,每页8字节,页地址为00~07H。其中第00页是访问频率最高页,该页结构如表2所列。
表2 DS2438存储器第00页结构

字节序号 名 称 内 容 读/写特性 易失特性
DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
0 状态/配置寄存器 X ADB NV TB AD EE CA IAD 读 非易失
1 温度低位寄存器 2 -1 2 -2 2 -3 2 -4 2 -5 0 0 0 读 非易失
2 湿度高位寄存器 S 2 6 2 5 2 4 2 3 2 2 2 1 2 0 读 非易失
3 电压低位寄存器 2 7 2 6 2 5 2 4 2 3 2 2 2 1 2 0 读 非易失
4 电压高位寄存器 0 0 0 0 0 0 2 9 2 8 读 非易失
5 电流低位寄存器 0 0 0 0 0 0 2 9 2 8 读 非易失
6 电流高位寄存器 S S S S S S S 2 8 读 非易失
7 阈值寄存器 TH2 TH1 0 0 0 0 0 0 读/写 易失
第1页为电流累加器、逝去时间计数器和电流补偿单元;每2页包括非易失性时间和充电时间标记;第3~7页是40字节提供给用户使用E2PROM,可用于保存用户数据。 
2.2 寄存器
DS2438所有寄存器都映射到上述存储器中,同时对DS2438操作都是通过寄存器进行。
图2 DS2438内部结构框图
(1)状态寄存器

状态寄存器位于存储器00页第0字节,该寄存器用于DS2438功能控制,其中各位默认值为1,含义如下:
*IAD为电流A/D控制位。IAD=1,启用电流A/D和ICA,且以32Hz速率测量电流;IAD=0,禁用电流A/D和ICA。
*CA为电流累加器配置位。CA=1,启用CCA/DCA存储数据且可从第7页恢复数据;CA=0,禁用CCA/DCA,第7页可用于普通E2PROM存储。
*EE为隐蔽电流累加器位。EE=1,将CCA/DCA计数器数据隐蔽到E2PROM,电量每增加0.32C,当前计数器加1;EE=0,CCA/DCA计数器数据将不隐蔽到E2PROM。
*AD为电压A/D输入选择位。AD=1,电压A/D选择由VDD端输入;AD=0,电压A/D选择由VAD端输入。 字
*TB为温度转换忙标志位。TB=1,温度转换正在进行;TB=0,温度转换结束。 *NVB为非易失存储忙标志位。NVB=1,在从可擦除区复制到E2PROM存储过程中;NVB=0,非易失存储空闲状态。一次E2PROM存储占用2~10ms。

*ADB为A/D转换标志位,ADB=1,电压A/D转换正在进行;ADB=0,转换结束或无测量。一次A/D转换占用约10ms。
*X为不定位。 (2)温度寄存器
DS2438可在-55~ 125℃范围内以0.031 25℃分辨率测量温度值,温度值为2码形式通过2字节温度寄存器输出。其中符号位S指示温度值为正或负;S=0,温度值为正;S=1,温度值为负。 
(3)电压寄存器
DS2438电压输入范围是0~10V,且电压ADC输入,可通过状态/结构寄存器AD位来选择由VDD输入或由VAD输入。电压A/D转换结果放在2字节电压寄存器中,单位为mV。 (4)电流寄存器

DS2438通过测量电流取样电阻RSENS两端电压来间接测量流过电池电流。采用10位ADC,其分辨率为0.005C,电流测量值结果放在2字节电流寄存器中其中电流测量符号位S,用于指示充电或放电。 
2.3 单总线协议
字串7
DS2438是Dallas公司基于单总线器件。该器件操作完全遵循单总线协议,其ROM命令有4个。 ①读ROM[33H]; 字
②匹配ROM[55H]; 字
③跳过ROM[F0H]。
字串4
主机在操作DS2348之前,必须先发送上述4个ROM命令中一个。在DS2438成功执行上述命令之后,主机可使用下面内存命令操作DS2438。 字
由于DS2438内存分为7页,故其内存操作命令和其它单总线器件略有不同。DS2438内存操作命令如下:
字串6
①写高速暂存存储器[4EHXXH]; 字
②读高速暂存存储器[BEHXXH]; 字③读制高速暂存存储器[48HXX]; 字
④恢复存储器[B8HXXH]; 字⑤温度转换命令[44H]; 字
⑥电压转换命令[B4H]。
上述内存命令中XXH为高速暂存存储器页地址,有效页码地址为00~07H。
DS2438对高速暂存存储器操作中,除了基本命令外,还必须将等操作高暂存存储器页地址送出去。DS2438允许1次读/写1页内全部8个字节,且读写字节操作可使用复位命令在任何瞬间终止。

值得注意是,DS2438温度转换命令及电压转换命令发出后,主机需等待10~20ms,以使DS2438完成温度及电压转换;同时,若采用寄生电源供电,应将总线拉高,以保证充足能量供应。

3 DS2438在单总线微网中应用 字
下面给出将DS2438应用于单总线微网具体实例:单总线温度传感器设计。温度测量在仓储检测、生产制造及日常生活中有着广泛应用,但湿度测量却较困难。原因是温度传感器大都为模拟小信号输出,且在线性度、重复性、一致性等方面不尽如意。如果能够利用现有模拟湿度传感器,设计出基于单总线数字式湿度传感器,则可配合单总线微网技术构成全数字化多点温湿度测量系统,如数字化粮情检测、数字化仓储检测系统等。即可降低系统布线费用,又可提高系统性能,因而具有非常不定期实意义。这里,利用模拟大信号相对湿度传感器并配合DS2438,设计出一种完全符合单总线协议湿度传感器(电路参见图4)。

3.1 湿度传感器

由于单总线微网采用寄存电源方式向单总线器件供电,因此,要求挂接在单总线微网上器件必须满足低功耗要求。这里,选用了具有低功耗特性模拟大信号湿度传感器HIH-3610。HIH-3610是美国Honeywell公司生产相对湿度传感器。该传器采用热固聚酯电容式传感头,同时在内部集成了信号处理功能电路,因此,可完成将相对湿度值变换成电容值,再将电容传转换成线性电压输出。同时该传感器还具精度高、响应快速、高稳定性、低温漂、抗化学腐蚀性能强及互换性等优点,其性能指标如表3所列,输出电压与相对湿度关系曲线如图3所示。
表3 HIH-3610湿度传感器性能指标
参 数 指 标
RH精度 ±2%RH,0~100%RH非凝结,25℃(DC供电电压=5V)
RH互换性 ±5%RH,0~60%RH;±8%@90%RH
RH线怀 ±0.5%RH典型值
RH迟滞 ±1.2%RH最大量程
RH重复性 0.5%RH
RH反应时间/s 30(慢流动空气中,1/e@25℃
RH稳定性 ±1%RH典型值,50%RH,5年时间内
DC供电电压/V 4~9(传感器在DC5V下标定)
消耗电流/mA 0.2(DC 5V);2(典型值,DC9V)
输出电压 Vout=Vsuppl[0.0062(sensor%RH) 0.16]
温度补偿 RH(sensor%RH)/(1.0546-0.0216t)
由性能指标及输出电压与相对湿度关系曲线,可得出如下结论。

①HIH-3610在供电电压为5V时,其消耗电流仅为200μA,完全可满足单总线微网对器件低功耗要求。 字②HIH-3610输出电压为 字
Vout=Vsupply[0.0062(sensor%RH) 0.16] 字
即输出电压Vout不仅正比于湿度测量值,且与电源电压值Vsupply圾关。若Vsupply固定为5V,则其值仅由相对湿度值决定,但由于单总线上供电电压值为变量,故要求在进行湿度测量同时还应测量电源电压Vsupply值。
③HIH-3610输出湿度值还与环境温度有关,故应进行温度补偿,补偿公式为 
RH=(sensor%RH)/1.0546-0.0216t 字串4
因此,为得到准确湿度测量值,还应在测量湿度同时测量环境湿度和单总线供电电压值。 3.2 DS2438与传感器接口
字串9
本系统中利用DS2438来同时完成对环境温度测量、单总线电源电压测量及湿度传感器输出电压值测量。由图4可知,为了满足寄生电源工作要求,为传感器设计了相应电源电路。电源电路由VD1、VD2及电容C1构成。其中二极管VD2和电容C1构成半波整流电路,在总线空闲时为DS2438和HIH-3610供电。DS24385脚VDD端电位即是HIH-3610电源电压。通过编程DS2438内部状态/结构寄存器“AD”位,使二通道电压A/D转换器输入选择为VDD端,可完成HIH-3610电源电压测量功能。通过编程状态/结构寄存器“AD”位,使二通道电压A/D转换器输入选择为VAD端,即HIH-3610湿度电压值输出端可完成湿度值测量功能,环境温度测量可由DS2438内部湿度传感器完成,因此,使用1片DS2438即可完成湿度值测量,并可由相应软件算法实现电源电压校正及环境温度补偿。
3.3 单片机与传感器接口 
单片机与单总线湿度传感器接口电路如图4所示。
图4 单总线湿度传感器及与单片机接口
单片机选用AT89C52单片机。这里利用单片机P1.0口线作为单总线接口;单总线湿度传感器采用寄存电源供电方式;P1.0口线外接一只4.7kΩ上拉电阻,可在总线空闲时向湿度传感器提供能量。

3.4 软件编程
网络补充版(http://www.751com.cn)中,给出单总线湿度传感器相关数据采集程序,包括读湿度测量值、读单总线供电电压值及读湿度值子程序。

结语

由DS2438构成单总线数字式湿度传感器,硬件电路结构简单,与单总线微网连接也十分简单;可轻松构成多点数字式湿温度监测系统,因而DS2438在类似单总线微网测控系统中有着广泛应用前景。343
Copyright © 2007-2012 www.chuibin.com 六维论文网 版权所有