Forum: Mikrocontroller und Digitale Elektronik zwei BMA020 an einem ATMEGA8 I2C


von BMAniac (Gast)


Lesenswert?

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

von Klimat (Gast)


Lesenswert?

Hallo,

die Antwort steht auf Seite 30 im Datenblatt. Deutlich.

von BMAnica (Gast)


Lesenswert?

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?

von BMAnica (Gast)


Lesenswert?

sry für repost

und was passiert wenn SDA nicht auf high gezogen wird?

von Klimat (Gast)


Lesenswert?

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

von asdf (Gast)


Lesenswert?

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

von asdf (Gast)


Lesenswert?

Eine einfache Lösung ware, mit einem Analogmultiplexer immer nur einen 
Sensor an den I2C-Bus zu schalten.

von BMAniac (Gast)


Lesenswert?

dann werd ich den zweiten Sensor wohl über SPI ansteuern

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.