Data Sheet

October 2017 BNO080 Datasheet 1000-3927
www.hillcrestlabs.com © 2017 Hillcrest Laboratories, Inc. All rights reserved. 15 / 57
endian format least-significant byte first. The master device generates the clock. Every byte transmitted must be
acknowledged. An acknowledgement is generated by the device receiving the data and is formed by the receiver
driving the SDA line low during the ninth bit.
The master device generally drives the clock. However, if the slave device requires additional time to respond it
can force the clock low, only releasing the line when it is prepared to deliver more data. The master device MUST
support clock stretching.
The first byte presented after the start condition contains the device address and the read/write bit. The least-
significant bit (LSB) of this first byte is the read/write indication (‘0’ corresponding to write)
Figure 1-15: Device addressing
For a write cycle data is provided after the device address. The slave (BNO080 in this instance) provides an ACK
for every byte received. A typical I
2
C write cycle is provided below (S=start, P=stop, AD=Address).
Figure 1-16: I
2
C write cycle
A read cycle requires that the device must first be selected with its device address. Following the device address
the BNO080 will provide data. Every byte should be acknowledged by the master:
Figure 1-17: I
2
C read cycle
The BNO080 uses Hillcrest’s SHTP (Sensor Hub Transport Protocol) protocol to communicate. The BNO080
application does not support the repeated start method for typical I
2
C register based interfaces. More details are
available in [2].
1.3.3 UART-SHTP interface
The BNO080 provides a UART communication interface that supports Hillcrest’s SHTP protocol. The UART
interface operates at 3Mb/s. A typical connection is shown in Figure 1-18
SDA
SCL
A6-0
R/W
ACK
S 1-7 8 9
START
Address
R/W ACK
S AD+W
ACK
DATA
ACK
Master
Slave
DATA
ACK
PDATA
ACK
DATA
ACK
S AD+R
ACK
ACK
DATA
Master
Slave
NAK
DATA
PACK
DATA
ACK
DATA