【问题标题】:Erase/Write block size of EEPROM of PIC chipsPIC芯片EEPROM的擦除/写入块大小
【发布时间】:2016-10-28 04:51:24
【问题描述】:

首先,对不起我的英语不好,因为我的英语水平不是很好......

在提问之前,我想说明一下我的情况,以帮助理解。

我想用 EEPROM 作为一种计数器。

该计数器的值会非常频繁地增加,所以我应该考虑耐力问题。

我的想法是,在多个地址上交替写入计数器值,以便将单元磨损减少 N。

例如,如果我使用 5x 面积进行计数,

计数 1 -> 1 0 0 0 0

计数 2 -> 1 2 0 0 0

计数 3 -> 1 2 3 0 0

计数 4 -> 1 2 3 4 0

计数 5 -> 1 2 3 4 5

计数 6 -> 6 2 3 4 5

...

因此,电池寿命可以延长 N 倍。

然而,AFAIK,对于当前的 NAND 闪存,数据擦除/写入是由一组字节完成的,称为块。因此,如果所有字节都在单个写入/擦除块内,我的方法将不起作用。

那么,我的主要问题是:PIC 的 EEPROM 的擦除/写入操作是由一组字节完成的吗?还是由单个单词或字节完成?

例如,如果它是由一组 8 字节完成的,那么我应该在每个计数器值之间做 8 字节偏移,以使我的方法正常工作。

否则,如果是按字节或字来完成,我就不用考虑间距/偏移了。

【问题讨论】:

    标签: pic eeprom


    【解决方案1】:

    来自数据表PIC24FJ256GB110 第 5.0 节:

    用户可以在 64 条指令块中写入程序存储器数据 (192 字节),并以 512 块为单位擦除程序存储器 一次指令(1536 字节)。

    但是,如果您将块的其余部分擦除(位为 1)并且 privius 内容保持不变,则您可以多次覆盖单个块。请记住:您可以只清除块中的单个位。

    8 次写入单个 FLASH 块后数据保留率会降低多少我不知道!

    【讨论】:

    • 这是描述一个实际上没有 EEPROM 的 PIC,但只能通过写入 Program FLASH 来模拟它。那些拥有真正 EEPROM 的人确实可以擦除/写入单个字节。 Microchip 有一篇关于使用 FLASH 模拟 EEPROM 的应用说明,我相信它描述了尽管块大小较大但延长寿命的策略。
    • 致 jasonharper,所以您的意思是每个 EEPROM 都能够按单字节擦除/写入?还是取决于型号,但几乎每个芯片都可以?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-02-01
    • 2018-03-30
    • 2019-08-08
    • 1970-01-01
    • 1970-01-01
    • 2014-09-29
    • 1970-01-01
    相关资源
    最近更新 更多