Forum: Mikrocontroller und Digitale Elektronik Speichermapping 74138


von Patrick (Gast)


Angehängte Dateien:

Lesenswert?

Hallo!
Muss erstmal Danke sagen für diesen tollen Forum.Ich hoffe ich werde 
hier mal geholfen.
Ich möchte verstehen wie Adressmapping funktioniert. habe als Anhang 
eine Aufgabe. in der Vorlesung, habe ich nicht viel verstanden. ich 
hoffe es gibt Leute die sich damit auskennen, und werde sehr dankbar, 
wenn einer mir erklärt wie es funktioniert.
Danke im Voraus

von Michael U. (amiga)


Lesenswert?

Hallo,

da ich in der Aufgabe im Moment wenig zu erklärendes finde eine Frage:

logische Verknüpfungen, Wahrheitstabellen (gut, hier heißt das Ding 
Wertetabelle) durfen dann ja vermutlich schon behandelt worden sein?

Wie müssen die Eingangswerte des oberen 74138 sein, damit Y0 und damit 
ADR0 low wird?

Ist doch nicht mehr als aus der Tabelle ablesen und aufschreiben?

Gruß aus Berlin
Michael

von Patrick (Gast)


Lesenswert?

genauso ist es. ich habe Probleme wie man die adressbereiche angeben 
kann.

ich habe zb. von ADR0.....ADR23.
ADDR0 ist dann von 0000h-0FFFh, und fasse immer A0-A3, A4-A7, A8-A11, 
A12-A15 (16 Leitungen) für jede Adressbereich.

welche Werte für den Speicherbereich ab ADR16?? ist einfach 16 in Hex 
umwandeln??

frage: kann ich andere Hex-Werte angeben??

ich lese aus der Tabelle das z.b Y0 ist L wenn A=B=C=L, /G2a=/G2b=L, und 
G1=H
ab da, weiss ich net mehr wie es weiter geht.

Danke

von Dieter W. (dds5)


Lesenswert?

> ADDR0 ist dann von 0000h-0FFFh

Gaaaanz genua ;-))

ADR1 von 1000-1FFF usw. bis
ADR15 von F000-FFFF

ADR16 bis 23 sind dann noch mit niederwertigeren Adressleitungen 
verknüpft und haben entsprechend kleineren Umfang.

von Patrick (Gast)


Lesenswert?

@@@ Dieter
ADR16 bis 23 sind dann noch mit niederwertigeren Adressleitungen
verknüpft und haben entsprechend kleineren Umfang.


kannst du mir das bitte erklären? danke

von Patrick (Gast)


Lesenswert?

ich habe z.b für ADR0 folgende werte:
ADR0: 0000h-0FFFh
A0-A3:0000
A4-A7:0000
A8-A11: 0000
A12-A12:0000
wobei ich  die wertetabelle nur für A12,A12,A14,A15 benutzt habe. habe 
dann gesagt, dass der Rest muss auch auf L stehen. und G1 ist eigentlich 
egal oder?

von Michael U. (amiga)


Lesenswert?

Hallo,

naja, malen wir mail in Bits...

A15...A12 A11...8 A7...A4 A3...A0
0000      0000    0000    0000

A/B/C vom oberen 74138 sind A12(A13/A14 -> alle 0
G1 ist fest auf 1, also hier egal
G2A und G2B sind verbunden, also an jetzt nur als G2 benannt.
Y0 ist also aktiv und damit 0

Also Anfang ist 0000 in HEX

Das bleibt auch so bis sich eine der beteiligten Adressen ändert.
Also zum ersten mal wenn A12 auf H geht, dann wird ADR1 aktiv.

Ende des ersten Bereiches ist also 0000 1111 1111 1111 oder 0FFF HEX.

Also Y0 -> 0000 - 0FFFF
     Y1 -> 0001 - 1FFFF

usw. usw.

Gruß aus Berlin
Michael

von Dieter W. (dds5)


Lesenswert?

Ich betrachte in einem solchen Fall den aktiven (hier low) Zustand für 
jeden einzelnen ADR-Ausgang und stelle dann über die Wertetabelle den 
zugehörigen Wertebereich der A-Leitungen fest.


      A15..A12 A11..8 A7..A4 A3..A0   Bereich (HEX)
ADR0   0000     XXXX   XXXX   XXXX     0000...0FFF
bis
ADR15  1111     XXXX   XXXX   XXXX     F000...FFFF

ADR16 bis 23 haben durch die (negative Logik weil low aktiv) ODER 
Verknüpfung mit ADR7 und ADR8 jeweils 2 Bereiche. Die fehlend 
Verknüpfung mit A9 bis A11 bewirkt, dass der jeweilige ADR-Ausgang nur 
alle 100h aktiv wird.


ADR16  0111     XXXX   1111   1000     70F8, 16 mal alle 100h bis 7FF8
 für ADR7 low und nochmal für ADR8 low
ADR16  1000     XXXX   1111   1000     80F8, 16 mal alle 100h bis 8FF8
bis
ADR23  1000     XXXX   1111   1111     80FF, 16 mal alle 100h bis 8FF8

X bedeutet dass diese A-Leitung keinen Einfluss hat, weil sie in der 
Verknüpfung nicht auftaucht.

von Patrick (Gast)


Lesenswert?

@@@ Dieter
ist die Verknüpfung(ab ADR16 bis ADR23) nicht ein UND Verknüpfung??

// Die fehlend
Verknüpfung mit A9 bis A11 bewirkt, dass der jeweilige ADR-Ausgang nur
alle 100h aktiv wird.
//
das habe ich wirklich net verstanden. kannst du vielleicht einfacher 
erklären?? Danke

@@@ Michael aus Berlin: Danke Danke Danke

von Klaus (Gast)


Lesenswert?

Adresse 16- Adresse 23 sind jeweils 1Bit Groß ...(A0-A2 auf A B C des 
74138 0> 3Leitungen => 2^3 = 8 Bytes die auf y0-y7 verteilt werden)

des Weiteren ist bekannt, das Al3-Al7 =1 sein müssen damit der Decoder 
arbeitet und das er für A15= 0 oder 1 arbeitet).

Weil A15 0 bzw 1 sein darf damit der Decoder arbeitet müssen 2 
Fallunterscheidungen gemacht werden.

Für A15=0:

A15...A12 A11...A8 A7...A4  A3...A0
0 1 1 1   X X X X  1 1 1 1  1 X X X     7XF8h => Adr16
.
.
.
0 1 1 1   X X X X  1 1 1 1  1 1 1 1     7XFFh => Adr23

Zwischen Adr 16 und Adr 23 wird jeweils 1Byte weitergezählt.Das X 
bedeutet das die entsprechenden Leitungen hier nicht definiert sind.

Für A15=1:

A15...A12 A11...A8 A7...A4  A3...A0
1 0 0 0   X X X X  1 1 1 1  1 X X X     8XF8h => Adr16
.
.
.
1 0 0 0   X X X X  1 1 1 1  1 1 1 1     8XFFh => Adr23

Auf der Leitung ist die Angabe folgendermaßen zu kennzeichnen:
Beispiel für Adr 19: 7XFBh / 8XFBh


Gruß Klaus

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.