首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 单元电路介绍 > 其它电路
基于X24C45芯片的非易失性数据存储设计
来源:本站整理  作者:佚名  2010-04-08 18:53:45



基于X24C45芯片的非易失性数据存储设计

  为了少占用CPU的I/O端口,X24C45的DI脚和DO脚通常连接到CPU的同一个I/O口(如图1所示)。READ指令将RAM中AAAA地址的数据读出,该指令的最低位为无关位,这样正好允许在READ指令的第八个时钟周期内将I/O口由输出转换为输入。RAM的读操作时序如图3所示。

  WRITE指令将数据写入RAM的AAAA地址中,其时序如图4所示。需要说明的是,RAM中的每个地址存储16bit数据。

  3 X24C45应用时需注意的问题

  X24C45实际应用时与CPU的连接如图1所示。前面已经提到为节省CPU的I/O端口,可以将DI脚和DO脚连接到CPU的同一个I/O口(PA4)。

  在此要特别强调的是,电容C和二极管D本来是没有加上去的,X24C45芯片手册中也没有这样说明。但在实际应用中笔者发现,在没有加上电容C和二极管D的情况下,X24C45会出现掉电时备份数据出错的现象。究其原因,是因为在X24C45中将当前数据由RAM存储到EEPROM时需要一定的时间(该时间典型数值为2ms,最长可达5ms),而且启动自动存储的阈值电压在4.0V~4.3V之间,数据由RAM存储到EEPROM所需要的最低电源电压为3.5V,掉电后电源电压由阀值电压电路和负载的不同而不同。显然,掉电后电源电压由阀值电压下降到3.5V所需的时间如果少于数据由RAM存储到EEPROM所需的时间,就会出现一部分数据因不能被及时备份而丢失的问题,而这种问题的出现如果不采取相应的措施是可能被避免的。图1中的电容C和二极管D可以保证掉电后X24C45电源端的电压由阀值电压下降到3.5V所需时间足够长,从而杜绝掉电时备份数据出错的情况。

  4 X24C45相关操作的软件实现

基于X24C45芯片的非易失性数据存储设计

  X24C45与MC68HC05C4单片机的硬件连接如图1所示。下面给出与其对应的有关X24C45的前次数据恢复到RAM和自动存储功能能使设置等操作的软件编程。

SAMP:LDA #$1C $1C=00011100
STA $04 设置PA2、PA3、PA4为输出
LDA #$00
STA $00 初始化PA2、PA3、PA4为0
LDA #$85 $85=10000101为RCL指令
STA $81 将RCL指令送至待发送地址
JSR CEHI 调用置CE为高子程序
JSR OUTB 调用输出8bit子程序
JSR CELO 调用置CE为低子程序
LDA #$82 $82=10000010为ENAS指令
STA $81 将ENAS指令送至待发送地址
JSR CEHI 调用置CE为高子程序
JSR OUTB 调用输出8bit子程序
JSR CELO 调用置CE为低子程序
……
CEHI:BSET 2,$00 置CE(PA2)为高
RTS
OUTB:LDA #$08 准备移出8个bit
STA $84 将8送至计数器
LOOP:ROL $81 待发送内容循环左移
BCC IS0 C=0转移至IS0
BSET 4,$00 送1至DI/O(PA4)
BRA IS1 跳转至IS1
IS0:BCLR 4,$00 送0至DI/O(PA4)
IS1:JSR CLOCK 调用时钟信号子程序
DEC $84 计数器减1
BNE LOOP 计数器内容≠0跳转
RTS 计数器内容=0结束
CELO:BCLR 4,$00 将DI/O(PA4)拉低
BCLR 2,$00 置CE(PA2)为低
RTS
CLOCK:BSET 3,$00 置SK(PA3)为高
BCLR 3,$00 置SK(PA3)为低
RTS

基于X24C45芯片的非易失性数据存储设计

  限于篇幅,CPU对X24C45其它操作的软件编程不再赘述。按照上述硬件、软件的设计思想,已将X24C45成功地应用在电话计费器的设计中。

上一页  [1] [2] 

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)

推荐阅读

图文阅读

热门阅读

Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:91,972.66000 毫秒