Microcontroller an RAM anschließen

Gast #5883532
Lesenswert?
• ▲
▼
Hallo zusammen,

ich arbeite mich gerade in die Welt der Digital- und Microrechentechnik 
ein und habe dabei eine Aufgabe, die ich leider nicht ganz verstehe. Das 
Ziel ist  es einen 256k x 8 Bit RAM-Baustein an einen Microcontroller 
(C167CR) anzuschließen.
Der Microcontroller besitzt 8 Pins für die Datenleitungen, der RAM 
ebenfalls 8 Pins um die Daten ein/auszulesen.

Der Text enthält jedoch die Zusatzinfo, dass der Microcontroller im 
"8-Bit-Demultiplex-Mode" arbeitet. Was ein Multiplexer und Demultiplexer 
ist, weiß ich, ich kann leider nur nichts mit der Informationen 
anfangen. Kann mir das möglicherweiße jemand kurz und schlüssig 
erklären?

Danke :)
#5883541
Lesenswert?
• ▲
▼
Lies mal den Abschnitt "3.2 External Bus Controller" im Datenblatt des 
MCU, da steht das beschrieben.

Im Multiplex-Modus werden Adresse und Daten über den gleichen Port 
übertragen, fürs Multiplexing gibt es dann pins (\HOLD, \HLDA).
Im Demultiplex-Modus werden Adresse und Daten über separate Ports 
kommuniziert.
#5883545
Lesenswert?
• ▲
▼
Sind die Schüler heute wirklich zu doof, bei Aufgaben mal nachzuschlagen 
?

Einfach ins Datenblatt des C167CR (von was auch sonst) gucken, und dort 
steht daß im demultiplexed mode das Port 0 die Datenleitungen 0..15 
(wovon man nur 0..7 braucht) und das Port 1 die Adressleitungen 0..15 
und Port 4 die Adressleitungen 16..19 zur Verfügung stellt (wovon man 
nur 16..17 braucht).

Und wenn man dann echt nicht nachdenken kann, gucket man in ein Beispiel 
wie 
https://www.frenzel-berg.de/fileadmin/FrenzelBerg/Datenblaetter/Micro/ds_m167_v100r102_en.pdf

Für diese primitiven Grundlagen muss man doch nicht die Forums- und 
Whatapps-Welt mit Hilferufen aufscheuchen.
#5883551
Lesenswert?
• ▲
▼
Siehe 
https://www.infineon.com/dgdl/Infineon-C167CR-DS-v03_03-en.pdf?fileId=db3a304412b407950112b4361fac649a

Port 0.7 bis 0.7 ist der Datenbus
Port 1.0 bis 1.15 ist der Adressbus. Für Dein RAM brauchst Du 1.5 nicht.
Dann hast Du noch !WR und !RD und einen von 5 Chip Selects auf Port 6.0 
bis 6.4

Hier hat also jedes Signal seinen eigenen Prozessorpin. Um Pins zu 
sparen, kann man auf Port 0.0 bis 0.7 sowohl den Datenbus D0..D7 als 
auch die unteren 8 Bit des Adressbusses A0..A7 legen. Damit wären die 
Ports 1.0 bis 1.7 für andere Sachen frei. Zwischen den beiden Funktionen 
wird mit dem Signal ALE umgeschaltet. Am RAM braucht mann dann einen 
74HC573, um beide Funktionen wieder zu trennen. Der speichert dann die 
unteren Adressbits fürs RAM.

Dieses (zwei Funktionen auf einen Pin legen und dann umschalten) wird 
multiplexen genannt.

fchk
Gast #5883581
Lesenswert?
• ▲
▼
Herzlichen Dank für die vielen und hilfreichen Rückmeldungen :-)

Ich schaue mir im Datenblatt dann genau an wie das ganze beschrieben 
ist, aus euren Rückmeldungen nehme ich jedoch mit das im 
Demultiplex-Mode jede Daten- und Adressleitung eine eigene Leitung hat.

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.