Hallo zusammen,
vielen Dank für dieses interessante Forum und den Forenmitgliedern für
Ihre Zeit und den Ratschlägen.
Ich brauche einen Denkanstoss da ich nicht drauf komme oder fündig
werde:
Es handelt sich um den 74HC138 -
wo stehen diese Adressen die über die Ausgänge laufen,
ich kann mir noch keinen Rheim daraus machen.
Das Circuit Board
http://web.archive.org/web/20061207070909/http://users.on.net/~merrifield/tools/DOC_schematic.pdf
nennt Adressen:
Y5: C8000-C9FFF
Y6: D0000-D1FFF
Y7: D8000-D9FFF
Wo kann man diese Adressen nachlesen, in den Datenblättern stehen die
leider niergends ( habs zumindest nicht gefunden )
Die Adressen müssten demnach vom 74HC138 "vorgegeben" sein, da kein
Programmierung stattfindet oder?
Oder ergeben sich die Adressen über die Treiber der Anschaltung die für
die Ports Y5 - Y7 zugewiesen werden?
Für Ratschläge sehr dankbar! ;-)
bestimmt stehe ich im Moment auf dem Schlauch ...
;-)
Gruss
Rudi
;-)
...beides ;-))) ...
Wo kann man sich die Logik-ICs /Adresspins kurz mal fürs Verständis
"anlernen" ..hab echt vor lauter Wald den Baum aus dem Blickfeld.. gibts
da eine Unterlage oder Schulmaterial zur Einführung?
Würde mich sehr interessieren dafür, danke!
Gruss
Rudi
;-)
Wat is en Decoder? Da stelle mehr uns janz dumm.
Ohne jede Grundlage ist Elektronik sehr schwer zu begreifen. Fang mal
mit einem NAND-Gatter an.
Gruss Reinhard
...bis ich jetzt da durch bin, dauert ewig,
mich interessiet wie der Adresspin
Y5: C8000-C9FFF
oder
Y6: D0000-D1FFF
oder
Y7: D8000-D9FFF
seine Logic-Ic Adresse bekommt, die man in ASM oder C ansteuern kann...
oder so ....
;-)
Gruss
Rudi
;-)
> Die Adressen müssten demnach vom 74HC138 "vorgegeben" sein
Da ist überhaupt nichts vorgegeben.
Da stellt man sich erst mal ganz dumm und fragt sich:
Wenn man die Beschreibung des 138 hernimmt, welse Pegel müssen die (im
Datenblatt angegebenen) Input-Pins des IC haben, damit zb. die Y5
Leitung Low wird.
Wenn man das tut, und sich das in Tabellenform zusammenstellt, dann
kommt man eben drauf, bei welchem Pegel auf welchen Adressleitungen dies
der Fall ist. Und das 'übersetzt' sich dann von High/Low Pegeln auf den
Adressleitungen zu den angegebenen Hex-Zahlen.
Reinhard Kern schrieb:> Die kommt auf der anderen Seite über A,B,C rein.
Ok Reinhard, Danke!
Denke dann dass der ISA Bus über A,B,C reinkommt und
über die Ausgänge Y5-Y6 eben diese Adressen sich ergeben oder?..
Das Aufzählen zur nächsten ok - muss ich nachlesen wie das geht ..
Jedenfalls sucht sich der Treiber über ISA die Adresse ..."C8000-C9FFF
"
und diese liegt dann am Pin...Y5 ..
oder ;-) ?
Also generiert der Treiber über ISA über den Logic Algo eine
Startadresse auf einen Y Pin...
der dann von Y zu Y immer höher wird... ..
Danke einstweilen!!!
Habt mir in jeden Fall schonm mal weitergeholfen!
Gruss
Rudi
;-)
Das ist ein ganz gewöhnlicher Adressdekoder, wie er in der Anfangszeit
von PC's üblich war.
Wie der Dekoder mitbekommt, was du machen willst? - Dein 8086 Programm
läuft halt in einem bestimmten Speicherbereich. Das isses doch schon.
<OT> Interessant. Ich hab bestimmt 15 Jahre keinen PC-XT mehr gesehen.
Was stellst du damit an? <OT>
Karl Heinz schrieb:>> Da stellt man sich erst mal ganz dumm und fragt sich:> Wenn man die Beschreibung des 138 hernimmt, welse Pegel müssen die (im> Datenblatt angegebenen) Input-Pins des IC haben, damit zb. die Y5> Leitung Low wird.>> Wenn man das tut, und sich das in Tabellenform zusammenstellt, dann> kommt man eben drauf, bei welchem Pegel auf welchen Adressleitungen dies> der Fall ist. Und das 'übersetzt' sich dann von High/Low Pegeln auf den> Adressleitungen zu den angegebenen Hex-Zahlen.
Karl Heinz danke!
Das hilft - den Gedankenzug werd ich mal nachgehen.
Mach das leider mit "elektriker" Kenntnis - beiss mich da aber durch...
..die Hex zahlen... gibt es da eine "Fortschreibungstabelle".. ich mein,
weil es so in akkuraten Abständen geschiet, gibt es da eine LogicIC
Norm, wo man vorher schon weiss, dass wenn Y5 die Adresse hat, hat
automtisch Y6 jene?..
Besten Dank!!
gruss
Rudi
;-)
Du denkst viel zu kompliziert.
Vor dir stehen eine Reihe von Postsäcken. In den ganz links kommen alle
Postleitzahlen, die mit einer 9 beginnen, in den Sack daneben alle die
mit einer 8 beginnen, etc. etc.
Du sollst jetzt Briefe klassifizieren. Je nach Postleitzahl in den
Richtigen Sack.
Der erste Brief hat die Postleitzahl 85672. Wo kommt er hin? In den
zweiten Sack von links. Warum? Weil die Postleitzahl mit einer 8
anfängt. Die restlichen 4 Stellen interessieren nicht. Du betrachtest
sie nicht mal. Alles was dich interessiert ist die erste Stelle links.
Die siehst du dir an und anhand der entscheidest du, welcher Sack
'zuständig' ist.
Das kann man so sehen.
Man kann es aber auch so sagen:
In den Sack ganz links kommen alle Postleitzahlen von 90000 bis 99999.
In den Sack daneben kommen alle Postleitzahlen von 80000 bis 89999. In
den daneben ....
Es ist eine Sache, welche Wirkung (im Sinne einer Beschreibung davon)
ein Verfahren hat. Es ist aber eine andere Sache, wie diese Wirkung
erzeugt wird. Im Falle des Verteilens von Briefen hört sich das
wahnsinngi kompliziert an, dass die Briefe über einen derartig großen
Bereich (80000 bis 89999) korrekt verteilt werden. Tatsächlich ist das
aber nichts anderes als: ignoriere die 4 kleineren Stellen und kümmere
dich nur um die 5. Stelle.
Rudi schrieb:> ..die Hex zahlen... gibt es da eine "Fortschreibungstabelle".. ich mein,> weil es so in akkuraten Abständen geschiet, gibt es da eine LogicIC> Norm, wo man vorher schon weiss, dass wenn Y5 die Adresse hat, hat> automtisch Y6 jene?..
Das ist ein ganz banaler 8 aus 3 dekoder, der 'Binärzahlen' (konkret
3-stellige) in einen einzigen Pin 'übersetzt' der auf 0 geht.
1
C B A Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7
2
-------------------------------
3
0 0 0 0 1 1 1 1 1 1 1
4
0 0 1 1 0 1 1 1 1 1 1
5
0 1 0 1 1 0 1 1 1 1 1
6
0 1 1 1 1 1 0 1 1 1 1
7
1 0 0 1 1 1 1 0 1 1 1
8
1 0 1 1 1 1 1 1 0 1 1
9
1 1 0 1 1 1 1 1 1 0 1
10
1 1 1 1 1 1 1 1 1 1 0
Das einzig interessante ist jetzt noch die Beschaltung der zusätzlichen
diversen Freigabeeingänge und wie die auf die Leitungen vom µC
aufgeschaltet sind.
Dei 'Akuratesse' kommt ganz einfach daher, dass die kleinste
Adressleitung, die A15 ist. D.h. Alles was sich auf den Adressleitungen
A0 bis A14 tut, interessiert diesen Decoder überhaupt nicht.
Wie bei den Postsäcken.
1
Y5: C8000-C9FFF
1
C8000 binär 1100 1000 0000 0000 0000
2
C9FFF binär 1100 1001 1111 1111 1111
3
4
| | ^
5
| | |
6
| | hier ist A15. Alles rechts davon interessiert diesen
7
| | Decoder überhaupt nicht. Denn:
8
| |
9
| | |
10
v v v
11
C B A
An den Pins CBA vom Decode liegt also das Bitmuster 101 an. Und damit
geht Y5 auf Low. Interessant ist jetzt noch die Zusatzbeschaltung der
Enable Eingänge, die so ist, dass die Adressleitungen 17 und 19
ebenfalls mit eingehen.
Helge A. schrieb:> Das ist ein ganz gewöhnlicher Adressdekoder, wie er in der Anfangszeit> von PC's üblich war.>> Wie der Dekoder mitbekommt, was du machen willst? - Dein 8086 Programm> läuft halt in einem bestimmten Speicherbereich. Das isses doch schon.>>> <OT> Interessant. Ich hab bestimmt 15 Jahre keinen PC-XT mehr gesehen.> Was stellst du damit an? <OT>
Hi Helge,
auch wenn s total OT ist.. :-)
freut mich dass ich Interesse geweckt habe ;-)
Ausgangssituation ist also der Speicherbereich des 8086 Programm..Ok
verstanden, wie diese dann an den y5 - y6 kommt muss ich wahrscheínlich
über das kompendium nachlesen und mir das wissen aneignen.
Ich bin nur die letzten Tage wieder mal auf den DiscOnchip gestossen,
( möchte ihn mit einem PIC24 ( Bootloader,,,,programm nachladen vom DOC
) anbinden ... ( ob überhaupt geht mal versuchen )
und über das circuit Board hab ich mir Gedanken gemacht wie die Adressen
vergenen werden.
Hatte das mal vor Jahren nachgebaut, aber mit LILO ( gleiche Bootadresse
wie Grafikkarte ) immer Probleme, das wurde dann mit neuem Lilo besser.
Mich interessiert eben wie ich die Adressen "generiere" beeinflussen
oder erstellen kann... werde da wahrscheinlich nicht darum herum kommen,
tiefer in die Materie abzutauchen ..
..danke an alle!!
Habt mir schon sehr weitergeholfen!!!
gruss
Rudi
;-)
Pro Hexadezimalstelle haben wir 4 Bit, die fünf Stellen entsprechen also
24 Bit. Davon liegen auf dem ISA-Bus nur 20 an, genannt A0...A19.
Der Decoder benutzt davon nur 5 Stück, A15 bis A19 sowie ein
Adressen-Enable Signal AEN.
Dadurch werden jeweils Adressbereiche von 2^15 = 32768 Adressen
selektiert, maximal 2^5 = 32 Bereiche. Tatsächlich decodiert sind 8
Bereiche, und verwendet nur drei.
Den ISA-Bus gibts heute nur noch in embedded PCs nach PC104-Norm
http://pc104.org/pc104_specs.php
dort findet man noch irgendwo die Spezifikationen.
>> Das ist ein ganz banaler 8 aus 3 dekoder, der 'Binärzahlen' (konkret> 3-stellige) in einen einzigen Pin 'übersetzt' der auf 0 geht.
Danke Karl Heinz,
ok...
und díese Binärform wird dann "eínfach" als hexcode ausgegeben?
also
>
1
> C B A Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7
2
> -------------------------------
3
> 0 0 1 1 0 1 1 1 1 1 1
4
5
6
>
Wäre dann
Hex BF
also
0x191
in dem Fall dann - BFFFF
und die
D0000
D8000
kommen von den Anschlüssen selbst?
Also Gruppe D0000-BFFFF
wäre dann
>
1
> C B A Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7
2
> -------------------------------
3
> 0 0 1 1 0 1 1 1 1 1 1
4
>
wenn man den Y6 auf high legt...
>> Wie bei den Postsäcken.
Das ist ein sehr gutes Bild!!!! zum verständnis!
jetzt muss mir nur noch einer bissal recht geben in meiner theorie..
:;-)))
...dann les ioh das Kompendium durch ;-))))
Gruss
Rudi
;-)
Rudi schrieb:> jetzt muss mir nur noch einer bissal recht geben in meiner theorie..> :;-)))
Nein.
Du musst noch berücksichtigen, wo denn die 3 Leitungen A B und C am
Adressbus angeschlossen sind. Welche der Adressleitungen also in die
Dekodierung eingehen.
1
C8000 binär 1100 1000 0000 0000 0000
2
C9FFF binär 1100 1001 1111 1111 1111
3
4
| | ^
5
| | |
6
| | hier ist A15. Alles rechts davon interessiert diesen
7
| | Decoder überhaupt nicht. Denn:
8
| |
9
| | |
10
v v v
11
C B A
An den Pins CBA vom Decode liegt also das Bitmuster 101 an. Und damit
geht Y5 auf Low. Interessant ist jetzt noch die Zusatzbeschaltung der
Enable Eingänge, die so ist, dass die Adressleitungen 17 und 19
ebenfalls mit eingehen. A19 muss 1 sein und A17 muss 0 sein. De facto
muss also auf den Adressleitungen dieses Muster vorliegen
1
11001xxxxxxxxxxxxxxx
wobei die x die für diesen 138-er uninteressanten Leitungen
kennzeichnen, damit am ersten 138-er die Leitung Y5 auf Low geht. Jede
andere Kombination ausserhalb der x führt dazu, dass nicht Y5 auf Low
geht, sondern irgendein anderer (wenn ABC richtig stehen) bzw. gar
keiner (wenn A17 nicht 0 ist oder A19 nicht 1)
Der 2-te 138 macht dann noch die Unterschiedung anhand von A13 und A14,
die beide 0 sein müssen, damit dessen Y0 Ausgang auf 0 geht.
Damit am U1 dann tatsächlich der /ACE Eingang sein notwendiges Low sieht
und sich der IC damit angesprochen fühlt, muss also am Adressebus das
Muster
1
1100100xxxxxxxxxxxxx
vorliegen, damit \ACE low wird (wenn ich mal davon ausgehe, dass der
Jumper so gesetzt ist, dass der C8000-C9000 Bereich ausgewählt ist).
Christoph Kessler (db1uq) schrieb:> .....Dadurch werden jeweils Adressbereiche von 2^15 = 32768 Adressen> selektiert, maximal 2^5 = 32 Bereiche. Tatsächlich decodiert sind 8> Bereiche, und verwendet nur drei.>
ok ok ok ...
ich les das Grundstudium....
dachte mir schon ... so einfach wird das nix....
..danke Christoph!
also nix pferd von hinten aufsatteln,
muss ich doch über den ISA erst einlesen..
ok ok ok...
Danke!
Gruss
Rudi
..;-)
..und ich war so grosser Dinger ;-))))
hilft nix... lesen lesen lesen ...
Karl Heinz schrieb:> Rudi schrieb:>>> jetzt muss mir nur noch einer bissal recht geben in meiner theorie..>> :;-)))>> Nein.> Du musst noch berücksichtigen, wo denn die 3 Leitungen A B und C am> Adressbus angeschlossen sind. Welche der Adressleitungen also in die> Dekodierung eingehen.
ok, Kark Heinz,
sei mir need böse..wenn ich jetzt nachfrage,
und womöglich unverständnis auslöse aber...
>>
1
> C8000 binär 1100 1000 0000 0000 0000
2
> C9FFF binär 1100 1001 1111 1111 1111
3
>
4
> | | ^
5
> | | |
6
> | | hier ist A15. Alles rechts davon interessiert diesen
7
> | | Decoder überhaupt nicht. Denn:
8
> | |
9
> | | |
10
> v v v
11
> C B A
12
>
>> An den Pins CBA vom Decode liegt also das Bitmuster 101 an. Und damit> geht Y5 auf Low.
woher weiss ausgerechnet "Y5" dass es auf Low gehen soll...
wie kann ich das nachvollziehen . das Bitmuster 101 den Y5 low machen.
Ergibt sich das jetzt aus dem "startbereich" der A15, A16, A18
Leitungen?
und das dazugehörige beabsichtigte Schaltmuster?
>>
1
>11001xxxxxxxxxxxxxxx
2
>
> wobei die x die für diesen 138-er uninteressanten Leitungen> kennzeichnen, damit am ersten 138-er die Leitung Y5 auf Low geht.> Der 2-te 138 macht dann noch die Unterschiedung anhand von A13 und A14
ok... den zweiten lass ich jetzt mal vorerst gedanklich weg..
muss den ersten erst klar nachdenken können wie es geht.
Ich denke dass die A13 und A14 Leitungen fürs "a"synchrone lesen und
schreiben auf den Bus zuständig sind... ? CE ( chip enabled )
Danke vorerst!
Gruss
Rudi
:-)
Rudi schrieb:> woher weiss ausgerechnet "Y5" dass es auf Low gehen soll...
Weil das im 138 so verschaltet ist.
Man könnte auch sagen: Genau das ist es, was einen 138 ausmacht. Das je
nach Bitmuster genau einer von 8 Pins auf 0 geht. Wobei clevererweise
das Bitmuster von A bis C genau den Binärzahlen von 0 bis 7 entspricht
1
C B A Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7
2
-------------------------------
3
0 0 0 0 1 1 1 1 1 1 1
4
0 0 1 1 0 1 1 1 1 1 1
5
0 1 0 1 1 0 1 1 1 1 1
6
0 1 1 1 1 1 0 1 1 1 1
7
1 0 0 1 1 1 1 0 1 1 1
8
1 0 1 1 1 1 1 1 0 1 1
9
1 1 0 1 1 1 1 1 1 0 1
10
1 1 1 1 1 1 1 1 1 1 0
> Ergibt sich das jetzt aus dem "startbereich" der A15, A16, A18> Leitungen?
Du schmeist die im 138 eingebaute Logik mit ihrer Anwendung
durcheinander.
Es ist eine Sache, was die im 138 eingebaute Logik aus den
INput-Leitungen A, B und C macht. Es ist eine andere Sache, wo diese
Input-Leitungen angeschlossen sind, und was sich daher aus der
Kombination dieser Logik mit dem Anschluss an Adressleitungen für eine
Logik aus Sicht der Adressleitungen ergibt.
Rudi schrieb:> Ich denke dass die A13 und A14 Leitungen fürs "a"synchrone lesen und> schreiben auf den Bus zuständig sind... ? CE ( chip enabled )
nö.
Das sind genaus Adressleitungen wie alle anderen auch.
Der erste 138 'nagelt' den notwendigen Adressbereich auf diese Bits fest
1
1100 1xxx xxxx xxxx xxxx
und der zweite 138-er nimmt dann noch 2 Bits dazu
1
xxxx x00x xxxx xxxx xxxx
die 0 sein müssen, damit dessen Y0 auf 0 geht und somit dann letzten
endes beim IC der Chip Enable frei gegeben wird. Damit diese beiden Bits
überhaupt je zum tragen kümmen, müssen aber die 5 Bits aus dem ersten
Dekoder schon richtig stehen, sonst gibt der erste Dekoder keine
Freigabe an den zweiten Dekoder.
ZUsammen muss also am Adressbus das Muster
1
1100 100x xxxx xxxx xxxx
vorliegen, damit der Chip Enable dieses Chips auf 0 geht (und AEN muss
natürlich auch noch auf 0 sein. Aber darum geht es momentan nicht).
Alle Adressen im Bereich 0xC8000 bis 0xC9FFF erfüllen diese Bedingung.
Bei all diesen Adressen sind diese 7 interessierenden Bits genau so wie
gefordert. Und damit geht bei genau diesen Adressen die \ACE Leitung am
U1 auf Low und der IC fühlt sich angesprochen.
Karl Heinz schrieb:> Kombination dieser Logik mit dem Anschluss an Adressleitungen für eine> Logik aus Sicht der Adressleitungen ergibt.
Um bei den Postsäcken zu bleiben:
Du hast einen 'Dekoder' der je nach Ziffer 0 bis 9 eine von 9 Lampen
aufleuchten lässt. Diese Lampen stellst du neben den entsprechenden
Postsack.
Da du die 5.te Stelle der Postleitzahl in diesen Dekoder reinsteckst,
leuchtet die jeweils korrekte Lampe für die jeweiligen Tausender der
Postleitzahl.
Davon weiß aber der Dekoder nichts. Der dekodiert nur die Ziffern 0 bis
9 in jeweils eine zu leuchtende Lampe. Dass das die Tausenderstelle ist,
ergibt sich daraus, dass du dem Dekoder die Tausenderstelle fütterst.
Hättest du ihm die Hunderterstelle gegeben, dann hättest du eine andere
Aufteilung bzw. Zuordnung von Postleitzahlen zu Säcken.
Karl Heinz schrieb:> Rudi schrieb:>>> woher weiss ausgerechnet "Y5" dass es auf Low gehen soll...>> Weil das im 138 so verschaltet ist.>>>> Ergibt sich das jetzt aus dem "startbereich" der A15, A16, A18>> Leitungen?>> Du schmeist die im 138 eingebaute Logik mit ihrer Anwendung> durcheinander.
Danke Karl Heinz,
Du hast mir schon sehr viel geholfen und auf den richtigen Weg gewiesen.
Ich denke auch dass ich die beiden durcheinander werfe.
Das mit dem Bitmuster habe ich denke ich einigermassen kappiert.
Die interne Schaltung / was den decoder auszeichnet, denke ich muss ich
noch üben... ich bin auf den Decoder über eine Schaltung gekommen,
stimmt schon, ich sollte mal zuerst fragen, was macht der Decoder
überhaupt und wie... und dann mit Attributen ( eingangsadressen, Setzen
der Ausgänge, Belegen der Ausgänge mit Werten ) ergänzen
Ich mach mich ran.
Danke nochmals für Eure Zeit und Tips.
für mich waren sie sehr lehrreich und ich stehe schon sehr weiter als
vor der Frage.
Gruss
Rudi
;-)
Rudi schrieb:> Die interne Schaltung / was den decoder auszeichnet,
deshalb tragen IC Nummern und deshalb gibt es ein zu dieser Nummer
passendes Datenblatt bzw. haben die IC Kurzbezeichnungen wie zb konkret
der 138-er ein "8 aus 3 Dekoder" ist.
3 Einganglseitungen, die 0 oder 1 sein können. Mit 3 derartigen "Bits"
kann man 8 verschiedene Zustände erzeugen. Und genau das macht der IC.
Die 3 binären Bits in die jeweilige Zustandsnummer aus den 8 möglichen
umsetzen. Deshalb hat er 8 Ausgangsleitungen Y0 bis Y7. Daher "8 aus 3
Dekoder".
Wobei es dann noch diverse zusätzliche Freigabeleitungen für den Dekoder
gibt, die richtig stehen müssen, damit er überhaupt arbeitet.
Hier noch ein Versuch, der nicht nur IC U2, sondern den ganzen
Schaltplan abdeckt (da gibt es ja noc einen zweiten 74HCT138).
Folgende Abkürzungen werden verwendet:
U<i><s>: Pin <s> von IC U<i>
Beispiel: U2Y5 = Pin Y5 von IC U2
DB: Datenblatt
Es geht letztendlich darum, unter welchen Adressen der DOC-2000 (U1)
angesprochen wird. Um dies herauszufinden, wird die Schaltung von rechts
nach links durchgegangen und jeweils für die einzelnen IC-Pins die
logischen Bedingungen aufgestellt, unter denen U1 freigeschaltet wird.
U1 wird freigeschaltet, wenn U1CE=0 (DB DOC-2000)
U1CE=U3Y0 (direkte Verbindung)
U3Y0=0 <=> U3A=0, U3B=0, U3C=0, U3G1=1, U3G2A=0, U3G2B=0 (DB 74HCT138)
U3C=0, U3G1=1 und U3G2A=0 sind dabei immer erfüllt (Schaltplan).
U3A=A13, U3B=A14 (direkte Verbindung)
Also muss gelten:
1
A13=0, A14=0
Je nach Einstellung von JP2 ist
U3G2B=U2Y5 oder
U3G2B=U2Y6 oder
U3G2B=U2Y7
U2Y5=0 <=> U2A=1, U2B=0, U2C=1, U2G1=1, U2G2A=0, U2G2B=0 (DB 74HCT138)
U2Y6=0 <=> U2A=0, U2B=1, U2C=1, U2G1=1, U2G2A=0, U2G2B=0
U2Y7=0 <=> U2A=1, U2B=1, U2C=1, U2G1=1, U2G2A=0, U2G2B=0
U2A=A15, U2B=A16, U2C=A18, U2G1=A19, U2G2A=AEN, U2G2B=A17
Also muss gelten:
1
A18=1, A19=1, AEN=0, A17=0
und ja nach Jumperstellung:
1
A15=1, A16=0 oder
2
A15=0, A16=1 oder
3
A15=1, A16=1
A00 bis A12 sind direkt mit den entsprechenden Eingängen von U2
verbunden und dürfen alle 2¹³ möglichen Kombinationen annehmen,
um den gesamten 8 KiB großen Adressraums des ICs anzusprechen.
Die folgende Tabelle fasst die obigen Bedingungen für die Adressbits
zusammen. Für jede der drei möglichen Jumperstellungen ist dabei die
kleinste und größte mögliche Adresse angegeben, unter der der DOC
angesprochen wird.
Yalu X. schrieb:
...
> Falls ich einige der Schritte zu knapp oder unverständlich beschrieben> habe, frag einfach nach.
...
Hi Yalu,
sehr interessant!!!
Herzlichen Dank für Deine Mühe!!!
Ich kann das nur insowiet honorieren, dass ich Deine Ausführung sehr
genau studiere und versuche, es soweit zu interpretieren, dass ich auf
den ´gleichen Nenner komme.
Ich werde mir das in jeden Fall heute Abend schon mal vornehmen und über
das lange Wochenende .. und aufkommende Fragen notieren.
Unter was fällt sowas?
Gleichunglehre Logische Schalt-Algebra?
Sieht sehr spannend aus -
Auf den ersten Blick schimmern mir auch die drei Adressen ( Jumper/Chip
)
durch. Also ich sehe da schón mal einen Lichtblick ;-)
Herzlichen Dank nochmals für Deine Bemühungen!
Gruss
Rudi
;-)
@all
Ihr seid schon beeindruckend, Danke!
Rudi schrieb:> Unter was fällt sowas?> Gleichunglehre Logische Schalt-Algebra?
Eher unter "gesunder Menschenverstand" ;-)
> Sieht sehr spannend aus -
Ist es aber gar nicht. Um die Schaltung zu verstehen, brauchst du keine
Boolesche Algebra o.ä. Du musst lediglich in der Lage sein, aus der
Logiktabelle des 74x138 (die du im Datenblatt findest) herauszulesen,
welche Logikpegel die 6 Eingänge haben müssen, um eine bestimmte
Kombination von Ausgangspegeln zu erreichen.
Der 74x138 ist eine recht einfache Schaltung, bei der die Ausgangspegel
ausschließlich von den aktuellen Eingangspegeln abhängen. Man bezeichnet
so eine Schaltung auch als SchaltNETZ oder kombinatorisches Netzwerk:
http://de.wikipedia.org/wiki/Schaltnetz
Meist etwas kniffliger sind Schaltungen, bei denen die Ausgangspegel
nicht direkt von den Eingangspegeln, sondern vom zeitlichen Verlauf
derselben abhängen. Eine solche Schaltung kann einen Zustand speichern
und wird als SchaltWERK oder sequentielles Netzwerk bezeichnet:
http://de.wikipedia.org/wiki/Schaltwerk_%28Technische_Informatik%29
Noch haben wir es aber nur mit einem einfachen SchaltNETZ zu tun.
Nachdem du dir das Ganze einmal genauer angeschaut hast, wirst du dich
fragen, warum du da nicht selbst daraufgekommen bist.
Eigentlich ist es ein Ableger vom Intel 8205.
In der DDR wurde er als DS8205 sehr oft zur Decodierung eingesetzt.
Die Wahrheistabelle ist gleich.
Unter (DS)8205 findest du sicher sehr viel mehr Beispiele und
Schaltungen.
Hi,
wollte nur noch schnell vor dem Abendbrot schreiben:
Christoph Kessler (db1uq) schrieb:> Pro Hexadezimalstelle haben wir 4 Bit, die fünf Stellen entsprechen also> 24 Bit. Davon liegen auf dem ISA-Bus nur 20 an, genannt A0...A19.
Hi Christoph,
vielen Dank!
Ich möchte es verstehen, daher rückgefragt:
Pro HexStelle 4 Bit
Mit Hexadezimalstelle meinst Du C,8,0,0,0
also 5 Stellen
entsprechen die nicht 20 Bit?
Wie kommst Du auf 24 Bit? wo stecken die anderen 4 Bit?
@Yalu:
Du hast mir sehr einleuchtend das rübergebracht!
Wenn ich allso angenommen die Adresse A 9 0 0 0
verwenden will bzw der HC darauf reagieren sollte...
muss das Bitmuster schon mal lauten:
1010 (A)
1001 (9)
0000 (0)
0000 (0)
Ob das jetzt mit der Tabelle vom HC übereinstimmt lass ich jetzt mal
vorerst weg. Auch an welchen PAD des ISA A0-A19 der HC angeschlossen
werden muss.
Ok bis daher? ;-)))
Hab ichs kapiert?...;-)
Danke!!!
Gruss
Rudi
:-)
> Ich möchte es verstehen, daher rückgefragt:> Pro HexStelle 4 Bit> Mit Hexadezimalstelle meinst Du C,8,0,0,0> also 5 Stellen> entsprechen die nicht 20 Bit?> Wie kommst Du auf 24 Bit? wo stecken die anderen 4 Bit?
ich muss mir schnell die Antwort selber geben... ;-)))))
sonst mach ich mich zum affen ;-)))
....6 Eingänge...
A
B
C
G1
G2A
G2B
Also 6 x 4 = 24 Bit
für
A15
A16
A18
A19
AEN
A17
weil AEN Function: "enable" ist, sind es 5 für die Pegel logic......
i komprende ... sorry fürs pushen...
"ich schussel..."....
..ok...
gruss
Rudi
;-)
Rudi schrieb:> Christoph Kessler (db1uq) schrieb:>> Pro Hexadezimalstelle haben wir 4 Bit, die fünf Stellen entsprechen also>> 24 Bit. Davon liegen auf dem ISA-Bus nur 20 an, genannt A0...A19.>> Hi Christoph,>> vielen Dank!> Ich möchte es verstehen, daher rückgefragt:
Ich antworte mal stellvertretend für Christoph :)
> Pro HexStelle 4 Bit> Mit Hexadezimalstelle meinst Du C,8,0,0,0
Ja.
> also 5 Stellen
Ja.
> entsprechen die nicht 20 Bit?
Doch, denn 5 · 4 = 20.
> Wie kommst Du auf 24 Bit? wo stecken die anderen 4 Bit?
Da war er in Gedanken wohl nicht bei den 5 Stellen, sondern schon beim
ISA-Bus. Der hat nämlich insgesamt 24 Adressleitungen, was aber 6
Hexadezimalstellen entspricht.
Die Schaltung ist hedoch kompatibel zum älteren XT-Bus, der nur 20
Adressleitungen hat. Stelle dir deswegen die obersten 4 Adressbits
(A20-A23) einfach als nicht existent vor. Die Adressen haben also 5
Hexadezimalstellen, und der Adressbus 20 Leitungen (A0-A19) von denen
die Schaltung alle verwendet.
> @Yalu:> Du hast mir sehr einleuchtend das rübergebracht!> Wenn ich allso angenommen die Adresse A 9 0 0 0> verwenden will bzw der HC darauf reagieren sollte...> muss das Bitmuster schon mal lauten:> 1010 (A)> 1001 (9)> 0000 (0)> 0000 (0)
Ja, plus noch eine weitere 0000 (0). Allerdings liegt diese Adresse
außerhalb des durch die Schaltung dekodierten Bereichs. Wenn du aber A8
mit A17 vertauschst (also A18 an U2G2B und A17 an U2C) dekodiert sie –
je nach Jumperstellung – einen der drei Adressbereiche
A8000-A9FFF
B0000-B1FFF
B8000-B9FFF
Der erste davon enthält auch die Adresse A9000.
Man kann die Schaltung aber nicht einfach in einen x-beliebigen
Adressbereich legen, da dieser schon von anderen Peripherieeinheiten
belegt sein könnte. Dann gibt es Adresskonflikte, und mindestens eine
der beiden Peripherieeinheiten funktioniert nicht mehr.
> Ok bis daher? ;-)))
Ja.
> Hab ichs kapiert?...;-)
Ich würde mal sagen, du bist auf dem besten Weg dorthin ;-)
Oder warte ...
Rudi schrieb:> ich muss mir schnell die Antwort selber geben... ;-)))))> sonst mach ich mich zum affen ;-)))>> ....6 Eingänge...>> A> B> C> G1> G2A> G2B>> Also 6 x 4 = 24 Bit
Nein, doch nicht :-(
Die Anzahl der Hexadezimalstellen der Adresse hat nichts mit der Anzahl
der angeschlossenen Pins des 74138 zu tun.
Yalu X. schrieb:> Man kann die Schaltung aber nicht einfach in einen x-beliebigen> Adressbereich legen, da dieser schon von anderen Peripherieeinheiten> belegt sein könnte. Dann gibt es Adresskonflikte, und mindestens eine> der beiden Peripherieeinheiten funktioniert nicht mehr.
Meist wird aber vorgesorgt, das nicht I/O mit dem Speicher in Konflikt
gerät.
Und Rudi, du must auch beachten, das einige Adressen an den Decodern an
negierten Eingängen liegt.
Die Decoder sind kaskadiert, trotzdem kannst du dir da eine schöne
Wahrheitstabelle machen.
Hallo Yalu ,
>>> Ok bis daher? ;-)))>> Ja.>>> Hab ichs kapiert?...;-)>> Ich würde mal sagen, du bist auf dem besten Weg dorthin ;-)>> Oder warte ...>>> ....6 Eingänge...>>>> A>> B>> C>> G1>> G2A>> G2B>>>> Also 6 x 4 = 24 Bit>> Nein, doch nicht :-(>> Die Anzahl der Hexadezimalstellen der Adresse hat nichts mit der Anzahl> der angeschlossenen Pins des 74138 zu tun.
...ok...
ich denke ich habs jetzt bald... bevor ich eine weitere
Erkenntnistheorie von mir gebe werde ich mir das erst noch mal
überlegen... habs mir ja für dieses wochenende vorgenommen....aber
irgendwie war mir meine Aussage 6 x 4 = 24 Bit nicht so recht
vorgekommen, ich ahnte dasss da was faul ist...
mann mann mann... ;-)
btw:
ganz ehrlich:
mich irretiert die Tabelle des 74HC138 indem dann "was passiert" wenn
was "LOW" ist...
also sprich ABC 101.... Y5 wird LOW ... wird aber dann die "aktive
Brücke" ( C8000 ) ...ne ich sag noch nicht was ich denke ;-))))....
ich überlege mir das erst noch genauer ;-))))
Danke für Deine Zeit!
Gruss
Rudi
;-)
Rudi schrieb:> mich irretiert die Tabelle des 74HC138 indem dann "was passiert" wenn> was "LOW" ist...> also sprich ABC 101.... Y5 wird LOW ... wird aber dann die "aktive> Brücke" ( C8000 ) ...ne ich sag noch nicht was ich denke ;-))))....> ich überlege mir das erst noch genauer ;-))))
Tja, es gibt negative und positive Logic.
Und mach endlich die Wahrheitstabelle für die zwei 138, und dir werden
mehrere Lichter aufgehen.
Michael_ schrieb:> Und Rudi, du must auch beachten, das einige Adressen an den Decodern an> negierten Eingängen liegt.> Die Decoder sind kaskadiert, trotzdem kannst du dir da eine schöne> Wahrheitstabelle machen.
..ich schreib noch nichts dazu ;-)
habe zwar schon nachgedacht und nachgelesen aber bin mir noch nicht ganz
schlüssig... im MOment ist wieder fast alles am Anfang ;-)
@Xalu:
Das mit belegten Adressen dachte ich mir schon.
Nahm einfach eine x beliebige Adresse als Beispiel
D.h. also,
ich bin mir zu 99,9 prozent sicher mit meiner kommenden Aussage...
:
wenn man dann später anstatt den ISA BUS
z.B. einen Microcontroller Bus nehmen würde
und die Jumper Stellung und Schaltung so bleibt,
dann kann es sein dass man wieder eine ganz
andere Adresse "generiert" .... ich behaupte ja schon fast,
zielstrebig eine Adresse "benennen" kann.
Weil wer würde das "vorschreiben"?
Es geht dann "nur" darum, die Pegel des 74HC138 dann so anzusteuern,
dass man auf sein Logic Bitmuster kommt wo eben dir gesteckte Jumper
sein soll....
richtig? ....
50/50 sicher:
und bei den Gedanken frage ich mich eigentlich,
wobei - warum sollte man die guten Ports verbrauchen..
...warum ich dann den 74HC138 bei einem Microcontroller brauche,
es geht doch letztendlich nur darum den DOC zu enablen wenn darauf
zugegriffen wird?
auf den kann man ja dann verzichten...
..vorsichtig: richtig?....
ich kann heut nicht schlafen wenn ich bei der ersten falsch liege! ;-)
also wartet bitte mit der Antwort ;-)))))))
bei der zweiten Annahme ist es nicht so wild ;-))))
Danke!
Gruss
Rudi
;-)
danke Michael!!!
Gruss
Rudi
;-)
Michael_ schrieb:> Tja, es gibt negative und positive Logic.> Und mach endlich die Wahrheitstabelle für die zwei 138, und dir werden> mehrere Lichter aufgehen.
Hallo Michael,
Ich wusste es!!!! ;-)))))
Bei der Wahrheitstabelle musst Du mir einen Wink geben,
wie macht man sowas - was sagt mir das -
Ich frage mich schon die ganze Zeit warum der zweite da ist,
wir haben ja eine Adresse,
ich kann mir nur für mich erklären, dass er den Chip enable wieder
aufhebt wenn er geschrieben/gelesen hat ( C und G2A wird gegen Masse...)
oder so... bin ehrlich - am zeiten war ich noch nicht...
Gruss
Rudi
;-)
Rudi schrieb:> wenn man dann später anstatt den ISA BUS> z.B. einen Microcontroller Bus nehmen würde> und die Jumper Stellung und Schaltung so bleibt,> dann kann es sein dass man wieder eine ganz> andere Adresse "generiert" .... ich behaupte ja schon fast,> zielstrebig eine Adresse "benennen" kann.
Nein, das ist primitive Logic. Wenn vorn die gleichen Adressen anliegen,
kommt hinten das gleiche heraus.
Im vorliegenden Fall wurden zwei Decoder kaskadiert.
Nimm doch mal die Wahrheitstabelle des 154. Lege dort deine Adressen an,
es wird viel einfacher.
Michael_ schrieb:> Nimm doch mal die Wahrheitstabelle des 154. Lege dort deine Adressen an,> es wird viel einfacher.
ok Michael,
ich hab den link
http://www.nxp.com/documents/data_sheet/74HC_HCT154.pdf
Ich werd mir das genauer ansehen.
Heut leider nicht mehr..
Auf den ersten Blick fallen mir bei dem
die 16 Ausgänge auf. 4 Adresseingänge.. 2 Enable Inputs..active LOW?...
...
oki...
ich lese noch ein wenig...
Gruss
Rudi
;-)
Yalu X. schrieb:> Hier noch ein Versuch, der nicht nur IC U2, sondern den ganzen> Schaltplan abdeckt (da gibt es ja noc einen zweiten 74HCT138).>> Folgende Abkürzungen werden verwendet:>> U<i><s>: Pin <s> von IC U<i>> Beispiel: U2Y5 = Pin Y5 von IC U2>> DB: Datenblatt>> U1 wird freigeschaltet, wenn U1CE=0 (DB DOC-2000)>
Hi Yalu,
..warum bin ich nicht gleich darauf gekommen?!?!?
..ich habe einen Denkfehler gehabt.
Karl Heinz hat mir das Stichwort nach meiner Frage gegeben,
es gibt possitive und negative Logik..
ich hab die ganze Zeit die "0" und die "1" mit "nicht leiten" und
"leiten" verglichen, ( und vom potential gesehen wäre ja "0" kein
Potential und "1" potential vorhanden also nicht gleich )
das die 0V und 5V aber auch "0" oder "1" und umgekehrt sein können
erklärt warum der U1CE auf "0" sein muss, damit die 5V fliessen und er
sich angesprochen fühlt...
..ich wage es zu behaupten ... ne ich denke es muss so sein ,
der 138 wird hier mit negativer logik betrieben.
Hab ich es jetzt endlich????
;-)
mann mann mann...
aber zwei fragen habe ich noch:
wenn ich den ISA bus jetzt so "programmieren" müsste, dass die
logischen Pegel so stehen also
A19-A12 ( 1 1 0 0 | 1 0 0 X )
damit U1 die besagte Adresse ( C 8 0 0 0 ) - Jumper richtig gesetzt -
müssen diese dann negativ oder possitive logik haben...
;-))))
war ein scherz!!! ;-)))))
genau das meinte ich - das brachte mich die ganze zeit durcheinander
;-))))
he he ;-))))
ich habs denke ich bis dahin kapiert ;-)))
danke an Euch!!
zurück zur Frage:
wenn ich den ISA jetzt anpsrechend programmieren wollte,
wie sieht so ein Aufruf für den A19-A12 aus?
etwa so:
write(&A19,1)
write(&A18,1)
write(&A17,0)
usw..
damit leite ich dann die Pegel am 74HC138 ein und über die Adresse...
wo kommt diese Adresse vor in dem write Process?
wenn ich die Pegel so eingeleitet habe, ergibt sich die Logik im U3+U2
der dann den U1CE=0 ( also einschaltet )
etwa dann so:
write (Adresse...PIN....Pegel )
also
Write (C8000,A19,1)
Write (C8000,A18,1)
Write (C8000,A17,0)
...
sehe da keinen Sinn?!....
Denkfehler?
Wenn ich jetzt schreiben würde:
write (C8000)
dann würde mir das einleuchten ...
ich kann mir nur erklären, dass die "PINS des ISA" die für die
Logikansteuerung der beiden U3+ U2 zutändig sind, das eine ist,
und dann die Daten die geschrieben / gelesen werden über
die Adresse erfolgen das andere ist,
daher liegen ja auch Pins vom ISA an den beiden Logik Bausteinen und am
U1(DOC) direkt am UC1 an... (D0.. D7)
also zwangsweise sehe ich in der Generierung der Adresse eine
vorausgesetze Prozedure um überhaupt mit dem U1 auf eine Basis zu
kommunizieren.
richtig?
wer kann mir das noch erklären wie das zusammenspiel aussieht?
es würde mir reichen wie ein schreiben auf den DOC eingeleitet wird
und ein lesen, wird geschrieben und gelesen auf D0--D07?
Stehen die D0 .. D7 für "DATEN"
Für was oder machen die restlichen ISA A0 .. A12 am U1?
Wie wird sowas unterschieden?
MEMW MEMR ?
Kann ich sagen, dass wenn ich schreibe:
Write()
der MEMW = 0 wird damit der U1 über D0-D7 Daten aufnimmt
Read()
der MEMR = 0 wird damit der U1 über D0-D7 Daten von sich gibt
Ich bräuchte nur einen Wink ob ich auf dem richtigen Weg bin...
Wenn ich jetzt bei MEMW/MEMR 0 und 1 verwechselt habe,
dann liegt es darin dass ich nicht ins DB geschaut habe
wann die beiden jeweils aktiv werden bei 0 oder 1...
Wo kann man sowas nachlesen wie ein "Treiber" dafür geschrieben werden
kann, stell ich mir das zu einfach vor?
jetzt mal ohne unbedingt auf dateiformate einzugehen...
mir würde es reichen
wie sowas prinzipiell geschehen muss...
unter welche Begriffe sowas fällt um weiter eintauchen zu können ect..
sagen wir mal ich will darauf ( U1 ) ein "Hallo" schreiben
und dann wieder lesen...
Dann muss ich wissen:
wo kann ich das hallo ablegen ( Speicherstelle im DOC )
wo kann ich es wieder lesen (Speicherstellen im DOC
und dann muss ich noch aufpassen das ich auf freie Speicherstellen
schreibe...
wie sieht sowas aus?
ihr habt mir schon sehr viel geholfen....
Danke für Euer lesen und Eure Zeit!
Gruss
Rudi
;-)
Rudi schrieb:> ich hab die ganze Zeit die "0" und die "1" mit "nicht leiten" und> "leiten" verglichen, ( und vom potential gesehen wäre ja "0" kein> Potential und "1" potential vorhanden also nicht gleich )>> das die 0V und 5V aber auch "0" oder "1" und umgekehrt sein können> erklärt warum der U1CE auf "0" sein muss, damit die 5V fliessen und er> sich angesprochen fühlt...
Volt können nicht fliessen.
ABgesehen davon:
Du tust dir nichts gutes damit, wenn du dir hier Stromflüsse vorstellst.
Da sind einfach nur Potentiale. Entweder 0V oder 5V (oder 0 und 1).
Manche Eingänge haben als 'ich mach nichts' Zustand eine 1 und schalten
bei einer 0 in den 'ich tu was' Modus. Und bei anderen ist es umgekehrt.
erkennbar an der Beschriftung des Pins. EIne normal geschriebene
Bezeichnung ist positive Logik (0 ist inaktiv, eine 1 bewirkt etwas),
eine Beschriftung mit einem QUerstrich drüber (bzw einem / vor der
Bezeichnung) ist negative Logik: grundzustand und damit inaktiv ist der
Eingang bei einer 1, eine 0 bewirkt etwas.
Aber geh da nicht mit der Atittüde ran: Strom rinnt von + nach -. Das
bringt dich bei digitaler Elektronik selten weiter.
Karl Heinz schrieb:>> Aber geh da nicht mit der Atittüde ran: Strom rinnt von + nach -. Das> bringt dich bei digitaler Elektronik selten weiter.
;-))
...nein mach ich nicht Karl Heinz ;-)))
...Strom geht doch von - nach + oder ;-))))))
.spass beiseite...
ne das hab ich jetzt mal kapiert,
genau das wird auch die Blockade sein warum ich hier und da
immer wieder das gleiche überdenke...
> Manche Eingänge haben als 'ich mach nichts' Zustand eine 1 und schalten> bei einer 0 in den 'ich tu was' Modus. Und bei anderen ist es umgekehrt.> erkennbar an der Beschriftung des Pins. EIne normal geschriebene> Bezeichnung ist positive Logik (0 ist inaktiv, eine 1 bewirkt etwas),> eine Beschriftung mit einem QUerstrich drüber (bzw einem / vor der> Bezeichnung) ist negative Logik: grundzustand und damit inaktiv ist der> Eingang bei einer 1, eine 0 bewirkt etwas.
Danke für diesen grundsatz!!!
Ich werde mich damit auseinander setzen, damit das sitzt,
ich denke das ist auch notwendig - ...
. das wäre auch das nächste gewesen zu fragen,
Gibt es da ein gewisses Grundgerüst oder "Gesetz"
wann man possitive Logik und wann negative Logik anwenden soll(muss)?
die Antwort liegt schon im Grundsatz...
wenn man bestimmte Bausteine verwenden will die einfach
das ein und das andere erfordern... muss die Schaltung dann so aufgebaut
werden...
ich werde mir daher das Datenblatt des DOC genauer ansehen,
dann werde ich auch verstehen warum CE am DOC 0 sein muss damit er
sich angesprochen fühlt, ... und so kommt dann der Logik Baustein in das
Spiel... den man dazu passend braucht... ok.... Karl Heinz, danke bis
hier her mal, ich werde an verschiedenen Datenblättern erst einmal den
Grundsatz vertiefen damit der Sitzt.... danke!!!
Gruss
Rudi
;-)
Rudi schrieb:> hier her mal, ich werde an verschiedenen Datenblättern erst einmal den> Grundsatz vertiefen damit der Sitzt.... danke!!!
Da gibts nicht viel zu vertiefen.
WEnn im Datenblatt steht, dass der /CE Eingang eine 0 sehen will, um die
Funktion auszulösen, dann ist das so. WEnn im Datenblatt steht, dass der
CE Eingang eine 1 sehen will, um die Funktion auszulösen, dann ist das
so. Das ist vom Hersteller so vorgegeben und es gibt nichts was du
dagegen tun könntest ausser die davor sitzende Schaltung so zu
entwerfen, dass sie den Pin so wie vom Hersteller vorgesehen benutzt.
Egal ob das jetzt Active-Low oder Active-High ist.
In deinem Fall schreibt dir der Hersteller des DOC vor, dass der /CE auf
0 zu ziehen ist, damit der Baustein mitarbeitet. Aus - Ende. Das ist
schon alles, was es aus DOC Sicht dazu zu sagen gibt. Ausser vielleicht
dem Umstand, dass aus genau diesem Grund der Anschluss mit /CE
beschriftet ist und nicht mit CE. Man will ja schliesslich auch nicht
wegen jedem Schas im Datenblatt nachschlagen müssen.
Karl Heinz schrieb:> Manche Eingänge haben als 'ich mach nichts' Zustand eine 1 und schalten> bei einer 0 in den 'ich tu was' Modus. Und bei anderen ist es umgekehrt.> erkennbar an der Beschriftung des Pins. EIne normal geschriebene> Bezeichnung ist positive Logik (0 ist inaktiv, eine 1 bewirkt etwas),> eine Beschriftung mit einem QUerstrich drüber (bzw einem / vor der> Bezeichnung) ist negative Logik: grundzustand und damit inaktiv ist der> Eingang bei einer 1, eine 0 bewirkt etwas.>> Aber geh da nicht mit der Atittüde ran: Strom rinnt von + nach -. Das> bringt dich bei digitaler Elektronik selten weiter.
Jetzt hats "szum" gemacht!
So.. jetzt hab ich zum ersten Mal in meinem windigen Daseins Leben was
gesehen was ich schon immer angesehen habe aber nie erkannte oder mich
fragte warum das so ist:
Der U1 hat im Schaltplan an den PINS
/WE
/CE
/OE
einen Schrägstrich davor.
Das heist dann, das es sich um negative Logik handelt.
d.h. dort muss Logik 0 sein damit was passiert....
Bis da her mal ---
Karl Heinz danke!!!
Gruss
Rudi
;-)
Karl Heinz schrieb:> Rudi schrieb:>>> Da gibts nicht viel zu vertiefen.>> WEnn im Datenblatt steht, dass der /CE Eingang eine 0 sehen will, um die> Funktion auszulösen, dann ist das so. WEnn im Datenblatt steht, dass der> CE Eingang eine 1 sehen will, um die Funktion auszulösen, dann ist das> so. Das ist vom Hersteller so vorgegeben und es gibt nichts was du> dagegen tun könntest ausser die davor sitzende Schaltung so zu> entwerfen, dass sie den Pin so wie vom Hersteller vorgesehen benutzt.> Egal ob das jetzt Active-Low oder Active-High ist.> In deinem Fall schreibt dir der Hersteller des DOC vor, dass der /CE auf> 0 zu ziehen ist, damit der Baustein mitarbeitet. Aus - Ende. Das ist> schon alles, was es aus DOC Sicht dazu zu sagen gibt. Ausser vielleicht> dem Umstand, dass aus genau diesem Grund der Anschluss mit /CE> beschriftet ist und nicht mit CE. Man will ja schliesslich auch nicht> wegen jedem Schas im Datenblatt nachschlagen müssen.
Du warst schneller ;-)
Karl Heinz - für mich ist das alles Neuland -
ich fange intensiv jetzt erst an mich damit mal auseinander zu setzen,
quasi ich mach mir jetzt den "Elektroniker"...DIY
ich komme aus der "Strippenzieher" branche ;-)
....ist das aufregend!!!
jetzt bekommt natürlich alles seinen Sinn -
jetzt machts auch mal Spass nachzuschlagen ;-)
Frage:
Wenn ich sowas dann mal - sagen wir - invertieren will,
kann ich das so angehen dass ich mir dann einen
"invertierer" suche als Logik - gibt es sowas überhaupt?
..
man ist das aufregend...
danke!!!!
gruss
Rudi
;-)
Rudi schrieb:> Der U1 hat im Schaltplan an den PINS> /WE> /CE> /OE>> einen Schrägstrich davor.> Das heist dann, das es sich um negative Logik handelt.> d.h. dort muss Logik 0 sein damit was passiert....
Exakt.
WE bedeutet ausgeschrieben "Write Enable". Und der Querstrich davor sagt
dir: Bei einer 0 am Eingang (also 0V) hat der Baustein die
Schreibfreigabe gekriegt. Ist der Eingang auf einer 1 (also 5V) dann hat
er keine Schreibfreigabe und wird daher das Beschreiben von irgendwas
(meistens Speicherzellen) verweigern. Bzw. in diesem Fall ist es dann
der Wechsel von 1 auf 0, welches das Beschreiben einer Speicherzelle
erst auslöst. Denn /WE ist aktiv bei einer 0 am Eingang.
CE bedeutet "Chip Enable". Der Querstrich davor wieder: Bei einer 0 ist
der Chip als ganzes enabled. Bei einer 1 schaltet sich der Chip als
ganzes ab (und macht einfach nichts)
OE bedeutet "Output Enable". D.h das ist die Freigabe für irgendwelche
Ausgänge. Der Strich davor verrät dir wieder: Bei einer 0 sind die
Outputs enabled (d.h. der IC treibt von sich aus die Ausgangsleitungen,
entweder 0 oder 1 je nachdem), oder aber er hält sich bei einer 1 am OE
raus und macht nichts mit den Ausgangsleitungen. Dieses Nichts ist
wörtlich zu nehmen. Der IC beeinflusst dann diese Ausgangspins und damit
die dort angeschlossenen Leitungen überhaupt nicht.
So gibt es ein paar Kürzel, die sich über die ganzen Digitalelektronik
immer wieder wiederholen.
In der Digitialtechnik geht es nicht so sehr um Strom fliest oder Strom
fliest nicht. Natürlich fliest da irgendwo ein Strom. Aber in erster
Linie geht es um Pegel. Um unterscheidbare Zustände. Entweder am Pin
liegen 5V an oder es liegen 0V an. Digitaltechnik kann man mit allem
machen was unterschiedbare Zustände sind. Ob das jetzt Wasserhahn auf/zu
ist, oder Licht an/aus. Ob das "Fahne ist am Fahnenmast oben/unten" ist,
oder eben "am Pin liegen 5V oder 0V" an. Jedesmal sind es diese beiden
Zustände, die entscheidend sind. Der Stromfluss an sich ist in der
Digitaltechnik (solange es um Logik geht, so wie hier) nicht der
entscheidende Punkt. Die Pegel sind es.
Karl Heinz schrieb:> Rudi schrieb:>> Das heist dann, das es sich um negative Logik handelt.>> d.h. dort muss Logik 0 sein damit was passiert....>> Exakt.
:-)
> So gibt es ein paar Kürzel, die sich über die ganzen Digitalelektronik> immer wieder wiederholen.
Gibt es ein "Kürzelbuch" / ich kenn jetzt für mein zwecke ein Formelbuch
aus der Elektrotechnik - gibt es sowas auch in der Digitaltechnik?
> Die Pegel sind es.
ok...
Ich traue mich jetzt ... ;-)
sind das dann die sogenannten TTL Pegel?
Wie kann dann z.B. ein Fühler wissen welche Pegel er senden muss?
Solche Fühler glaube ich arbeiten über Widerstandswerte oder?
Wird da der Widerstandwert am Fühler gemessen und der Wert in einer
Logik Tabelle ausgewertet und über einen "Vervielfältiger" dann der
Temperatur Wert dargstellt der errechnet wird über "Stromfluss"
( R = U/I )
Danke!
Gruss
Rudi
;-)
(bin mal schnell weg Abendbrot )
Rudi schrieb:> ok...> Ich traue mich jetzt ... ;-)> sind das dann die sogenannten TTL Pegel?
0V/5V sind die Pegel, die üblicherweise bei TTL-Bausteinen zum Einsatz
kommen. ja.
> Wie kann dann z.B. ein Fühler wissen welche Pegel er senden muss?> Solche Fühler glaube ich arbeiten über Widerstandswerte oder?> Wird da der Widerstandwert am Fühler gemessen und der Wert in einer> Logik Tabelle ausgewertet und über einen "Vervielfältiger" dann der> Temperatur Wert dargstellt der errechnet wird über "Stromfluss"> ( R = U/I )
Langsam.
Du musst unterscheiden, welchen Fühler du vor dir hast.
Ein Fühler kann zb ein einfacher Taster sein mit einer Messpitze drann.
Hat die Messspitze Kontakt, dann drückt sie den Taster rein und der
Taster schaltet die 5V auf die Ausgangsleitung (wenn der Taster nicht
gedrückt ist, dann sorgt ein Widerstand dafür, dass die Leitung auf 0
bleibt).
Das wäre ein rein digitaler 'Sensor'.
Bei Temperatursensoren kommt zb ein wärmeempfindlicher Widerstand zum
Einsatz. Dann gibt es 2 Möglichkeiten: entweder der sensor wird genau so
verkauft, als wärmeabhängiger Widerstand. Dann ist es aber kein
digitaler Sensor mehr, sondern er wird analog ausgewertet. D.h. da ist
nichts mehr mit 0V und 5V, sondern die genaue Spannung ist wichtig.
Oder aber in den Sensor ist bereits ein kleiner µC eingebaut, der die
analoge Spannung auswertet und der wieder über digitale Logik
ansprechbar ist. Da steckt die Auswertung der analogen Messgröße bereits
im Sensor selbst.
> Wird da der Widerstandwert am Fühler gemessen und der Wert in einer> Logik Tabelle ausgewertet und über einen "Vervielfältiger" dann der> Temperatur Wert dargstellt der errechnet wird über "Stromfluss"> ( R = U/I )
Kann man beispielsweise so machen.
Man kann aber auch den Widerstand mit einem 2-ten, konstantem
Widerstand, in eine Spannungsteilerschaltung verpacken und dann die sich
dadurch verändernde Spannung messen.
Da gibt es viele Möglichkeiten.
Karl Heinz schrieb:> Ein Fühler kann zb ein einfacher Taster sein mit einer Messpitze drann.> Hat die Messspitze Kontakt, dann drückt sie den Taster rein und der> Taster schaltet die 5V auf die Ausgangsleitung (wenn der Taster nicht> gedrückt ist, dann sorgt ein Widerstand dafür, dass die Leitung auf 0> bleibt).> Das wäre ein rein digitaler 'Sensor'.
Nachgefragt:
muss die Leitung mit einem Widerstand abgeschlossen werden?
Ich meine - wenn das nicht gemacht werden würde, gäbs dann keine
0 oder... also macht man das so...
ok....
ich werde mir in der Nachtlektüre Grundlagen aufschlagen:
Widerstände in Reihe , parralel ect..
Strom und Spannungsverhalten...ich merkte gerade dass ich mir da gar
nicht mehr wissenssicher bin ;-) und das muss dann schon sitzen....
Karl Heinz danke einstweilen!!
Gruss
Rudi
;-)
Rudi schrieb:> Karl Heinz schrieb:>>> Ein Fühler kann zb ein einfacher Taster sein mit einer Messpitze drann.>> Hat die Messspitze Kontakt, dann drückt sie den Taster rein und der>> Taster schaltet die 5V auf die Ausgangsleitung (wenn der Taster nicht>> gedrückt ist, dann sorgt ein Widerstand dafür, dass die Leitung auf 0>> bleibt).>> Das wäre ein rein digitaler 'Sensor'.>> Nachgefragt:>> muss die Leitung mit einem Widerstand abgeschlossen werden?> Ich meine - wenn das nicht gemacht werden würde, gäbs dann keine> 0 oder... also macht man das so...
Grundlage:
man lässt eine Eingangsleitung nicht einfach offen.
Wenn das System so aussieht
1
+ +5V
2
|
3
/
4
|
5
--------------------> zur Weiterverarbeitung
dann hat man zwar einen definierten Pegel, wenn der Schalter geschlossen
ist - nämlich 1. Aber man hat keinen definierten Pegel, wenn der
Schalter offen ist. Eine Leitung an der nichts angeschlossen ist, ist
nicht automatisch 0. Das hängt davon ab, wie hochohmig die
Auswerteschaltung ist, was dann passiert.
Denn eine Leitung an der sonst nichts weiter angeschlossen ist, ist erst
mal eine Antenne und die fängt sich jedes dahergelaufene
elektromagnetische Feld aus der Umgebung ein.
So
1
+ +5V
2
|
3
/
4
|
5
+-------------------> zur Weiterverarbeitung
6
|
7
+-+
8
| |
9
+-+
10
|
11
|
12
-+------ 0V - GND
hat die Leitung auch dann einen definierten Pegel, nämlich 0, wenn der
Taster nicht geschlossen ist.
Karl Heinz schrieb:> Grundlage:> man lässt eine Eingangsleitung nicht einfach offen.> Wenn das System so aussieht>>
1
>
2
> + +5V
3
> |
4
> /
5
> |
6
> --------------------> zur Weiterverarbeitung
7
>
8
>
Ok....
> Denn eine Leitung an der sonst nichts weiter angeschlossen ist, ist erst> mal eine Antenne und die fängt sich jedes dahergelaufene> elektromagnetische Feld aus der Umgebung ein.>> So>
1
>
2
> + +5V
3
> |
4
> /
5
> |
6
> +-------------------> zur Weiterverarbeitung
7
> |
8
> +-+
9
> | |
10
> +-+
11
> |
12
> |
13
> -+------ 0V - GND
14
>
>> hat die Leitung auch dann einen definierten Pegel, nämlich 0, wenn der> Taster nicht geschlossen ist.
Dachte ich mir Karl Heinz,
ich hab natürlich mir das gleich mal genauer ausgemalt,
und ein Bild gezeichnet.
Wenn vom Bus quasi für den Logic Baustein das logische Ja kommt zum
generieren der Ja Logik geht es weiter zur Anwendung....
wenn nix kommt, dann muss der Anwendungspin abgeschlossen werden...
ok...
Frage:
Wie sehen in solch einem Fall die Anschluss Bezeichnungen aus,
ich meine, auf welchen Anschluss wird der Widerstand angeschlossen,
Masse?...(-)
Logic und Anwendungs IC lass ich mal weg ( A,B,C....CE ) ..
Was passiert wenn die Logic "Ja" durchgibt, der Pegel der da durchgeht,
wird der gar nicht von dem WIderstand beeinflusst?
bzw... gilt hier, es wird der kürzere Weg gesucht der über den
Anwendungs IC gehen würde... dann müsste der Widerstand also hochohmig
sein?
hochohmiger als der sagen wir mal
"Innenwiederstand/Durchflusswidersatnd" des Anwendungschip?...
...ganz dumme frage....
der Pin vom Anwendungs IC geht ja dann über den Widerstand auf einen
"Anschluss"...
gibt es da generell ICs die den CE als /CE haben oder können die auch
mal CE sein... d.h. man muss den Widerstand hier und dort - abhängig
Anwendungs IC - auf Masse oder + legen,,,?
...gebe ich mir gerade in der Logic der Frage die Antworten selber ?
;-)))
...
Gibt es für solche Schaltungen einen Normnamen oder Normsatz?
Also "offene pins müssen abgeschlossen werden..."
und gibt es dafür mehrere Möglichkeiten oder gar
es müssen "Abschlüsse" so und so erstellt werden wenn "dies und das..."
...?
Ich glaube ich hab irgendwo schon mal gesehen dass auch Kondensatoren
anstatt Widerstände eingezeichnet waren... aber sicher bin ich mir
nicht.
Hoffe natürlich dass ich nicht ganz falsch liege...
Danke Karl Heinz, hab mir das heute mal so durch den Kopf gehen
lassen...
..ist echt interessant das Thema -- dachte ich mir als erstes nicht...
das ich jetzt mit dem 74HC138 so "liebäugle" ;-)))
.. der DOC ist jetzt schon mal Nebensache.... ;-)))))
Gruss
Rudi
;-)
bzw. der Signalquelle.
und wenn der schalter offen ist also die Signalquelle hochohmig ist
(Luft) dann muß der Widerstand niederohmiger sein als der Offene
Schalter (Schalter wird GigaOhm haben).
Uwe schrieb:>> hochohmiger als der sagen wir mal "Innenwiederstand/Durchflusswidersatnd">> des Anwendungschip?...> genau
yeahh...!!!!!
...danke Karl Heinz! und natürlich all die anderen!!!
...
Ich mach erst mal da weiter bevor ich einen weiteren Schritt waage...
...
@Uwe
danke!
Gruss
Rudi
;-)
..Klar melde ich mich wieder!
jetzt gehts ja erst los..
hab mir zum üben einiges geholt:
SN74HCT138N
CD74HCT138E + CD74HCT238E ;-)))
( na klar - ich will das jetzt üben possitive / negative Logik )
und
MK4116N-3IRL ( zum Speichern und abfragen denke ich )
( das denke ich aber stelle ich mir zu leicht vor... aber mal sehen )
Ich habe zwar keinen Plan -
aber ich gehe das jetzt einfach mal an..
btw
Steckboards und Strippen sind auch schon da ;-)
einen USB mit TTL Anschluss auch...
also zumindest muss ich am PC ( Serielles terminal ) was sehen ;-))
vieleicht Rauch... ;-))))
hoffe doch nicht ...
Ihr seid einfach Spitze!!!
PPS
wo ist eigentlich der Spenden-Button?
Ich weiss nicht wie die Mods untereinander mit dem Forum "verlinkt"
sind,
daher in absehbarer möcht ich mal - auf jeden Fall dem Forum was gutes
tun
@Karl Heinz
...sollten wir uns mal sehen ;-)
...Gebe ich einen aus ;-)))
aber nur alkoholfrei - eher dann Spezi oder so .. ;-)
( ich vertrage nichts ;-))) )