[技术讨论] Flash ROM中的ME丢失原因求助!

[复制链接]
1492|7
 楼主| yuanfff 发表于 2024-12-26 16:42 | 显示全部楼层 |阅读模式

电路如图,进行“上电12s,断电20s"的测试,机子概率出现不开机(一般10台跑14h会挂2台),原因为ROM中的ME被擦除
Flash 型号:Gigadevice 的 GD25LQ64ESIGR
CPU用的 Intel 的Gemini Lake SoC

目前已验证:
1、写保护WP脚直接拉低,没用,厂商回复,该硬件保护只能保护寄存器数据不被修改,无法保护ROM中的数据。
2、软件设置BP保护也没用。
3、怀疑电源不稳,将D29二极管换成0R电阻,出现丢失的概率变低。但是模拟二极管压降(使用电源单独输入,或者LDO调节转出),降低输入电压并没有复现到丢失。猜测是因为降低的输入电压过于稳定,无法模拟在开机过程中电压突然波动跌至异常。因此接回二极管,同时降低输入电压为1.6V,出现了不开机,但是ME数据只是部分被修改,没有出现擦除。


请求各位大佬帮忙分析一下可能原因,提供一些验证思路!不胜感激!急急急!客户提刀催了!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| yuanfff 发表于 2024-12-26 16:42 | 显示全部楼层
跪求!跪求!跪求!
fswyt 发表于 2024-12-28 09:18 | 显示全部楼层
看看是不是单片机上下电过程中对Flash进行误擦除了,单片机在最低启动电压附近运行会不稳定。
判断方法是把单片机对Flash擦除、写的代码直接屏蔽掉,不要编译到单片机内部,然后按照最容易出现丢失的条件进行测试。

评论

@yuanfff :如果你的单片机有多种电源供电,这就要着重考虑不同电源间的上电时序了,必须严格按照规定的时序来上电;  发表于 2024-12-28 14:16
@yuanfff :举个例子,假如单片机的额定工作电压是3.3V,在上电过程中,如果电源电压到达1V后,单片机的外部复位电路或者单片机内部的复位电路释放了复位信号,这时单片机就开始运行了,但是单片机能够稳定运行的电压必须高于1.6V(假设,具体参考使用的单片机手册),所以,在电压1~1.6V期间,单片机运行就不稳定,可能会出现程序跑飞,误调用了擦除指令;  发表于 2024-12-28 14:15
@yuanfff :如果单片机本身没有电压检测功能,就在单片机的复位电路上做下调整,总的就是让单片机的电源升到能够确保正常运行的稳定电压以上后,再释放复位电路;  发表于 2024-12-28 14:07
@yuanfff :先看看程序本身会不会有异常调用擦除指令的情况;然后看看你使用的单片机电源部分是否有低电压检测功能,通过配置,让单片机在安全电压以下不工作,在安全电压以上再工作,防止单片机在不稳定的电压范围内程序跑飞;  发表于 2024-12-28 14:05
确实用逻辑分析仪抓到了擦除瞬间,是CPU(Intel Gemini Lake SoC)那边发出了一个擦除指令,但是擦除原因未知。请问大佬该如何查找根因?  发表于 2024-12-28 09:53
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

6

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部