Hallo Gemeinde, habe vor mit einem µC 2 Sensoren mit der gleichen Adresse auszulesen und benötige logischer Weise einen I2C-switch. Kann mir jemand einen switch empfehlen? Ich hätte den PCA9546A verwendet, hat vieleicht jemand ein Schaltungsbeispiel auf Lager? Und besteht die Möglichkeit den switch nicht über den µC umschalten zu lassen, sprich durch eine Art Tackt (Multivibrator an den Adresseingängen)? Gruß, Simon
Simon Rdg schrieb: > Ich hätte den PCA9546A verwendet, hat vieleicht jemand ein > Schaltungsbeispiel auf Lager? Die ergibt sich eigentlich recht klar aus dem Datenblatt, Sensor 1 z.B. an SC0 und SD0 und Sensor 2 z.B. an SC1 und SD1. Controller sinniger weise an SDA und SCL, Versorgung an VDD etc. Im NXP-Datenblatt auf Seite 11 ist übrigens das von Dir gewünschte Schaltungsbeispiel aufgezeichnet. Im TI-Datenblatt ists auf Seite 15. > Und besteht die Möglichkeit den switch nicht über den µC > umschalten zu lassen, Noe, die Umschaltung zwischen erfolgt ja durch Beschreiben eines internen Registers (Control register) - dürfte schwer werden, das ohne Digitalbaustein zu erreichen. Obwohl, theoretisch kannst Du Takt und Datenbits auch händisch mit Tastern reindrücken. > sprich durch eine Art Tackt (Multivibrator an den Adresseingängen)? Hmm, abgesehen davon, daß es der Chip übel nehmen wird, wenn man im laufenden Betrieb an den Adresspins herum/takt/et: Die Adresspins sind dazu da, damit man die Adresse des 9546er abändern kann. Also jene, mit der er selbst angesprochen werden kann. Mit der Umschaltung der Kanäle haben die gar nix zu tun. > Kann mir jemand einen switch empfehlen? LTC4312 vielleicht? Das ist ein 2-kanaliger I2C-MUX, bei dem die Auswahl der Kanäle ganz einfach über zwei Pins erfolgt, braucht also kein Schreiben in irgendwelche Register oder Ähnliches. Was soll das Gannze denn überhaupt werden? Und wozu der PIC18 im Titel, wenn Du anscheinend doch keinen Controller nehmen willst? > Gruß, Simon LG, N0R
Danke für die hilfreiche Antwort, >Die Adresspins sind dazu da, damit man die Adresse des 9546er abändern kann. >Also jene, mit der er selbst angesprochen werden kann. >Mit der Umschaltung der Kanäle haben die gar nix zu tun. das wusste ich nicht wie wechselt er denn zwischen den beiden Sensoren? Ich Baue eine Steuerung in der die 2 Sensoren als Näherungsschalter fungieren sollen, den PIC brauche ich zum auslesen der Sensoren, da diese ohne I2C nicht funktionieren. An den Ausgängen des PICs hängen verschiedene Leuchtmittel, geschalten über einen NPN. Gruß Simon
@ Simon Rdg (simonpunktcom) >Ich Baue eine Steuerung in der die 2 Sensoren als Näherungsschalter >fungieren sollen, den PIC brauche ich zum auslesen der Sensoren, da >diese ohne I2C nicht funktionieren. Und wo sit dann das Problem, wenn der PIC die Umschaltung macht? >An den Ausgängen des PICs hängen verschiedene Leuchtmittel, geschalten >über einen NPN. Also Krümelkram. Man kann auch I2C relativ leicht rein in Software machen, dann braucht man gar keinen I2C Switch, sondern klemmt die beiden ICs an getrennte I2C Busse am PIC.
Simon Rdg schrieb: >> Die Adresspins sind dazu da, damit man die Adresse des 9546er >> abändern kann.Also jene, mit der er selbst angesprochen werden kann. >> Mit der Umschaltung der Kanäle haben die gar nix zu tun. > das wusste ich nicht wie wechselt er denn zwischen den beiden Sensoren? Naja, so wie ich geschrieben habe: >>> die Umschaltung zwischen erfolgt ja durch Beschreiben eines >>> internen Registers Du stellst praktisch "in Hardware" die Adresse des 9546ers mit den Pins ein. Wenn du nur einen hast, dann kannst Du sie alle drei Pins auf Ground legen, das enstpricht dann Hex-Adresse E0 (bzw. E1 zum Schreiben). Im NXP-Datenblatt ist das auf Seite 5 ganz anschaulich gezeigt. Dann beschreibst Du das Control-Register mit einem Byte, dessen 4 letzte Bits definieren den Channel. Also wenn Bit Nummer 0 auf 1 gesetzt wird, dann ist Channel Null 0 bzw der erste Kanal von den 4 aktiv, Bit 1 setzt Channel 1, Bit 2 Channel 2 und Bit 3 Channel 3. Das steht im NXP-Datenblatt auf Seite 6, lesen musst Du es trotzdem selbst. > Ich Baue eine Steuerung in der die 2 Sensoren als Näherungsschalter > fungieren sollen, den PIC brauche ich zum auslesen der Sensoren, da > diese ohne I2C nicht funktionieren. Bist Du genau auf diese zwei exakt gleichen Sensoren angewiesen? Um welche Sensoren handelt es sich denn? Es wäre ja auch möglich, daß sich ähnlich dem PCA9546A die Sensoren ebenfalls mittels Pins in ihrer Adresse ändern lassen, dann wäre das Switchen natürlich hinfällig. Das Datenblatt des Sensors hast Du hoffentlich zumindest überflogen, oder auch nicht? > An den Ausgängen des PICs hängen verschiedene Leuchtmittel, geschalten > über einen NPN. Man könnte auch, wie schon von Falk vorgeschlagen, einfach zwischen den Sensoren umschalten bzw. einfach den Sensor, den man grade nicht braucht, vom Bus abklemmen. Ich bin mir grade nicht hundertprozentig sicher, ob es genügen würde, den Sensor mittels Transistor einfach von der Taktleitung abzuklemmen, und bin auch zu faul, mir das gerade näher zu Gemüte zu führen, aber prinzipiell müsste das klappen. Dann brächte man zwei Transisitoren. Ansonsten müsste es auch mit einem passenden Analogschalter funktionieren. In der Edelversion von mir aus noch mit einem Gatter bzw. Flip-Flop davor. Oder eben einen MUX nehmen, wie oben angeboten, der macht das alles schon "halbautomagisch". Die vorgeschlagene zusätzliche Software-I2C-Impelemntierung halte ich persönlich eher für unnötigen Overkill, wenn ich ehrlich bin. Besonders in diesem Fall, wo's anscheinend schon mit dem Lesen von Datenblättern hapert, stelle ich es mir das eher schwierig vor. > Gruß Simon Gruß zurück und viel Erfolg, Norbi
Warum nimmst Du denn nicht gleich einen PIC, der zwei I2C-Einheiten hat? zB PIC18F26K22 MAPS hilft beim Ausssuchen. http://www.microchip.com/maps/microcontroller.aspx fchk
Weil ich den nicht auf lager habe... ich habe lediglich den 18f2480... an den i2c bin ich angewiesen weil ich den sensor sfh7776 verwebde und dieser ohne i2c garnichts macht... :/
Simon Rdg schrieb: > Weil ich den nicht auf lager habe... ich habe lediglich den 18f2480... > an den i2c bin ich angewiesen weil ich den sensor sfh7776 verwebde und > dieser ohne i2c garnichts macht... :/ Ach herrje! Reíchelt verkauft Dir nichts? Der PIC18F25K22 (mit weniger Flash) steht mit 2.55€ im Katalog. Ich denke, daran soll es nicht liegen. Sonst bist Du in einem Monat noch nicht weiter. fchk
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.