微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 单片机监控芯片X25043的相关各种知识解析方案

单片机监控芯片X25043的相关各种知识解析方案

时间:06-29 来源:互联网 点击:

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 ;写入状态寄存器,设置看门狗

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

网站地图

Top