
Philips Semiconductors
Product data sheet
PCA9541
2-to-1 I
2
C master selector with interrupt logic and reset
2004 Oct 01
5
DEVICE ADDRESS
Following a START condition, the upstream master that wants to
control the I
2
C-bus or make a status check must send the address
of the slave it is accessing. The slave address of the PCA9541 is
shown in Figure 4. To conserve power, no internal pull-up resistors
are incorporated on the hardware selectable pins and they must be
pulled HIGH or LOW.
A1 A0
1
1
A3 A2
SW02011
1
R/W
FIXED
HARDWARE
SELECTABLE
Figure 4. Slave address
The last bit of the slave address defines the operation to be
performed. When set to logic 1 a read is selected while logic 0
selects a write operation.
COMMAND CODE
Following the successful acknowledgement of the slave address,
the bus master will send a byte to the PCA9541, which will be stored
in the Command Code register.
0
SW02302
0
B1
0
0
AI
0
REGISTER
NUMBER
B0
AUTO
INCREMENT
Figure 5. Command Code
The 2 LSBS are used as a pointer to determine which register will
be accessed.
If the auto-increment flag is set (AI=1), the two least significant bits
of the Command Code are automatically incremented after a byte
has been read or written. This allows the user to program the
registers sequentially or to read them sequentially.
–
During a Read operation, the contents of these bits will rollover
to “00” after the last allowed register is accessed (“10”).
–
During a Write operation, the PCA9541 will acknowledge bytes
sent to the IE and CONTROL registers but will not acknowledge
a byte sent to the Interrupt Status Register since it is a
read-only register. The 2 LSB’s of the Command Code do not
roll over to 00 but stays at 10.
Only the 2 least significant bits are affected by the AI flag.
Unused bits must be programmed with zeroes. Any command code
(Write operation) different from “000AI0000”, “000AI0001”, and
“000AI0010” will not be acknowledged. At power-up, this register
defaults to all zeros.
Table 1.
Command Code Register
B1
B0
REGISTER
NAME
TYPE
REGISTER
FUNCTION
0
0
IE
Read/Write
Interrupt
Enable
0
1
CONTROL
Read/Write
Control Switch
1
0
ISTAT
Read
Interrupt
Status
1
1
NOT ALLOWED
Each system master controls its own set of registers, however they
can also read specific bits from the other system master.
PCA9541 INTERNAL REGISTER MAP
IE
CONTROL
ISTAT
IE
CONTROL
ISTAT
REG#00
REG#01
REG#10
REG#00
REG#01
REG#10
IE 0
CONTROL 0
ISTAT 0
MASTER 0
SCL_MST0
SDA_MST0
MASTER 1
SCL_MST1
SDA_MST1
SW02072
IE 1
CONTROL 1
ISTAT 1
PCA9541
0
1
2
3
4
5
6
7
CONTROL REGISTER DETAIL
CONTROL 0
CONTROL 1
Figure 6. Internal register map