Memory Problems

designeepromflashprogrammer

I've been having some problems with memory ICs, specifically Flash and EEPROM.

I've had some experience with the 7400 series for some time…logic gates are pretty straightforward. Input something, output something. But as soon as I move on to something more complicated, things just don't work for some reason. Everything looks okay on paper, but when I build it, it does not work. So how do you know that everything inside the chip is working the way they should?

The particular issue that I am facing is trying to program a 28C64 EEPROM IC. Reading it returns all ones, as expected. But as for trying to program, no dice.

I don't have time to create a schematic right now, but I might be able to add it later. For now, please try to visualize… 🙂

  • OE_ is held high.
  • WE_ and CE_ is manually controlled via switches
  • D0 to D7 is connected to DIP switch
  • A0 to A11 are connected to a 12-stage binary counter, a 74HC4040 IC
  • D12 is manually controlled via a DIP switch

  • Two buttons are used to control the binary counter, one to increment and one to reset

I've checked the inputs, and they are all correct. For the sake of simplicity, I tried to program pattern 0x55 (or 01010101) to address location 0x0000.

The procedure that I am using is as follows:

  1. Connect GND and Vcc
  2. Set DIP switch for data to 01010101
  3. Reset the binary counter (so that it outputs 000000000000)
  4. Set the D12 switch to 0
  5. Set CE_ to 0
  6. Set WE_ to 0
  7. Set WE_ to 1
  8. Set CE_ to 1
  9. Remove power

Why would this not work? I built another circuit on a breadboard to read it but it shows 11111111.

I am toggling the WE_ by hand, but it's usually supposed to be controlled by a CPU or a microcontroller. Is there a maximum time limit for the write pulse?

Also is it safe to disconnect Vcc power right after I program it? (Probably a stupid question)

Thanks,
fuzzyhair2

P.S. Same thing happens for the flash memory, the 29F010. After the unlock cycle and program, I see all ones.

Best Answer

The datasheet says the write pulse width is maximum 1000ns

Page 6 at http://www.futurlec.com/Memory/28C64PLCC.shtml