mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik SRAM UM6164 mit AVR?


Autor: Jörn (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin,

ich habe ein Problem mit einer Schaltung für zusätzlichen externen RAM 
(UM6164 mit dem AT90s8515). Hat vielleicht jemand so eine Schaltzung 
schonmal aufgebaut und besitzt einen Schaltplan davon oder kann sie 
detailliert erklären?

Vielen Dank im Vorraus,

Jörn

Autor: thkaiser (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du mußt den Daten- und Adressbus mit dem 8515 nachbilden; ich habe aber 
leider momentan keine Ahnung, wieviele Port-Bits der zur Verfügung 
stellt. Je nachdem, wieviele Portbits Du "opfern" willst, mußt Du mehr 
oder weniger Aufwand betreiben. Prinzipiell brauchst Du beim 6164  24 
programmierbare Leitungen: 8 für den Datenbus, 13 für den Adressbus und 
nochmals 3 für den Steuerbus, wobei beim Steuerbus notfalls  eine 
Leitung entfallen könnte (CE mit RD verbinden).
Ich habe vor Ewigkeiten mal einen solchen Baustein an einen AT90S2313 
angeschlossen, da muß man ein wenig Tricksen, um die 24 Leitungen 
herauszukitzeln: Mit Multiplexing.
Prinzip: Der PORTB wird als 8 Bit breiter bidirektionaler Bus genutzt. 
Daran sind zwei Latches (74HC574) angeschlossen, die den Adressbus 
bereitstellen, so habe ich sogar einen 16-Bit Adressbus. Über 3 Pins des 
PORTD und einen 74HC138 habe ich die gesamte Adressierung gelöst. Somit 
sind lediglich 11 Port-Pins notwendig, um 64K externen Speicher 
anzusteuern, der Software-Aufwand hält sich in Grenzen.
Wenn dies Deinen Vorstellungen entspricht, werde ich auf den Weiten 
meiner Festplatte mal suchen, ob ich den Schaltplan noch finde....

Autor: Andreas Schwarz (andreas) (Admin) Benutzerseite Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
!?!?

Warum so umständlich? Der 8515 hat einen Datenbus für externen RAM.

Autor: Jörn (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich würde auch im Moment leiber weniger tricksen und dafür auf Nummer 
sicher gehen, dass es auch funktioniert; so wirklich 
frustrationstolerant bin ich da nicht.
Bei den 13 Pins Adressbus würde ich gern nachhaken: Eigentlich dachte 
ich, dass man zum adressieren von 64K 2 8bit Adressen bräuchte. Nun ist 
der 6164 natürlich in 8K Speicherzellen, oder wie man es nennen mag, 
organisiert. Versteht der AT90S8515 das, oder braucht der eine spezielle 
Speicherorganisation?
Und wie muß ich die beiden Chip-Enables verbinden, damit das ganze 
funktioniert? Da ist beim externen RAM-Interface des 8515 ja nichts für 
vorgsehen.

Danke schonmal für die schnelle Hilfe,

Jörn

Autor: mikki merten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Jörn
Schau mal ins Datenblatt des 8515. Dort ist eine Beispielschaltung für 
externes Speicherinterface dargestellt.

Autor: Jörn (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Habe ich schon. Besonders detailliert ist diese aber nicht und gibt 
entsprechend auch keine Auskünfe darüber, wie ich mit den Chip-enables 
und den wenigen Adressleitungen umgehen soll.

Autor: thkaiser (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Andreas: Sorry, das wußte ich nicht. Ich arbeite nur mit den kleinen 
Atmels. --> Wieder etwas dazugelernt ;-)

Autor: thkaiser (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nachtrag zu Jörn: Der 6164 hat 64KBit, die 8K*8Bit organisiert sind, 
also 8 KByte. 8 KByte brauchen 13 Adressbits (A0..A12)

Der Steuerbus besteht aus:
1. CE (oder auch CS = Chip Enable, Chip Select)
2. RD (Read, auch RE = Read Enable)
3. WR (Write, auch WE = Write Enable).

Alle Eingänge des Steuerbus sind Low-Aktiv, d.h. die Funktion ist 
ausgewählt, wenn die entsprechende Leitung auf Low liegt.

So, flugs das Datenblatt heruntergeladen.... stimmt: Für Anfänger nicht 
sehr berauschend.

Um Portpins zu sparen, ist der Daten/Adressbus gemultiplext (wie auch 
beim MCS-51). Um an die richtigen Signale zu kommen, müssen die Signale 
nun wieder auseinandergedröselt werden. Port A beinhaltet den Datenbus 
und die unteren 8 Bit des Adressbusses, aueinandergehalten wird der 
jeweilige Inhalt (Adresse oder Daten) durch die ALE (Adress Latch 
Enable) Leitung. Der geheimnisvolle Baustein in der Mitte ist ein 
solches Latch (=Zwischenspeicher).
Bei einem Speicherzugriff passiert nun folgendes: Der 8515 gibt auf 
PortA das Low-Byte der Adresse aus und aktiviert über ALE das Latch. 
Dieses speicher die Adresse. Ganz nebenbei wird auf PortC das High-Byte 
der Adresse ausgegeben. Nun wird der PortA als Datenbus konfiguriert (je 
nach Schreib-oder Lesezugriff), nun wird per RD oder WR die Art des 
Zugriffs (lesen oder schreiben) festgelegt.
Als Latch kannst Du beispielsweise ein 74HC573 verwenden. Einfach PortA 
0..7 mit D 0..7 des Latch verbinden, nebenbei wird PortA 0..7 auch mit D 
0..7 des RAM verbunden. Q 0..7 des Latch werden mit A 0..7 des RAM 
verbunden, A 8..A 12 des RAM mit PortC 0..4
Die restliche Verdrahtung wie im Datenblatt - fertig. Fast vergessen: 
Wenn Du nur ein RAM verwendest, legst Du in Deinem Fall die CE-Leitung 
auf Masse. Bei mehreren RAM / ROM Bausteinen mußt Du über eine 
Adressdekodierung die Bausteine auswählen.
Alle Klarheiten beseitigt?

Autor: Jörn (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Alle Klahrheiten vollkommen beseitigt!
Vielen Dank, hat mir wirklich weitergeholfen!

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.