NorFlash不稳定问题(S29GL256P10TF101)

公告

大中华汽车电子生态圈社区并入开发者社区- 更多资讯点击此

Tip / 登入 to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
xich_4817226
Level 2
Level 2
5 replies posted First question asked First reply posted

我们使用CPU型号为P2020NXE2KHC,搭配SPANSION,型号:S29GL256P10TF101,配置在ELBC的CS0上,efe05000: f0001001 fe000ff7,其他CS不使能;

这时候,我们在固件下使用:mw.w f0000AAA aa 1;mw.w f0000554 55 1;mw.w f0000AAA 90 1;md.w f0000000,发现有时候读取的Manufacturer ID不对,正常应该是0x0001,但有的时候是0x0211;抓取0x0200和0x0010这两位的数据的波形(一样)发现很奇怪,正常应该是低,详细如下:

请问大家有遇到类似的情况吗?或者有什么建议?@

0 点赞
1 解答
xich_4817226
Level 2
Level 2
5 replies posted First question asked First reply posted

感谢大家,问题已解决,确定是芯片本身有问题。

在原帖中查看解决方案

12 回复数
xich_4817226
Level 2
Level 2
5 replies posted First question asked First reply posted

     此前图片好像没有上传成功,这里补上:

1-FVP-5134-NorFlash 读取ID波形抓取0x0211-的非D0.jpg

0 点赞
Roy_Liu
Moderator
Moderator
Moderator
5 comments on KBA First comment on KBA 10 questions asked

1)从OPN(S29GL256P10TFI01)来看,01表示Vcc=Vio=2.7-3.6V, 你的Vio是否连接相应电压还是悬空?Vio必须连接与OPN相一致的电压范围不能悬空,否则会导致芯片工作异常。

2)从使用的命令来看应该使用的是byte模式,请确保Byte#管脚下拉至VIL并且按照A-1方式连接地址管脚。

3)读取Manufacture ID的x8命令应该是AAA-AA-555-55-AAA-X00-01,好像你写的命令少了最后的01,不知道是不是漏写了。

Roy Liu
0 点赞
xich_4817226
Level 2
Level 2
5 replies posted First question asked First reply posted

1)VIO已经连接相应电压;

2)命令是16位操作,Byte#上拉至VIH;

3)x16命令读取Manufacturer ID 4 555 AA 2AA 55 555 90 X00 01,最后的X00 01应该是读取任何X00的地址,读取的值是01;

     这个操作在NorFlash正常时,操作是没问题的,NorFlash本身也使用正常。

0 点赞
Roy_Liu
Moderator
Moderator
Moderator
5 comments on KBA First comment on KBA 10 questions asked

会不会还有其他的master访问造成冲突?在某个时间点与输出相反从而产生这种半波?

Roy Liu
0 点赞
xich_4817226
Level 2
Level 2
5 replies posted First question asked First reply posted

ELBC上总共挂载了3个硬件设备,1个FPGA芯片(CS2),2个一样的NorFlash(CS0/CS1);只设置CS0,其他关闭,也有这种情况。

0 点赞
Roy_Liu
Moderator
Moderator
Moderator
5 comments on KBA First comment on KBA 10 questions asked

这个是某些芯片有这个问题?还是所有芯片都能正常访问数据,只有读取ID时才会出现这个问题?

Roy Liu
0 点赞
xich_4817226
Level 2
Level 2
5 replies posted First question asked First reply posted

所有的芯片,都有读取ID正常的时候,这是读写Nor是正常的,但有时候(概率很高)读取ID不对。

0 点赞
VincentH_06
Employee
Employee
10 replies posted 5 replies posted First solution authored

那有没有什么容易触发读ID异常的情况?如高温、电压不稳或是与运行软件负载情况相关?另外这个读取ID出错的过程是在软件的固定位置(如启动时固定位置去读取判断ID)还是专门代码循环测试读取ID是也会出错?

0 点赞

暂时没有发现复现的充分条件。读取ID出错往往是决定在上电,本次上电后出错就是一直会出错,若上电后正常则一直正常,这个报错不管是在启动中,还是在启动后手动执行读取。

0 点赞
VincentH_06
Employee
Employee
10 replies posted 5 replies posted First solution authored

1)  请问一下NOR Flash的data pin默认是上拉还是下拉?

2)PNOR是没有ALE pin的, ALE/CLE是用在NAND上的,图中ALE也在变化,是不是还有别的master正在使用总线?或是由于保持时间过长导致信号干扰到NOR flash的操作

3)图中 delta X显示是74ns,那从OE#下拉到白色虚线位置来看比delta X多一点,应该正好是part number对应的100nS的tACC,也就意味着从白色虚线开始才是NOR flash输出的0值低电平,但是由于还有驱动能力更强的信号输出1的高电平,才造成大概2V的半波效果,这个波形更像是总线冲突

0 点赞

1)DATA线默认只是连接到ELBC上,并不上拉或者下拉;

2)ALE是用来锁存地址操作;实际使用上,只操作CS0。

3)我们也这么怀疑,试验的现象的确表明像是总线的争用,但问题是ELBC上只初始化CS0,只用CS0,和谁争用呢?

0 点赞
xich_4817226
Level 2
Level 2
5 replies posted First question asked First reply posted

感谢大家,问题已解决,确定是芯片本身有问题。