奇怪的Flash芯片数据丢失情况咨询(求助)
目前在做一个工业使用的电路板上使用了64M Flash,使用Windows CE操作系统。在研发过程中,出现现象如下:<br />1.发现手触摸焊接有Flash芯片的电路板以后,Flash内部的Windows CE映像文件被破坏,导致运行E-boot引导程序以后,无法启动Windows CE。(出现了十几次了)<br />2.重新将WIndows CE 映像文件烧录到Flash芯片以后,又能够启动操作系统。<br />3.CPU的数据线和地址线都在一块板内部,没有引出到外面而裸露在空气中。<br />4.Flash芯片的封装是SSOP48封装(引脚排列在两边的封装),而没有采用FPGA封装。<br />5.芯片使用三星品牌。<br />6.数据线和地址线没有严格按照等长线布线,有1-2mm误差。<br />7.使用8KV空气放电,6KV接触放电通过。(不是直接对CPU最小系统部分,放电点距离最小系统空间距离有5-6 CM 距离)<br /><br />请教各位前辈,Flash数据丢失是什么原因呢?问题描述的不够详细
推测楼主用的是K8P6415 B-die page 64Mbit NOR flash 。<br />偶然性出现系统文件被破坏的情况,在一台机器上重复出现还是在多台机器上均会出现?被破坏的flash读出来和正确的校验,看看破坏面多大,有什么规律问题补充:使用的是Inter 的Nor Flash,型号JS28F256P30B96
推测楼主用的是K8P6415 B-die page 64Mbit NOR flash 。<br /><br />答: 仔细看了一下Flash出错的的型号,原来是是Inter 的Nor Flash,型号JS28F256P30B96,而不是三星的品牌。<br /><br /><br />偶然性出现系统文件被破坏的情况,在一台机器上重复出现还是在多台机器上均会出现?被破坏的flash读出来和正确的校验,看看破坏面多大,有什么规律<br /><br />答:1)研发过程中,是在多台机器均出现过。<br />2)装好外壳以后,进入系统测试,反复重新启动运行,都没有出现Flash被破坏的现象。<br />3)Flash被破坏的时候,一般都是人体直接接触到了焊接有Flash芯片的板子。<br />4)没有对破坏的Flash读操作过,一般发现不能重新启动,就重新进行Flash烧录。<br /><br />补充: PCB布局上,Flash芯片放在PCB边缘,人体很容易接触到Flash芯片。<br /><br />我的疑问:<br />1. Flash数据被破坏,是否表示Flash内部的存储单元已经被物理破坏了?<br />2. 这种现象是否是静电引起的,跟Flash的数据/地址线的PCB布线有什么关联吗?(不是布局,这个PCB布局是不好的)<br />3. 有什么解决方案?没碰到这种问题
以前产品有静电问题都是直接损坏芯片内部PAD/电路或者电容之类的。<br /><br />推测如果是Nor Flash,因为单元直接排列的,没有磨损管理和备份,建议可以将Flash编程/校验是否单元损坏<br />再判断是否为地址线损坏。<br />弄个其他的系统,俺对wince不是熟悉
或者裸奔。<br />把芯片中数据做md5,显示到屏幕上。<br />然后你不断的摸啊摸。如果没问题,就可能是wince的问题。<br />如果有问题 , 就是抗干扰差,换芯片试试看。<br /><br />首先要分清是软件问题,还是硬件问题。是否上电触摸?
nor flash最大的问题是位翻转,不过楼主的问题貌似不象;<br />是否上电时接触?问题貌似已经解决
经过长期观察,Flash数据丢失,导致不能启动Win CE的原因推测肯能如下:<br />1. 由于Eboot启动时候将串口打开,并且可以从串口接收命令,从而启动Eboot的不同程序,实现不同的功能。<br />2. 设计上串口接到了一个CPLD上,CPLD上电受处理器控制。<br />3. Eboot在打开串口可以接收命令的时候,刚好也是CPLD上电的时候,如果这个时候人体静电干扰到了CPLD,会导致CPLD送一些无规律的数据到Eboot里面,导致Eboot程序对Flash就行了操作。<br /><br />改进措施:<br />1. 将Eboot程序中的CPLD上电时序和Eboot串口接收时序进行优化,等待CPLD上电进入稳定以后在执行Eboot串口相关程序。<br />2. 优化CPLD器件的布局,使人体静电干扰不到。<br /><br /><br />目前经过改进措施以后,程序运行了半个月没有出现Flash数据丢失的现象了!最终问题是否解决,还需要继续进行观察!我也碰上该问题
<br />我做的产品也有这个问题。<br />使用的64mb的nand flash,有nboot和eboot<br />实验室和qa部门怎么都测试不出来,<br />但是出货后,必定有10%的机器会数据丢失,无法启动,重新升级就好了。<br /><br />但是wince系统都是由nboot直接加载运行就不运行eboot了,串口也有输出,产品但是没有接串口,但是照样丢数据,这是怎么回事呢?这个问题曾经困扰俺好久
后来在/WP加10K上拉解决了,别相信芯片这个端口的内部上拉,焊接时,芯片可能因为uA级的漏电电流供电,处于某种临界状态,改写数据。做ESD都上电的,体现不出来。它又不是女人,你老摸它干什么?!
但是,也得提防蚂蚁这样的乱摸啊
要是意志不坚定,一摸就红杏出墙了...<br />那肯定还是你的问题啊。没事别乱摸,若是高压(或高静电压),会...
该问题很普遍
长见识了蚂蚁除了芯片设计,还有啥没搞过。
页:
[1]