Data Sheet

October 2017 BNO080 Datasheet 1000-3927
www.hillcrestlabs.com © 2017 Hillcrest Laboratories, Inc. All rights reserved. 14 / 57
7. Pullup resistors (R1 and R2) are needed on the I
2
C communication lines Pin 19 (HOST_SCL) and Pin 20
(HOST_SDA). These values may vary depending on the board design and bus capacitance, but typical
values are between 2K and 4K.
8. The BNO080 supports environmental sensors (e.g. pressure sensors, ambient light sensors) on a secondary
I
2
C interface. This interface should be pulled up via resistors regardless of the presence of the external
sensor as the SW polls for sensors at reset.
1.3.2.1 I
2
C Operation
The I
2
C specification is documented in [4]. The BNO080 provides a slave interface to the application processor
and supports 100kbps Standard mode (Sm) and 400kbps Fast mode (Fm).
I
2
C is a two-wire serial interface that consists of a serial clock line (SCL) and a serial data line (SDA). I
2
C allows
for multi-master, multi-slave communication and uses an open-drain architecture to enable this capability. All
devices that drive the SDA line or SCL line can only drive the line low (‘0’); the bus is released and pulled high by
the pull-up resistor for ‘1’s. The master device places the slave address on the data bus and the slave device with
the corresponding address acknowledges the master.
The BNO080 I
2
C interface answers to a 7-bit address of either 0x4A or 0x4B:
6
5
4
3
2
1
0
1
0
0
1
0
1
SA0
Figure 1-12: BNO080 I
2
C address
The lower address bit of the device address is provided by the SA0 pin. This pin is sampled at reset and should
be tied to either a logic high or logic low.
1.3.2.2 I
2
C Protocol
In general the data line should be stable while the clock is high, data transitions should therefore occur when the
clock is low. Communication on an I
2
C bus is initiated with the master device presenting a START command and
terminated with a STOP command. The bus is busy between the two commands. A START command (or
condition) is defined as a transition on the SDA signal from high to low while the SCL signal is high (Figure 1-13).
A STOP command (or condition) is defined as a low to high transition on the SDA signal while the SCL signal is
high (Figure 1-14).
Figure 1-13: I
2
C START condition
Figure 1-14: I
2
C STOP condition
I
2
C is a byte oriented protocol. Hence each element passed between the master and slave is 8-bits long. The bits
within the byte are transmitted most-significant bit (MSB) first. For multi-byte words the data is presented in little-
SDA
SCL
START condition
SDA
SCL
STOP condition