Dekoder (Mikrocontroller.)

Gast #3189177
Lesenswert?

Hallo,

ich hab hier mal die Aufgabe:
Angenähert an das bekannte 8051 Übungssystem sollen die 
Fertigungsunterlagen mit Eagle für folgende Übungsplatine erstellt 
werden: Mikrokontroller AT89S8253 Programm im internen FLASH Anpassung 
der integrierten seriellen Schnittstelle an RS232 Reset Taster und 
PowerOnReset 12 MHz Quarz Versorgung 5V (extern)
Für eine zusätzliche digitale Ein- und Ausgabemöglichkeit ist je ein 
8-Bit Flip-Flop vorzusehen (z.B. 74LS374). Die Ein- bzw. Ausgabe erfolgt 
über Zugriffe auf den externen Datenspeicher, wobei die Startadresse 
gleich 1024*7 ist. Die Porterweiterung darf auf den darauffolgenden 1024 
Adressen als „mirror“ erscheinen.

Also 1024*7 = 0001 1100 0000 0000. Wegen mirror reichen diese 000111 und 
davon muss ich einen Dekoder machen, d.h. wenn die Addr. 
000111(A15..A10) erscheint muss am Ausgang eine 1 erscheinen.

Mit DNF ergibts ich folgendes: -A15 UND -A14 UND -A13 UND A12 UND A11 
UND A10

Den Dekoder sieht man im Bild unter dem blauen, es ist zwar noch nicht 
mit dem bus verbunden, aber die logik wäre fertig.

Ich bin mir aber nciht sicher ob das so funktionieren könnte. Ich 
verwende 2 74573. Einmal für Input und Output.

Also C1 = ADS(output von dekoder) AND RD dann würde es stimmen, aber ich 
hab ja da -RD und -WR.

Kann mir da einer helfen wie ich das jetzt passend mache, oder habe ich 
den Bauteil 74573 falsch verstanden?

Datasheet: 
http://www.datasheetcatalog.org/datasheet/SGSThomsonMicroelectronics/mXruyrq.pdf

mfg
Angehängte Dateien:
Gast #3189191
Lesenswert?

Ich weiss nicht, was du dir von dieser Schaltung erhoffst aber die wird 
überhaupt rein gar nichts machen?

Du hast alle Eingänge zusammengehängt und da liegt (so weit ich das 
beurteilen kann) kein Signal an?
Angehängte Dateien:
Gast #3189202
Lesenswert?

Ja das gehört eh alles links zum Bus hin. Die zusammengehängten Eingänge 
sind: A15 bis A13 und reset ist A12 bis A10.

Wenn ich nach RD und WR nen inverter setze, dann wird alles 
funktionieren?

Ich mein ja nur, weil ich dann ncoh ein Bauteil brauche und der Print, 
dann komplizierte wird.
Gast #3189686
Lesenswert?

Danke euch, ich muss aber leider dieses 8Bit-FF nehmen. Also ich hab 
jetzt alles durchdacht und fertiggestellt. Müsst so stimmen. Was sagt 
ihr?

Als Ausgang verwendet(unten):
-EN ist dauerhaft auf Low und wenn LE muss High sein, dass output 
funktioniert.

Von ADS(decoderausgang) bekommt man eine 1, wenn der Adressebereich da 
ist.
Also: ADS AND WR = LE(C1) = 1
WR muss natülrich auch 1 sein.

Als Eingang verwenden(oben):
Hier muss -E immer das sein was LE(C1) ist, laut dem Datenblatt, was ich 
oben verlinkt habe.

Also, normalerweise ist ADS=0, wenn Busverkehr nicht für 74573 ist.
Dann ist -EN=C1=1 weil ja NAND(0,x)=1. Das heißt output --> High 
Impedance(nicht auf Bus geschaltet), aber Input wird immer auf den 
Speicher geschrieben.

Und wenn ADS=1 und RD=1 ist, dann NAND(1,1)=0. Also ist -EN=C1=0. Und 
jetzt ist der output aktiviert und daten liegen auf Bus an, aber input 
ist währenddesse freezed.

Richtig?

Kann ich es noch ev. bissl vereinfachen von den Gattern her, sodass das 
routen einfach wird?

mfg
Angehängte Dateien:

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren