English
Language : 

AK09918 Datasheet, PDF (19/30 Pages) Asahi Kasei Microsystems – 3-axis Electronic Compass
[AK09918]
10.1.3. READ Instruction
When the R/W bit is set to “1”, AK09918 performs read operation.
If a master IC generates an acknowledge instead of a stop condition after AK09918 transfers the data at a
specified address, the data at the next address can be read.
Address can be 00h to 18h, 30h to 32h. When the address is 00h to 18h, the address is incremented 00h 
01h  02h  03h  10h  11h ...  18h, and the address goes back to 00h after 18h. When the address
is 30h to 32h, the address goes back to 30h after 32h. AK09918 supports current address read and random
address read.
10.1.3.1. Current Address READ
AK09918 has an address counter inside the LSI chip. In current address read operation, the data at an address
specified by this counter is read.
The internal address counter holds the next address of the most recently accessed address.
For example, if the address most recently accessed (for READ instruction) is address “n”, and a current
address read operation is attempted, the data at address “n+1” is read.
In current address read operation, AK09918 generates an acknowledge after receiving a slave address for the
READ instruction (R/W bit = “1”). Next, AK09918 transfers the data specified by the internal address
counter starting with the next clock pulse, then increments the internal counter by one. If the master IC
generates a stop condition instead of an acknowledge after AK09918 transmits one byte of data, the read
operation stops.
SDA
S
T
A
R/W="1"
R
T
S
Slave
Address
Data(n+1)
Data(n+2)
Data(n+3)
A
A
A
A
C
C
C
C
K
K
K
K
Figure 10.8. Current Address READ
S
T
O
P
Data(n+x)
P
A
C
K
10.1.3.2. Random Address READ
By random address read operation, data at an arbitrary address can be read.
The random address read operation requires to execute WRITE instruction as dummy before a slave address
for the READ instruction (R/W bit = “1”) is transmitted. In random read operation, a start condition is first
generated then a slave address for the WRITE instruction (R/W bit = “0”) and a read address are transmitted
sequentially.
After AK09918 generates an acknowledge in response to this address transmission, a start condition and a
slave address for the READ instruction (R/W bit = “1”) are generated again. AK09918 generates an
acknowledge in response to this slave address transmission. Next, AK09918 transfers the data at the
specified address then increments the internal address counter by one. If the master IC generates a stop
condition instead of an acknowledge after data is transferred, the read operation stops.
SDA
S
T
A
R/W="0"
R
T
S
T
A
R/W="1"
R
T
S
Slave
Address
Register
Address(n)
S
Slave
Address
A
A
C
C
K
K
Data(n)
A
C
K
Data(n+1)
A
A
C
C
K
K
Figure 10.9. Random Address READ
S
T
O
P
Data(n+x)
P
A
C
K
016014242-E-00
- 19 -
2016/11