Troubles with an AT49F040 - Page 1
Forum section: electronics / beginners

author: kenster2001
author_rank: Newbie
timestamp: April 11, 2011, 05:27:47 am
content: I've spent the better part of today working on a homemade flash programmer, but I've encountered a strange issue I haven't made much progress on solving.I've used the device to successfully read a 2Mbit mask ROM (DIP) and verified that the reading function of the device really does work. I bought 10 PLCC AT49F040 chips from eBay and I thought I would have a go at programming them.I read the datasheet and added flash erase and byte write functionality to my device. Everything seemed to work dandy, but It soon became apparent to me that whenever I tried writing to address 0, when I dumped the memory, I would have the byte I wrote at address 0 also at address 0x10000, 0x20000, 0x30000, etc. The same happened with address 1. I would get the same byte at 0x10001, 0x20001, 0x30001, etc.I initially thought something was wrong with my write functionality. I tried all manner of things, but eventually what I did was configure my scope on one shot mode and attached the probe to the A16 pin on the flash memory.The scope would not trigger.I deduce that the write functionality is not changing the state of the A16 line, which means that there is no way it is actually writing to any memory location at 0x10000.I double checked that A16, A17 and A18 were actually hooked up to the PLCC socket.Right now I am pretty much at wit's end.I figure there are couple possibilities:1) My PLCC socket is working perfectly except on A16, A17, and A182) The Flash memory chips are counterfeits with much lower capacity than stated. (All of my chips have the same date code: 0017, which is a little weird considering how old the parts are.)3) My breadboard is broken.4) I am an idiotIf anyone has any ideas, shout them out. I am pretty much all out. I bought another AT49F040 from a different seller on eBay. I'll test it when it arrives.

author: deephaven
author_rank: Frequent Contributor
timestamp: April 11, 2011, 08:37:03 am
content: You could send it a Product ID command and see what device type it reports back, just in case they have taken lower capacity chips and re-badged them.

author: slburris
author_rank: Frequent Contributor
timestamp: April 11, 2011, 03:10:40 pm
content: Does the scope trigger on A16, A17, and A18 when you try toreadthe contentsof the flash?Scott

author: kenster2001
author_rank: Newbie
timestamp: April 11, 2011, 09:11:42 pm
content: Quote from: deephaven on April 11, 2011, 08:37:03 amI just tried this and the manufacturer and product codes are a match to the AT49F040.I am beginning to think that there could be a connection issue in the PLCC socket...

author: kenster2001
author_rank: Newbie
timestamp: April 11, 2011, 09:12:58 pm
content: Quote from: slburris on April 11, 2011, 03:10:40 pmI just hooked up the scope and it fires during the read cycle.

author: deephaven
author_rank: Frequent Contributor
timestamp: April 11, 2011, 09:18:01 pm
content: If you're in the UK you are welcome to send me one and I could try it in my programmer.

author: kenster2001
author_rank: Newbie
timestamp: April 11, 2011, 10:12:06 pm
content: Thanks for the ideas guys, but I tracked down the problem.The PLCC socket is screwed up.If I wedge toothpicks on the upper address pins, it works as it should.Looking at the socket pins with the chip removed, nothing looks particularly out of the ordinary (or at least did until I jammed toothpicks into them).I guess I am going to avoid 3M PLCC sockets in the future.