Forum: Mikrocontroller und Digitale Elektronik Speicher aus ROM und RAM


von Jürgen (Gast)


Lesenswert?

Hallo, hier eine Frage zum Aufgabenteil d) :
Diese Aufgabe soll den Zweck eines Adressdekoders und dessen 
Dimensionierung verdeutlichen. Zu diesem Zweck sind die hier verwendeten 
Speicherbaustein-Kapazitäten und -Organisationen bewusst klein gehalten 
und entsprechen nicht den Dimensionen heutige Speicherbausteine. Das 
Prinzip gilt jedoch grundsätzlich.
Für einen 8-Bit-Mikroprozessor mit 16-Bit Adresswortbreite ist ein 
Speicher-/Eingabe-Ausgabesystem mit isolierter EA-Adressierung 
(Steuerleitung IO/M) zu entwerfen. Die Resetadresse sei 0.

1. Speicher:
Der Speicher soll jeweils zur Hälfte aus ROM und aus RAM bestehen. Es 
sind ROM-Bausteine mit der Organisation 16K x 8 (d.h. 16K Adressumfang 
und 8 Bit Datenwortbreite) und RAM-Bausteine 8K x 4 (d.h. 8K 
Adressumfang und 4 Bit Datenbreite) verfügbar.

a) Welcher Speichertyp muss durch die Reset-Adresse adressiert werden?

Antwort ROM, da RAM temporärer Speicher ist




b) Skizzieren Sie den Speicherbelegungsplan (Memory map).
Tragen Sie zur Kontrolle folgende 16-Bit-Übergangsaddressen als 
Hexadezimalzahl in die Antwortfelder ein:

Höchste Adresse des niedrigsten ROM-Adressbereiches:
3FFF


Unterste Adresse des höchsten RAM-Adressbereiches:
E000



Wie viele Bausteine werden von jedem Speichertyp verwendet?

ROM-Baustein:
2


RAM-Baustein:
8



c) Wie viele Adressleitungen haben die verwendeten ROM- und 
RAM-Bausteine?

ROM-Baustein:
14


RAM-Baustein: Antwort
13




d) Skizieren Sie die Wahrheitstabelle für den Adressdecoder und 
schreiben Sie die Gleichungen für die durchnummerierten und low-aktiven 
Chip-Select-Leitungen /CSROM,0 .... /CSROM,x und /CSRAM,0 ... /CSRAM,y 
auf. Die Leitung IO/M ist dabei zu berücksichtigen. Tragen Sie zur 
Kontrolle folgende /CS-Gleichungen in die Antwortfelder ein:

Musterbeispiel:
a15+a14+a13+/a12+a11+/io/m für: a15 oder a14 oder a13 oder nichta12 oder 
nichtio/m)
Für den niedrigsten ROM-Adressbereich: /CS =

Für den obersten RAM-Adressbereich: /CS =




Nun frage ich mich, wie ich die Gleichung /CS aufstelle.
Aufgabenteile a,b,c sind richtig.

Meine Wahrheitstabelle sieht wie folgt aus:
     A15 A14 A13 A12 A11 A10
Ram3
FFFF  1   1   1   1   1   1
E000  1   1   1   0   0   0

Ram2
DFFF  1   1   0   1   1   1
C000  1   1   0   0   0   0

Ram1
BFFF  1   0   1   1   1   1
A000  1   0   1   0   0   0

Ram0
9FFF  1   0   0   1   1   1
8000  1   0   0   0   0   0

ROM1
7FFF  0   1   1   1   1   1
4000  0   1   0   0   0   0

ROM0
3FFF  0   0   1   1   1   1
0000  0   0   0   0   0   0

Aufgefallen ist mir schon mal, dass bei den ROM A15=0 und bei den RAM 
A15= 1 ist

von Jürgen (Gast)


Lesenswert?

Meine Lösung wäre
Für den obersten RAM-Adressbereich: /CS = /A15 + /A14+ /A13 + /io/m

von Jürgen (Gast)


Lesenswert?

Okay durch die hier bessere Übersichtlichkeit habe ich die Lösungen 
schon gefunden:
Für den niedrigsten ROM-Adressbereich: /CS=A15+A14+io/m
Für den obersten RAM-Adressbereich: /CS =/A15+/A14+/A13+io/m

Danke für eure Mühen :)

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.