×
单片机 > 单片机程序设计 > 详情

单片机监控芯片X25043的功能介绍

发布时间:2020-09-03 发布时间:
|

    1. 序言

    X25043是XICOR公司出产的单片机监控芯片。它把四种常用的功能:上电复位、看门狗定时器、电压监控和串行EEPROM功能组合在单个封装之内。这种组合降低了系统成本并减少了对电路板空间的要求。下面分别介绍它们的功能。

    2. X25043的原理

    X25043将多种功能集成在一起,图1是其原理框图:


    
图1 X25043原理框图

    其中/WP是X25043写保护,低电平有效。

    SI是串行数据输入口,串行时钟上升沿有效。

    SO是串行数据输出口,串行时钟下降沿有效。

    SCK是串行时钟,用于控制串行数据的I/O。

    /CS是芯片片选信号,低电平有效。

    VCC是供电电源。

    /RESET是输出的复位信号,低电平有效。

    2.1 上电复位和电压监控功能

    在单片机系统应用中,复位电路需要在供电电源VCC和振荡器稳定后能够提供至少2个状态的有效复位信号,对X25043来说是低电平信号。X25043可在电源和振荡器稳定后提供200ms的有效低电平信号,然后恢复为高电平信号。在运行过程中,X25043会时时监控供电电源VCC。当VCC下降到小于一个预先设定的电压VTRIP时,/RESET输出信号将为低电平,使单片机系统复位,/RESET信号一直在VCC下降到1V仍有效。在电源回升时的动作和供电复位时的动作一致。其中,VTRIP是可以通过编程进行重新设定。

    2.2 看门狗定时器功能

    看门狗定时器对微控制器提供了独立的保护系统。当系统故障时,在可选的超时周期(timeout interval)之后,X25043/45看门狗将以 /RESET信号作出响应。用户可从三个预置的值中选择此周期。一旦选定,即使在电源周期变化之后,此周期也不改变。在正常的微机控制系统中,在每次控制任务完成后,必须对看门狗定时器进行复位,重新开始计数。对X25043芯片,只需把/CS端口电平置一个下降沿,即可将看门狗复位。X25043的看门狗定时器有三种初始定时值可以选定,其选定可以通过设置状态寄存器的2、3位即可。

    2.3 串行EEPROM功能

    电可擦除可编程只读存储器EEPROM可像EPROM一样在线读出数据。因为EEPROM内部有擦除和改写的专用电路,因此可在线方便地写入和读取。X25043/45的存贮器部分是CMOS的4096位串行EEPROM,它在内部按512×8来组织,而且可以进行块锁存(BLOCk Lock)。块锁存可以保护1/4,1/2或所有EEPROM阵列,锁存后只可读不可写。X25043/45的特点是具有允许简单的三线总线工作的串行外设接口(Serial Perpheral Interface,SPI)和软件协议。X25043/45利用了Xicor公司专有的Direct WriteTM晶片,提供最小为100,000周期/字节的使用期限(endurance)和最小为100年的数据保存期。

    X25043的读写操作

    X25043有一个8位的命令寄存器来控制其读出和写入的操作。操作命令通过SI端口写入,有两种写操作格式需要命令寄存器,即写入EEPROM数据和写入状态寄存器。读出操作是通过SO端口的,X25043也有两种读出格式需要命令寄存器,即读出EEPROM数据和读出状态寄存器。如图2所示。对于状态寄存器的读写,先要完成命令寄存器的操作,然后再进行数据的读出或写入。对EEPROM的操作,需要先写命令寄存器,然后进行目的地址的I/O,最后是数据的操作。所有的操作在SCK时钟下按照SPI协议进行。数据的I/O是从最高位字节开始的。

    
图2 命令寄存器格式


    X25043的状态寄存器的格式如图3所示。其中WIP是状态指示位,只可读,表示目前X25043是否正在忙着内部写工作,这在判断EEPROM写入完成是十分重要的。WEL位表示目前X25043是否可写,当WEL=0时,则X25043无法执行写操作。BL0和BL1的逻辑组合来控制EEPROM区域的块锁定(BLOCk Lock)大小。WD0和WD1的逻辑组合则决定了看门狗计数器定时值的大小。


    
图3 状态寄存器格式

    3. X25043在单片机系统中的应用

    针对X25043的功能,我们可以在单片机系统中利用它扩展存储空间、上电复位、看门狗定时以及电源监控功能。图4是X25043与单片机8051的接口电路。施密特触发器74LS14用于时钟脉冲整形,提高对噪声干扰的能力。

    
图4 X25043与8051接口电路

    在这里我们可以对看门狗定时器设定值为200ms,可以通过对状态寄存器的WD0和WD1进行设定即可。我们必须先写入命令寄存器,然后才可以写入状态寄存器设定看门狗计数器值。下面是具体汇编程序(8051):

    写入8位数据子程序:(A放入写入的8位串行数据)

    INSB: MOV R4, #8

    IN1: RLC A

    CLR P1.0 ;SCK时钟置低

    NOP

    NOP

    MOV P1.1, C

    SETB P1.0 ;SCK时钟置高,移入数据

    NOP

    NOP

    DJNZ R4, IN1

    RET

    设定看门狗的程序如下:

    · · ·

    SETB P1.3 ;片选有效

    MOV A, #6 ;写入命令WREN

    LCALL INSB

    MOV A, #1 ;写入命令WRSR

    LCALL INSB

    MOV A, #20H ;写入状态寄存器,设置看门狗

    LCALL INSB

    CLR P1.3 ;片选无效

    · · ·

    4. 总结

    作者在开发一个机器人控制系统时,采用了X25043芯片,充分利用了其上电复位、电压监控、看门狗定时器和外扩EEPROM。这样,不仅可以简化硬件电路和掉电数据保护,而且提高了可靠性能和抗干扰性能,具有非常可行的使用性。



『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
C51 特殊功能寄存器SFR的名称和地址