www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Externer Speicher ATMega128 Problem


Autor: Debugger (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

ich versuche schon seit Tagen vergebens den Fehler in meiner Schaltung 
zu finden. Das Problem liegt beim externen Speicherinterface. Ich 
Schalte mit der höchsten Adressleitung das Chip Enable Signal für das 
SRAM und die Restlichen anschlüsse sind im Schaltbild zu sehen.

Nach der initialiserung des Speichers mit:

MCUCR =   ( ( 1 << SRE ) | (1 << SRW10)  );

kann ich sogar auf diesen ab adresse 0x1100 zugreifen.

Ab Adresse 0x2000 jedoch ist der Speicher immer wieder in 8 KBlöcken 
gespiegelt. D.H. der Speicherinhalt wiederhohlt sich bei Adresse 
0x6000.Jedoch sind die Adressen 0x1100 bis 0x1fff nicht gespiegelt.
Ab adresse 0x8000 besteht kein zugriff mehr, da dieser Bereich durch 
eine Externe Logik und der höchsten Adressleitung ausgeblendet ist.

Was ist an dieser Schaltung nicht Korreckt (siehe schaltbild)
Macht es was aus die Adressleitungen (so wie im Schaltplan) wild 
durcheinander zu würfeln und beliebig am RAM anzuschließen?

ich weis einfach nicht mehr weiter

Danke

Autor: Michael U. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

die Adress- und Datenleitungen kannst Du durcheinanderwürfeln, das ist 
einem statischen Ram egal.

Ram zu langsam? Mal Waitstates eingeschaltet?

100n an AVR, Ram, Latch?

Ansonsten such den Kurzschluß in der Verdrahtung wäre meine Vermutung...

Daß der 62256 ein 6264 ist, will ich jetzt nicht vermuten. ;)

Mehr fällt mir gerade nicht ein.

Gruß aus Berlin
Michael

Autor: Debugger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

nach Kurzschlüssen hab ich schon gesucht, und alles nochmal nachgelötet.

auf dem RAM steht: BS62LV256SC-70
auf dem LATCH: 74HC573D

Waitstates habe ich auch schon probiert, aber schreiben im Memorywindow 
klappt ja. Nur es wird eben gespiegelt.

Autor: Magnus Müller (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hast du den Adressbus des mega128 auch so konfiguriert, daß ALLE 16 
Adressleitungen verwendet werden???

Gruß,
Magnetus

Autor: Debugger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die ganze konfiguration steht oben:

MCUCR =   ( ( 1 << SRE ) | (1 << SRW10)  );

mehr mache ich nicht bei der initialisierung

es werdenstandartmäßig alle Adressleitungen benutzt.
Wenn man dass nicht will muss man was am XMCRB Register drehen

Autor: Michael U. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Datenblatt vom Ram sieht wie üblich aus, das sollte also gehen.

Bei Rams weiß man ja leider nicht, wo er wirklich hinschreibt, da 
könntest Du höchtes komplett mit der jeweiligen Adresse in H/L 
aufeinanderfolgend beschreiben und dann auslesen, was wirklich drin 
ankam.
Mit üblichen Mustern über ein paar Byte merkst Du unter Umständen 
nichtmal, wenn Du woanders liest als Du schreibst.

Wie schnell ist Dein AVR getaktet? Wenn langsamer was ändert, würde es 
auf Timingprobleme beim Zugriff hindeuten. Sonst lasß das 
Memoryinterface aus, setze die Ports per Programm und schau, ob die 
Signale wirklich am Ram ankommen...

Gruß aus Berlin
Michael

Autor: Debugger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das mit dem ausgeschaltenen Memoryinterface ist eine gute Idee. werd ich 
mal nachmessen ob HIGH und LOW sowohl bei Daten als auch bei Adressen 
ankommt ;)

Grüße nach Berlin von Stuttgart

Autor: Debugger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo nochmal,
hab den Fehler gefunden Adressleitung 14 hatte einen kurzschluss.

Danke für eure Hilfe

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.