Forum: Mikrocontroller und Digitale Elektronik I2C Adresskonflikt - mit Analogswitch SDA umschalten?


von Ing-Dom (Firma: OpenKNX) (sirsydom)


Lesenswert?

Hallo!

Ich entwickle gerade ein Gerät an dem ich 2 8fach Touch-ICs anschließen 
will.

z.B. CAP1298 - den gibts zwar mit 2 slave adressen aber die variante mit 
der anderen adresse ist nirgends verfügbar.
Evtl wirds auch ein anderer, da muss ich noch recherchieren.
Eine Einschränkung auf Chips mit adressselektion würde mich aber sehr 
einschränken.

Takt würde ich 10kHz fahren, mehr brauch ich nicht.

Jetzt war die Idee die SDA line mit einem analogswitch zwischen den 
beiden umzuschalten. z.B. mit einem
SN74LVC1G3157-Q1(https://datasheet.lcsc.com/lcsc/Texas-Instruments-TI-1P1G3157QDBVRQ1_C131938.pdf)

Das sollte doch funktionieren, oder?
Ich weiß es gibt auch I2c muxer und adress translators aber warum wenns 
auch mit nem 20Cent Bauteil geht.
Die andere Lösung wäre Software-I2C..

von Christoph Z. (rayelec)


Lesenswert?

Du kannst es ja versuchen. Meistens ist es doch so, dass solche 
Experimente viel mehr kosten, als sie sparen (ausser du planst eine 
Grosserie von 10000en Stück).

von DoS (Gast)


Lesenswert?

Na ja, die Softwarelösung spart Dir 20ct und Du bleibst auf jeden Fall 
in der Spec. So unüblich ist die Lösung nicht und es funktioniert 
blockierfrei.

von Sebastian R. (sebastian_r569)


Lesenswert?

Jop, das funktioniert und ist mehr als üblich

von Schlaumaier (Gast)


Lesenswert?

SN74LVC1G3157-Q1

Wo bekommst du den Chip her, für 20 Cent. ??? Und bitte schreibe NICHT 
Mouser. Da kann ich ja nix bestellen.

von g457 (Gast)


Lesenswert?

..oder etwas TCA9543A-artiges dazwischenspaxen.

HTH

von Ing-Dom (Firma: OpenKNX) (sirsydom)


Lesenswert?

g457 schrieb:
> ..oder etwas TCA9543A-artiges dazwischenspaxen.
>
> HTH

Ja aber SOT23-6 ist halt schon schön klein.
Ich schau mit den TCA9543A aber mal an.

Schlaumaier schrieb:
> SN74LVC1G3157-Q1
>
> Wo bekommst du den Chip her, für 20 Cent. ??? Und bitte schreibe NICHT
> Mouser. Da kann ich ja nix bestellen.

https://lcsc.com/product-detail/Analog-Switches_Texas-Instruments_1P1G3157QDBVRQ1_Texas-Instruments-Texas-Instruments-1P1G3157QDBVRQ1_C131938.html

von Bauform B. (bauformb)


Lesenswert?

Schlaumaier schrieb:
> SN74LVC1G3157-Q1
>
> Wo bekommst du den Chip her

https://www.reichelt.de/multi-demultiplexer-4-ch-2--6-v-dil-16-74hc-4052-p3230.html?&nbc=1

kostet etwas mehr, dafür hat er aber auch mehr Pins und kann SDA und SCL 
gleichzeitig umschalten und man kann mit 2 GPIO zwischen vier I2C-Chips 
wählen. Noch dazu von einem seriösen Händler, da fällt die Wahl doch 
leicht.

von Schlaumaier (Gast)


Lesenswert?

Bauform B. schrieb:
> Noch dazu von einem seriösen Händler, da fällt die Wahl doch
> leicht.

Bei den Preis. KLAR. Ist schon auf der Merkliste. Muß eh demnächst bei 
Reichelt bestellen.

VIELEN DANK

von Ing-Dom (Firma: OpenKNX) (sirsydom)


Lesenswert?

Bauform B. schrieb:
> Schlaumaier schrieb:
>
> 
https://www.reichelt.de/multi-demultiplexer-4-ch-2--6-v-dil-16-74hc-4052-p3230.html?&nbc=1
>
> kostet etwas mehr, dafür hat er aber auch mehr Pins und kann SDA und SCL
> gleichzeitig umschalten und man kann mit 2 GPIO zwischen vier I2C-Chips
> wählen. Noch dazu von einem seriösen Händler, da fällt die Wahl doch
> leicht.

Wenn man eine Bauform aus der Steinzeit braucht.. DIL16.
Der einzelene IC ist schon größer als das PCB für das die Frage gestellt 
war.

von Xaver M. (priapos)


Lesenswert?

Ich habe ja keine Ahnung, das Datenblatt spricht von 2 verfügbaren 
Bus-Systemen...   -> 3.2.7 SMBUS AND I2C COMPATIBILITY
vielleicht hilft das weiter?

von Gerd E. (robberknight)


Lesenswert?

Ich empfehle BL1551:
https://lcsc.com/product-detail/Analog-Switches_BL-Shanghai-Belling-BL1551_C82528.html

Niedrigerer Widerstand und höhere Grenzfrequenz als das, was man so in 
74HC oder 74LVC-Technik findet. Billig und gut verfügbar ist er auch 
noch.

Wenn es nur um 2 I2C-Busse geht nimmt der wesentlich weniger Platz weg 
als ein ganzer 4052. Wenn man natürlich 4 Busse braucht ist der 4052 
eleganter.

von Ing-Dom (Firma: OpenKNX) (sirsydom)


Lesenswert?

Gerd E. schrieb:
> Ich empfehle BL1551:
> 
https://lcsc.com/product-detail/Analog-Switches_BL-Shanghai-Belling-BL1551_C82528.html
>
> Niedrigerer Widerstand und höhere Grenzfrequenz als das, was man so in
> 74HC oder 74LVC-Technik findet. Billig und gut verfügbar ist er auch
> noch.
>
> Wenn es nur um 2 I2C-Busse geht nimmt der wesentlich weniger Platz weg
> als ein ganzer 4052. Wenn man natürlich 4 Busse braucht ist der 4052
> eleganter.

Danke! Der liest sich wirklich gut. Einziger Wehrmutstropen: SC70 
Gehäuse.
Der von mir avisierte TI war im SOT23-6, der IMO beste Kompromiss 
zwischen Platzbedarf und Handlötbarkeit.
Zur Erklärung: ich würde einen SC70 schon gelötet bekommen.
Aber ich entwickle Geräte die von Interessierten nachgebaut werden 
sollen.

Der TI geht auch bis 300MHz - hat zwar eine höhere Ron von 6 statt 3 ohm 
aber das dürfte ja nicht wirklich ins Gewicht fallen oder?
https://datasheet.lcsc.com/lcsc/2107141523_Texas-Instruments-1P1G3157QDBVRQ1_C131938.pdf

von HildeK (Gast)


Lesenswert?

Dom S. schrieb:
> Der von mir avisierte TI war im SOT23-6, der IMO beste Kompromiss
> zwischen Platzbedarf und Handlötbarkeit.

So groß ist der Unterschied zum SC-70 auch wieder nicht.

> Der TI geht auch bis 300MHz - hat zwar eine höhere Ron von 6 statt 3 ohm
> aber das dürfte ja nicht wirklich ins Gewicht fallen oder?
Die (meisten) I2C-Bausteine sind mit max. 3mA Strom am PU spezifiziert.
max. 3mA an 6Ω sind max. 18mV, die dir am LOW-Pegel fehlen. Also: völlig 
unkritisch!

von Axel S. (a-za-z0-9)


Lesenswert?

Dom S. schrieb:
> Wenn man eine Bauform aus der Steinzeit braucht.. DIL16.
> Der einzelene IC ist schon größer als das PCB für das die
> Frage gestellt war.

Naja. Touch-Buttons brauchen auch eine Mindestgröße. Ich sehe
nicht den Sinn, das auf Teufel komm raus zu minimieren.

von Ing-Dom (Firma: OpenKNX) (sirsydom)


Angehängte Dateien:

Lesenswert?

Es ist ein mehrteiliges Design.

Es gibt ein Controller-PCB wo MCU, Flash, Bustransceiver, weitere 
Sensorik etc... drauf sind. Und dann gibt es ein "Touch-PCB" das die 
Touchflächen (mit dem Controller) und ein paar LEDs enthält.
Und man soll eben über die rückwärtige 1x5 Stiftleiste noch ein zweites 
"Touch-PCB" anschließen können. Dafür brauch ich dann die Umschaltung 
(auf dem base pcb).

Das Touch-PCB ist nur ein Prototyp zum rumspielen. Aber ich denke zum 
Verständnis was es werden soll, reicht es.

Es wird einseitig bestückt werden, die zweite Seite und THT wird dann 
vom Anwender gelötet.


HildeK schrieb:
> So groß ist der Unterschied zum SC-70 auch wieder nicht.
naja, 0,65er pitch oder 0,95 spielt schon eine Rolle - finde ich.

HildeK schrieb:
> Also: völlig unkritisch!
Danke für deine Einschätzung und die Erklärung.

: Bearbeitet durch User
von Andre (Gast)


Lesenswert?

Wärst du auch bereit, die Software für den Touch Controller selbst zu 
schreiben?

Ich habe ein Projekt mit dem ATtiny814 umgesetzt, der bringt 6 QTouch 
Kanäle mit. Die Konfiguration ist im Atmel Studio problemloses plug&play 
und die Buttons arbeiten absolut zuverlässig. Außerdem gibt es eine 
schöne Visualisierung die bei der Kalibrierung der Buttons hilft.
Du müsstest dann nur noch die I²C Kommunikation einbauen, für 
einstellbare Adressen und Interrupt-Ausgang hättest du auch genug freie 
Pins.

von HildeK (Gast)


Lesenswert?

Dom S. schrieb:
> naja, 0,65er pitch oder 0,95 spielt schon eine Rolle - finde ich.

Naja, du brauchst halt ein geeignetes Lötwerkzeug und gute Augen oder 
ein Mikroskop.

von Ing-Dom (Firma: OpenKNX) (sirsydom)


Lesenswert?

Andre schrieb:
> Wärst du auch bereit, die Software für den Touch Controller selbst zu
> schreiben?
>
> Ich habe ein Projekt mit dem ATtiny814 umgesetzt, der bringt 6 QTouch
> Kanäle mit. Die Konfiguration ist im Atmel Studio problemloses plug&play
> und die Buttons arbeiten absolut zuverlässig. Außerdem gibt es eine
> schöne Visualisierung die bei der Kalibrierung der Buttons hilft.
> Du müsstest dann nur noch die I²C Kommunikation einbauen, für
> einstellbare Adressen und Interrupt-Ausgang hättest du auch genug freie
> Pins.

Super Idee! Gefällt mir. Die Firmware dafür entwickeln würde ich auch 
auf mich nehmen.
6 Kanäle wären ok, lieber wären mir 8 (für eine Variante mit 8 Buttons).
Im SOIC ist das auch gut lötbar.
Preis wäre auch ok.

Und ich könnte ggf sogar die WS2812 LEDs auch darüber ansteuern, dann 
würde ich mir noch 2 Datenleitungen sparen.

ABER:
- der Endanwender müsste die Firmware drauf laden
oder ich müsste die ATTINYs vorab laden (fassung für soic gibts doch 
oder?

Weiterhin scheint der IC aktuell nicht verfügbar zu sein.
Zappenduster schauts da aus: 
https://www.trustedparts.com/de/search/ATTINY814



HildeK schrieb:
> Dom S. schrieb:
>> naja, 0,65er pitch oder 0,95 spielt schon eine Rolle - finde ich.
>
> Naja, du brauchst halt ein geeignetes Lötwerkzeug und gute Augen oder
> ein Mikroskop.

ICH bekomme das schon hin mit Lupe. Aber weder hätte ich Lust das "in 
Serie" zu machen noch kann ich meinen Endanwendern das zumuten. Das 
schränkt einfach den Kreis zu weit ein.

: 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
Noch kein Account? Hier anmelden.