Unable to write to eeprom at28c256 HELP PLEASE - Page 1
Forum section: electronics / projects

author: Novacic
author_rank: Newbie
timestamp: August 12, 2017, 07:53:41 pm
content: I am trying to write atmel at28c256 on breadboard so I tied all address lines to ground, and all I/O lines also tied to ground. I untie I/O lines for reading, tie 'WE to high, 'CE to low, and 'OE to low for reading. I am reading all ones at I/O ports, no matter what address. So, when I try to write this eeprom I put 'OE high and with 'WE line I touch to ground so that should write stuff to memory but it does not, all I/O ports were connected. I also made small RC circuit with button on WE but that also does not work. Any toughts?

author: Andy Watson
author_rank: Super Contributor
timestamp: August 12, 2017, 08:11:28 pm
content: I think you need to apply more attention to the timing of the write-cycle. In particular, read section 4.6.1 of the data sheet - the chip specifically attempts to prevent data corruption by filtering-out write-cycles that do not conform.

author: ebastler
author_rank: Super Contributor
timestamp: August 12, 2017, 08:16:52 pm
content: Reading all "one" values is OK for a fresh EEPROM; that's the default content most of them come with from the factory. I understand that you are manually touching the /WE signal to GND, which is not ideal because the contact will most certainly bounce. But I would nevertheless expect that you can write something (if not reliably, then every now and then). A few ideas:What power supply do you use? Is it at 5V (more or less), and reasonably stable (with a 100nF decoupling cap close to the EEPROM)?You are keeping /CE at GND for the write operation, right?What do you connect the data lines to when you try the write? Do you also tie them to GND, or to a pattern (some th GND, some to VCC)? Just leaving them open would probably cause the inputs to float to a high state, so you would again write ones.

author: Novacic
author_rank: Newbie
timestamp: August 12, 2017, 08:23:33 pm
content: I dont think so because my voltage is higher than 3.8v, and my pulse on WE pin is way more than 15ns.Thank you for response.

author: Novacic
author_rank: Newbie
timestamp: August 12, 2017, 08:27:23 pm
content: Hi, thank you for response.I am using 5v 1a power supply from my phone charger, I am not using any capacitor to filter my vcc voltage, should I?I also tried writing with CE pin high and low.I tried with some pattern on I/O pins and all of them tied to low, but none of them worked.Have any other idea?

author: ebastler
author_rank: Super Contributor
timestamp: August 12, 2017, 08:58:17 pm
content: Hmm, that is a bit puzzling.It is good practice to place a 100nF capacitor between VCC and GND, as close as possible to the chip. This is meant to ensure a clean power supply, by buffering any fast power transients. In circuits with multiple chips, one capacitor per chip is good practice. It's worth trying to add one in your breadboard setup for stable operation; but I am not sure whether a missing cap is a likely explanation why you cannot write at all.Is that EEPROM a freshly bought chip? Do you know it is OK? Could it possibly have the software write protection set, for whatever reason? (Section 4.6.2. in the data sheet.)

author: Novacic
author_rank: Newbie
timestamp: August 12, 2017, 09:05:47 pm
content: Thank you for reply.I added a decoupling cap on my circuit but nothing changed just like you said.I do not know if chips have some kind of write protection or not, but I have 2 of the chips and I tried with both of them and stil getting the same problem.Chips are brand new, I bought them from ebay. I do not know if they are faulty or not.

author: amyk
author_rank: Super Contributor
timestamp: August 12, 2017, 11:36:21 pm
content: Quote from: Novacic on August 12, 2017, 08:27:23 pmPhone chargers are notoriously "dirty" power supplies, because their output is intended to be fed into a buck converter immediately when used in a phone. Perhaps you could try a 9V battery, a 5V regulator, and lots of bulk capacitance.