PCA9544 - I2C-Multiplexer - Probleme beim Lesen

Begonnen von Pf@nne, 20 Oktober 2016, 22:19:51

Vorheriges Thema - Nächstes Thema

Pf@nne

Moin,

hat schon mal jemand mit dem PCA9544 gearbeitet?

Ich habe folgendes Problem:

Die Initialisierung des PCA klappt, nach dem selektieren eines MUX-Chanels werden an diesen auch alle I2C-Busdaten weitergereicht.
Nur scheint das Lesen nicht zu funktionieren.

Ein GY-21 am Master-Bus funktioniert einwandfrei.
Ein GY-21 am Channel 0 des PCA funktioniert nicht.

Das ist eigentlich recht simpel, hat jemand dazu eine Idee?

Gruß
Marco
FHEM auf: DS415+ (Master), Raspberry Pi 2

Omega-5

Zitat von: Pf@nne am 20 Oktober 2016, 22:19:51
Das ist eigentlich recht simpel, hat jemand dazu eine Idee?

Hallo Marco,

habe mir mal nur das Datenblatt angesehen. Hast du die Interrupteingänge mit Pull-Up versehen? (The interrupt inputs should not be left floating)
Datenblatt Seite 12 Fig.14 http://www.nxp.com/documents/data_sheet/PCA9544A.pdf Pull-Up auf allen BUS-Leitungen?

Gruß Friedrich
RaspberryPi2, nanoCUL, 3x DS18B20, FS20: 4x Funk-Schalter ST-4, LaCrosseGW,
HomeMatic: HMLAN, HM-WDS10-TH-O, HM_MYS_RelaisBoard,
I2C: HYT221 über modifiziertes Modul I2_I2C_SHT21.pm (Q&D),

Pf@nne

Moin Friedrich,

4 x 10k an /INT0 - /INT3 habe ich drann.
Sollte von der Logik her aber auch keinen Einfluß auf SDA/SCL haben.

Ich muss das nochmal näher mit einem LogikAnalyzer untersuchen
und Step by Step einzeln auseinander dröseln.

Gruß
Pf@nne
FHEM auf: DS415+ (Master), Raspberry Pi 2

Mafi

Hallo Marco,

Pullups an den vier "downstream" I2C Bussen sind vorhanden?


Gruß
Markus

Pf@nne

Moin Markus,

ja, je 2 x 4k7....zumindest an Chanel0 und 1, die Anderen sind noch nicht belegt.

Gruß
Marco
FHEM auf: DS415+ (Master), Raspberry Pi 2

Pf@nne

Moin,

ich habe heute mal den LogicTester angeschlossen.....
Das gemuxte Write auf die 4 Kanäle läuft, nur mit dem Read scheint es Probleme zu geben.
Nur weiß ich immer noch nicht warum.... :-\

Gruß
Pf@nne
FHEM auf: DS415+ (Master), Raspberry Pi 2

Pf@nne

Ahhhh....... :o >:(

Wer findet den Fehler?
Was fällt euch zu dem Breadboard auf!!

Die Auflösung kommt um 20.00h.....
FHEM auf: DS415+ (Master), Raspberry Pi 2

UweH

#7
-0

EDIT: Da das nun doch eher nach einem Smiley aussieht, hier in Worten: minus null oder null minus  ;)

Pf@nne

Moin Uwe,

das ist das erste Breadboard, was ich bisher besehen habe, bei dem die +/- Schienen nicht durchverbunden sind.
Auf den Trichter bin ich echt nicht gekommen....
FHEM auf: DS415+ (Master), Raspberry Pi 2

UweH

Und ich hätte gedacht, Du meinst die Zählweise der Pins. Die erste Spalte ist quasi -0...
Aber...ich habe auch ein paar von den Dingern, aber bei keinem sind die oberen und unteren Versorgungsschienen verbunden. Die muss ich immer stecken...
Bei denen wiederum ist aber die erste Spalte immer 1  :)

Gruß
Uwe

Pf@nne

Zitat von: UweH am 28 Oktober 2016, 21:51:47
Aber...ich habe auch ein paar von den Dingern, aber bei keinem sind die oberen und unteren Versorgungsschienen verbunden. Die muss ich immer stecken...

Nicht oben und unten!
Links und rechts!
Dieses Breadboard hat 4 getrennte Versorgungsschienen!
Die Schienen auf einer Seite sind in der Mitte getrennt, der Abstand in der Mitte ist minimal höher als die übrigen Abstände in den Blocks.....

Echt fies.....

EDIT:
Bei der 30 ist eine Trennung....

FHEM auf: DS415+ (Master), Raspberry Pi 2

PeMue

Zitat von: Pf@nne am 28 Oktober 2016, 22:18:14
Dieses Breadboard hat 4 getrennte Versorgungsschienen!
Wieviel Zeit hat Dich das jetzt gekostet? Funktioniert denn der PCA9544 jetzt?

Gruß PeMue
RPi3Bv1.2 rpiaddon 1.66 6.0 1xHM-CC-RT-DN 1.4 1xHM-TC-IT-WM 1.1 2xHB-UW-Sen-THPL-O 0.15 1x-I 0.14OTAU  1xCUNO2 1.67 2xEM1000WZ 2xUniroll 1xASH2200 3xHMS100T(F) 1xRFXtrx 90 1xWT440H 3xTFA30.3150 5xFA21
RPi1Bv2 LCDCSM 1.63 5.8 2xMAX HKT 1xMAX RT V200KW1 Heizung Wasser

Pf@nne

Moin Peter,

2-3h sind da schon bei drauf gegangen.....
Bin aber auch irgendwie selber Schuld.....Fehlersuche sollte eigentlich immer nach Schema-F ablaufen
und da ist das Anmessen der Bauteilspannungen eigentlich sehr weit vorne..!
Ich hab den Fehler von Anfang an in meiner Programmierung vermutet, da das Schreiben der einzelnen Kanäle ja funktioniert hat, wobei der Multiplexer nun wirklich kein Hexen Werk ist.
Die Spannung an den einzelnen I2C-Kanälen war ja beim Schreiben vorhanden, aber die kommt ja vom PCA9544.
Das hat mich in die Irre geführt. Das die einzelnen Sensoren keine Spannung haben könnten habe ich dadurch verdrängt.

Naja, hinterher ist man meistens klüger.
Aber da Erfahrung die Summe aller Misserfolge ist habe ich wieder an Erfahrung dazu gewonnen.
Ergo, alles positiv...... ::) 8)

4 x HTU21 laufen jetzt einwandfrei!

Schönes WE
Marco
FHEM auf: DS415+ (Master), Raspberry Pi 2

UweH

Zitat von: Pf@nne am 28 Oktober 2016, 22:18:14
Bei der 30 ist eine Trennung....
Daher die Unterbrechung der roten und blauen Linien...fiese Nummer.

Bastian0302

#14
Schönen guten Tag,

ich suche derzeit eine Methode um über i2c einen multiplexer anzusteuern.
Das Problem:  ich steuere über Fhem einen mcp23017 (läuft wunderbar) jetzt möchte ich aber mehr als 8 mcp`s haben.Ich bräuchte also einen bzw 2 multiplexer. (je nach menge der Kanäle)
Nun hab ich mir gedacht, ich lasse jedesmal bevor das mcp23017 modul den i2c bus benutzt ein notify oder ähnliches ran welches den Kanal des Multiplexers setzt.
Es wäre auch so einfacher die Platinen zu Planen und auch günstiger, wenn ich den mcp`s nur eine Adresse geben muss.

So meine frage: ist es möglich oder gibt es gar ein Modul was erreicht dass der Kanal erst gewählt und dann der mcp den Bus benutzt?
Der Umweg wäre halt  ein script zu schreiben welches 1. beim mcp modul mit rein kommt und die Option des Multiplexers anbietet.
oder 2.  für jeden Schaltbefehl ein eigenes notify zwischen zu binden was den Kanal wählt, was aber eher ungünstig ist, da ich so halt pro mcp allein schon 16 notifys bräuchte...

Über Ideen oder gar Lösungen wäre ich sehr dankbar.
Raspbarry Pi 3, Panstamp NRG 2, Cul 433Mhz Sender/Empfänger, Mcp23017 Ein/Ausgabebaugruppe, TabletUi, Doorpi mit Nextion/RFID und Integration in Fhem, Sonos