找回密码
 立即注册
查看: 103|回复: 4

断电保存数据,IAP方式比IIC快多少?

[复制链接]
  • 打卡等级:以坛为家II
  • 打卡总天数:565
  • 最近打卡:2025-06-15 08:38:42

113

主题

2027

回帖

5806

积分

论坛元老

积分
5806
发表于 2025-6-1 09:44:04 | 显示全部楼层 |阅读模式
我用的DS3231模块也具有24C32,这个用于保存用户数据(或设置参数)甚是方便。

而STC芯片也可以通过IAP来保存用户数据。
现在想在断电的瞬间保存相关数据,数据少的时候,将数据保存到24C32或STC内部EEPROM都应该来得及,没有问题。
但当数据量较大的情况下(例如128个字节或更多),就需要考虑两种方式保存数据的速度。
所以很想知道,STC芯片保存用户数据究竟比24C32快多少?
回复

使用道具 举报 送花

3

主题

727

回帖

165

积分

等待验证会员

积分
165
发表于 2025-6-1 09:48:00 | 显示全部楼层
在断电状态下,STC芯片和24C32芯片在保存数据时的效率和速度存在差异,这主要取决于存储容量、存储电压、温度等外部因素。以下是对两种芯片在断电时保存数据速度的比较,以及它们与中断控制模块(如DS3231)的关系。

1. 存储原理:IAP与内部存储器(EEPROM)
IAP(内部存储器):STC芯片和24C32芯片通过IAP(内部存储器)存储数据或参数。IAP芯片通常通过内部寄存器(如Eeprom)实现数据存储和加载。
外部存储器(ESE):大多数IAP芯片支持外部存储器,如24C32X或24C32Y,通过中断控制模块(如24C32中断控制单元)实现数据读写操作。

2. 存储速度的比较
内部存储器(IAP):由于内部存储器的效率较高,通常在相同存储容量下,IAP存储速度比外部存储器更快。例如,24C32X或24C32Y的存储速度通常为每秒200-300字节,而24C32IAP的存储速度可能较低(如每秒100-150字节)。
外部存储器(ESE):外部存储器的存储速度相对较慢,通常为每秒50-100字节,适用于较小的数据量。然而,当存储容量较大时,外部存储器可能无法满足需求,此时需要通过中断控制单元(如24C32中断控制单元)来实现数据读写。

3. 中断控制模块(DS3231)
DS3231模块:DS3231模块使用24C32接口,通常包括中断控制单元(如24C32中断控制单元)。中断控制单元通过中断信号(如中断位)来实现数据读写操作。
中断控制单元的作用:中断控制单元负责在中断信号到来时,管理数据的读写操作。中断控制单元的效率和速度取决于其内部寄存器的容量和设计。通常,中断控制单元的存储效率较低,因此在断电状态下,中断控制单元的存储速度可能不如IAP存储器快。

4. 断电状态下的数据保存
IAP存储器:在断电状态下,IAP存储器通过中断控制单元进行数据读写。中断控制单元的效率较低,因此在断电状态下,IAP存储器的存储速度可能不如外部存储器快。然而,当存储容量较大时,中断控制单元可能无法满足需求,此时需要通过中断控制单元的扩展或外部存储器来完成数据存储。
外部存储器(ESE):外部存储器通过中断控制单元进行数据读写操作。中断控制单元的效率较低,因此在断电状态下,外部存储器的存储速度可能不如IAP存储器快。然而,当存储容量较大时,外部存储器可能无法满足需求,此时需要通过中断控制单元的扩展或外部存储器来完成数据存储。

5. 总结
在断电状态下,IAP存储器(如24C32X或24C32Y)通常比中断控制单元(如24C32中断控制单元)快。
当存储容量较大时,中断控制单元可能无法满足需求,此时需要通过中断控制单元的扩展或外部存储器来完成数据存储。
如果你使用24C32中断控制单元(如DS3231模块),在断电状态下,中断控制单元的存储速度可能不如IAP存储器快,但可以通过中断控制单元的扩展来提高效率。

6. 具体比较
存储容量:对于较小的数据量(如128字节),中断控制单元可能足够快,无需外部存储器。
存储容量:对于较大的数据量(如2000字节),中断控制单元可能无法满足需求,此时需要外部存储器。
存储效率:IAP存储器的存储效率通常高于中断控制单元,因此在断电状态下,IAP存储器的存储速度可能更快。

结论
在断电状态下,IAP存储器(如24C32X或24C32Y)通常比中断控制单元(如24C32中断控制单元)快。当存储容量较大时,中断控制单元可能无法满足需求,此时需要通过中断控制单元的扩展或外部存储器来完成数据存储。如果你使用中断控制单元,可以在断电状态下快速完成数据存储,但需要确保中断控制单元的扩展和性能。

[本文内容由国芯人工智能辅助生成,仅供参考]
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:563
  • 最近打卡:2025-06-15 10:31:32
已绑定手机

50

主题

1816

回帖

3126

积分

论坛元老

积分
3126
发表于 2025-6-1 10:44:48 | 显示全部楼层
如果需要频繁写的话你还得考虑寿命的问题吧
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:207
  • 最近打卡:2025-06-15 14:11:16
已绑定手机

67

主题

1906

回帖

4279

积分

荣誉版主

无情的代码机器

积分
4279
发表于 2025-6-1 10:53:52 | 显示全部楼层
只写不擦除,IAP要快得多,us级。要是算擦除+写,24C32 是I2C传输时间加写入时间,都是5ms左右。
截图202506011050361137.jpg
截图202506011052082251.jpg
三天不学习,赶不上刘少奇~
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:459
  • 最近打卡:2025-06-16 00:13:00
已绑定手机

37

主题

2220

回帖

2656

积分

荣誉版主

积分
2656
发表于 2025-6-1 20:17:15 | 显示全部楼层
基于手册描述的理论操作时间比较如下
128个字节来说,不考虑擦除时间的情况下IAP编程时间应该是1~2ms左右,考虑先擦除的话,编程时间应该为6~7ms左右
24C32的编程时间应该是4次page编程,大概需要10~15ms左右
总体上差了10倍,实际上应该有所偏差,需要具体验证一下。
睁开眼睛做场梦~~~
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-6-16 04:25 , Processed in 0.121556 second(s), 80 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表