mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik i2c switchen mittels 744316


Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,  ich habe vor mehrere i2c basierte Module an einen Master 
anzuschließen. Alle module sollen die gleiche Adresse haben, um 
Senderoutinen vereinfachen zu können. Nun will ich die Auswahl, welches 
von den Modulen angesprochen wird, mittels eines analog switches 
realsieren. I hatte vor den 74HC4316 zu benutzen. Dort kann i mittels 
Enable-Pins festlegen welche Ausgänge aktiv geschalten werden und welche 
nicht. Am Eingang sollte das SCL Signal der i2c busses liegen. Nun meine 
Frage:

Kann ich den SDA Strang direkt an die Slaves legen und nur den SCL durch 
die Analogschalter switchen oder ergeben sich dadurch an den anderen 
Slave unbestimmte Zustände?
Wenn dies nicht funzt, würde i beide Leitungen(SDA,SCL) switchen wollen. 
Hat jemand Erfahrung, ob dieser Baustein das problemlos kann?

PS: Die Variante der Erweiterung des i2c Busses mittels Muxers wie z.B. 
Maxim 4562 habe ich schon realisiert und die läuft auch. Nur sollen 
jetzt beliebig viele Module angeschlossen werden und die Auswahl 
trotzdem simpel bleiben.

Vielen Dank im Voraus.

Tom

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Thomas (Gast)

>Hallo,  ich habe vor mehrere i2c basierte Module an einen Master
>anzuschließen. Alle module sollen die gleiche Adresse haben, um

>Kann ich den SDA Strang direkt an die Slaves legen und nur den SCL durch
>die Analogschalter switchen oder ergeben sich dadurch an den anderen

Nein, das geht nicht.

>Hat jemand Erfahrung, ob dieser Baustein das problemlos kann?

Warum nimmst du nicht richtige I2C-MUXe? Z.B. PCA9594, gibts auch bei 
Reichelt. Damit kannst du bis zu 32 I2C Slaves mit gleicher Adresse 
ansprechen.

>jetzt beliebig viele Module angeschlossen werden und die Auswahl
>trotzdem simpel bleiben.

Beliebig viele wird eher schwer, schliesslich müssen die MUXe auch 
irgendwie angesteuert werden.

MFg
Falk

Autor: Läubi .. (laeubi) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Aber es sit doch Sinnlos nur weils die Programmierung (angeblich) 
vereinfacht, alle Adressen gleich zu wählen...

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo, Danke für die schnellen Antworten,

es ist nicht sinnlos meiner Meinung nach, weil ich die Module 
austauschbar machen möchte. Es soll also jedes Modul an jedem Anschluss 
ansteckbar sein und dort auch genauso funktionieren wie an jedem 
anderen. Deshalb soll die Unterscheidung nicht mit der Adresse 
realisiert werden, sondern durch Vorauswahl. Das Ansprechen jeden 
einzelnen Moduls ist schon fertig. Dort befinden sich hinter einem i2c 
Muxer mehrere Digitalpotentiometer die LED Treiber steuern. Also die 
Ansteuerung der Digi-Potis läuft. Jetzt geht es darum dieses Modul zu 
vervielfältigen und austauschbar zu machen.
Für andere Tips bin dankbar.

Autor: Flo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich würde die Adresspins des Moduls mit auf die Steckverbindung legen. 
Der Modulsteckplatz kann dann die Adresse vorgeben. Jeder 
Modulsteckplatz setzt die Adresse beim Einstecken über die Adresspins 
des Moduls.

Gruß

Flo

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Thomas (Gast)

>es ist nicht sinnlos meiner Meinung nach, weil ich die Module
>austauschbar machen möchte. Es soll also jedes Modul an jedem Anschluss
>ansteckbar sein und dort auch genauso funktionieren wie an jedem

>Für andere Tips bin dankbar.

Nun, man kann an jedem Steckplatz mit ein paar freien Pins eine Adresse 
codieren, welche direkt an die Adresspins vopm I2C Poti geht. Damit ist 
auch ein eindeutiger Bezug zim Steckplatz definiert. Kostet nur drei 
oder vier Pins.

MfG
Falk

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hattet ihr euch verabredet mit dieser Antwort?

Die Idee ist gut, gefällt mir, Danke.
 Nur ein Problem löst sie noch nicht, die Erweiterbarkeit auf mehr als 4 
an einem Bus. Die Austauschbarkeit wäre damit gut erreicht, aber wenn i 
diese Vier Anschlüsse nun erweitern will auf 8 oder 16 gehts damit auch 
nicht. Dann wohl mit den i2c Switches oder den analogen switches oder 
habe ihr da auch noch ne andere Idee?

Autor: Läubi .. (laeubi) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Soft TWI auf belibigen Pins

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Thomas (Gast)

> Nur ein Problem löst sie noch nicht, die Erweiterbarkeit auf mehr als 4
>an einem Bus. Die Austauschbarkeit wäre damit gut erreicht, aber wenn i

Also ich kann mit drei binären Signalen 8 verschiedene Zustände 
kodieren, 2^3=8 . . .

>diese Vier Anschlüsse nun erweitern will auf 8 oder 16 gehts damit auch
>nicht. Dann wohl mit den i2c Switches oder den analogen switches oder

Bei mehr als acht muss ein I2C Switch her. Aber mit einem 4-Kanal I2C 
Switch kannst du dann 32 Slaves ansprechen. Und da man acht I2C Swiches 
direkt an einen Bus hängen kann, wären dann bis zu 8*32 = 256 Slaves 
ansprechbar. Reicht das fürs erste?

MFg
Falk

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
danke für die Erklärung der 2-er potenz. :-)

Also du meinst die Variante mit den Philips i2c Switches. Ja damit lässt 
es sich in Kombination mit den fest gelegten Adressen über die 
Steckkontakte lösen. Ich werde mir die Sache mal genau anschauen und 
wohl beide Varianten mal austesten.
Danke für den Tip mit den Steckern..

mfg tom

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.