NAND flash program not reliable on MPC8308

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

NAND flash program not reliable on MPC8308

跳至解决方案
1,800 次查看
intrado_guy1
Contributor II

Hi,

 

We have designed a board with a MPC8308 and a NAND (Micron MT29F2G08). On some cards , when we try to reprogram the NAND flash with a new image, the write is failing during the verify stage. When we retry it always fails until we change the chip. We sent the defective chips to Micron and they say the chips are perfectly functionnal. If we install a new chip on a board the problem will go away but might return later. To program the NAND flash we have 2  options: using u boot driver or using our Lauderbach COP debugger. When the problem is present, both options fails to program the NAND.

It looks like something is marginal on our boards but we cannot find yet the source of the problem.

Anybody here had problem programming a NAND with a PowerQuicc II pro? How did you debug the problem? Is there a guideline for NAND flash detailing the timing, register settings, the algorithm, the things to double check in hardware...

 

Thanks

0 项奖励
1 解答
1,334 次查看
intrado_guy1
Contributor II

Hi,

 

I finally found the problem with the my flash. The signal LWE0_N had too much ringing on the falling and rising edges. As a patch, I've added a 27 pF capacitor on LWE0_N near MPC8308, this slow it down just enough  to eliminate all reflexions. I was able to remove all wait states and now the read / write accesses are very reliable.

 

Thanks everyone for the help,

 

在原帖中查看解决方案

0 项奖励
4 回复数
1,334 次查看
TomE
Specialist II

> Is there a guideline for NAND flash detailing the timing, register settings, the algorithm,

> the things to double check in hardware...

 

I've just had a look at the MPC8309 manual which I assume is close enough to the MPC8308.

 

There's lots of things you can fiddle in the FCM registers. You could try changing the Option Register timing (to relax and slow it down as much as possible) to see if that fixes it. You might also be able to slow down the LocalBus clock to see if that changes things.

 

I'd recommend going through EVERY timing parameter in the Micron Data Sheet "AC Characteristics" table and then comparing with the FCM programming. Then try to verify every one with a CRO.

 

Do you have a Development Board? Does it work OK? Does it use similar/same/different-brand chips? If it works, look for differences in the memory chip parameters, your board design or compare the signals side-by-side with a CRO.

 

Tom

 

0 项奖励
1,335 次查看
intrado_guy1
Contributor II

Hi,

 

I finally found the problem with the my flash. The signal LWE0_N had too much ringing on the falling and rising edges. As a patch, I've added a 27 pF capacitor on LWE0_N near MPC8308, this slow it down just enough  to eliminate all reflexions. I was able to remove all wait states and now the read / write accesses are very reliable.

 

Thanks everyone for the help,

 

0 项奖励
1,334 次查看
TomE
Specialist II

Check for over and undershoots on the address and data buses. We had SDRAM that was unreliable on a ColdFire part until we reduced the drive strength. See if you chip has that option.

 

Tom

 

0 项奖励
1,334 次查看
intrado_guy1
Contributor II

Unfortunately the MPC8308 does not provide driver strength control for its local bus. The undershoot is indeed a bit high on the data bus. I agree with you that it is the next thing I should improve as an attempt to fix the bug.

0 项奖励