摘要:C25165是美国Xicor公司生产的集看门狗、电压监控和串行EEPROM于一体的专用集成电路,文中介绍了X25165的结构,功能及工作原理,并以其在8051系统中的应用实例,给出了X25165与8051单片机的硬件接口电路和软件接口程序。
关键词:单片机 看门狗 X25165
接口 软件
美国Xicor公司生产的Z25165芯片是集看门狗、电压监控和串行EEPROM三项功能于一体的集成电路产品。该芯片的应用将有利于简化单片机系统的结构,降低系统的成本,减少对电路板的空间需求,增加系统的可靠性。
1 芯片简介
X25165的引脚排列如图1所示,各引脚功能说明如表1所列。
X25165使用简单的三线总线串行外设接口(SPI),对芯片进行操作的所有操作码、字节地址及写入的数据均从SI引脚输入,写入数据在串行时钟(SCK)的上升沿被锁存,从芯片读取的数据从SO引脚串行移出,并在串行时钟的下降沿输出数据。
芯片的看门狗定时器和Vcc电压监视器都对微处理器提供独立的保护,当系统发生故障时,只要看门狗定时器达到其可编程的超时极限,RESET引脚立即自动产生一个持续200ms的高电平复位信号。当电源电压Vcc降到4.5V以下时,RESET引脚立即自动产生主电平复位信号,并一直保护到电源电压恢复正常。在系统电源上电或掉电时,RESET引脚也立即自动产生一个高电平复位信号。这样,就能有效地防止系统死机、数据误写及误操作等故障现象的发生。
表1 X25165芯片在8051系统中的应用
引脚名 |
说 明 |
CS | 片选输入(低电平有效) |
SO | 串行输出 |
SI | 串行输入 |
SCK | 串行时钟输入 |
WP | EEPROM写保护输入 |
RESET | 复位信号输出 |
Vss | 地 |
Vcc | 电源电压 |
X25165芯片内部有2k×8位的串行EEPROM,每个字节可以擦写10万次以上,内部数据可以保存100年以上。应用时,可以通过编程对指定的块进行锁定,以防止由于误操作等原因破坏保存的数据。
2 工作原理
2.1 指令
X25165共有七条指令(见表2),对芯片的所有操作都需要通过对指令寄存器写命令来完成,所有的指令、地址、数据均以高位在前的方式(MSB)串行传送。
表2 指令集
指令名 | 指令格式 | 操 作 |
WREN | 0000 0110 | 设置写使能锁存器(允许写操作) |
SFLB | 0000 0000 | 设置FLB位 |
VRDI/RFLB | 0000 0100 | 复位写使能锁存器/复位FLB位 |
RDSR | 0000 0101 | 读状态寄存器 |
WRSR | 0000 0001 | 写状态寄存器 |
READ | 0000 0011 | 从指定的起始地址开始读数据 |
WRITE | 0000 0010 | 将数据写到指定的存储单元 |
2.2 状态寄存器
X25165内有一个八位状态寄存器,在任何时候都可以通过RDSR指令来读取状态寄存器的内容,也可以通过WREN,SFLB,WRSR等指令来设置状态寄存器中的某些位。状态寄存器的格式如下:
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
WPEN | FLB | WD1 | WD0 | BL1 | BL0 | WEL | WIP |
WIP:是一个只读位,用于指示芯片是否正忙于内部非易失性的写操作。
WEL:写使能,指示当前写使能锁存器的状态;
BL1、BL0:设置EEPROM的块保护地址范围,见表3;
表3 块保护地址范围
BL1 | BL0 | 被保护的地址范围 |
0 | 0 | 无 |
0 | 1 | $0600……$07FF |
1 | 0 | $0400……$07FF |
1 | 1 | $0000……$07FF |
WD0、WD1:选择看门狗的超时周期,见表4;
表4 看门狗定时器的超时周期
WD1 | WD0 | 看门狗超时周期 |
0 | 0 | 1.4秒 |
0 | 1 | 600毫秒 |
1 | 0 | 200毫秒 |
1 | 1 | 禁止 |
FLB:只读位,指示一个易失位的状态,可用SFLB和RFLB指令进行置位和清零,上电时该位自动清零;
WPEN:为非易失位,可用WRSR指令进行编程,该位和WP引脚配合使用能以编程方式实现对硬件的写保护(见表5)。当WP引脚为低电平且WPEN位被置位时,所有状态寄存器的写操作被禁止。
表5 块保护矩阵
状态寄存器 | 状态寄存器 | 芯片引脚 | EEPROM | EEPROM | 状态寄存器 |
WEL | WPEN | WP | 被保护块 | 未保护块 | WPEN,BL0,BL1,WD0.WD1,BITS |
0 | × | × | 保护 | 保护 | 保护 |
1 | 1 | 0 | 保护 | 可写 | 保护 |
1 | 0 | × | 保护 | 可写 | 可写 |
1 | × | 1 | 保护 | 可写 | 可写 |
3 芯片应用
3.1 硬件接口电路
在一个8051单片机系统中可按照图2的连接方式使用该芯片。
3.2 软件接口设计
根据图2的连接方式,笔者编写了七个实用的应用接口程序,供大家参考。
a.串行输出了程序
将累加器A中的数据按照高位在前的顺序(MSB)串行输出至X25165芯片中。
WD-OUTB:MOV R7,#08H;有8位数据要传输
WD-OUTB1:CLR P1.2;使SCK为低电平
RLC A ;将输出位移入C
MOV P1.1,C;进位位移入SI
SEIB P1.2;使SCK位为高电平
DJNZ R7,WD-OUTB1;判断循环是否结束
CLR P1.1;清SI
RET
b.串行输入子程序
将1字节的数据按照高位在前的顺序(MSB)从X25165中串行读入累加器A中。
WD-INB:MOV R7,#08H;有8位数据要接收
WD-INB1:SETB P1.2;产生SCK脉冲
CLR P1.2 ;
MOV C, P1.0 ;S0移入进位位C
RLC A ;累加器A带进位位去移
DJNZ R7, WD-INB1;判断循环是否结束
RET
c.读状态寄存器子程序
用于从X25165中读状态寄存器内容,读出的内容存放在A中。
WD-RD-SR:CLR P1.2 ;使SCK为低电平
CLR P1.3 ;芯片选择CS有效
MOV A,#05H ;RDSR指令送累加器A
LCALL WD-OUTB ;输出RDSR指令
LCALL WD-INB ;读取状态寄存器内容
CLR P1.2 ;使SCK为低电平
SETB P1.3 ;芯片选择CS无效
RET
d.写状态寄存子程序
该子程序可以设置块保护地址范围和可编程看门狗定时器超时周期。子程序中需要先使片选信号有效,然后用WREN指令设置写使能锁存器,8位指令输出后必须将片选信号拉高,这样才能使命令生效。同样,数据输出完成后也必须将片选信号拉高。
WD-WR-SR:CLR P1.2 ;使SCK为低电平
CLR P1.3 ;芯片选择CS有效
MOV A, #06H ;WREN指令送累加器A
LCALL WD-OUTB ;输出WREN指令
SETB P1.3 ;使CS为高电平
CLR P1.3 ;芯片选择CS有效
MOV A,#01H ;WRSR指令送累加器A
LCALL WD-OUTB ;输出WRSR指令,置状态寄存器
MOV A,#10H;无块保护,超时周期;800ms
LCALL WD-OUTB ;输出状态寄存器内容
CLR P1.2 ;使SCK为低电平
SETB P1.3 ;使CS为高电平
RET ;
e.读存储单元内容子程序
从X25165的串行EEPROM中读指定单元内容,需要先发送READ指令和16位地址,指定地址单元的数据在SCK脉冲的作用下就会从S0引脚依次移出。
WD-RD-DATA:CLR P1.2 ;使SCK为低电平
CLR P1.3 ;芯片选择CS有效
MOC A,#03H ;READ指令送累加器A
LCALL WD-OUTB;输出READ指令
MOV A,DPH;高位地址送累加器A
LCALL WD-OUTB ;输出高位地址
MOV A,DPL ;低位地址送累加器A
LCALL WD-OUTB ;输出低位地址
LCALL WD-INB ;读取(DPTR)单元的数据
MOV R4,A ;数据送R4
LCALL WD-INB ;读取(DPTP+1)单元的数据
MOV R5,A ;数据送R5
CLR P1.2 ;使SCK为低电平
SETB P1.3 ;芯片选择CS无效
RET
f.写存储单元内容子程序
该子程序向芯片内EEPROM的指定起始地址写入数据,与写状态寄存器子程序一样,程序中需要先输出WREN指令设置写使能锁存器。然后,按高位在前的顺序输出存放于DPTR中的16位地址和存放于R5、R4中的16位数据。最后,要循环检测状态寄存器的WIP位,直到芯征内容的写操作完成,以确保数据被安全可靠地写入芯片。
WD-WR-DATA:CLR P1.2 ;使SCK为低电平
CLR P1.3 ;芯片选择CS有效
MOV A,#06H ;WREN指令送累加器A
LCALL WD-LUTB ;输出WREN指令
SETB P1.3 ;使CS为高电平
CLR P1.3 ;芯片选择CS有效
MOV A,#02H ;WRITE指令送累加器A
LCALL WD-OUTB ;输出WRITE指令
MOV A,DPH ;输出高8位地址
LCALL WD-OUTB ;
MOV A,DPL ;输出低8位地址
LCALL WD-OUTB ;
MOV A, R4 ;输出低8位数据
LCALL WD-OUTB ;
MOV A,R5 ;输出高8位数据
LCALL WD-OUTB;
CLR P1.2 ;使SCK为低电平
SETB P1.3 ;使CS为高电平
WD-WIP-POLL:LCALL WD-RD-SR ;读状态寄存器
JB ACC.0, WD-WIP-POLL
;检测WIP位
RET
g.看门狗定时器复位子程序
只要在设定的看门狗定时器超时周期以内执行子程序并向芯片的CS引脚发送一个下降沿,看门狗就不会产生复位输出信号。
WD-EAT:SETB P1.3 ;
CLR P1.3 ;产生CS下降沿脉冲
SETB P1.3 ;
RET
笔者在设计车轮径轴向位移检测仪时使用了X25165芯片,从而简化了系统结构,降低了成本,提高了系统的可靠性,使用过程中保存的数据从未发生丢失现象,使用结果令人满意。
- 企业文化分享 如何培养稀缺的硅IP专业人员?SmartDV开启的个人成长与团队协作之旅
- 新帅上任:杜德森博士(Dr. Torsten Derr)将于2025年1月1日出任肖特集团首席执行官
- 英飞凌推出简化电机控制开发的ModusToolbox™电机套件
- 意法半导体IO-Link执行器电路板为工业监控和设备厂商带来一站式参考设计
- SABIC进一步深化与博鳌亚洲论坛的战略合作伙伴关系
- 使用 3.3V CAN 收发器在工业系统中实现可靠的数据传输
- 尼得科精密检测科技将亮相SEMICON Japan 2024
- 浩亭和美德电子(TTI)宣布战略合作伙伴关系现已扩展至亚洲
- Samtec连接器科普 | 链接智能工厂中的人工智能
- 2024年Automechanika Shanghai海量同期活动刷新历届记录,汇聚行业智慧,共谋未来发展
- 企业文化分享 如何培养稀缺的硅IP专业人员?SmartDV开启的个人成长与团队协作之旅
- 恩智浦发布首个超宽带无线电池管理系统解决方案
- 北交大本科生探秘泰克先进半导体开放实验室,亲历前沿高科技魅力
- 新帅上任:杜德森博士(Dr. Torsten Derr)将于2025年1月1日出任肖特集团首席执行官
- 边缘 AI 如何提升日常体验
- 苹果要首发!台积电宣布2nm已准备就绪
- AMD有望用上全新芯片堆叠技术:延迟大幅减少、性能显著提升
- 宁德时代发布10月战报
- 2024年10月电池行业:增长势头不减!
- 【投票瓜分2500元红包】2022得捷电子创新设计大赛优秀作品人气奖由你来定!
- 有奖征集:推荐你用过或了解的好用的电源芯片
- 【有奖下载】英飞凌《时尚小家电功率器选型指南》,详解兼具强大功能与潮流款式的小家电设计!
- 有奖活动:晒出你的电子心头好
- 3小时实战+剖析:TI工程师手把手带你全面入门MSP430(限量售$4.3开发套件,助你参与动手实验)
- 免费申请评测:欧时电子(RS Components)树莓派3来袭,待你玩耍带你飞
- 用富士通Cortex-M3 Easy Kit开发板,DIY出你的精彩!l
- 有奖直播|魏德米勒 OMNIMATE® 联接技术的创新发展
- LPC55S69 新一代基于ARM Cortex-M33内核 通用安全低功耗MCU
- 下载泰克电源设计测试方案+图文攻略 帮助工程师解决电源效率问题。有好礼