Hallo, bei meiner Frage handelt es sich um die Adressierung der Bauteile PCF8574/74A. Und zwar steht im Datenblatt etwas über A0, A1 und A2.. welches die physisch einstellbaren Adressen sind ( Mit Pull-up, Pull-down ). Dann gibt es einen "fixed-portion" Teil der Adressen; A3-A6 (für PCF8574: 0100, für PCF8574A: 0111). Aber es steht nicht ob man die (74 und 74A) ohne weiteres einfach so gegeneinander austauschen kann. Der PCF8574 und der PCF8574A sind identisch, mit Ausnahme des unterschiedlichen festen Teils des Slave-Adresse. Nun haben wir in der Schule die Frage gestellt bekommen, ob PCF8574 und PCF8574A gegeneinander austauschbar sind. Ich bin mir nicht sicher ob man an der Software was ändern muss, falls man die gegeneinander austauscht? Oder worauf muss man achten? Ich würde das ja selber testen aber leider habe ich die IC's nicht da. Danke & Gruß, maxx_m
:
Bearbeitet durch User
Max M. schrieb: > Der PCF8574 und der PCF8574A sind identisch, mit Ausnahme des > unterschiedlichen festen Teils des Slave-Adresse. Also sind sie NICHT identisch. > Nun haben wir in der Schule die Frage gestellt bekommen, ob -74 und -74A > gegeneinander austauschbar sind. Es gibt keinen -74 und -74A. Es gibt einen PCF8574 und PCF8574A. Deine erfundene Abkürzung bringt nur Verwirrung! > Ich bin mir nicht sicher ob man an der Software was ändern muss, falls > man die gegeneinander austauscht? Oder worauf muss man achten? Man muss die andere (Basis)adresse benutzen. > Ich würde das ja selber testen aber leider habe ich die IC's nicht da. Dafür aber reichliche Apostrophe! http://www.deppenapostroph.info/
Falk B. schrieb: > Max M. schrieb: >> Der PCF8574 und der PCF8574A sind identisch, mit Ausnahme des >> unterschiedlichen festen Teils des Slave-Adresse. > > Also sind sie NICHT identisch. > >> Nun haben wir in der Schule die Frage gestellt bekommen, ob -74 und -74A >> gegeneinander austauschbar sind. > > Es gibt keinen -74 und -74A. Es gibt einen PCF8574 und PCF8574A. Deine > erfundene Abkürzung bringt nur Verwirrung! > >> Ich bin mir nicht sicher ob man an der Software was ändern muss, falls >> man die gegeneinander austauscht? Oder worauf muss man achten? > > Man muss die andere (Basis)adresse benutzen. > >> Ich würde das ja selber testen aber leider habe ich die IC's nicht da. > > Dafür aber reichliche Apostrophe! > > http://www.deppenapostroph.info/ Korrigiert!! Keine weiteren Fragen, Sir! Vielen Dank Falki! :))
Max M. schrieb: > Ich bin mir nicht sicher ob man an der Software was ändern muss, falls > man die gegeneinander austauscht? Oder worauf muss man achten? Wenn du deine Telefonnummer änderst, wirst du unter der alten Nummer vermutlich nicht mehr erreichbar sein, oder? Also die Software muss zumindest von der anderen Adresse wissen. Ansonsten sollte das soweit klappen
Sebastian R. schrieb: > Wenn du deine Telefonnummer änderst, wirst du unter der alten Nummer > vermutlich nicht mehr erreichbar sein, oder? > > Also die Software muss zumindest von der anderen Adresse wissen. > Ansonsten sollte das soweit klappen Vielen Dank !
Die Adressierung ändert sich. PCF8574->0x40 hex; PCF8574A->0x70 hex Die Verwirrung kommt daher, weil statt mit eiem 8-Bit-Rahmen mit einem 7- Bit-Rahmen gearbeitet wird, und bei dem einen IC alles eine Stelle "rüberrutscht". ciao gustav
Max M. schrieb: > Nun haben wir in der Schule die Frage gestellt bekommen, ob PCF8574 und > PCF8574A gegeneinander austauschbar sind. Technisch gesehen musst du einfach beide Datenblätter lesen, und die Pin-Belegung vergleichen. Soweit ich mich erinnere sind die aber gleich. Da sich aber auch (Siehe Datenblatt) die Adresse ändert MUSST du immer auch deine Software anpassen. Keine Panik ist nur eine Zeile. Nämlich die in der du den Chip Initialisiert. Da musst du ja die Adresse angeben, und genau DA musst du sie ändern. Und sag dein Lehrer er soll klare Fragen stellen, sonst ist jede einfach ja/nein Antwort richtig und zugleich falsch.
Schlaumaier schrieb: > Keine Panik ist nur eine Zeile. Vorsicht, es gibt (auch hier) so Magic-Number Spezialisten, die streuen ihre hart-codierten Zahlen mit der Gießkanne ins Projekt.
Na, so einfach auch nicht: Diese 8-Bit-Startadresse setzt sich zusammen: Adresse A0,A1,A2=GND + R/W-Bit (W=0; R=1) Slave Startadresse + RW-Bit PCF8574->0x40; PCF8574A->0x70 ciao gustav
:
Bearbeitet durch User
Karl B. schrieb: > so einfach auch nicht: Diese 8-Bit-Startadresse setzt sich zusammen: > Adresse A0,A1,A2=GND + R/W-Bit (W=0; R=1) Was ist mit den restlichen 4 Bits?
Schlaumaier schrieb: > Und sag dein Lehrer er soll klare Fragen stellen, sonst ist jede einfach > ja/nein Antwort richtig und zugleich falsch. Mach ich. Danke Dir!
Stefan ⛄ F. schrieb: > Was ist mit den restlichen 4 Bits? Hi, schau nochmal ins Dabla. Die Sache mit dem 7-Bit-Rahmen statt 8. https://www.nxp.com/docs/en/data-sheet/PCF8574_PCF8574A.pdf Seite 5 Da sind noch die weiteren Kombinationen angegeben. Fürs Starten bei A0 bis A2 fest auf GND und RW auf GND gilt hex 0x70 bzw. 0x40 für den 8-Bitter. ciao gustav
:
Bearbeitet durch User
Max M. schrieb: > Nun haben wir in der Schule die Frage gestellt bekommen, ob PCF8574 und > PCF8574A gegeneinander austauschbar sind. > > Ich bin mir nicht sicher ob man an der Software was ändern muss, falls > man die gegeneinander austauscht? Ja, sind sie. Der PCF8574 sitzt auf der I2C-Adresse 0x20 ^ (A2,A1,A0) und der PCF8574A auf 0x38 ^ (A2,A1,A0) Wenn man die Software bei der Initialisierung prüfen lässt, wo sich jemand meldet, funktioniert es ohne Änderungen an der Software.
Mein Gott! Es ist schon alles gesagt, nur noch nicht von jedem! Immer weiter so!
Wolfgang schrieb: > Der PCF8574 sitzt auf der I2C-Adresse 0x20 ^ (A2,A1,A0) und der > PCF8574A auf 0x38 ^ (A2,A1,A0) Jetzt nimmst Du aber die 7-Bit-Maske. (o h n e RW) Genau das Missverständnis, auf das ich noch verweisen wollte. Das Dabla gibt da Aufschluss. Kapitel 7.1.1 https://www.nxp.com/docs/en/data-sheet/PCF8574_PCF8574A.pdf Obwohl da die drei Kolumnen links nochmal extra rausgezeichnet sind. Wegen der Harware-Jumperung. Die müssen aber im Zusammenhang gesehen werden mit den anderen Bits. Karl B. schrieb: > Fürs Starten bei A0 bis A2 fest auf GND und RW auf GND > gilt hex 0x70 bzw. 0x40 für den 8-Bitter. ciao gustav
:
Bearbeitet durch User
Ich habe schönere Datenblätter als IHR. Bäh bäh. Bei mir ist eine Tabelle drin, wo ich die Adresse ablesen kann, für JEDE Belegung von A nach Ground.
Schlaumaier schrieb: > Bei mir ist eine Tabelle drin, wo ich die Adresse ablesen kann, für JEDE > Belegung von A nach Ground. Die brauchst DU auch.
Karl B. schrieb: > Jetzt nimmst Du aber die 7-Bit-Maske. (o h n e RW) > Genau das Missverständnis, auf das ich noch verweisen wollte. Der I2C-Standard definiert eine 7-Bit Slave Adresse (Fig.9). https://www.nxp.com/docs/en/user-guide/UM10204.pdf Was hat das RW-Bit mit der Adresse zu tun? Wenn man sich an den Standard hält, kann es doch dazu gar keine zwei Meinungen geben.
Wolfgang schrieb: > Der I2C-Standard definiert eine 7-Bit Slave Adresse (Fig.9). > https://www.nxp.com/docs/en/user-guide/UM10204.pdf Ja und? Das ist weder göttlich noch in Stein gemeißelt. > Was hat das RW-Bit mit der Adresse zu tun? Adresse + R/W Bit = 8 Bit Wert! > Wenn man sich an den Standard > hält, kann es doch dazu gar keine zwei Meinungen geben. Doch! Und das zeigt die Praxis. Einige benutzen die 8-Bit Adresse mit RW=0, andere nur die echten 7 Adressbits.
Falk B. schrieb: > Die brauchst DU auch. Klor, wenn ich das Datenblatt eh lese tu, kann es mir auch die Arbeit erleichtern. ;) Stefan ⛄ F. schrieb: > Vorsicht, es gibt (auch hier) so Magic-Number Spezialisten, die streuen > ihre hart-codierten Zahlen mit der Gießkanne ins Projekt. Das hasse ich wie die Pest. Lieber setze ich ein Globale Variable als so ein Mist. Bei meinen Projekten initialisiert ich ALLE meine Teile oben im Code, entweder direkt oder ich setze die globale Variable die dann im Code das Teil initialisiert, wenn es den unbedingt sein muss. Ist mir zwar unter Arduino noch nicht vorgekommen aber unter VB einige Male. Noch bevor die erste Schleife auch nur angeschaut wird. Der Grund ist einfach. Es ist schon einige Male vorgekommen, das ich ein Pin umstecken musste weil die Libs unbedingt ein bestimmten (von mir besetzten) Pin haben wollte. Also Pin umstecken und im Code OBEN die neue Pin-Nr. angeben. FERTIG. So was kommt vor, wenn man z.b. feststellt das man noch ein Extra Sensor o. so dazu bauen könnte, um das Projekt zu erweitern.
Falk B. schrieb: > Ja und? Das ist weder göttlich noch in Stein gemeißelt. Entschuldige mal, Philips hat es als Spezifikation so festgelegt und damit ist es so. Alles, was nicht der I2C-Spezifikation entspricht, ist nicht I2C.
Wolfgang schrieb: > Entschuldige mal, Philips hat es als Spezifikation so festgelegt und > damit ist es so. Alles, was nicht der I2C-Spezifikation entspricht, ist > nicht I2C. Du bist und bleibst ein erbärmlicher Oberlehrer! Mein Beileid! P S Die AVRs haben gar kein I2C, nur TWI ;-)
Falk B. schrieb: > P S Die AVRs haben gar kein I2C, nur TWI ;-) Was hat der AVR von Microchip mit den PCF8574/PCF8574A von NXP zu tun?
Wolfgang schrieb: > Was hat der AVR von Microchip mit den PCF8574/PCF8574A von NXP zu tun? - Sind beides so süße kleine Krabbelkäfer... - kann man beides bei Elektronikhändlern käuflich erwerben - die zweitgenannten ICs lassen sich an den erstgenannten anschließen - beides eigentlich Wertlos wenn man keine Ahnung hat und letztlich kann man Tage-/Wochenlang drüber diskutieren.
Max M. schrieb: > Nun haben wir in der Schule die Frage gestellt bekommen, ob PCF8574 und > PCF8574A gegeneinander austauschbar sind. Jain. Man kann die Software so schreiben, daß sie zu Anfang beide Adreßgruppen durchprobiert, wo sie ein ACK bekommt. Dann sind die PCF8574/A direkt austauschbar.
Voraussetzung für den Wechsel ist natürlich, dass die neuen Adressen der A-Version nicht schon durch andere I²C Chips belegt sind.
Stefan ⛄ F. schrieb: > Voraussetzung für den Wechsel ist natürlich, dass die neuen Adressen der > A-Version nicht schon durch andere I²C Chips belegt sind. Das ist unwahrscheinlich und wenn es mit rechten Dingen zugeht relativ sicher ausgeschlossen. Denn die Basisadressen wurden halbwegs logisch vom I2C Konsortium zugeteilt. Such mal einen I2C Schaltkreis, der die gleiche Basisadresse wie die PCF8574(A) haben. Und bitte keine programmierbaren Mikrocontroller oder ähnliche Tricks ;-)
Falk B. schrieb: > Das ist unwahrscheinlich ... Denn die Basisadressen > wurden halbwegs logisch vom I2C Konsortium zugeteilt. Das wusste ich nicht, danke für die Info.
Falk B. schrieb: > Denn die Basisadressen wurden halbwegs logisch > vom I2C Konsortium zugeteilt. Muss ich leider widersprechen, Hängt ein bisschen damit zusammen, Welche Adresse eingestellt ist (A0~A2) und von welchem Hersteller. Aber es gibt eine Liste wo sehr viele I²C Bauteile aufgeführt sind und mir sind da schen Etliche Mehrfachbelegung aufgefallen Beispiel TDA8444=PCF8574 was beim Velleman K8000 Konzept, gerne zu Problemen führte. Sehr gute Lieste als Beispiel im Anhang.
:
Bearbeitet durch User
Patrick L. schrieb: > Sehr gute Lieste als Beispiel im Anhang. Quelle: http://www.elektronik-magazin.de/page/I2C-bus-adressliste-23.pdf
Forist schrieb: > Quelle: > http://www.elektronik-magazin.de/page/I2C-bus-adressliste-23.pdf Steht auf dem PDF sogar als Anklikbarer Link oben rechts mit drauf. Aber Trotzdem Danke für dein nachholen, wollte es noch hinschreiben aber wie es so ist, kam ein Anruf, und ja Telefonieren und auf dem Touch gleichzeitig tippen geht schlecht. Also fix schnell im Forum abgesetzt. Danach konnte ich den Beitrag nicht mehr ändern (Kunde mit 1001 Fragen). Warum als PDF und nicht direkt der Link: Weil man nie weis, wann so eine "Alte" Webseite plötzlich nicht mehr verfügbar ist, habe ich mir den Link als PDF lokal gespeichert und hier reinkopiert. Meiner Meinung nach eine der besten, verfügbaren Listen, für das I²C Adressproblem. Ist bei weiten Nicht vollständig, aber die gängigsten Typen sind vermerkt.
:
Bearbeitet durch User
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.