www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Hilfe Dekoder


Autor: Marcus Schuhmacher (marcus99)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo User,

ich brauche unbedingt eure Hilfe! Ich verstehe nicht bei meinem 
angehängten Bild wie man auf das anschließen der ROM´s und RAM´s für die 
geforderten Adressräume kommt, mit Hilfe der obrigen zusehenden 
Logiktabelle im bild?? Kann mir das vielleicht jemand erklären?:/

Vielen Danke im vorraus
marcus

Autor: Klaus Wachtler (mfgkw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was ist da eigentlich gegeben und was soll rauskommen?

Der Adreßraum (CODE soll wohl ROM sein und xdata das RAM?) passt
nicht zu dem Schaltplan.
0x0000 bis 0x07FF für das RAM passt, aber das ROM hat keinen
durchgehenden Adreßraum, das stimmt nicht.

(Zumal ich mir auch nicht sicher bin, ob es Sinn macht, daß
RAM und ROM sich überschneiden.)

Autor: karadur (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

A14=0 A15=0 A13=0  A12=x A11=x A0-A10=Adresse für Ram. Enable durch OE.

A14=0 A15=0 A13=0 A0-A12 Adressen für linkes ROM. Enable durch OE.

A14=0 A15=0 A13=1 A0-A12 Adressen für rechtes ROM. Enable durch OE.

Somit 0- 0x7ff für Ram. 0-0x1fff für linkes ROM. 0x2000-0x3fff für 
rechtes ROM

Autor: marcus99 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

okay ja das versteh ich einigermaßen doch woher weiß ich das ich nur Y0 
und Y1 verwenden darf und warum gehen von Y0 die Verbindungen an beide 
RAM's und an den einem ROM? Und warum verwende ich Y1 für den anderen 
ROM?

Grüße

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
marcus99 schrieb:

> und warum gehen von Y0 die Verbindungen an beide
> RAM's

sieh dir mal deine RAMS genauer an.
Wieviele Datenleitungen gehen zu jedem RAM?

Auch wenn du physisch 2 Bausteine hast, logisch gesehen hast du nur 1 
RAM

Autor: marcus99 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Okay das hab ich jetzt verstanden aber warum geht dann noch eine YO 
leitung an das ROM? Kann man nicht Y1 dann einfach mit den beiden ROMs 
verbinden? Ich versteh iwie den zusammenhang nicht Logiktabelle und 
welche Y ausgänge ich zu meinen speicherbausteinen hinführen muss?:/

Autor: Klaus Wachtler (mfgkw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn die RAM jeweils nur 4 Bit auf den Bus liefern, müssen sie doch 
gleichzeitig arbeiten.
Deine ROM dagegen liefern jeweils 8 Bit, also dürfen die nicht
gleichzeitig aktiv werden, sondern der eine nur bei einem Teil
der Adressen und der andere bei anderen Adressen.
Welcher jetzt bei welchen Adressen aktiv wird, steuert man über
den Anschluß an die Y... gemäß Tabelle (bzw. kann man natürlich
auch die obersten Adreßleitungen am Decoder variieren).

Autor: marcus99 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ah okay danke. Also dann unterteilen sich jetzt die adressen von der 
aufgabe über den Y-ausgängen YO= 0-0x1FFF, Y1= 0x2000-0x3FFF, Y2= 
0x4000-0x7FFF und so weiter und je nach gefordeten Adressräumen hier, 
schließ ich meine speicherbausteine an?!

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
marcus99 schrieb:
> Ah okay danke. Also dann unterteilen sich jetzt die adressen von der
> aufgabe über den Y-ausgängen YO= 0-0x1FFF, Y1= 0x2000-0x3FFF, Y2=
> 0x4000-0x7FFF und so weiter und je nach gefordeten Adressräumen hier,
> schließ ich meine speicherbausteine an?!

Ganz genau.

Und da rechts oben in deinem Machwerk steht, dass sich die Adressräume 
von RAM und dem einen ROM überlappen sollen, hängen sie eben parallel am 
Y0

Autor: marcus99 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Okay also als verdeutlichung nochmal ein anderes beispiel: Wenn ich 
jetzt ein adressraum statt 0x0000-0x3FFF jetzt 0x0000-0x7FFF code bei 
der aufgabe habe (also jeweils 2 ROM's a 16k*8) müsste ich bei der 
aufgabe statt Y1 auf dem ROM das Y2 anschließen oder?!

Autor: karadur (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

geht so nicht. Der Dekoder erzeugt aus den oberen Adressleitungen eine 
Unterteilung des Adressbereichs in 8k große Blöcke. Y0= erster Block, 
Y1= 2ter usw. Y7= oberster Block. Du musst also für 16k bei Y0 und Y1 
selektieren für das untere ROM mit 16k und mit Y2 und Y3 für das 2te 
ROM.

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.