位置:51电子网 » 技术资料 » 显示光电

X9241在蓄电池监控单元中的应用(图)

发布时间:2007/8/24 0:00:00 访问次数:459


作者:徐小杰 侯振义

  摘 要: 本文在对数字电位计X9241进行详细分析的基础上,提出了一种适用于蓄电池监控单元的测量量程在线转换的实现方案,并对其硬件设计、软件编程等方面进行了详细的论述。

  关键词: 蓄电池;监控单元;量程转换;在线

  在智能化仪器的开发过程中,如何实现测量量程的在线转换,一直是人们所关注的问题。通常的转换方法是采用程控增益放大器,或者是多路输入的形式,这必然以增加电路的复杂性和降低可靠性作为代价。因此,本设计方案的蓄电池监控单元中采用了数字电位计X9241来实现测量量程的在线转换。

    数字电位计X9241 X9241的基本功能

  XICOR公司的X9241内部集成了四个非易失性E2POT。其中每一个E2POT包含有63个电阻单元,一个滑动端计数寄存器(WCR)和四个可以由用户读出和写入的8位数据寄存器。滑动端计数寄存器的内容用来控制滑动端在电阻阵列中的位置,并且可以和数据寄存器之间进行双向的数据传输。

    X9241的通信规约与工作时序

  X9241支持双总线的定向规约,这一规约规定了向总线传送数据时为发送器,而从总线接收数据时为接收器,在这一过程中,控制传输的器件是主机,而被控制的器件则为从机。在本方案中,启动数据的传输以及提供时钟等功能都由单片机提供,因此在这里X9241是一个从属器件。

图1 X9241的工作时序

图2 X9241与AT89C51接口电路

图3 在线量程转换的实现电路

    对X9241进行一次成功的操作必须包括以下几个步骤:

  起始条件:当SCL为高时SDA由高至低的跳变;

  应答:在主从器件的总线间提供一个握手信号,以表示数据接收成功。单片机在发送8位数据以后释放SDA总线(置SDA为1),同时X9241将在第九个时钟周期内把SDA线拉低,作为成功的接收了前8位数据的响应;

    终止条件:当SCL为高时SDA由低至高的跳变。

  具体的工作时序如图1所示。

    X9241与AT89C51接口

  由于常用的AT89C51系列处理器没有I2C接口部件,与X9241的接口很不方便。仔细分析图1的工作时序,可以通过通用I/O总线和一个定时器来模拟I2C总线的功能,即采用P1口的两根线分别作为SDA和SCL总线,通过定时器1产生所需要的时钟。具体电路连接如图2所示。

    下面就以向滑动端计数寄存器写入一次值的三字节指令为例,给出具体的程序:

  SCL BIT P1.6

  SDA BIT P1.7

  MAIN:

  ……

  MOV TMOD,#02H ;置定时工作方式2,

  定时

  MOV TH0,#0E8H

  MOV TL0,#0E8H

  SETB EA ;开中断

  SETB ET0

  SETB TR0

  SETB SCL ;开始一次操作

  SETB SDA

  CLR SDA

  MOV A,#50H ;选择从器件

  ACALL WRTA

  MOV A,#0C0H ;设置写指令格式

  ACALL WRTA

  MOV A,#3FH ;为WCR赋值

  ACALL WRTA

  JNB SCL,$ ;结束本次操作

  SETB SDA

  CLR SDA

  WRTA: MOV R2,#08H

  WRTA0: JB SCL,$ ;等待时钟信号上跳沿

  RLC A ;将数据逐次送入数字电位器

  MOV SDA, C

  JNB SCL, $

  DJNZ R2, WRTA0

  JB SCL, $ ; 等待数字电位器的接收应答

  SETB SDA

  JB SDA, $

  JNB SCL, $

  RET

  INT: CPL P1.6 ;取反,产生所需时钟信号

  RETI

  ……

    X9241在蓄电池监控单元中的应用

  从理论上讲,利用数字电位计可以实现任意量程的转换。但由于模数转换器精度的限制以及蓄电池监控单元高实时性的要求,选取过多的转换点反而会收到事倍功半的效果。通过试验发现,只需要1:1,1:2,1:5,1:10,1:20,和1:50六种量程就可以保证输入信号在模数转换器的2/3量程附近,因此,在这里巧妙的利用了滑动端


作者:徐小杰 侯振义

  摘 要: 本文在对数字电位计X9241进行详细分析的基础上,提出了一种适用于蓄电池监控单元的测量量程在线转换的实现方案,并对其硬件设计、软件编程等方面进行了详细的论述。

  关键词: 蓄电池;监控单元;量程转换;在线

  在智能化仪器的开发过程中,如何实现测量量程的在线转换,一直是人们所关注的问题。通常的转换方法是采用程控增益放大器,或者是多路输入的形式,这必然以增加电路的复杂性和降低可靠性作为代价。因此,本设计方案的蓄电池监控单元中采用了数字电位计X9241来实现测量量程的在线转换。

    数字电位计X9241 X9241的基本功能

  XICOR公司的X9241内部集成了四个非易失性E2POT。其中每一个E2POT包含有63个电阻单元,一个滑动端计数寄存器(WCR)和四个可以由用户读出和写入的8位数据寄存器。滑动端计数寄存器的内容用来控制滑动端在电阻阵列中的位置,并且可以和数据寄存器之间进行双向的数据传输。

    X9241的通信规约与工作时序

  X9241支持双总线的定向规约,这一规约规定了向总线传送数据时为发送器,而从总线接收数据时为接收器,在这一过程中,控制传输的器件是主机,而被控制的器件则为从机。在本方案中,启动数据的传输以及提供时钟等功能都由单片机提供,因此在这里X9241是一个从属器件。

图1 X9241的工作时序

图2 X9241与AT89C51接口电路

图3 在线量程转换的实现电路

    对X9241进行一次成功的操作必须包括以下几个步骤:

  起始条件:当SCL为高时SDA由高至低的跳变;

  应答:在主从器件的总线间提供一个握手信号,以表示数据接收成功。单片机在发送8位数据以后释放SDA总线(置SDA为1),同时X9241将在第九个时钟周期内把SDA线拉低,作为成功的接收了前8位数据的响应;

    终止条件:当SCL为高时SDA由低至高的跳变。

  具体的工作时序如图1所示。

    X9241与AT89C51接口

  由于常用的AT89C51系列处理器没有I2C接口部件,与X9241的接口很不方便。仔细分析图1的工作时序,可以通过通用I/O总线和一个定时器来模拟I2C总线的功能,即采用P1口的两根线分别作为SDA和SCL总线,通过定时器1产生所需要的时钟。具体电路连接如图2所示。

    下面就以向滑动端计数寄存器写入一次值的三字节指令为例,给出具体的程序:

  SCL BIT P1.6

  SDA BIT P1.7

  MAIN:

  ……

  MOV TMOD,#02H ;置定时工作方式2,

  定时

  MOV TH0,#0E8H

  MOV TL0,#0E8H

  SETB EA ;开中断

  SETB ET0

  SETB TR0

  SETB SCL ;开始一次操作

  SETB SDA

  CLR SDA

  MOV A,#50H ;选择从器件

  ACALL WRTA

  MOV A,#0C0H ;设置写指令格式

  ACALL WRTA

  MOV A,#3FH ;为WCR赋值

  ACALL WRTA

  JNB SCL,$ ;结束本次操作

  SETB SDA

  CLR SDA

  WRTA: MOV R2,#08H

  WRTA0: JB SCL,$ ;等待时钟信号上跳沿

  RLC A ;将数据逐次送入数字电位器

  MOV SDA, C

  JNB SCL, $

  DJNZ R2, WRTA0

  JB SCL, $ ; 等待数字电位器的接收应答

  SETB SDA

  JB SDA, $

  JNB SCL, $

  RET

  INT: CPL P1.6 ;取反,产生所需时钟信号

  RETI

  ……

    X9241在蓄电池监控单元中的应用

  从理论上讲,利用数字电位计可以实现任意量程的转换。但由于模数转换器精度的限制以及蓄电池监控单元高实时性的要求,选取过多的转换点反而会收到事倍功半的效果。通过试验发现,只需要1:1,1:2,1:5,1:10,1:20,和1:50六种量程就可以保证输入信号在模数转换器的2/3量程附近,因此,在这里巧妙的利用了滑动端

相关IC型号

热门点击

 

推荐技术资料

按钮与灯的互动实例
    现在赶快去看看这个目录卞有什么。FGA15N120AN... [详细]
版权所有:51dzw.COM
深圳服务热线:13751165337  13692101218
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!