How to generate a short pulse for EEPROM's

Thread Starter

Hnagd

Joined Nov 2, 2023
16
I'm programming a AT28C256-15PU EEPROM, and am having trouble with the 100-1000 nanoseccond pulse. I know of RC circuits, but don't have any capacitors. Is there any way to do this without them, or do I have to buy capacitors?
 

dl324

Joined Mar 30, 2015
18,220
Welcome to AAC!
Is there any way to do this without them, or do I have to buy capacitors?
You could do it with a microcontroller.

You could buy some capacitors, but programming without a microcontroller of some sort seems like a lot of work. I programmed a couple of 32x8 PROMs manually when I was in school, but now I'd use an RPi or some programmer.

What is the pulse for?
 

Papabravo

Joined Feb 24, 2006
22,058
So is a RC circuit the only solution to write it manually?
No there are other alternatives, but they may be beyond your capabilities to design.
What you need is a non-retriggerable one-shot, also known as a monostable multivibrator. You still might need to buy some capacitors.
 

atferrari

Joined Jan 6, 2004
5,001
While not a direct answer to your question I recall using a pulse output through a pin of the micro in charge. Somebody before proposed that solution already.

Clean and simple with few lines of code.
 

MrAl

Joined Jun 17, 2014
13,667
Hello there,

Capacitors are typically used for timing but microcontrollers can provide an accurate pulse width that will be consistent for a long time to come. Capacitors can change value, however I did the same when I built my own UVEEPROM programmer a long, long, time ago. Today I would grab a simple 8 pin microcontroller and wrap that up in less than an hour. That would be the preferred method today.

Using an RC network, you could use a Schmitt trigger cmos gate to detect the current going through a series capacitor.
A series RC network just alone by itself will provide a spike of voltage on the output when you input a voltage step. If that spike is fed into a Schmitt trigger, the output of that is a clean pulse. The width is determined by the RC values.

That's one way to do it, although there are other ways too. A regular one-shot gate can do it also, but there's no getting around using a capacitor I don't think unless of course you really feel like setting up some logic chips to grab just one pulse of a crystal oscillator, which would give a very precise pulse width. For longer pulses you would have to use a digital divider with the crystal. A 10MHz crystal might do it though. The logic would be set up such that it allows only one pulse through when triggered by your programmer signal.
The pulse width most likely has a tolerance where it cannot be too long or too short. You'll have to look into that. If you don't get it right, the memory may fade sooner than expected.
 

MrChips

Joined Oct 2, 2009
34,628
I don't see anywhere that there is a 100-1000ns limitation.
However, 74LS123 monostable multivibrator can generate as low as 50ns pulse width.
 

MrAl

Joined Jun 17, 2014
13,667
I don't see anywhere that there is a 100-1000ns limitation.
However, 74LS123 monostable multivibrator can generate as low as 50ns pulse width.
Hi,

I think you are right about that for the EEPROM. I mistakenly referred to the UVEPROM which has such a spec. I remember that from many years ago because I had to do a circuit that generated a special programming pulse.

I don't remember the spec on the EEPROM I would have to look up my Microchip code. Before that I relied on the Arduino library.
Come to think of it, don't those chips use I2C or something? It's been a while now since I worked with one. I2C has it's own specs. If this is correct, then there is more to it than just a single pulse there is an entire protocol involved. If it is not I2C then it is another similar protocol.
 

Thread Starter

Hnagd

Joined Nov 2, 2023
16
Ok- I did not think I would be back here. Thanks for all the solutions you have provided me, but I have come into another conundrum- I bought capacitors, but it turns out my smallest capacitor = 100 nF, and my smallest resistor is 22 ohms equaling 2200 nano-secconds. Any advice?
 

Thread Starter

Hnagd

Joined Nov 2, 2023
16
So I looked up deviding resistance, and if I were to run 3, 22 ohm resistors in parallel, then It would equate to about 7.3 ohms. If I were to use this with a 100 nanofared capacitor, I think it would equal a 730 nanoseccond pulse. Is this right?
 

Thread Starter

Hnagd

Joined Nov 2, 2023
16
I quickly drew up this diagram. Would this RC circuit generate a pulse between 100 - 1000 nanosecconds? (The LED is the output)Screenshot 2023-11-04 20.15.44.png
 

MrAl

Joined Jun 17, 2014
13,667
I need a 100-1000 NS pulse
Hi,

Can you show a data sheet that say this is needed? I do not think you need a pulse just a high or low signal, but it's been a while since I used one so if you could show a data sheet or link I'll check it out anew. I can do that too though if you don't get back here right away.

Yes, when you parallel resistors you get a lower value and with a fixed capacitor that would mean the time constant would decrease. However, that means you also lower the impedance which may not work well with what you are using to drive the RC combo.
At this point maybe you should post a schematic as well.

LATER
Ok this looks like a non I2C chip it's just made like a regular static ram chip. You set up the address, you set up the data, then you do something else and the data gets stored. However, I do not see an upper timing spec for the WE pin (actually a 'not' WE pin), I just see 100ns minimum. If you see something else maybe you should post a screen shot or the data sheet. The actual programming is done internally and is also internally timed to make using the chip easier.
 
Last edited:
Top