微波EDA网,见证研发工程师的成长!
首页 > 通信和网络 > 通信网络技术文库 > DS2438及其在单总线微网中的应用

DS2438及其在单总线微网中的应用

时间:04-13 来源:互联网 点击:
1 概述

在数字化测控系统中,由于单总线微网仅使用1根导线进行双向数据传送,并同时为远端器件提供电源,既降低了测控系统的硬件成本,又提高了系统的可靠性,因而是有着广泛应用前景的现场总线技术。但是,由于单总线微网一方面要传送数据, 另一方面还要向单总线器件提供电源,这必然造成单总线上供电电源电压的波动;而测控系统中所使用的传感器元件,其输出值不仅正比于被测量,而且往往还与供电电源的电压值有关,因此,为了保证传证传感器的测量精度,就必须进行相应的电压校正。另外,传感器的输出值往往还受环境温度的影响,也必须进行相应的温度补偿。

上述问题如果采用基于单总线的普通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的操作都是通过寄存器进行的。

(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 单总线协议

DS2438是Dallas公司基于单总线的器件。该器件的操作完全遵循单总线协议,其ROM命令有4个。
①读ROM[33H];
②匹配 ROM[55H];
③跳过ROM[F0H]。

主机在操作DS2348之前,必须先发送上述4个ROM命令中的一个。在DS2438成功执行上述命令之后,主机可使用下面的内存命令操作DS2438。

由于DS2438的内存分为7页,故其内存操作命令和其它的单总线器件略有不同。DS2438的内存操作命令如下:
①写高速暂存存储器[4EHXXH];
②读高速暂存存储器[BEHXXH];
③读制高速暂存存储器[48HXX];
④恢复存储器 [B8HXXH];
⑤温度转换命令[44H];
⑥电压转换命令[B4H]。

上述内存命令中的XXH为高速暂存存储器的页地址,有效的页码地址为00~07H。

DS2438对高速暂存存储器的操作中,除了基本的命令外,还必须将等操作的高暂存存储器的页地址送出去。DS2438允许1次读/写1页内的全部8个字节,且读写字节操作可使用复位命令在任何瞬间终止。

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

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

网站地图

Top