Elektronik Projekt
RSS Feed Selector Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Elektronik Projekt » Mikrocontroller » 16 und 32 Bit Controller » Es geht um Adressdecoder 74138 » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen Es geht um Adressdecoder 74138
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
cosby cosby ist männlich
Jungspund


Dabei seit: 11.09.2008
Beiträge: 12

Es geht um Adressdecoder 74138 Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hallo!
ich bedanke mich erstmal bei allen die diesen Forum so lebendig machen.
ich habe jetzt folgende Problem. ich möchte gerne verstehen wie ein Speichermapping funktioniert. in der Vorlesung, ging zu schnell und habe nicht viel mitbekommen. ich bedanke mich nochmal bei allen, die mir dabei helfen können. als Anhang, habe ich mal eine Aufgabe, und wenn ich das verstehe, wäre echt super.

Danke

Dateianhang:
unknown MCT_Adress-Decoder-Aufgabe1.pdf (26,27 KB, 218 mal heruntergeladen)
06.12.2008 14:30 cosby ist offline E-Mail an cosby senden Beiträge von cosby suchen Nehmen Sie cosby in Ihre Freundesliste auf
cosby cosby ist männlich
Jungspund


Dabei seit: 11.09.2008
Beiträge: 12

Themenstarter Thema begonnen von cosby
traurig Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

ist die Aufgabe zu einfach??? kann keiner was sagen??
06.12.2008 16:20 cosby ist offline E-Mail an cosby senden Beiträge von cosby suchen Nehmen Sie cosby in Ihre Freundesliste auf
Diddl Diddl ist männlich
Routinier


images/avatars/avatar-253.gif

Dabei seit: 17.07.2006
Beiträge: 497
Herkunft: Tirol

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Speichermapping, also gut.

Der 16 Bit Computer im Beispiel hat 16 Adressleitungen. Kann also 65536 Speicherzellen adressieren. In Hex von $0000 bis $FFFF.

Wenn du jetzt zb. einen 4KB RAM Baustein verwenden willst, dann belegt der nur einen Teil des Adressraumes deiner CPU. Also musst du den RAM Baustein irgendwo hinlegen. Zb. ab der Adresse $0000 oder ab $8000.


Der 4KB Baustein hat jetzt aber nur 12 Adressleitungen. 4KB = 4096 = 2^12.

Wenn du die Adressleitungen A0 bis A11 an den Baustein anschließt funktioniert er im Prinzip. Allerdings liegt der RAM dann 16 male gespiegelt im Adressraum, er "verbraucht" die ganzen 64KB.
Das liegt daran, weil es ihm egal ist, wie die Adressleitungen A12 - A15 stehen. Kannst du dem Thema bis hierher folgen?

Nun beginnt das mapping, also die Speicherzuordnung. Der RAM hat außer 12 Adressleitungen noch einen CS (chip select). Ist der low dann wird der RAM erst aktiv, sonst ist er wie tot (hochohmig)

Um den RAM nun auf die Adresse 0 bis 4096 ($0000 - $0FFF) zu beschränken
benötigst etwas, das dir die Adressleitungen A12 - A15 auswertet und den CS des RAM betätigt. Genau das macht der Baustein 74138. Wenn also alle 4 Adressleitungen (A12-A15) low sind, dann soll der CS auf low sein.

Wenn der RAM ab $8000 im Adressraum liegen soll, dann muss A15 auf high und A12 - A14 auf low sein.


Aller Klarheiten beseitigt? Augenzwinkern

__________________
Final Expansion,1541 Emulation,Meine Homepage

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Diddl: 06.12.2008 17:50.

06.12.2008 17:49 Diddl ist offline E-Mail an Diddl senden Homepage von Diddl Beiträge von Diddl suchen Nehmen Sie Diddl in Ihre Freundesliste auf Fügen Sie Diddl in Ihre Kontaktliste ein
cosby cosby ist männlich
Jungspund


Dabei seit: 11.09.2008
Beiträge: 12

Themenstarter Thema begonnen von cosby
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Danke! nicht so explizit wie ich mir gewünscht habe. ich wollte nur irgendwas verstehen:
Die Adresse und werte von ADR0-ADR15 sind soweit klar.

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

mit X als don,t care.

wie geht weiter ab ADR16?? wie sind die Bereiche zu definieren? über die Eingänge kann ich die werte bestimmen.

Danke
07.12.2008 01:15 cosby ist offline E-Mail an cosby senden Beiträge von cosby suchen Nehmen Sie cosby in Ihre Freundesliste auf
Diddl Diddl ist männlich
Routinier


images/avatars/avatar-253.gif

Dabei seit: 17.07.2006
Beiträge: 497
Herkunft: Tirol

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

ADR16 bis ADR23 splitten den Bereich um $8000 genauer auf, also von $7000 bis $8FFF.

Der Sinn ist wohl ein IO Bereich, aber mir will nicht eingehen warum da ausgerechnet A0 bis A2 in die Dekodierung einfließen??! Wenn man IO Bausteine setzen will benötigen die in der Regel 4 bis 16 Register.

Nur wenn A3 bis A7 high sind wird selektiert. Auf gut deutsch werden die letzten 8 Bytes einer JEDEN Page von $7000 bis $8FFF gemapped.

Die Schaltung reagiert also zB. auf $70f8 (ADR16) bis $70ff (ADR23). Sehr ungewöhnlich, zudem sind die Adressbits A8 bis A11 völlig unberührt von der Logik.

Man verschwendet also über einen 8KB großen Bereich jeweils die letzten 8 Bytes in jedem 256 Byte Block.

__________________
Final Expansion,1541 Emulation,Meine Homepage

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Diddl: 07.12.2008 18:42.

07.12.2008 18:41 Diddl ist offline E-Mail an Diddl senden Homepage von Diddl Beiträge von Diddl suchen Nehmen Sie Diddl in Ihre Freundesliste auf Fügen Sie Diddl in Ihre Kontaktliste ein
Malibann Malibann ist männlich
Foren Gott


images/avatars/avatar-25.gif

Dabei seit: 18.09.2004
Beiträge: 4.619

RE: Es geht um Adressdecoder 74138 Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Wichtig ist dass man weiß was ein Chip Select Signal ist ....

Eigentlich schließst man alle Bausteine an den Daten- und Adressbus an sorgt dafür dass Read und Write Signale erzeugt werden das Adressmapping sind z.B: Adressvergleicher ( in TTL, PAL oder GAL ) die daraus ChipSelect Signale für die einzelnen Speicherbereiche erzeugen.

Der Adressdecoder 74138 ist nichts weiter als ein Baustein der die binären Eingangszustände ( z.B: Adressen ) decodiert so dass man sie als Signal für die CS Leitungen nutzen kann.

__________________
Mit freundlichen Grüßen Malibann
(falls ich es mal wieder vergessen habe)
08.12.2008 13:02 Malibann ist offline E-Mail an Malibann senden Homepage von Malibann Beiträge von Malibann suchen Nehmen Sie Malibann in Ihre Freundesliste auf
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Elektronik Projekt » Mikrocontroller » 16 und 32 Bit Controller » Es geht um Adressdecoder 74138

Impressum