Hallo Community, ich will 2 BMA020 Beschleunigungssensoren unmittelbar nacheinander (per I2C) auslesen und die Daten per UART an den PC schicken. Mit einem Sensor klappt das auch schon wunderbar. Da aber jeder BMA020 die gleiche Adresse hat (0x70 für lesen 0x71 für schreiben) geht das nicht so einfach. Hier also meine Frage: Kann ich die CSB PINS des Sensors anstatt an VCC anzuschließen einfach an zwei Pins des µCs und dann per Software den Sensor "einschalten" (CSB von low auf high), den ich abfragen will. Oder führt das ganze zu verzögerungen, weil der Sensor z.B. noch Zeit braucht? Die alternative wäre einen Sensor über SPI auszulesen. Mir wär die reine I2C Variante aber lieber
Auf Seite 30 steht: "The I²C bus uses SCK (serial clock) and SDA (=SDI, serial data input/output). SDA is bidirectional with open drain; it must be connected externally to V DDIO via a pull up resistor. CSB is not used and must be connected to V(DDIO)." Es steht aber nicht was passiert wenn CSB auf low gesetzt ist. Sendet der Sensor dann keine Daten(was in diesem Fall gewollt ist) oder ist es dann doch egal was für ein Pegel an CSB liegt?
sry für repost und was passiert wenn SDA nicht auf high gezogen wird?
Das steht CSB is not used und must be connected to Vddio. Alles andere ist undefiniert und "try it" .. und vielleicht geht es mal ne Stunde und danach wieder nicht.. auf jeden Fall wäre es wohl ratsam, sich bei einer Entwicklung an die Vorgaben zu halten --> CSB not used
Ich denke, dass der Baustein dann in den SPI Modus wechselt, weil der PIN ja das Chip Seect fürs SPI ist. Der IC wird aber versuchen die Daten auf dem I2C als SPI befehle zu verwenden, und es kann sein dass er irgendetwas Ungewolltes macht
Eine einfache Lösung ware, mit einem Analogmultiplexer immer nur einen Sensor an den I2C-Bus zu schalten.
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.