
preliminary
preliminary
iC-PVS
LINEAR/OFF-AXIS
BATTERY-BUFFERED ABSOLUTE POSITION HALL SENSOR
Rev A2, Page 44/51
I
2
C EEPROM INTERFACE
Pins SCL and SDA form an interface to read and write
an external EEPROM according to the I
2
C protocol
(with at least 128 bytes, e.g. 24C01, 24C02, 24C08
and maximum 24C16, extended address range is not
supported).
By default, the EEPROM is used to store the iC-PVS
configuration according to the register map on Page 14
for automatic booting. The configuration is protected
by an 8-bit CRC checksum. A checksum failure is re-
ported at output NERR, by the respective status bit in
the STATUS register and via the error bit in serial in-
terface. The CRC checksums are generated with the
polynomial X
8
+X
4
+X
3
+X
2
+1 (0x11D). The CRC start
value is 0x02 in order to avoid an EEPROM content of
all bytes = 0x00 to be a valid configuration.
CRC generator polynomial: 0x11D
CRC generator start value: 0x02
The general configuration and the counter preload
values are protected by separate checksums. The
checksum CRC_CFG is calculated over the addresses
0x00 up to 0x16 and stored at 0x17. The checksum
CRC_PREL is calculated over the addresses 0x18 up
to 0x1E and stored at 0x1F.
On initial startup, when in boot working state, the
iC-PVS requests addresses 0x00 to 0x1F from the
connected I
2
C slave. This is done with a combined
write/read command cycle as shown in Figure 33. The
expected slave address is 0xA0 or "0b 1010 000", which
is the standard I
2
C EEPROM address.
Notes:
If several devices share one common
EEPROM (e.g. iC-PVS used with an interpolator),
the default configuration area of iC-PVS may not be
usable (addresses 0x00 to 0x1F).
Therefore, the iC-PVS is capable to boot from
different addresses. The EEPROM is scanned for
the unique iC-PVS configuration footprint.
If no
configuration is found at address
0x00
, the iC-PVS
searches at address
0x40
, then at address
0x80
and
finally at address
0xA0
.
Using the CONF_WRITE_ALL commands it is
possible to directly write the current iC-PVS device
configuration to the EEPROM configuration areas
starting at addresses 0x00, 0x40, 0x80 or 0xA0 (see
Table 58). If iC-PVS does not share the EEPROM with
another device the standard EEPROM configuration
area starting at 0x00 should be used.
SCL
SDA
1
0
A2
S
A1
A0
W
1
0
ACK
D7
...
D0
ACK
Sr
1
0
A2
S
A1
A0
1
0
R
ACK
D7
…
D0
ACK
P
Slave Address (7 bit “1010000“)
Write ACK
(Slave)
Data (8 bit)
EEPROM
address
to read
ACK
(Slave)
Start
repeated
condition
Start
cond.
Read ACK
(Slave)
Data (8 bit)
read from
requested
address
NACK
(Master)
Slave Address (7 bit “1010000“)
Stop
cond.
Master requesting the address to read
(write command master to slave)
Master reading the data at requested address
(read command master to slave)
Claiming
the bus
Keeping
the bus
Releasing
the bus
f
scl
latch counter
after Read bit
Figure 33: iC-PVS combined write/read command reading one slave address