Questions tagged «eeprom»

缩写:电可擦可编程只读存储器。有时与类似于旧EEPROM部件的Flash部件一起使用。

7
使用EEPROM的替代方法
据我了解,EEPROM是计算机(在我的情况下是AVR微控制器)的一部分,它存储数据并即使在设备完全关闭时也可以保留数据。它允许将数据写入其中以及从中读取数据。 我看到的问题是,它的寿命有限,寿命很短。换句话说,在磨损EEPROM之前,我只能读/写有限次。 我正在寻找一种实现与EEPROM相同功能的方法,但尺寸要小。我想我可以使用诸如microSD卡之类的东西,但是我更喜欢不需要用户购买存储卡的解决方案。另外,我最多只需要几个字节的空间。假设1 kB非常非常保守。我将花费超出所需的费用来容纳任何类型的存储卡。 那我有什么选择呢?是否有任何通用的IC解决方案可以使我在不短寿命和高成本的情况下实现这种数据存储/检索?

5
I2C EEPROM位敲击:写正常,但仅当未设置第一位时
我目前正在使用位撞击驱动SDA和SCL线的I2C EEPROM项目。 我的读取功能可以正常工作,但是每当我写任何以“ 1”开头的字节时,我总会读回FF。即使该字节之前已经用其他方式编程过。领先的“ 0”是完美的。这不是我的阅读习惯;正如我在示波器上看到的那样,它返回FF。 我正在寻找关于为什么会这样的建议。有什么明显的我可能会引起问题的原因吗?[我无法发布代码-公司机密... :(] 我看到的每个波形都完全符合规范。我正在去耦EEPROM。我的引体向上是2.2k,所以在规格范围内。在此原型中,我的时钟频率约为500 Hz。芯片正在向我的每个字节发送ACK,以便识别它们。但这是行不通的... 我正在使用Microchip 24LC256。 一个字节的简化写入算法: wait SDA low SCL low wait for each bit if bit is set: SDA high if bit is unset: SDA low wait SCL high wait wait SCL low wait wait SDA high SCL high wait wait check ACK …
9 i2c  eeprom 

5
MSP430的内存建议
我正在使用TI MSP430开发一个测量应用程序,我想听听一些有关可以使用哪种类型的存储器的建议。 这个想法是在一段时间内使用它进行记录,然后在通过USB连接设备时将数据下载到PC。估计最多可容纳5MB数据,每个样本大约25字节数据。 一个简单的EEPROM芯片会做还是有更好的选择?

9
具有高耐久性的EEPROM
我目前在一个嵌入式项目中工作,其中有一个计数器将一直处于活动状态。如果断电,那么我还必须存储上一个计数器状态,并在下次启动时将其加载回去。因此,我打算使用EEPROM,在其中我将连续写入计数器值。但是我读过某个地方EEPROM具有大约100,000的读/写寿命,我将每24小时更新该计数器大约120,000。因此,我正在寻找替代方法来完成此任务。请给我您的建议。

1
SPI数据存储设备:(micro)SD卡,DataFlash或串行EEPROM?
我正在重新审视我的一些设计习惯,其中一个正在受到严格审查:基于SPI的存储设备是(micro)SD卡,因为它们的性价比高,而且速度通常更高。 在三种主要的基于SPI的存储设备中-(micro)SD卡,DataFlash和更简单的25Cxx系列SPI EEPROM(并24Cxx考虑了微控制器中的内置EEPROM和I2C EEPROM),这是给定用例的合适介质下面?请记住,我将所有介质都用作原始块设备,因此“ SD卡需要文件系统”参数不成立。 用例: 系统配置和校准数据。示例:以太网接口的MAC地址,机载参考电压的测量电压。 日志。示例:从传感器捕获的数据。 代码和代码资源(太大,无法容纳在程序存储器中或必须随身携带。)示例:系统更新,国际化和本地化字符串,用户界面资源,字体。 安全和数字版权管理。示例:加密密钥(公共和/或私有,对称和/或非对称)数字签名。

3
dsPIC上的EEPROM读/写错误
我正在运行Microchip dsPIC30F6012a。我在多个运行相同软件的PCB上安装了该芯片,并在所有PCB上观察到相同的问题。这意味着系统性问题,而不是一次性生产问题。这个问题也是可以重现的,这意味着如果我知道在哪里看,我应该可以杀死它。但是我仍然很难调试应用程序。 被测板接受24V,通过V7805降压至5V。该芯片在带有16x PLL的内部振荡器上运行,运行速度约为29.5 MIPS。该板上的相关代码本质上非常简单:唤醒,从EEPROM读取数据,然后进入无限循环。每毫秒中断一次,观察一些环境数据,并将更新的值写入EEPROM。还有其他事情,但是即使不相关的代码被注释掉,问题仍然会发生,因此我可以肯定地确定它与当前的问题无关。 在一般情况下,板卡有95%的时间以正确的内存值唤醒,然后继续其业务。但是,其他5%的时间会以错误的值唤醒。具体来说,它会以本应具有的数据的位翻转版本唤醒。我正在看的是一个四字节的无符号长整数,长整数的高位或低位字都可能被翻转。例如,10变成2 ^ 16-10,之后变成2 ^ 32-10。我可以通过手动重启数十次来重现故障,但这并不是很一致,并且我的开关手指已经磨损了。 为了以受控方式重现该问题,我制作了第二块板,该板驱动被测板的24V电源。(另一个dsPIC驱动达林顿光电耦合器。)测试板将24V关断1.5秒(足够长的时间使5V电源轨降到基本为0并停留在那里一秒钟),然后将24V开通一段可配置的时间长度。凭借大约520 mS的接通时间,我每次都能在五个电源周期内重现该EEPROM故障。 5V电源轨表现合理。假设我可以相信我的示波器,它会在开机1毫秒内稳定在5V,可能会有0.4V的过冲。关断时,它以指数方式衰减至0V,在50 mS内达到1V。我没有看似相关的构建警告,只有未使用的变量和文件末尾缺少换行符。 我已经尝试了几件事: 启用/禁用MCLR 启用/禁用WDT 启用/禁用代码保护 启用/禁用/更改掉电检测电压 启用/禁用/更改开机定时器 主内部振荡器上的不同PLL设置 连接/断开我的PICkit 3编程器 在5V电压轨上增加470 uF的电容 在我的MCLR引脚上的4.7k上拉电阻上添加/移除0.1 uF 禁用代码中的所有中断,并且在主循环中仅保留EEPROM更新 开始读取EEPROM之前,在启动例程中增加了1.5秒的延迟 我还编写了单独的测试代码,除了继续将值写入EEPROM然后再将它们读回以确保该值没有更改外,它什么也没做。数以万计的迭代没有出错。我所能得出的结论是,EEPROM读取或写入出现问题,特别是在上电/掉电时。 自2007年以来,我一直在使用相同的EEPROM库。我偶尔看到故障,但没有可重复的内容。相关代码可以在这里找到:http: //srange.net/code/eeprom.c http://srange.net/code/readEEByte.s http://srange.net/code/eraseEEWord.s http:/ /srange.net/code/writeEEWord.s 我以前在其他应用程序中曾见过EEPROM错误,但始终都是一次过的小故障,没有任何可重复的或一致的。 有人知道发生了什么吗?我没办法尝试了。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.