Go Down

Topic: 8 x MCP23017 16 Bit Portexpander mit I2C +128 I/O (Read 5108 times) previous topic - next topic

spaceball

Hallo,
inzwischen hab ich noch ein bischen gekramt:

PCA9548
-> 8x I2C

Gruß Reinhard

PS.: Falls Du´s in die Praxis umsetzt, laß es uns bitte wissen.
Ich knoble nämlich am ansprechen verschiedener RTCs (Adresse nicht änderbar)

bytzmaster

Ich werde mal bis Sonntag einige Layouts hochladen. Muss ich mal mein sPlan wieder rauskramen. Wobei ich finde für so ne einfache Schaltung reicht schon fast Sprintlayout ums grafisch darzustellenm:D .

PS: hab noch einige http://www.conrad.de/ce/de/product/523798/HP-PLATINE-200X300X15MM-1X35M-CU/2512065&ref=list  ;)

bytzmaster

Also so wie ich das verstanden habe(in nen anderen Forum gelesen) kann man mit so nen Switch zwar auf 8 aufteilen, aber hat man mehrere von den 8 aktiv, und an jeder Leitung das selbe hängen(und damit auch die

selben Adressen der "Endverbraucher", so würde man befehle an mehrere Endverbacher mit gleicher Adresse gleichzeit schicken udn somit schalten. OT. omg was in der deutschen Sprache für Schachtelsätze möglich sind.

Man kann also nur einen Strang gleichzeig aktiv haben, sollte man an jedem Strang das selbe haben. Wenn man aber an den andern Strängen was anderes hat, gehts wieder.

Was willst du denn machen? Ne Kaskade von 1000 Uhrenchips?

uwefed

#18
Jul 27, 2011, 07:49 pm Last Edit: Jul 28, 2011, 03:26 pm by uwefed Reason: 1


Der MCP23017 hat 3 Adress-Pins die in die I2C-Adresse eingehen. 3Bit sind 8 Moeglichkeiten und darum kannst du 8 MCP23017 in einem I2C Bus verwenden.
Gruesse Uwe

Jo 2³ Adressen. Ich war vorhin nur etwas verwirrt :D


Die I2C Adresse setzt sich aus einem fixen Teil ( oberste 4  Bit, beim MCP23017 ist das 0100 ) und 3 Bit die mit 3 Anschluessen eingestellt werden koennen. Zusammen 7 Bit. Siehe Seite 8 von http://ww1.microchip.com/downloads/en/devicedoc/21952b.pdf
Moegliche Adressen von 32 bis 39 dezimal.
So kannst Du 8 Adressen an 8 MCP23017 vergeben.

Falls Du noch mehr Aus/Eingaenge brauchst kannst Du die MCP23S17 Variante nehmen (SPI Interface) und den CS ueber einen Demultiplexer zb einen 74HC138 (8 Ausgaenge) oder 74HC154 (16 Ausgaenge) oder mehrere Kaskadieren.

Alternative ist auch wie Spaceball sagt den PCA9548 zu verwenden um 8 I2C-Busse zu erzeugen die einzeln angesteuert werden (durch 3 Adressbit) und wo in jedem SubBus die gleichen Adressen vorhanden sein koennen: also 8 x 8 MCP23017 mit 16 Ein/Ausgaengen, also zusammen 1024 Ein/Ausgaengen

Gruesse Uwe

bytzmaster

Hm, so hab ich noch garnicht gedacht. Einfach so nen Strang ausstellen und nen andern einlesen. Das ist ja nur ne Programmieraufgabe.

Und dein Tipp mit der SPI-Variante ist auch super. Danke

Go Up