Forum: Mikrocontroller und Digitale Elektronik externes SRAM an ATMega16


von Jan-Erik Schmutz (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

ich möchte ein externes SRAM an einen ATmega16 anschließen. Der
elektronische Anschluss sieht wie folgt aus:

PortB des Mega16 ist mit 2 latches und den IO-Ports des SRAMs
verbunden. Ein Latch liegt auf Adressleitung 0-7 das andere

auf 8-15 des SRAMs. Den CS1 und CS2 vom RAM habe ich direkt auf Vcc
bzw. GND gelegt damit das RAM immer "an" ist. WE/ und

OE/ liegen an PortD 2 und 3. Die LE Leitungen des LAtches liegen auf
PortD 4 und 5.
Die Routine die ich geschieben habe angehängt.
Ich habe mit dem Scope geschaut und die Adresse liegt richtig an den
Adressleitungen an.
Das Problem ist, dass ich keine Daten aus dem RAM lesen kann.
Dummerweise kann ich nicht überprüfen, ob die Daten richtig

geschrieben werden.
Ich wäre sehr Dankbar für jeden hilfreichen Tip.

Schöne Grüße

Jan-Erik



SRAM.h:


//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//+++++++++++++++++++++      SRAM     ++++++++++++++++++++++++++
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


#define OUTEN    2    // Output Enable SDRAM
#define WREN    3    // Write Enable SDRAM
#define ADDRLOW    4    // Latch Enable for low Address
#define ADDRHIGH  5    // Latch Enable for high Address
#define DATA_PORT  PORTB
#define DATA_PIN  PINB
#define CTRL_PORT  PORTD


void write_address(unsigned int address);
void Data_to_RAM(unsigned int address, unsigned char data);
unsigned char Data_from_RAM(unsigned int address);

von OldBug (Gast)


Lesenswert?

Die Funktion "write_address" kommt mir ein wenig seltsam vor, wie
sagst Du welchem Latch, daß es jetzt die Daten am Port übernehmen soll?

von OldBug (Gast)


Lesenswert?

Ach, sorry, zu schnell gepostet, ich sehs grad...

von OldBug (Gast)


Angehängte Dateien:

Lesenswert?

Probier doch mal das hier, bitte.
Ich habe Deinen Code mal ein wenig verändert, und zwar so, wie mir das
Logisch erscheint.

Vielleicht hilfts, wenn nicht, dann einfach nochmal Posten!

von Jan-Erik Schmutz (Gast)


Lesenswert?

Hallo OldBug,

ich habe deine Routine getestet und sie läuft super.

Nochmal tausend Dank für deine Hilfe.


Schöne Grüße

Jan-Erik

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.