Go Down

Topic: NVRAM corrupted on reset (Read 1 time) previous topic - next topic

Senso

Use 3 10kOhm resistors its enougth to calm it down, and put one in each enable line, to connect them you put one end of the resistor in each enable line and the other end connects to 5v.

bozgrul35


Use 3 10kOhm resistors its enougth to calm it down, and put one in each enable line, to connect them you put one end of the resistor in each enable line and the other end connects to 5v.


OK, I'll test it tonite, thank you !

Boz

bozgrul35


Use 3 10kOhm resistors its enougth to calm it down, and put one in each enable line, to connect them you put one end of the resistor in each enable line and the other end connects to 5v.

Well... I've tried everything for several hours, and it's still not working... I'm feeling a bit lost. :0
Adding a resistor definitely drops down the amount of corrupted bytes, but some always remain...
And it doesn't matter if I pull up OR down the enable lines ! It doesn't change the amount of
corrupted bytes (I thought that pulling down the enable lines would result in a large amount of memory
corruption, but no, nada...). I've checked no voltage (0V) on the resistor with my voltmetter, during the reset phase. Is it normal ?
When I directly connect Chip enable & Write enable to GND (and disconnect them from arduino),
nearly the whole memory gets corrupted on the next reset. When I connect them to VCC, no corruption
happens at all. So I still think this is a good track to follow...
I've also tried higher resistor values (120 K) and lower (220 ohms). Nothing changes at all...
What could go wrong ?

Boz

Senso

I have one of those chips at home, I could try it.
Show me your code.

bozgrul35


I have one of those chips at home, I could try it.
Show me your code.

Hi, thank you, that's nice of you.
I've attached the code.
Just a short explanation of the wiring:
- I use 11 pins from the NVRAM (A0..A10). They are connected to pins 53, 51, 49, etc, on the arduino (eg, A0 is connected to pin 53, A1 to pin 51).
- data pins (D0..D7) are connected to pins 38,40,42, etc.
(address & data pins are in reversed order, it was just easier to wire... the "stepa" & "stepd" vars take that into account)
- pin 12 is for a push button, to allow to write again the nvram with correct data (ie memory = i & 0xff) if pushed within 4 seconds at start
- pins 22, 24 & 26 are for the chip enable, output enable and write enable pins.

BTW, my arduino is an ATMega.

Thank you for your time again...
Boz

Go Up