Freescale Semiconductor Xtrinsic MAG3110 Magnetometer RD4247MAG3110 RD4247MAG3110 Data Sheet

Product codes
RD4247MAG3110
Page of 30
MAG3110
Sensors
Freescale Semiconductor, Inc.
11
A low to high transition on the SDA line while the SCL line is high is defined as a stop condition (SP) signal. A write or burst write 
is always terminated by the master issuing the SP signal. A master should properly terminate a read by not acknowledging a byte 
at the appropriate time in the protocol. A master may also issue a repeated start signal (SR) during a transfer. 
The 7-bit I
2
C slave address assigned to  MAG3110 is 0x0E (standard); the address assigned to FXMS3110CD is 0x0F 
(Windows™ 8). 
4.2.2
I
2
C Read/Write operations
Single byte read
The master (or MCU) transmits a start condition (ST) to the MAG3110, followed by the slave address, with the R/W bit set to “0” 
for a write, and the MAG3110 sends an acknowledgement. Then the master (or MCU) transmits the address of the register to 
read and the MAG3110 sends an acknowledgement. The master (or MCU) transmits a repeated start condition (SR), followed by 
the slave address with the R/W bit set to “1” for a read from the previously selected register. The MAG3110 then acknowledges 
and transmits the data from the requested register. The master does not acknowledge (NAK) the transmitted data, but transmits 
a stop condition to end the data transfer.
Multiple byte read
When performing a multi-byte or “burst” read, the MAG3110 automatically increments the register address read pointer after a 
read command is received. Therefore, after following the steps of a single byte read, multiple bytes of data can be read from 
sequential registers after each MAG3110 acknowledgment (AK) is received until a no acknowledge (NAK) occurs from the master 
followed by a stop condition (SP) signaling the end of transmission.
Single byte write
To start a write command, the master transmits a start condition (ST) to the MAG3110, followed by the slave address with the R/W 
bit set to “0” for a write, and the MAG3110 sends an acknowledgement. Then the master (or MCU) transmits the address of the 
register to write to, and the MAG3110 sends an acknowledgement. Then the master (or MCU) transmits the 8-bit data to write to 
the designated register and the MAG3110 sends an acknowledgement that it has received the data. Since this transmission is 
complete, the master transmits a stop condition (SP) to end the data transfer. The data sent to the MAG3110 is now stored in the 
appropriate register.
Multiple byte write
The MAG3110 automatically increments the register address write pointer after a write command is received. Therefore, after 
following the steps of a single byte write, multiple bytes of data can be written to sequential registers after each MAG3110 
acknowledgment (ACK) is received.