如何使用现成的串行EPROM仿真解决编码方案

描述

本文解释了如何使用现成的串行 EEPROM 的 EPROM 仿真模式以及不寻常的编码方案来解决问题。

动机

出于保修原因,有时需要对某些事件进行计数和记录,例如电源循环、操作时间、硬(按钮)重置和超时。用于此目的的传统电子计数器由触发器构建,使用二进制代码,如图 1 所示。当所有触发器都设置时达到最大计数,因此计数器的大小由在感兴趣的时间间隔内要计数的最大事件数。

非易失性存储器

在自然二进制代码中,位值从一位到下一位加倍。

满足要求

虽然基于触发器的计数器很容易构建,但它有很大的缺点。当它达到计数限制时,它会归零(重置自身)。它的操作也是不稳定的——它需要电力来维持其计数状态。第一个问题可以通过在达到极限时冻结计数器来解决;您可以通过连接电池来保持柜台电源来解决第二个问题。但是这些措施可能是不可接受的,因为它们会增加成本并且只能在有限的时间内起作用。

有一个替代方案。您可以在 EEPROM 或某种其他形式的非易失性 (NV) 存储中备份计数值。下次上电时,计数器可以预加载存储在此 NV 存储器中的值。除非将 NV 内存嵌入到另一个芯片(如微控制器或 FPGA)中,否则内存内容并不安全,因为内存芯片很容易在电路板上移除、重新编程(重置)和更换。因此,这种方法不满足不可复位的要求。

过去的诡计

EPROM 是另一种不需要电池的非易失性存储器。随着微处理器的出现,EPROM 在 1970 年代开始流行。刚出厂时,所有 EPROM 字节都读取 FFh。通过将单个位从 1(已擦除)到 0(已编程)进行编程来存储数据;编程需要 12V 到 13V 的脉冲。在加载新数据之前,您必须通过封装中内置的窗口将芯片暴露在高强度紫外线下来擦除整个内存。一次性可编程 (OTP) EPROM 没有窗口,因此无法擦除。由于这些不便之处,EPROM 的普及已经逐渐减少,取而代之的是 EEPROM 和高密度闪存,它们都可以在 5V 或更低的电压下操作和编程。尽管如此,通过将 OTP EPROM 的单向编程(1 到 0)和不可擦除性与现代 EEPROM 技术相结合,您可以获得一种称为 EPROM 仿真模式的新功能。EPROM 仿真模式是实现非易失性、不可复位计数器的关键技术。

EPROM 仿真模式

串行接口 EEPROM 的一个共同特征是页面写入缓冲器,它可以让您一次性编程整个存储器页面。收到写命令后,系统会自动将来自寻址存储器页面的数据加载到页面写入缓冲区。对于 EPROM 仿真模式,写缓冲器被实现为一个移位寄存器(图 2)。传入的新数据 (D-IN) 在进入缓冲区 (S-IN) 之前馈入一个与门,该门将其与缓冲区数据 (S-OUT) 组合在一起。因此,与门确保存储位在被编程为 0 后不能更改为 1。在页面的所有位的完整循环之后,缓冲区中的数据再次与存储页中的数据对齐。现在可以开始写周期,将整个缓冲区复制回非易失性 EEPROM。

非易失性存储器

EPROM 仿真将新数据和现有数据的按位逻辑与写回内存。

编辑:hfy

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分