X25045是带有串行E2PROM的CPU监控器1Word文档格式.docx

上传人:b****5 文档编号:21479109 上传时间:2023-01-30 格式:DOCX 页数:7 大小:24.30KB
下载 相关 举报
X25045是带有串行E2PROM的CPU监控器1Word文档格式.docx_第1页
第1页 / 共7页
X25045是带有串行E2PROM的CPU监控器1Word文档格式.docx_第2页
第2页 / 共7页
X25045是带有串行E2PROM的CPU监控器1Word文档格式.docx_第3页
第3页 / 共7页
X25045是带有串行E2PROM的CPU监控器1Word文档格式.docx_第4页
第4页 / 共7页
X25045是带有串行E2PROM的CPU监控器1Word文档格式.docx_第5页
第5页 / 共7页
点击查看更多>>
下载资源
资源描述

X25045是带有串行E2PROM的CPU监控器1Word文档格式.docx

《X25045是带有串行E2PROM的CPU监控器1Word文档格式.docx》由会员分享,可在线阅读,更多相关《X25045是带有串行E2PROM的CPU监控器1Word文档格式.docx(7页珍藏版)》请在冰豆网上搜索。

X25045是带有串行E2PROM的CPU监控器1Word文档格式.docx

表1

7

6

5

4

3

2

1

WD1

WD0

BL1

BL0

WEL

WIP

其中,WD1、WD0是看门狗定时时间设置位;

BL1、BL0是存储单元写保护区设置位;

WEL是只读标志,1表明写使能开关打开;

WIP也是只读标志,1代表芯片内部正处于写周期。

电复位时,各位都被清零。

X25045芯片功能包括以下4种:

(1)上电复位控制。

在对X25045通电时,ERSET引脚输出有效的复位信号,并保持至少200ms,使CPU有效复位。

(2)电源电压监控。

当检测到电源电压低于内部门槛电压VTRIP时,RESET输出复位信号,直至电源电压高于VTRIP并保持至少200ms,复位信号才被撤消。

VTRIP的出厂值根据芯片型号不同共有5个级别的电压范围。

对于需要电源电压精确监控的应用,用户可以搭建编程电路,对芯片内VTRIP电压进行微调。

(3)看门狗定时器。

芯片内部状态寄存器的WD1、WD0是看门狗定时设置位,通过状态寄存器写指令WRSR修改这2个标志位,就能在3种定时间隔中进行选择或关闭定时器。

对看门狗的复位由CS输入电平的下降沿完成。

表2是WD1、WD0组合的含义。

表2

看门狗定时值

1.4s

600ms

200ms

禁止看门狗工作

(4)串行E2PROM。

芯片内含512字节存储单元,10万次可靠写,数据保持时间100年。

XICOR设计了3种保护方式防止误写。

包括:

WP写保护引脚,当引脚被拉低时,内部存储单元状态寄存器都禁止写入;

存储区域写保护模式,通过对状态寄存器的BL1、BL0位的设置,可以选择对不同的存储区域进行写保护;

在进行任何写操作前都必须打开写使能开关,而且在上电初始化写操作完成时,写使能开关自动关闭。

显然,在几方面的保护之下,产生误写的可能性极小,表3是BL1、BL0组合的含义。

表3 

写保护的单元地址

没有保护

180H~1FFH

100H~1FFH

000H~1FFH

对X25045的操作是通过4根口线CS、SCK、SI和SO进行同步串行通信来完成的。

SCK是外部输入的同步时钟信号。

在对芯片定改指令或数据时,时钟前沿将SI引脚信号输入;

在读邮数据时,时钟后沿将数据位输出到SO引脚上。

数据的输入/输出都是高位在先。

芯片内部共有6条指令,如表4所列。

表4

命令名称

命令格式

内 

WREN

00000110

打开写使能开关

WRDI

00000100

关闭写使能开关

RDSR

00000101

读状态寄存器

WRSR

00000001

写状态寄存器

READ

0000A8011

读存储单元

WRITE

0000A8010

写存储单元

(1)WREN和WRDI是写使能开关的开/关指令。

它们都是单字节指令。

(2)RDSR和WRSR是状态寄存器的读/写指令。

在从SI输入指令后,RDSR的执行结果,即状态寄存器内容须从SO读出;

而WRSR需要紧接着输入修改数据。

(3)READ和WEITE是存储单元的读/写指令。

输入指令后(指令码第三代表存储单元地址的最高位),接着输入低八位地址,最后就可以连续读出或写入数据。

其中,读指针和写指针的工作方式完全不同,读指针的全部8位用来计数,0FFH溢出后变成00H;

写指针只用最低两位计数,XXXXXX11B溢出后变成XXXXXX00B,所以连续写的实际结果是在4个单元中反复写入。

另外,由于E2PROM的写入时间长,所以在连续两条写指令之间应读取WIP状态,只有内部写周期结束时才可输入下一条写指令。

AT89C2051内部没有SPI接口硬件,因此本系统利用了单片机的4根口线和软件模拟读写时序的方式与X25045通信。

软件包在文末给出。

四、软件原理

X25045的通信接口软件:

CSBITP3.2

SCKBITP3.3

SIBITP3.4

SOBITP3.5

(1)X25045数据写入程序

功能:

将缓冲区数据写入指定地址开始的单元。

入口:

F0、R3是E2PROM单元地址最高位低八位;

R0是缓冲区首地址;

R2是缓冲区长度。

WRITEX:

LCALLSTAX;

指令启动

MOVA,#06H;

输出WREN

LCALLBYTE_OUT

下一指令启动

MOVA,#02H;

输出WRITE

MOVC,F0;

插入单元地址最高位

MOVACC.3,C

MOVA,R3;

输出单元地址低八位

BYWR:

MOVA,@R0;

从缓冲区取数输出

INCR0;

指针加1

DJNZR2,BYWR;

缓冲区未空则继续输出

LCALLENDX;

指令结束

LCALLWIP_CHK;

等待WIP=0

RET

(2)X25045数据读出程序

把指定地址开始的单元数据读出并放入缓冲区

与写入程序相同。

READX:

LCALLSTAX

MOVA,#03H;

输出READ

MOVC,F0

输出低八位地址

BYRD:

LCALLBYTE_IN;

输入数据送入缓冲区

MOV@R0,A

DJNZR2,BYRD;

缓冲区未满则继续输入

LCALLENDX

(3)X25045状态寄存器写入程序

对状态寄存器进行设置。

ACC是修改值。

WRSR:

PUSHACC

MOVA,#01H;

输出WRSR

POPACC;

输出设置值

(4)X25045状态寄存器读出程序

读出状态寄存器当前值。

出口:

ACC是当前值。

RDSR:

MOVA,#05H

LCALLBYTE_IN

LCALENDX

(5)其他子程序

WIP_CHK:

LCALLRDSR;

等待X25045结束内部写周期

JBACC.0,WIP_CHK

STAX:

SETBCS;

启动X25045指令

NOP;

先拉高CS,再拉你SCK,最后拉低CS

CLRSCK

NOP

CLRCS

ENDX:

CLRSCK;

结束X25045指令

先拉低SCK后拉高CS

BYTE_OUT:

MOVR4,#08H;

向X25045写入一字节数据

BOUT1:

RLCA

MOVSI,C

SETBSCK

DJNZR4,BOUT1

BYTE_IN:

从X25045读出一字节数据

BIN1:

MOVC,SO

DJNZR4,BIN1

RST_DOG:

复位看门狗定时器

SETBCS

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 院校资料

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1