Hallo, ich versuche gerade die Hardware von 8051 und was alles dazu gehört(externes RAM, Code-Store etc.) zu verstehen. Ich hab hier einen Schaltplan wo ein 8051 und 2 weitere ICs abgebildet und auch miteinander verbaunden sind. 62256 ist auf jedenfall ein externer RAM, also Datenspeicher un der 74HC573N ist ein Code-Speicher, oder was ist das genau? Zum RAM: Man braucht dazu: D0-7(bzw. IO auf dem Bild), A0-15, WE, OE, CS, ALE und PSEN. CS muss auf LOW sein, dass der Speicher aktiviert ist. D0-7 sind Datenleitungen und A0-A15 Adressleitungen. Was ist den der Unterschied zwischen den beiden? Ich kenn mich bei dem Schaltplan net wirklich aus, da ich sowas noch nie gesehn hab und auf anblick kompliziert aussieht: Mit was müssen die Datenleitungen und Adressleitungen verbunden sein? Und vorallem: Warum gerade mit dem? Für was ist ALE, OE und WE gut? Mit was muss ich diese verbinden und wieder: Warum gerade mit dem? Und wie sieht das ganze dann beim 74HC573 aus? Hat dieser Code-Speicher, falls es einer ist 8 Adress- und Datenleitungen? Hier jetzt wieder die gleichen Fragen wie beim RAM. Es gibt ja Verbindungen mit Latch und ohne Latch. Wenn man ohne Latch verbinden dann ist das die einfache Art -> Einfach Verbinden Aber wenn man mit Latch verbindet, dann kann man sich Leitungen sparen - Welche und warum? Und dann gibts halt noch: Von-Neumann... Ich weiß viele Fragen, die sicher grundlegend sind, aber ich hab schon gegoogelt und da lässt sich nichts gutes finden. Hab mir: http://www.mikrocontroller.net/articles/Speicher#Anschluss_an_den_Mikrocontroller durchgelesen, aber hat mir nicht wirklich was gebracht leider. Danke im voraus! mfg Gast
mr gast schrieb: > 62256 ist auf jedenfall ein externer RAM, also Datenspeicher un der > 74HC573N ist ein Code-Speicher, oder was ist das genau? > Das ist ein Latch. Es dient dazu die unteren 8 Addressleitung zwischenzuspeichern. Die sind mit den Daten gemultiplext um Pine zu sparen. Ist die Leitung ALE auf 1 erscheinen die Addressen sonst die Daten. Da man die Addressen aber laenger braucht muss man die zwischenspeichern. > Zum RAM: Man braucht dazu: D0-7(bzw. IO auf dem Bild), A0-15, WE, OE, > CS, ALE und PSEN. CS muss auf LOW sein, dass der Speicher aktiviert ist. > D0-7 sind Datenleitungen und A0-A15 Adressleitungen. > Wenn man nur ein RAM am Bus hat ja. Sonst wird mit CS das RAM ausgwaehlt. > Was ist den der Unterschied zwischen den beiden? > Ich kenn mich bei dem Schaltplan net wirklich aus, da ich sowas noch nie > gesehn hab und auf anblick kompliziert aussieht: > Unterschied zwischen was? > Mit was müssen die Datenleitungen und Adressleitungen verbunden sein? > Und vorallem: Warum gerade mit dem? > Das sagt doch schon der Name der Leitungen. > Für was ist ALE, OE und WE gut? Mit was muss ich diese verbinden und > wieder: Warum gerade mit dem? > ALE = Addresslatch enable siehe oben. OE = Output enable vom RAM. Wenn hier logisch 0 anliegt erscheinen die Daten auf dem Bus (Cs muss ebenfalls auf 0 sein) WE = Write Enable. Liegt hier 0 an werden die Daten auf dem Bus im RAM gespeichert. (Cs muss ebenfalls auf 0 sein) > Und wie sieht das ganze dann beim 74HC573 aus? Hat dieser Code-Speicher, > falls es einer ist 8 Adress- und Datenleitungen? Hier jetzt wieder die > gleichen Fragen wie beim RAM. > siehe oben > Es gibt ja Verbindungen mit Latch und ohne Latch. Wenn man ohne Latch > verbinden dann ist das die einfache Art -> Einfach Verbinden > siehe oben > Aber wenn man mit Latch verbindet, dann kann man sich Leitungen sparen - > Welche und warum? > Nur die untersten 8 Addressleitungen werden gelatcht. > Und dann gibts halt noch: Von-Neumann... > Dazu dient das eine AND Gatter. Es dient dazu Lesezugriffe auf Daten und Code zusammenzufassen. PSEN = 0 zeigt an das eine Code Byte gelesen wird. RD = 0 zeigt an das ein Datum gelesen wird. > Ich weiß viele Fragen, die sicher grundlegend sind, aber ich hab schon > gegoogelt und da lässt sich nichts gutes finden. Es sollte ueber die 8051 Archektur genug im I-Net geben. Die ist schon ueber 30 Jahre alt.
Auch wenn es im Datenblatt erklärt ist beschreibe ich es nochmal. PSEN (ProgrammStorEnable) ist der Chip-Enable für einen EXTERNEN Programmspeicher. ALE (AdressLatchEnable) speichert das höherwertige Adressbyte im 573, die 8051-Family hat einen gemultiplexten Adressbus, da wird erst das niederwertige Adressbyte A0 mit A7 über AD0 bis AD7 herausgeschickt und mit dem ALE-Puls im 573 gespeichert. Das Höherwertige Adressbyte kommt bei A8 mit A15. Mit dem PSEN Signal wird der Programmspeicher gelesen, mit WR und RD und deren Verknüpfung wird auf den Datenspeicher zugegriffen. Die EA Leitung (ExternalAcess) teilt dem 8051 mit ob für den untern Programmspeicherbereich der externe oder der interne (Flash)Speicher verwendet werden soll. EA wird nur beim Reset gemessen.
>Mit dem PSEN Signal wird der Programmspeicher gelesen, >mit WR und RD und deren Verknüpfung wird auf den Datenspeicher >zugegriffen. Was aber nicht heisst, dass man mit \RD (\WR) nicht auch auf den Programmspeicher zugreifen könnte.
Der einzige Fall wo man heutzutage noch so ein System zu sehen bekommt ist in der Schule oder wenn man alte Geräte repariert. Für Neuentwicklungen ist das seit mindestens 10 Jahren überholt, weil es selbst mit 8051-Architektur Controller mit mehr internem RAM gibt als man jemals extern an den klassischen 8051 anschließen könnte.
Mh ok danke. Helmut Lenzen schrieb: > ALE = Addresslatch enable siehe oben. > OE = Output enable vom RAM. Wenn hier logisch 0 anliegt erscheinen die > Daten auf dem Bus (Cs muss ebenfalls auf 0 sein) > > WE = Write Enable. Liegt hier 0 an werden die Daten auf dem Bus im RAM > gespeichert. (Cs muss ebenfalls auf 0 sein) Also ist der 573 kein Programmspeicher, sondern nur ein Zwischenspeicher? Soll das Blaue der Bus sein? Dieser ist aber mit Port 0, Port 2, 1-8Q(vom 573), A0-14 u. D0-7(vom RAM) und der Eingang von IC8/2. Ich nehme an das AD0 und AD1 nicht miteinander verbunden sind, sowie andere Pins, da es sonst ein Kurzschluss gäbe. Das sind nur x Linien die nebeneinender zu den anderen ICs führen, richtig? Aber was macht den das Gatter IC8/2 bitte? Mit welchen Pin ist das jetzt verbunden, doch nicht mit alle? ALE ist mit dem Eingang(oder Ausgang?) C von 573 verbunden, was ist das C? Und ich meinte: Unterschied zwischen Datenleitung und Adressleitung, was das ist.
mr gast schrieb: > Also ist der 573 kein Programmspeicher, sondern nur ein > Zwischenspeicher? > Richtig. > Soll das Blaue der Bus sein? Dieser ist aber mit Port 0, Port 2, > 1-8Q(vom 573), A0-14 u. D0-7(vom RAM) und der Eingang von IC8/2. > Das Blaue ist eine Zusammenfassung von einzelnen Leitungen. Dient nur der zeichnerischen Darstellung. > Ich nehme an das AD0 und AD1 nicht miteinander verbunden sind, sowie > andere Pins, da es sonst ein Kurzschluss gäbe. Das sind nur x Linien die > nebeneinender zu den anderen ICs führen, richtig? Aber was macht den das > Gatter IC8/2 bitte? Mit welchen Pin ist das jetzt verbunden, doch nicht > mit alle? > IC8/2 invertiert das Signal A15 > ALE ist mit dem Eingang(oder Ausgang?) C von 573 verbunden, was ist das > C? > C ist der Clock Eingang vom Latch. > Und ich meinte: Unterschied zwischen Datenleitung und Adressleitung, was > das ist. Das sagt doch schon der Name. Auf den Addressleitung werden die Addressen uebertragen zum Speicher. Der Speicher Antwortet b.z.w. uebernimmnt die Daten von den Datenleitungen.
mr gast schrieb: > Hab mir: > http://www.mikrocontroller.net/articles/Speicher#A... > durchgelesen, aber hat mir nicht wirklich was gebracht leider. Lese es so oft, bis du es verstanden hast.
mr gast schrieb: > Soll das Blaue der Bus sein? Ja. Wie Helmut schon sagte, ist das nur eine platzreduzierte Darstellung aller Signale, die hier in den "Bus" zusammengefasst sind. Welches Signal davon jetzt an das IC angeschlossen wird, sagt der Name, der an der abzweigenden Leitung steht: nur die Anschlüsse, an denen z.B. "A5" steht, sind miteinander verbunden. Gruß Dietrich
Ahh jetzt verstehe ich das mit dem Latch und Multiplexen. Das Multiplexen ist im Prinzip wie ein Schalter das mit Hilfe vom ALE einmal da liegt und einmal da, oder? Man kann ja darunter einzelne Gatter sehn, ich weiß zwar wie sie im Prinzip funktionieren, aber was sie hier bezwecken. Ich versuchs mal zu erklären. >ALE = Addresslatch enable siehe oben. >OE = Output enable vom RAM. Wenn hier logisch 0 anliegt erscheinen die >Daten auf dem Bus (Cs muss ebenfalls auf 0 sein) >WE = Write Enable. Liegt hier 0 an werden die Daten auf dem Bus im RAM >gespeichert. (Cs muss ebenfalls auf 0 sein) IC7/1 hat die Eingänge PSEN und RD - am Ausgang ist OE vom RAM. In 3 Fällen kommt LOW raus, d.h. in 3(0,0 - 1,0 und 0,1) verschiedenen Fällen werden die Daten auf dem BUS gesendet(Die adressen auch, oder nur daten?) Aber was hat hiermit PSEN zu tun, das braucht man ja nur wenn iwas mit dem externen Programmspeicher ist? Wenn WR 0 ist, liegt am Eingang(WE) vom RAM auch 0 an, d.h. die Daten(sind da die Adressen gemeint, oder wie sieht man das hier?)werden ins RAM gespeichert. IC8/2: Die beiden Eingänge bekommen Signale vom A15, entweder 2 Einsen oder 2mal Null. Der Ausgang ist CS. Das der RAM aktiviert ist muss CS=0 sein. Warum gerade die 15te Adressleitung? Was ist den eigentliche der Inhalt einer Adressleitung? Werden da Adressen im binärer Schreibweise übertragen? Der Inhalt von Datenleitungen ist einfach nur Null oder Eins. In den Leitungen werden ja viele Binärfolgen schnell übertragen, oder? Also wenn jetzt aus A15 die Bitfolge: 01001111 rauskommt, dann ist ja CS zuerst Null, dann Eins und 0,0,1,1 etc. Bei den Einsen würde ja das nicht mehr funktionieren? Das verstehe ich nicht wirklich, welche Daten da genau übertragen werden und wie Lang diese sind.
@ mr gast (Gast) >Ahh jetzt verstehe ich das mit dem Latch und Multiplexen. Wirklich? >Das >Multiplexen ist im Prinzip wie ein Schalter das mit Hilfe vom ALE einmal >da liegt und einmal da, oder? Komischer Satz. Ein Latch ist ein Zwischenspeicher. Er speichert hier die unteeren 8 Bit der 16 Bit Adresse. Der Bus für Daten und untere Adressbit ist also gemultiplext. >Aber was hat hiermit PSEN zu tun, das braucht man ja nur wenn iwas mit >dem externen Programmspeicher ist? Ja. >Wenn WR 0 ist, liegt am Eingang(WE) vom RAM auch 0 an, d.h. die >Daten(sind da die Adressen gemeint, Nein, die Daten auf dem Datenbus. Die dazu passende Adresse wurde einen Takt vorher ins Latch geschrieben. >oder wie sieht man das hier?)werden >ins RAM gespeichert. Ja. >Das der RAM aktiviert ist muss CS=0 sein. >Warum gerade die 15te Adressleitung? Weil man das so festgelegt hat. Der RAM belegt die unteren 32k des 64k Adresssraums. >Was ist den eigentliche der Inhalt einer Adressleitung? Ja was wohl? Die Adresse, welche gerade geschrieben oder gelesen werden soll! > Werden da >Adressen im binärer Schreibweise übertragen? Wie sonst? >Der Inhalt von Datenleitungen ist einfach nur Null oder Eins. Das ist bei JEDEM Digitalsignal der Fall. Die Datenleitungen übertragen die Daten, wer hätte das gedacht. >In den Leitungen werden ja viele Binärfolgen schnell übertragen, oder? Sicher. >Das verstehe ich nicht wirklich, welche Daten da genau übertragen werden >und wie Lang diese sind. Dazu zeichnet man sinnvollerweise Zeitdiagramme, wo der Ablauf aller Signale dargestellt wird. Dann erkennt man auch die Funktion. Mit einer Beschreibung nur mit Text wird man nicht schlau.
Falk Brunner schrieb: >>Das der RAM aktiviert ist muss CS=0 sein. >>Warum gerade die 15te Adressleitung? > > Weil man das so festgelegt hat. Der RAM belegt die unteren 32k des 64k > Adresssraums. Da IC8/2 A15 aber noch invertiert, sind es in diesem Fall die oberen 32k ;-)
Fürs Verständnis, welches allem anderen erstmal voreilen sollte, ist es aber nicht schlecht. Weil man in dem Zug auch auf das (interne) Bussystem eingehen kann. Abgesehen davon muss man da ja nicht nur RAM anschliessen, soll ja Fälle geben in denen man mehr EEPROM brauchen könnte. Âllerdings find ich persönlich, um das Prinzip zu verinnerlichen, is die gezeigte Schaltung schlecht geeignet, weil die Daten und Adressleitungen Plansparend zusammengefasst sind :)
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.