Forum: Mikrocontroller und Digitale Elektronik SRAM an ATMega 8515 funktioniert nicht


von Exe (Gast)


Angehängte Dateien:

Lesenswert?

Hallo liebe Forengemeinde,
Für ein kleines Projekt will ich den Speicher eines ATMega 8515 mit 
einem 512 kByte SRAM aufstocken. Als SRAM kommt ein AS6C4008 von 
Alliance Memory in den Einsatz. Als Latch verwende ich ein 74HC377 
dessen Enable Pin statisch auf 0 gezogen ist. Verdrahtet wurde alles wie 
im ATMega Datenblatt beschriebe. #WR des Atmegas and #WR des SRAM, #RD 
an #OE und ALE an den Clock des D Flip Flops. Die 3 übrigen 
Adressleitungen des SRAMs sind an PB0 bis PB2 angeschlossen. Die #CE 
Leitung des SRAMS liegt statisch auf 0. Das Problem ist, dass der 
Speicherzugriff einfach nicht funktioniert. Egal ob ich die Wait States 
verlängere und #CS vor dem Speicherzugriff erst 0 setzte. Hat Jemand 
eine Idee warum die Speicherzugriffe scheitern. Im Anhang füge ich noch 
das Testprogramm an.

Datenblatt SRAM: 
http://www.alliancememory.com/pdf/AS6C4008%20feb%202007%20with%20tsop%2011.pdf

Datenblatt Latch:
http://www.nxp.com/documents/data_sheet/74HC_HCT377_CNV.pdf

Mfg Exe

von Joerg L. (Firma: 100nF 0603 X7R) (joergl)


Lesenswert?

Ich kenne den Atmega zwar nicht... aber an einem 8051 funktioniert 
dieser Baustein nicht. Er ist kein Latch, sondern ein Register. D.h. die 
Polarität des Übernahmeimpulses ist genau verkehrt herum. Am 8051 tut 
nur ein 373 oder ein 573.
Bitte mal in diese Richtung suchen.

von Falk B. (falk)


Lesenswert?

@Exe (Gast)

>Für ein kleines Projekt will ich den Speicher eines ATMega 8515 mit
>einem 512 kByte SRAM aufstocken. Als SRAM kommt ein AS6C4008 von
>Alliance Memory in den Einsatz. Als Latch verwende ich ein 74HC377
>dessen Enable Pin statisch auf 0 gezogen ist.

Warum erfindest du ein ECKIGES Rad? DAS XMEM Interface funktioniert mit 
einem LATCH! Nicht mit einem FlipFlop! Nimm ein LATCH, dazu ein passend 
schnelles der AHC Serie, dann läuft das.

> Verdrahtet wurde alles wie
>im ATMega Datenblatt beschriebe. #WR des Atmegas and #WR des SRAM, #RD
>an #OE und ALE an den Clock des D Flip Flops.

ALE != CLK!!

von Andreas B. (andreasb)


Lesenswert?

Mach eine Skizze / Schaltplan. Ist so relativ schwirig so auswendig...

Hast du Messmöglichkeiten?

Oszilloskop, LogicAnalyzer oder ähnliches?


[Edit: OK, falk sieht die Fehler auch ohne Schaltplan, bin halt nicht so 
geübt, verkable meine RAMs normalerweise nicht selbst;-))

mfg Andreas

von Exe (Gast)


Lesenswert?


von Falk B. (falk)


Lesenswert?

Geht, aber nicht mit maximaler Geschwindigkeit. Dafür braucht man AHC.

von Exe (Gast)


Lesenswert?

Wie viel langsamer wär es mit 74HCT573? Und würde außer dem Latch so 
dann alles funktionieren?

von Falk B. (falk)


Lesenswert?

@ Exe (Gast)

>Wie viel langsamer wär es mit 74HCT573?

Steht im Datenblatt. Man braucht halt mehr Wait States bei 16 MHz. Bei 8 
MHz ist er gleich schnell.

> Und würde außer dem Latch so dann alles funktionieren?

Wenn du es wie im Datenblatt aufbaust wird es funktionieren.

von Exe (Gast)


Lesenswert?

Ok, vielen Dank für die Hilfe :D

von Joerg L. (Firma: 100nF 0603 X7R) (joergl)


Lesenswert?

Falk Brunner schrieb:
> ...DAS XMEM Interface funktioniert mit einem LATCH! Nicht mit einem
> FlipFlop! Nimm ein LATCH....
> ALE != CLK!!

Sieh an. Beim Atmega ist das ALE genauso wie beim 8051.

von Wilhelm F. (Gast)


Lesenswert?

Exe schrieb:

> Wie viel langsamer wär es mit 74HCT573? Und würde außer dem Latch so
> dann alles funktionieren?

Also wenn es folgendermaßen ist:

Joerg L. schrieb:

> Beim Atmega ist das ALE genauso wie beim 8051.

Dann ginge evtl. auch noch 74AC oder 74ACT, hatte diese für den 8051 mal 
hier bereit liegen. 74AC573 und 74ACT573. Das sind aber Typen für 3-6V 
bzw. 5V  Betriebsspannung, und eher gut für 5V-Systeme.

Vielleicht hat Falk mit AHC Recht, wenn der µC mit 3V oder weniger 
betrieben wird. Die Typenreihen müßte ich aber auch erst mal selbst raus 
suchen. AHC arbeitet bis 2V runter, AHCT wiederum mit 5V, meine ollen AC 
mit 3-6V, ACT auch nur mit 5V.

Im Detail muß man sich die Timing-Diagramme der Datenblätter von µC, 
Latch und RAM genau anschauen, diese sind sicherlich auch angegeben, und 
dann daraus den richtigen Baustein ermitteln. Und ja, das ist ein wenig 
Arbeit und genaues Hinschauen. Im Extremfall muß man noch Delays des 
Layouts mit einbeziehen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.