INTEGRATED CIRCUITS PCA9541 2-to-1 I2C master selector with interrupt logic and reset Product data sheet Supersedes data of 2003 Dec 02 Philips Semiconductors 2004 Oct 01 Philips Semiconductors Product data sheet 2-to-1 I2C master selector with interrupt logic and reset PCA9541 DESCRIPTION The PCA9541 is a 2-to-1 I2C master selector designed for high reliability dual master I2C applications where system operation is required, even when one master fails or the controller card is removed for maintenance. The two masters (e.g., primary and back-up) are located on separate I2C-buses that connect to the same downstream I2C-bus slave devices. I2C commands are sent by either I2C-bus master and are used to select one master at a time. Either master at any time can gain control of the slave devices if the other master is disabled or removed from the system. The failed master is isolated from the system and will not affect communication between the on-line master and the slave devices on the downstream I2C-bus. FEATURES • 2-to-1 bi-directional master selector • I2C interface logic; compatible with SMBus standards • PCA9541/01 powers-up with Channel 0 selected • PCA9541/02 powers-up with Channel 0 selected after STOP Three versions are offered for different architectures. PCA9541/01 with channel 0 selected at start-up, PCA9541/02 with channel 0 selected after start-up and after stop condition is detected, and PCA9541/03 with no channel selected after start-up. condition detected (bus idle) on Channel 0 • PCA9541/03 powers-up with no channel selected and either The interrupt outputs are used to provide an indication of which master has control of the bus. One interrupt input (INT_IN) collects downstream information and propagates it to the 2 upstream I2C-buses (INT0 and INT1) if enabled. INT0 and INT1 are also used to let the previous bus master know that it is not in control of the bus anymore and to indicate the completion of the bus recovery/initialization sequence. Those interrupts can be disabled and will not generate an interrupt if the masking option is set. master can take control of the bus • Active LOW Interrupt Input • 2 Active LOW Interrupt Outputs • Active LOW Reset Input • 4 address pins allowing up to 16 devices on the I2C-bus • Channel selection via I2C-bus • Bus initialization/recovery function • Bus traffic sensor • Low RdsON switches • Allows voltage level translation between 1.8 V, 2.5 V, 3.3 V and A bus recovery/initialization if enabled sends nine clock pulses, a not acknowledge, and a stop condition in order to set the downstream I2C-bus devices to an initialized state before actually switching the channel to the selected master. An interrupt is sent to the upstream channel when the recovery/initialization procedure is completed. 5 V buses • No glitch on power-up • Supports hot insertion • Software identical for both masters • Low stand-by current • Operating power supply voltage range of 2.3 V to 5.5 V • 6.0 V tolerant Inputs • 0 to 400 kHz clock frequency • ESD protection exceeds 2000 V HBM per JESD22-A114, An internal bus sensor senses the downstream I2C traffic and generates an interrupt if a channel switch occurs during a non-idle bus condition. This function is enabled when the PCA9541 recovery/initialization is not used. The interrupt signal informs the master that an external I2C-bus recovery/initialization needs to be performed. It can be disabled and an interrupt will not be generated. The pass gates of the switches are constructed such that the VDD pin can be used to limit the maximum high voltage, which will be passed by the PCA9541. This allows the use of different bus voltages on each pair, so that 1.8 V 2.5 V or 3.3 V devices can communicate with 5 V devices without any additional protection. 200 V MM per JESD22-A115 and 1000 V CDM per JESD22-C101 • Latch-up testing is done to JESDEC Standard JESD78 which The PCA9541 does not isolate the capacitive loading on either side of the device so the designer must take into account all trace and device capacitances on both sides of the device, and pull-up resistors must be used on all channels. exceeds 100 mA • Packages offered: SO16, TSSOP16, HVQFN16 External pull-up resistors pull the bus to the desired voltage level for each channel. All I/O pins are 6.0 V tolerant. APPLICATIONS • High reliability systems with dual masters • Gatekeeper multiplexer on long single bus • Bus initialization/recovery for slave devices without hardware An active-LOW Reset Input allows the PCA9541 to be initialized. Pulling the RESET pin LOW resets the I2C state machine and configures the device to its default state as does the internal power on reset function. reset • Allows masters without arbitration logic to share resources 2004 Oct 01 2 Philips Semiconductors Product data sheet 2-to-1 I2C master selector with interrupt logic and reset PCA9541 ORDERING INFORMATION PACKAGES TEMPERATURE RANGE ORDER CODE TOPSIDE MARK DRAWING NUMBER 16-Pin Plastic SO –40 to +85 °C PCA9541D/01 PCA9541D/01 SOT109-1 16-Pin Plastic TSSOP –40 to +85 °C PCA9541PW/01 9541/01 SOT403-1 16-Pin Plastic HVQFN –40 to +85 °C PCA9541BS/01 41/1 SOT629-1 16-Pin Plastic SO –40 to +85 °C PCA9541D/02 PCA9541D/02 SOT109-1 16-Pin Plastic TSSOP –40 to +85 °C PCA9541PW/02 9541/02 SOT403-1 16-Pin Plastic HVQFN –40 to +85 °C PCA9541BS/02 41/2 SOT629-1 16-Pin Plastic SO –40 to +85 °C PCA9541D/03 PCA9541D/03 SOT109-1 16-Pin Plastic TSSOP –40 to +85 °C PCA9541PW/03 9541/03 SOT403-1 16-Pin Plastic HVQFN –40 to +85 °C PCA9541BS/03 41/3 SOT629-1 Standard packing quantities and other packaging data are available at www.standardproducts.philips.com/packaging. SDA_MST0 2 15 INT_IN SCL_MST0 3 14 SDA_SLAVE RESET 4 13 SCL_SLAVE SCL_MST1 5 12 A3 SDA_MST1 6 11 A2 INT1 7 10 A1 VSS 8 9 13 INT_IN 16 VDD 14 VDD 1 15 INT0 INT0 16 SDA_MST0 PIN CONFIGURATION 12 SDA_SLAVE SCL_MST0 1 RESET 2 11 SCL_SLAVE TOP VIEW SCL_MST1 3 A0 10 A3 SDA_MST1 4 9 A2 5 6 7 8 INT1 VSS A0 A1 SW02008 Figure 1. SO16/TSSOP16 pin configuration. SW02034 Figure 2. HVQFN16 pin configuration. PIN DESCRIPTION SO/TSSOP PIN NUMBER HVQFN PIN NUMBER SYMBOL 1 15 INT0 2 16 SDA_MST0 Serial data master 0 (external pull-up required) 3 1 SCL_MST0 Serial clock master 0 (external pull-up required) 4 2 RESET 5 3 SCL_MST1 Serial clock master 1 (external pull-up required) 6 4 SDA_MST1 Serial data master 1 (external pull-up required) 7 5 INT1 Active LOW interrupt output 1 (external pull-up required) 8 6 VSS Supply ground 9 7 A0 Address input 0 (externally held to GND or VCC) 10 8 A1 Address input 1 (externally held to GND or VCC) 11 9 A2 Address input 2 (externally held to GND or VCC) 12 10 A3 Address input 3 (externally held to GND or VCC) FUNCTION Active LOW interrupt output 0 (external pull-up required) Active LOW reset input (external pull-up required) 13 11 SCL_SLAVE Serial clock slave (external pull-up required) 14 12 SDA_SLAVE Serial data slave (external pull-up required) 15 13 INT_IN 16 14 VDD 2004 Oct 01 Active LOW interrupt input (external pull-up required) Supply voltage 3 Philips Semiconductors Product data sheet 2-to-1 I2C master selector with interrupt logic and reset PCA9541 BLOCK DIAGRAM PCA9541 SCL_MST0 SDA_MST0 INPUT FILTER STOP DETECTION BUS SENSOR SCL_SLAVE A3 SLAVE CHANNEL SWITCH CONTROL LOGIC I2C-BUS CONTROL AND REGISTER BANK A2 A1 SDA_SLAVE A0 RESET VDD POWER-ON RESET BUS RECOVERY/ INITIALIZATION SCL_MST1 SDA_MST1 INPUT FILTER STOP DETECTION OSCILLATOR INT0 INT1 INT_IN INTERRUPT LOGIC VSS SW02009 Figure 3. Block diagram 2004 Oct 01 4 Philips Semiconductors Product data sheet 2-to-1 I2C master selector with interrupt logic and reset The 2 LSBS are used as a pointer to determine which register will be accessed. DEVICE ADDRESS Following a START condition, the upstream master that wants to control the I2C-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. 1 1 1 A3 A2 FIXED PCA9541 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. A1 A0 R/W HARDWARE SELECTABLE Only the 2 least significant bits are affected by the AI flag. SW02011 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. 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. COMMAND CODE Table 1. Command Code Register Figure 4. Slave address 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 0 0 AI 0 AUTO INCREMENT 0 B1 B0 REGISTER NUMBER 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. SW02302 Figure 5. Command Code PCA9541 INTERNAL REGISTER MAP IE REG#00 IE 0 IE 1 REG#00 IE CONTROL REG#01 CONTROL 0 CONTROL 1 REG#01 CONTROL ISTAT REG#10 ISTAT 0 ISTAT 1 REG#10 ISTAT MASTER 0 SCL_MST0 SDA_MST0 MASTER 1 SCL_MST1 SDA_MST1 PCA9541 CONTROL 0 CONTROL 1 7 6 5 4 3 2 1 0 CONTROL REGISTER DETAIL Figure 6. Internal register map 2004 Oct 01 5 SW02072 Philips Semiconductors Product data sheet 2-to-1 I2C master selector with interrupt logic and reset PCA9541 INTERRUPT ENABLE AND CONTROL REGISTERS DESCRIPTION When activated and whether the bus was previously idle or not: – 9 clock pulses are sent on the SCL_SLAVE. When a master seeks control of the bus by connecting its I2C channel to the PCA9541 downstream channel, it has to write to the Control Register (Reg#01) – SDA_SLAVE line is released (HIGH) when the clock pulses are sent to SCL_SLAVE. This is equivalent to sending 8 data bits and a not acknowledge Bits MYBUS and BUSON allow the master to take control of the bus. – Finally a STOP condition is sent to the downstream slave channel. This sequence will complete any read transaction which was previously in process and the downstream slave configured as a slave-transmitter should release the SDA line because the PCA9541 did not acknowledge the last byte. The MYBUS and the NMYBUS bits determine which master has control of the bus. Tables 4 and 5 explain which master gets control of the bus and how. There is no arbitration. Any master can take control of the bus when it wants regardless of whether the other master is using it or not. 3. When the initialization has been requested and completed, the PCA9541 sends an interrupt to the new master through its INT line and connects the new master to the downstream channel. BUSINIT bit in the Interrupt Status Register is set. The switch operation occurs after the master asking the bus control has sent a STOP command. This interrupt can be masked by setting the BUSINITMSK bit to 1. The BUSON and the NBUSON bits determine whether the upstream bus is connected or disconnected to/from the downstream bus. Internally, the state machine does the following: – If the combination of the BUSON and the NBUSON bits causes the upstream to be disconnected from the downstream bus, then that is done. So in this case, the values of the MYBUS and the NMYBUS do not matter. 4. When the bus initialization/recovery function has not been requested (BUSINIT=0), the PCA9541 connects the new master to the slave downstream channel. The switch operation occurs after the master asking the bus control has sent a STOP command. PCA9541 sends an interrupt to the new master through its INT line if the built-in bus sensor function detects a non-idle condition in the downstream slave channel at the switching time. BUSOK bit in the Interrupt Status Register is set. This means that a STOP condition has not been detected in the previous bus communication and that an external bus recovery/initialization must be performed. If an idle condition has been detected at the switching time, no interrupt will be sent. This interrupt can be masked by setting the BUSOKMSK bit to 1. – If a master was connected to the downstream bus prior to the disconnect, then an interrupt is sent on the respective interrupt output in an attempt to let that master know that it is no longer connected to the downstream bus. This is indicated by setting the BUSLOST bit in the Interrupt Status Register. – If the combination of the BUSON and the NBUSON bits causes a master to be connected to the downstream bus and if there is no change in the BUSON bits since when the disconnect took effect, then the master requesting the bus is connected to the downstream bus. If it requests a bus initialization sequence, then it is performed. – If there is no change in the combination of the BUSON and the NBUSON bits and a new master wants the bus, then the downstream bus is disconnected from the old master that was using it and the new master gets control of it. Again, the bus initialization if requested is done. The appropriate interrupt signals are generated. Interrupt status can be read. See paragraph INTERRUPT STATUS REGISTER DESCRIPTION for more information. The MYTEST and the NMYTEST bits cause the interrupt pins of the respective masters to be activated for a ”functional interrupt test”. NOTES: 1. The regular way to proceed is that a master asks to take the control of the bus by programming MYBUS and BUSON bits. Nevertheless, the same master can also decide to give up the control of the bus and give it to the other master. This is also done by programming the MYBUS and BUSON bits. After a master has sent the bus control request: 1. The previous master is disconnected from the I2C-bus. An interrupt to the previous master is sent through its INT line to let it know that it lost control of the bus. BUSLOST bit in the Interrupt Status Register is set. This interrupt can be masked by setting the BUSLOSTMSK bit to 1. 2. Any writes either to the Interrupt Enable Register or the Control Register cause the respective register to be updated on the 9th clock cycle, i.e. on the rising edge of the acknowledge clock cycle. 2. A built-in bus initialization/recovery function can take temporary control of the downstream channel to initialize the bus before making the actual switch to the new bus master. This function is activated by setting the BUSINIT to 1 by the master during the same write sequence as the one programming MYBUS and BUSON bits. 2004 Oct 01 3. The actual switch from one channel to another or the switching off of both the channels happens on a STOP command. 6 Philips Semiconductors Product data sheet 2-to-1 I2C master selector with interrupt logic and reset PCA9541 Register 0: Interrupt Enable (IE) Register (B1B0 = 00) This register allows a master to read and/or write (if needed) Mask options for its own channel. The Interrupt Enable Register described below is identical for both the masters. Nevertheless, there are physically 2 internal Interrupt Enable Registers, one for each upstream channel. When Master 0 reads/writes in this register, the internal Interrupt Enable Register 0 will be accessed. When Master 1 reads/writes in this register, the internal Interrupt Enable Register 1 will be accessed. BIT 7 6 5 4 3 2 1 0 SYMBOL 0 0 0 0 BUSLOSTMSK BUSOKMSK BUSINITMSK INTINMSK Table 2. Register 0 BIT 0 1 2 SYMBOL INTINMSK BUSINITMSK BUSOKMSK 3 BUSLOSTMSK 4 5 READ/ WRITE DEFAULT R/W 0 R/W R/W 0 0 R/W 0 NOT USED R only 0 NOT USED R only 0 6 NOT USED R only 0 7 NOT USED R only 0 DESCRIPTION 0: Interrupt on INT_IN will generate an interrupt on INT 1: Interrupt on INT_IN will not generate an interrupt on INT (masked) 0: After connection is requested and Bus Initialization requested (BUSINIT = 1), an interrupt on INT will be generated when the bus initialization is done. Note: Channel switching is done after bus initialization completed. 1: After connection is requested and Bus Initialization requested (BUSINIT = 1), an interrupt on INT will not be generated when the bus initialization is done (masked). Note: Channel switching is done after bus initialization completed. 0: After connection is requested and Bus Initialization not requested (BUSINIT = 0), an interrupt on INT will be generated when a non-Idle situation has been detected on the downstream slave channel by the bus sensor at the switching moment. Note: Channel switching is done automatically after the STOP command. 1: After connection is requested and Bus Initialization not requested (BUSINIT = 0), an interrupt on INT will not be generated when a non-Idle situation has been detected on the downstream slave channel by the bus sensor at the switching moment (masked). Note: Channel switching is done automatically after the STOP command. 0: An interrupt on INT will be generated after the other master has been been disconnected 1: An interrupt on INT will not be generated after the other master has been been disconnected. NOTE: Default values are the same for PCA9541/01, PCA9541/02, and PCA9541/03 2004 Oct 01 7 Philips Semiconductors Product data sheet 2-to-1 I2C master selector with interrupt logic and reset PCA9541 Register 1: Control Register (B1B0 = 01) x stands for 0 or 1 and is applied to the master that reads or writes in the Control Register explained below The Control Register described below is identical for both the masters. Nevertheless, there are physically 2 internal Control Registers, one for each upstream channel. When master 0 reads/writes in this register, the internal Control Register 0 will be accessed. When master 1 reads/writes in this register, the internal Control Register 1 will be accessed. BIT 7 6 5 4 3 2 1 0 SYMBOL NTESTON TESTON 0 BUSINIT NBUSON BUSON NMYBUS MYBUS Table 3. Register 1 BIT 0 SYMBOL MYBUS 1 NMYBUS 2 BUSON READ/ WRITE DEFAULT R/W See Table 6 R only See Table 6 R/W See Table 6 3 NBUSON R only See Table 6 4 BUSINIT R/W 0 5 NOT USED R only 0 6 TESTON R/W 0 7 NTESTON R only 0 2004 Oct 01 DESCRIPTION MYBUS bit along with the NMYBUS bit decides which upstream channel is connected to the downstream channel See Table 4 NMYBUS bit is a copy of the MYBUS bit for the other channel See Table 4 BUSON bit along with the NBUSON bit decides whether any upstream channel is connected to the downstream channel or not See Table 5 NBUSON bit is a copy of the BUSON bit for the other channel See Table 5 0: Bus initialization not requested 1 : Bus initialization requested 0: a Logic Level High to the INT line is sent (interrupt cleared) 1: a Logic Level Low to the INT line is sent (interrupt generated) 0: a Logic Level High to the INT line of the other channel is sent (interrupt cleared) 1: a Logic Level Low to the INT line of the other channel is sent (interrupt generated) 8 Philips Semiconductors Product data sheet 2-to-1 I2C master selector with interrupt logic and reset PCA9541 Table 4. MYBUS and NMYBUS Truth Table NMYBUS MYBUS SLAVE CHANNEL 0 0 to the switching initiator 1 0 to the other channel 0 1 to the other channel 1 1 to the switching initiator Table 5. BUSON and NBUSON Truth Table NBUSON BUSON SLAVE CHANNEL 0 0 OFF 1 0 ON 0 1 ON 1 1 OFF NOTES: 1. Switch to the new channel is done when the master initiating the switch request sends a STOP command to the PCA9541. 2. If Master 0 wants to change the connection to the downstream channel in any way, it needs to write to its Control Register (Reg#01), and then send a STOP command because an update of the connection to the downstream according to the values in the two internal Control Registers happens only on a STOP command. Writing to one control register followed by a STOP condition on the other Master’s channel will not cause an update to the downstream connection. 3. When both masters request a switch to their own channel at the same time, the master who last wrote to its control register before the PCA9541 receives a STOP command wins the switching sequence. There is no arbitration performed. 4. Auto Increment feature (AI=1) allows to program the PCA9541 in 4 bytes: – – – – – – Start 111A3A2A1A0 + 0 00010000 Data Reg#00 Data Reg#01 Stop PCA9541 Address + Write Select Reg#00 with AI = 1 Interrupt Enable Register Data Control Register Data Table 6. Default Control Register Values VERSION PCA9541/01 PCA9541/02 PCA9541/03 PCA9541/02 (AFTER STOP) 2004 Oct 01 BIT 7 6 5 4 3 2 1 0 SYMBOL NTESTON TESTON NOT USED BUSINIT NBUSON BUSON NMYBUS MYBUS MST_0 0 0 0 0 0 1 0 0 MST_1 0 0 0 0 1 0 1 0 MST_0 0 0 0 0 0 0 0 0 MST_1 0 0 0 0 0 0 1 0 MST_0 0 0 0 0 0 0 0 0 MST_1 0 0 0 0 0 0 1 0 MST_0 0 0 0 0 0 1 0 0 MST_1 0 0 0 0 1 0 1 0 9 Philips Semiconductors Product data sheet 2-to-1 I2C master selector with interrupt logic and reset PCA9541 Table 7 describes which command needs to be written to the Control Register when a master device wants to take control of the I2C-bus. Byte written to the Control Register is a function of the current I2C-bus control status performed after an initial reading of the Control Register. ‘I2C-bus off’ means that upstream and downstream channels are not connected together. Current status of the I2C-bus is determined by the bits MYBUS, NMYBUS, BUSON and NBUSON is one of the following: Remark: Only the 4 LSBs of the Control Register are described in Table 7 since only those bits control the I2C-bus control. The logic value for the 4 MSBs is specific to the application and are not discussed in the table. ‘I2C-bus on’ means that upstream and downstream channels are connected together. – The master reading its Control Register does not have control and the I2C-bus is off. – The master reading its Control Register does not have control and the I2C-bus is on. The Read sequence is performed by the master as following: S — 111xxxx0 — 000x0001 — Sr — 111xxxx1 — DataRead — P – The master reading its Control Register has control and the I2C-bus is off. The Write sequence is performed by the master as following: S — 111xxxx0 — 000x0001 — DataWritten — P – The master reading its Control Register has control and the I2C-bus is on. Table 7. Bus control sequence Read Control Register performed by the Master Byte Read only the 4 LSBs are shown Status Write Control Register performed by the Master NBUSON BUSON NMYBUS MYBUS Hex Byte Written only the 4 LSBs are shown (see Note 1) Action performed to take Mastership Binary Hex 0x0 Bus off Has control 0 0 0 0 x1x0 0x4 Bus on 0x1 Bus off No control 0 0 0 1 x1x0 0x4 Bus on, Take control 0x2 Bus off No control 0 0 1 0 x1x1 0x5 Bus on, Take control 0x3 Bus off Has control 0 0 1 1 x1x1 0x5 Bus on 0x4 Bus on Has control 0 1 0 0 No write required – No change 0x5 Bus on No control 0 1 0 1 x1x0 0x4 Take control 0x6 Bus on No control 0 1 1 0 x1x1 0x5 Take control 0x7 Bus on Has control 0 1 1 1 No write required – No change 0x8 Bus on Has control 1 0 0 0 No write required – No change 0x9 Bus on No control 1 0 0 1 x0x0 0x0 Take control 0xA Bus on No control 1 0 1 0 x0x1 0x1 Take control 0xB Bus on Has control 1 0 1 1 No write required – No change 0xC Bus off Has control 1 1 0 0 x0x0 0x0 Bus on 0xD Bus off No control 1 1 0 1 x0x0 0x0 Bus on, Take control 0xE Bus off No control 1 1 1 0 x0x1 0x1 Bus on, Take control 0xF Bus off Has control 1 1 1 1 x0x1 0x1 Bus on NOTES: 1. x0x0 = 0x0, 0x2, 0x8, 0xA x0x1 = 0x1, 0x3, 0x9, 0xB x1x0 = 0x4, 0x6, 0xC, 0xE x1x1 = 0x5, 0x7, 0xD, 0xF 2004 Oct 01 10 Philips Semiconductors Product data sheet 2-to-1 I2C master selector with interrupt logic and reset PCA9541 INTERRUPT STATUS REGISTERS DESCRIPTION downstream I2C traffic) detects a non-idle condition (previous bus channel connected to the downstream slave channel, was between a START and STOP condition), then an interrupt to the new master is sent (INT line goes LOW). This interrupt tells the new master that an external bus recovery/initialization must be performed. By setting the BUSOKMSK bit to 1, the interrupt is masked and the new master does not receive an interrupt (INT line does not go LOW). The PCA9541 provides 4 different types of interrupt: 1. To indicate to the former I2C-bus master that it is not in control of the bus anymore. 2. To indicate to the new I2C-bus master that: – The bus recovery/initialization has been performed and that the downstream channel connection has been done (built-in bus recovery/initialization active). NOTE: In this particular situation, after the switch to the new master is performed, a read of the Interrupt Status Register is not possible if the switch happened in the middle of a read sequence because the new master does not have control of the SDA line – A “bus not well initialized” condition has been detected by the PCA9541 when the switch has been done (built-in bus recovery/initialization not active). This information can be used by the new master to initiate its own bus recovery/initialization sequence. Downstream interrupt 3. Indicate to both I2C upstream masters that a downstream interrupt has been generated through the INT_IN pin. An interrupt can also be generated by a downstream device by asserting the INT_IN pin LOW. When INT_IN is asserted LOW and if both INTINMSK bits are not set to 1 by either master, INT0 and INT1 both go LOW. 4. Functionality wiring test. Bus control lost interrupt When an upstream master takes control of the I2C-bus while the other channel was using the downstream channel, an interrupt is generated to the master losing control of the bus (INT line goes LOW to let the master know that it lost the control of the bus) immediately after disconnection from the downstream channel. By setting the INTINMSK bit to 1 by a master and/or the INTINMSK bit to 1 by the other master, the interrupt(s) is (are) masked and the corresponding masked channel(s) does (do) not receive an interrupt (INT0 and/or INT1 line does (do) not go LOW). By setting the BUSLOSTMSK bit to 1, the interrupt is masked and the upstream master that lost the I2C-bus control does not receive an interrupt (INT line does not go LOW). A master can send an interrupt to itself to test its own INT wire or send an interrupt to the other master to test its INT line. This is done by: – Setting the TESTON bit to 1 to test its own INT line. Functional test interrupt Recovery/initialization interrupt – Setting the NTESTON bit to 1 to test the other master INT line. Before switching to a new upstream channel, an automatic bus recovery/initialization can be performed by the PCA9541. This function is requested by setting the BUSINIT bit to 1. When the downstream bus has been initialized, an interrupt to the new master is generated (INT line goes LOW). Setting the TESTON and/or NTESTON bits to 0 by a master will clear the interrupt(s). NOTE: Interrupt outputs have an open-drain structure. Interrupt input does not have any internal pull-up resistor and must not be left floating (e.g., pulled high to VCC through resistor) in order to avoid any undesired interrupt conditions. By setting the BUSINITMSK bit to 1, the interrupt is masked and the new master does not receive an interrupt (INT line does not go LOW). When the automatic bus recovery/initialization is not requested, if the built-in bus sensor function (sensing permanently the 2004 Oct 01 11 Philips Semiconductors Product data sheet 2-to-1 I2C master selector with interrupt logic and reset PCA9541 Register 2: Interrupt Status Register (B1B0 = 10) The Interrupt Status Register for both the masters is identical and is described below. Nevertheless, there are physically 2 internal Interrupt Registers, one for each upstream channel. When Master 0 reads this register, the internal Interrupt Register 0 will be accessed. When Master 1 reads this register, the internal Interrupt Register 1 will be accessed. BIT 7 6 5 4 3 2 1 0 SYMBOL NMYTEST MYTEST 0 0 BUSLOST BUSOK BUSINIT INTIN READ/ WRITE DEFAULT Table 8. Register 2 BIT SYMBOL 0 INTIN R only 0 1 BUSINIT R only 0 DESCRIPTION 0: No interrupt on interrupt input (INT_IN) 1: Interrupt on interrupt input (INT_IN) 0: No interrupt generated by the bus recovery/initialization function 1: Interrupt generated by the bus recovery/initialization function – recovery/initialization done 0: No interrupt generated by bus sensor function 2 BUSOK R only 0 1: Interrupt generated by bus sensor function (masked when bus recovery/initialization requested) – Bus was not idle when the switch occurred 0: No interrupt generated to the previous master when switching to the new one is initiated 3 BUSLOST R only 0 4 NOT USED R only 0 5 NOT USED R only 0 6 MYTEST R only 0 1: Interrupt generated to the previous master when switching to the new one is initiated 0: No interrupt generated by TESTON bit f (TESTON = 0) 1: Interrupt generated by TESTON bit (TESTON = 1) 0: No interrupt generated due to NTESTON bit from the other master (NTESTON = 0 from the other master) 7 NMYTEST R only 0 1: Interrupt generated due to TESTON bit from the other master (NTESTON = 1 from the other master) NOTES: 1. Interrupt on a master is cleared after TESTON bit is cleared the same master or NTESTON bit is cleared by the other master. 2. If the interrupt condition remains on INT_IN after the Read sequence, another interrupt will be generated (if the interrupt has not been masked) 3. Default values are the same for PCA9541/01, PCA9541/02 and PCA9541/03 4. Reading the Interrupt Status Register does not clear the MYTEST, NMYTEST or the INTIN bits. They are cleared if: – INT_IN lines goes HIGH for INTIN bit – TESTON bit is cleared for MYTEST bit – NTESTON bit is cleared for NMYTEST bit 5. BUSINIT, BUSOK and BUSLOST bits in the Interrupt Status Register gets cleared after a Read of the same register is done. Precisely, the register gets cleared on the second clock pulse during the read operation. 2004 Oct 01 12 Philips Semiconductors Product data sheet 2-to-1 I2C master selector with interrupt logic and reset PCA9541 POWER-ON RESET VOLTAGE TRANSLATION When power is applied to VDD, an internal Power-On Reset holds the PCA9541 in a reset condition until VDD has reached VPOR. At this point, the reset condition is released and the internal registers are initialized to their default states, with: The pass gate transistors of the PCA9541 are constructed such that the VDD voltage can be used to limit the maximum voltage that will be passed from one I2C-bus to another. Default PCA9541/01 Stop Detect Vpass vs. VDD Channel 0 PCA9541/02 Channel 0 PCA9541/03 No Channel n 5.0 4.5 MAXIMUM 4.0 1. PCA9541/01: after power-up and/or insertion of the device in the main I2C-bus, the upstream Channel 0 and the downstream slave channel are connected together. TYPICAL 3.5 Vpass 3.0 2. PCA9541/02: after power-up and/or insertion of the device in the main I2C-bus, the upstream Channel 0 and the downstream slave channel are connected together after a STOP condition has been detected by the PCA9541/02 on Channel 0. 2.5 2.0 1.0 – If the bus was not idle, Channel 0 and the downstream slave device will be connected together as soon as a STOP condition occurs at the conclusion of the transmission sequence on Channel 0. 2.0 2.5 3.0 3.5 4.0 VDD – If the bus was idle, then Channel 0 is connected to the downstream slave channel after a STOP condition is detected on Channel 0. This I2C-bus command may or may not be addressed to the PCA9541/02. 4.5 5.0 5.5 SW00820 Figure 7. Vpass voltage Figure 7 shows the voltage characteristics of the pass gate transistors (note that the graph was generated using the data specified in the DC Characteristics section of this datasheet). In order for the PCA9541 to act as a voltage translator, the Vpass voltage should be equal to, or lower than the lowest bus voltage. For example, if the main buses were running at 5 V, and the downstream bus was 3.3 V, then Vpass should be equal to or below 3.3 V to effectively clamp the downstream bus voltages. Looking at Figure 7, we see that Vpass (max.) will be at 3.3 V when the PCA9541 supply voltage is 3.5 V or lower so the PCA9541 supply voltage could be set to 3.3 V. Pull-up resistors can then be used to bring the bus voltages to their appropriate levels (see Figure 16). – If a switch to channel 1 (initiated by the master on channel 1) is requested (before or after the default switch to Channel 0 has been performed), the upstream channel 1 is connected to the downstream slave channel when the master located in Channel 1 sends the STOP command. 3. PCA9541/03: after power-up and/or insertion of the device in the main I2C-bus, no channel will be connected to the downstream channel. The device is ready to receive a START condition and its address by a master. If either register writes to its Control Register, then the connection between the upstream and the downstream channels is determined by the values on the Control Registers. More Information on voltage translation can be found in Application Note AN262 PCA954X family of I 2C/SMBus multiplexers and switches. Thereafter, VDD must be lowered below 0.2 V to reset the device. EXTERNAL RESET A reset can be accomplished by holding the RESET pin LOW for a minimum of tW. The PCA9541 registers and I2C state machine will be held in their default states until the RESET input is once again HIGH. This input typically requires a pull-up resistor to VDD. Default states are: – I2C upstream Channel 0 connected to the I2C downstream channel for the PCA9541/01 – no I2C upstream channel connected to the I2C downstream channel for the PCA9541/02 with Channel 0 connected to the downstream I2C channel after detection of a STOP on the upstream channel. – no I2C upstream channel connected to the I2C downstream channel for the PCA9541/03. 2004 Oct 01 MINIMUM 1.5 13 Philips Semiconductors Product data sheet 2-to-1 I2C master selector with interrupt logic and reset PCA9541 CHARACTERISTICS OF THE I2C-BUS Start and stop conditions The I2C-bus is for 2-way, 2-line communication between different ICs or modules. The two lines are a serial data line (SDA) and a serial clock line (SCL). Both lines must be connected to a positive supply via a pull-up resistor when connected to the output stages of a device. Data transfer may be initiated only when the bus is not busy. Both data and clock lines remain HIGH when the bus is not busy. A HIGH-to-LOW transition of the data line, while the clock is HIGH is defined as the start condition (S). A LOW-to-HIGH transition of the data line while the clock is HIGH is defined as the stop condition (P) (see Figure 9). Bit transfer System configuration One data bit is transferred during each clock pulse. The data on the SDA line must remain stable during the HIGH period of the clock pulse as changes in the data line at this time will be interpreted as control signals (see FIgure 8). A device generating a message is a transmitter: a device receiving is the receiver. The device that controls the message is the master and the devices which are controlled by the master are the slaves (see Figure 10). SDA SCL data line stable; data valid change of data allowed SW00363 Figure 8. Bit transfer SDA SDA SCL SCL S P START condition STOP condition SW00365 Figure 9. Definition of start and stop conditions SDA SCL MASTER TRANSMITTER/ RECEIVER SLAVE RECEIVER SLAVE TRANSMITTER/ RECEIVER MASTER TRANSMITTER MASTER TRANSMITTER/ RECEIVER I2C MULTIPLEXER SLAVE SW00366 Figure 10. System configuration 2004 Oct 01 14 Philips Semiconductors Product data sheet 2-to-1 I2C master selector with interrupt logic and reset PCA9541 Acknowledge The number of data bytes transferred between the start and the stop conditions from transmitter to receiver is not limited. Each byte of eight bits is followed by one acknowledge bit. The acknowledge bit is a HIGH level put on the bus by the transmitter whereas the master generates an extra acknowledge related clock pulse. A slave receiver which is addressed must generate an acknowledge after the reception of each byte. Also a master must generate an acknowledge after the reception of each byte that has been clocked out of the slave transmitter. The device that acknowledges has to pull down the SDA line during the acknowledge clock pulse, so that the SDA line is stable LOW during the HIGH period of the acknowledge related clock pulse, set-up and hold times must be taken into account. A master receiver must signal an end of data to the transmitter by not generating an acknowledge on the last byte that has been clocked out of the slave. In this event, the transmitter must leave the data line HIGH to enable the master to generate a stop condition. DATA OUTPUT BY TRANSMITTER not acknowledge DATA OUTPUT BY RECEIVER acknowledge SCL FROM MASTER 1 2 8 9 S clock pulse for acknowledgement START condition SW00368 Figure 11. Acknowledgement on the 2004 Oct 01 15 I2C-bus 1 1 1 A3 A2 A1 A0 start condition 0 A R/W 0 0 0 1 acknowledge from slave 0 0 0 0 Auto increment A A acknowledge from slave A acknowledge from slave acknowledge from slave P Stop condition SW02306 Figure 12. Write to the Mask and Control Registers using the Auto-Increment (AI) bit NOTE: If a 3rd data byte is sent, it will not be acknowledged by the PCA9541. COMMAND CODE ACCESS TO REGISTER XX = 00, 01, OR 10 SLAVE ADDRESS S 1 1 start condition 1 A3 A2 A1 XX = 00 : INTERRUPT ENABLE REGISTER XX = 01 : CONTROL REGISTER XX = 10 : INT REGISTER A0 0 R/W A 0 0 acknowledge from slave 0 1 0 Auto Increment 0 X CONTROL REGISTER INT REGISTER INTERRUPT ENABLE REGISTER INT REGISTER INTERRUPT ENABLE REGISTER CONTROL REGISTER SLAVE ADDRESS X A acknowledge from slave Sr 1 re-start condition 1 1 A3 A2 A1 A0 1 A R/W acknowledge from slave A acknowledge from master A acknowledge from master A P 15 no acknowledge- stop from master condition SW02307 Figure 13. Read the 3 registers using the Auto-Increment (AI) bit NOTE: If a 4th data byte is read, the first Register will be accessed. Philips Semiconductors S DATA CONTROL REGISTER DATA MASK REGISTER COMMAND CODE REGISTER 2-to-1 I2C master selector with interrupt logic and reset 2004 Oct 01 SLAVE ADDRESS Product data sheet PCA9541 1 1 start condition 1 A3 A2 A1 A0 0 R/W A 0 0 acknowledge from slave 0 AI 0 Auto Increment 0 0 1 A 0 0 acknowledge from slave 0 1 0 0 0 0 A BUSINIT P stop condition BUSON MYBUS acknowledge from slave SCL_MST0 INT1 IF THE INTERRUPT IS NOT MASKED (BUSLOSTMSK = 0) SCL_SLAVE 1 2 3 4 5 6 7 8 9 SDA_SLAVE P INT0 16 IF THE INTERRUPT IS NOT MASKED (BUSINITMSK = 0) MASTER 0 HAS CONTROL OF THE BUS MASTER 1 HAS CONTROL OF THE BUS PCA9541 HAS CONTROL OF THE BUS Philips Semiconductors S AFTER THE STOP CONDITION, MASTER 1 IS DISCONNECTED FROM THE DOWNSTREAM CHANNEL DATA CONTROL REGISTER COMMAND CODE REGISTER 2-to-1 I2C master selector with interrupt logic and reset 2004 Oct 01 SDA_MST0 SLAVE ADDRESS MASTER 0 MUST WAIT FOR THE “BUS FREE TIME” VALUE (BETWEEN STOP AND START) DEFINED IN THE I2C SPECIFICATION BEFORE SENDING COMMANDS TO THE DOWNSTREAM DEVICES SW02308 Figure 14. Write to the control register and switch from channel 1 to channel 0 (bus recovery/initialization requested) NOTE: We assume that a Read of the control register was done by Master 1 and that 000x1010 was read. Product data sheet PCA9541 1 1 start condition 1 A3 A2 A1 A0 0 R/W A 0 0 acknowledge from slave 0 AI 0 Auto Increment 0 0 1 A 0 acknowledge from slave 0 0 0 0 0 0 0 A acknowledge from slave P stop condition SCL_MST0 INT1 IF THE INTERRUPT IS NOT MASKED (BUSLOSTMSK = 0) INT0 IF MASTER 1 WAS NOT IDLE AT THE SWITCHING MOMENT AND THE INTERRUPT IS NOT MASKED (BUSOKMSK = 0) MASTER 1 HAS CONTROL OF THE BUS MASTER 0 HAS CONTROL OF THE BUS 17 MASTER 0 MUST WAIT FOR THE “BUS FREE TIME” VALUE (BETWEEN STOP AND START) DEFINED IN THE I2C SPECIFICATION BEFORE SENDING COMMANDS TO THE DOWNSTREAM DEVICES SW02309 Figure 15. Write to the control register and switch from channel 1 to channel 0 (bus recovery/initialization not requested) Philips Semiconductors S DATA CONTROL REGISTER COMMAND CODE REGISTER 2-to-1 I2C master selector with interrupt logic and reset 2004 Oct 01 SLAVE ADDRESS SDA_MST0 AFTER THE STOP CONDITION, MASTER 1 IS DISCONNECTED FROM THE DOWNSTREAM CHANNEL AND MASTER 0 IS CONNECTED TO THE DOWNSTREAM CHANNEL Product data sheet PCA9541 Philips Semiconductors Product data sheet 2-to-1 I2C demultiplexer with interrupt logic and reset PCA9541 TYPICAL APPLICATION 3.3 V VDD VDD MASTER 0 SCL0 SCL_MST0 SDA0 SDA_MST0 RESET0 SLAVE 2 INT0 INT_IN INT0 INT VSS SDA SCL SD1 RESET SC1 PCA9541 3.3 V VDD SDA MASTER 1 SCL SDA SLAVE 1 SCL1 SCL_MST1 SDA1 SDA_MST1 SCL SLAVE 3 RESET1 INT1 VSS INT1 A3 A2 A1 A0 VSS SLAVE CARD SW02010 Figure 16. Typical application In a typical multi-point application, shown in Figure 17, the two masters (e.g., primary and back-up) are located on separate I2C-buses that connect to multiple downstream I2C-bus slave cards/devices via a PCA9541/01 for non-hot swap applications or the PCA9541/02 for hot swap applications to provide high reliability of the I2C-bus. PCA9541 PCA9541 PCA9541 PCA9541 PCA9541 PCA9541 PCA9541 SDA0 PCA9541 SCL0 SCL1 SDA1 MASTER 1 HIGH RELIABILITY SYSTEMS The PCA9541 is a 2-to-1 I2C master selector designed for dual master, high reliability I2C applications, where continuous maintenance and control monitoring is required even if one master fails or its controller card is removed for maintenance. The PCA9541 can also be used in other applications, such as where masters share the same resource but cannot share the same bus, as a gatekeeper multiplexer in long single bus applications or as a bus initialization/recovery device. MASTER 0 SPECIFIC APPLICATIONS SR02462 Figure 17. High Reliability Backplane Application 2004 Oct 01 18 Philips Semiconductors Product data sheet 2-to-1 I2C demultiplexer with interrupt logic and reset I2C commands are sent via the primary or back-up master and either master can take command of the I2C-bus. Either master at any time can gain control of the slave devices if the other master is disabled or removed from the system. The failed master is isolated from the system and will not affect communication between the on-line master and the slave devices located on the cards. GATEKEEPER MULTIPLEXER The PCA9541/03 can act as a gatekeeper multiplexer in applications where there are multiple I2C devices with the same fixed address (e.g., EEPROMs with address of “Z” as shown in Figure 20) connected in a multi-point arrangement to the same I2C-bus. Up to 16 hot swappable cards/devices can be multiplexed to the same bus master by using one PCA9541/03 per card/device. Since each PCA9541/03 has its own unique address (e.g., “A”, “B”, “C”, etc), the EEPROMs can be connected to the master, one at a time, by connecting one PCA9541/03 (Master 0 position) while keeping the rest of the cards/devices isolated (off position). H EEPROM MASTER 1 PCA9541 PCA9541 MASTER 1 MASTER 1 PCA9541 G EEPROM MASTER 1 PCA9541 F EEPROM PCA9541 PCA9541 E EEPROM PCA9541 PCA9541 D EEPROM MASTER 0 PCA9541 C EEPROM MASTER 0 PCA9541 B EEPROM MASTER 0 PCA9541 SCL1 SDA1 A EEPROM SCL1 SDA1 PCA9541 SCL0 SDA0 SCL1 SDA1 PCA9548 SCL0 SDA0 SCL1 SDA1 The alternative, shown with dashed lines, is to use a PCA9548 1-to-8 channel switch on the master card and run 8 I2C-buses, one to each EEPROM card, to multiplex the master to each card. The number of card pins used is the same in either case, but there are 7 less pairs of SDA/SCL traces on the PC board if the PCA9541/03 is used. MASTER 0 SCL0 SDA0 MASTER 0 For even higher reliability in multi-point backplane applications, two dedicated masters can be used for every card as shown in Figure 18. SCL0 SDA0 PCA9541 Z Z Z Z Z Z Z Z SR02463 SW02099 Figure 18. Very High Reliability Backplane Application Figure 20. Gatekeeper Multiplexer Application MASTERS WITH SHARED RESOURCES BUS INITIALIZATION/RECOVERY Some masters may not be multi-master capable or some masters may not work well together and continually lock up the bus. The PCA9541 can be used to separate the masters, as shown in Figure 19, but still allow shared access to slave devices, such as Field Replaceable Unit (FRU) EEPROMs or temperature sensors. ASSEMBLY A If the I2C-bus is hung, I2C devices without a hardware reset pin (e.g., Slave 1 and 2 in Figure 21) can be isolated from the master by the PCA9541/03. The PCA9541/03 disconnects the bus when it is reset via the hardware reset line, restoring the master’s control of the rest of the bus (e.g., Slave 0). The bus master can then command the PCA9541/03 to send 9 clock pulses/ stop condition to reset the downstream I2C devices before they are reconnected to the master or leave the downstream devices isolated. SDA/SCL MASTER A PCA9541 SLAVE A2 SLAVE A0 SDA/SCL ASSEMBLY B PCA9541 SLAVE B1 SDA/SCL MASTER MASTER B SLAVE B2 SLAVE 0 PCA9541/03 MAIN MASTER SLAVE A1 SLAVE 1 SDA SLAVE I2C-bus SCL SLAVE 2 SLAVE B0 SW02101 RESET SW02100 Figure 19. Masters with Shared Resources Application Figure 21. Bus Initialization/Recovery Application 2004 Oct 01 19 Philips Semiconductors Product data sheet 2-to-1 I2C demultiplexer with interrupt logic and reset PCA9541 ABSOLUTE MAXIMUM RATINGS1, 2 In accordance with the Absolute Maximum Rating System (IEC 134). Voltages are referenced to GND (ground = 0 V). RATING UNIT DC supply voltage PARAMETER –0.5 to +7.0 V VI DC input voltage –0.5 to +7.0 V II DC input current ± 20 mA IO DC output current ± 25 mA IDD Supply current ± 100 mA ISS Supply current ± 100 mA Ptot total power dissipation 400 mW Tstg Storage temperature range –60 to +150 °C Tamb Operating ambient temperature –40 to +85 °C SYMBOL VDD CONDITIONS NOTES: 1. Stresses beyond those listed may cause permanent damage to the device. These are stress ratings only and functional operation of the device at these or any other conditions beyond those indicated under “recommended operating conditions” is not implied. Exposure to absolute-maximum-rated conditions for extended periods may affect device reliability. 2. The performance capability of a high-performance integrated circuit in conjunction with its thermal environment can create junction temperatures which are detrimental to reliability. The maximum junction temperature of this integrated circuit should not exceed 150 °C. DC CHARACTERISTICS VDD = 2.3 V to 3.6 V; VSS = 0 V; Tamb = –40 °C to +85 °C; unless otherwise specified. (See page 21 for VDD = 3.6 V to 5.5 V) SYMBOL PARAMETER TEST CONDITIONS LIMITS MIN TYP MAX UNIT Supply VDD Supply voltage IDD Supply current Istb Standby current VPOR 2.3 — 3.6 V Operating mode; VDD = 3.6 V; no load; VI = VDD or VSS; fSCL = 100 kHz — 152 200 µA Standby mode; VDD = 3.6 V; no load; VI = VDD or VSS; fSCL = 0 kHz — 10 100 µA no load; VI = VDD or VSS — 1.5 2.1 V Power-on reset voltage (Note 1) Input SCL; input/output SDA (upstream and downstream channels) VIL LOW-level input voltage –0.5 — 0.3VDD V VIH HIGH-level input voltage 0.7VDD — 6 V VOL = 0.4 V 3 — — VOL = 0.6 V 6 — — VI = VDD or VSS –1 — +1 µA VI = VSS — 4 5 pF V IOL LOW-level out output ut current IL Leakage current Ci Input capacitance mA Select inputs A0 to A3 / INT_IN / RESET VIL LOW-level input voltage –0.5 — +0.3VDD VIH HIGH-level input voltage 0.7VDD — 6 V ILI Input leakage current VI = VDD or VSS –1 — +1 µA Ci Input capacitance VI = VSS — 2 3 pF VCC = 3.0 V to 3.6 V, VO = 0.4 V, IO = 15 mA 5 14 30 VCC = 2.3 V to 2.7 V, VO = 0.4 V, IO = 10 mA 7 17 55 Ω Vswin = VDD = 3.3 V; Iswout = –100 µA — 2.2 — Vswin = VDD = 3.0 V to 3.6 V; Iswout = –100 µA 1.6 — 2.8 Vswin = VDD = 2.5 V; Iswout = –100 µA — 1.5 — Vswin = VDD = 2.3 V to 2.7 V; Iswout = –100 µA 1.1 — 2.0 VI = VDD or VSS –1 — +1 µA VOL = 0.4 V 3 — — mA Pass Gate RON VPass P IL Switch resistance Switch output out ut voltage Leakage current V INT0 and INT1 outputs IOL LOW-level output current NOTE: 1. VDD must be lowered to 0.2 V in order to reset part. 2004 Oct 01 20 Philips Semiconductors Product data sheet 2-to-1 I2C demultiplexer with interrupt logic and reset PCA9541 DC CHARACTERISTICS VDD = 3.6 V to 5.5 V; VSS = 0 V; Tamb = –40 °C to +85 °C; unless otherwise specified. (See page 20 for VDD = 2.3 V to 3.6 V) SYMBOL PARAMETER TEST CONDITIONS LIMITS MIN TYP MAX UNIT Supply VDD Supply voltage IDD Supply current Istb Standby current VPOR Power-on reset voltage (Note 1) 3.6 — 5.5 V Operating mode; VDD = 5.5 V; no load; VI = VDD or VSS; fSCL = 100 kHz — 349 600 µA Standby mode; VDD = 5.5 V; no load; VI = VDD or VSS; fSCL = 0 kHz — 10 200 µA no load; VI = VDD or VSS — 1.5 2.1 V Input SCL; input/output SDA (upstream and downstream channels) VIL LOW-level input voltage –0.5 — 0.3VDD V VIH HIGH-level input voltage 0.7VDD — 6 V IOL O LOW level output current LOW-level VOL = 0.4 V 3 — — mA VOL = 0.6 V 6 — — mA IIL LOW-level input current VI = VSS –10 — 10 µA IIH HIGH-level input current VI = VDD — — 100 µA Ci Input capacitance VI = VSS — 4 6 pF Select inputs A0 to A3 / INT_IN / RESET VIL LOW-level input voltage –0.5 — +0.3VDD V VIH HIGH-level input voltage 0.7VDD — 6 V ILI Input leakage current VI = VDD or VSS –1 — +50 µA Ci Input capacitance VI = VSS — 2 5 pF Switch resistance VCC = 4.5 V to 5.5 V; VO = 0.4 V; IO = 15 mA 4 12 24 Ω Vswin = VDD = 5.0 V; Iswout = –100 µA — 3.6 — V Vswin = VDD = 4.5 to 5.5 V; Iswout = –100 µA 2.6 — 4.5 V VI = VDD or VSS –1 — +100 µA VOL = 0.4 V 3 — — mA Pass Gate RON VPass IL Switch output voltage Leakage current INT0 and INT1 outputs IOL LOW-level output current NOTE: 1. VDD must be lowered to 0.2 V in order to reset part. 2004 Oct 01 21 Philips Semiconductors Product data sheet 2-to-1 I2C demultiplexer with interrupt logic and reset PCA9541 AC CHARACTERISTICS SYMBOL STANDARD-MODE I2C-bus PARAMETER FAST-MODE I2C-bus UNIT MIN MAX MIN MAX Propagation delay from SDA to SDn or SCL to SCn — 0.31 — 0.31 ns SCL clock frequency 0 100 0 400 kHz SCL bus initialization/recovery clock frequency 50 150 50 150 kHz Bus free time between a STOP and START condition 4.7 — 1.3 — µs Hold time (repeated) START condition After this period, the first clock pulse is generated 4.0 — 0.6 — µs tLOW LOW period of the SCL clock 4.7 — 1.3 — µs tHIGH HIGH period of the SCL clock 4.0 — 0.6 — µs tSU;STA Set-up time for a repeated START condition 4.7 — 0.6 — µs tSU;STO Set-up time for STOP condition 4.0 — 0.6 — µs tHD;DAT Data hold time 02 3.45 02 0.9 µs tSU;DAT Data set-up time 250 — 100 — ns tpd fSCL fSCLIR tBUF tHD;STA 3 tR Rise time of both SDA and SCL signals — 1000 20 + 0.1Cb 300 ns tF Fall time of both SDA and SCL signals — 300 20 + 0.1Cb3 300 µs Cb Capacitive load for each bus line — 400 — 400 µs tSP Pulse width of spikes which must be suppressed by the input filter — 50 — 50 ns tVD:DATL Data valid (HL)4 — 1 — 1 µs tVD:DATH Data valid (LH)4 — 0.6 — 0.6 µs tVD:ACK Data valid Acknowledge — 1 — 1 µs INT0 and INT1 outputs tiv INT_in to INT1 or INT2 active valid time — 4 — 4 µs tir INT_in to IINT1 or INT2 inactive delay time — 2 — 2 µs Lpwr LOW level pulse width rejection or INT_in input 1 — 1 — ns Hpwr HIGH level pulse width rejection or INT_in input 0.5 — 0.5 — µs RESET tW Pulse width LOW reset 4 — 4 — ns trst Reset time (SDA clear) 500 — 500 — ns 0 — 0 — ns tREC:STA Recovery to Start5, 6 NOTES: 1. Pass gate propagation delay is calculated from the 20 Ω typical RON and the 15 pF load capacitance. 2. A device must internally provide a hold time of at least 300 ns for the SDA signal (referred to the VIH(min) of the SCL signal) in order to bridge the undefined region of the falling edge of SCL. 3. Cb = total capacitance of one bus line in pF. 4. Measurements taken with 1 kΩ pull-up resistor and 50 pF load. 5. Resetting the device while actively communicating on the bus may cause glitches or errant STOP conditions. 6. Upon reset, the full delay will be the sum of tRESET and the RC time constant of the SDA bus. 2004 Oct 01 22 Philips Semiconductors Product data sheet 2-to-1 I2C demultiplexer with interrupt logic and reset PCA9541 SDA tBUF tR tLOW tF tHD;STA tSP SCL tHD;STA P tSU;STA tHD;DAT S tHIGH tSU;DAT tSU;STO Sr P SU00645 Figure 22. Definition of timing on the I2C-bus handbook, full pagewidth START CONDITION (S) PROTOCOL t BIT7 MSB (A7) t SU;STA LOW BIT8 (R/W) BIT6 (A6) t HIGH STOP CONDITION (S) ACKNOWLEDGE (A) 1 / f SCL SCL t t t r BUF f SDA t t HD;STA SU;DAT t HD;DAT t VD;DAT t VD;ACK t SU;STO SW02278 Figure 23. I2C-bus timing diagram; rise and fall times refer to VIL and VIH START ACK OR READ CYCLE SCL SDA 30% tRESET RESET 50% 50% 50% tREC tW tRESET 50% LEDx LED OFF SW02336 Figure 24. Definition of RESET timing 2004 Oct 01 23 Philips Semiconductors Product data sheet 2-to-1 I2C demultiplexer with interrupt logic and reset VDD PCA9541 6.0 V Open RL = 500 Ω VO VI PULSE GENERATOR D.U.T. RT CL = 50 pF DEFINITIONS RL = Load resistor. CL = Load capacitance includes jig and probe capacitance RT = Termination resistance should be equal to the output impedance ZO of the pulse generators. SW02279 Figure 25. Test circuitry for switching times 2004 Oct 01 24 Philips Semiconductors Product data sheet 2-to-1 I2C demultiplexer with interrupt logic and reset SO16: plastic small outline package; 16 leads; body width 3.9 mm 2004 Oct 01 25 PCA9541 SOT109-1 Philips Semiconductors Product data sheet 2-to-1 I2C demultiplexer with interrupt logic and reset TSSOP16: plastic thin shrink small outline package; 16 leads; body width 4.4 mm 2004 Oct 01 26 PCA9541 SOT403-1 Philips Semiconductors Product data sheet 2-to-1 I2C demultiplexer with interrupt logic and reset HVQFN16: plastic thermal enhanced very thin quad flat package; no leads; 16 terminals; body 4 x 4 x 0.85 mm 2004 Oct 01 27 PCA9541 SOT629-1 Philips Semiconductors Product data sheet 2-to-1 I2C demultiplexer with interrupt logic and reset PCA9541 REVISION HISTORY Rev Date Description _2 20041001 Product data (9397 750 13629); supersedes data of 02 December 2003 (9397 750 12453). Modifications: • Table 7 and its description added to page 10. • “Power-On Reset” section on page 13: – first sentence: change from “... in a reset state until VDD has reached VPOR.” to “ ... in a reset condition until VDD has reached VPOR.” – Add last sentence in section. • Add Note 1 to DC Characteristics tables on pages 20 and 21, and reference to it at parameter VPOR. • AC characterists table on page 22: – Add Note 4 and references to it at parameters tVD;DATL and tVD;DATH. – Add Notes 5 and 6 and references to them at parameter tREC:STA • Add (new) Figure 24, ‘Definition of RESET timing’. _1 2004 Oct 01 20031202 Product data (9397 750 12453); ECN 853-2436 01-A14594 dated 11 November 2003. 28 Philips Semiconductors Product data sheet 2-to-1 I2C demultiplexer with interrupt logic and reset PCA9541 Purchase of Philips I2C components conveys a license under the Philips’ I2C patent to use the components in the I2C system provided the system conforms to the I2C specifications defined by Philips. This specification can be ordered using the code 9398 393 40011. Data sheet status Level Data sheet status [1] Product status [2] [3] Definitions I Objective data sheet Development This data sheet contains data from the objective specification for product development. Philips Semiconductors reserves the right to change the specification in any manner without notice. II Preliminary data sheet Qualification This data sheet contains data from the preliminary specification. Supplementary data will be published at a later date. Philips Semiconductors reserves the right to change the specification without notice, in order to improve the design and supply the best possible product. III Product data sheet Production This data sheet contains data from the product specification. Philips Semiconductors reserves the right to make changes at any time in order to improve the design, manufacturing and supply. Relevant changes will be communicated via a Customer Product/Process Change Notification (CPCN). [1] Please consult the most recently issued data sheet before initiating or completing a design. [2] The product status of the device(s) described in this data sheet may have changed since this data sheet was published. The latest information is available on the Internet at URL http://www.semiconductors.philips.com. [3] For data sheets describing multiple type numbers, the highest-level product status determines the data sheet status. Definitions Short-form specification — The data in a short-form specification is extracted from a full data sheet with the same type number and title. For detailed information see the relevant data sheet or data handbook. Limiting values definition — Limiting values given are in accordance with the Absolute Maximum Rating System (IEC 60134). Stress above one or more of the limiting values may cause permanent damage to the device. These are stress ratings only and operation of the device at these or at any other conditions above those given in the Characteristics sections of the specification is not implied. Exposure to limiting values for extended periods may affect device reliability. Application information — Applications that are described herein for any of these products are for illustrative purposes only. Philips Semiconductors make no representation or warranty that such applications will be suitable for the specified use without further testing or modification. Disclaimers Life support — These products are not designed for use in life support appliances, devices, or systems where malfunction of these products can reasonably be expected to result in personal injury. Philips Semiconductors customers using or selling these products for use in such applications do so at their own risk and agree to fully indemnify Philips Semiconductors for any damages resulting from such application. Right to make changes — Philips Semiconductors reserves the right to make changes in the products—including circuits, standard cells, and/or software—described or contained herein in order to improve design and/or performance. When the product is in full production (status ‘Production’), relevant changes will be communicated via a Customer Product/Process Change Notification (CPCN). Philips Semiconductors assumes no responsibility or liability for the use of any of these products, conveys no license or title under any patent, copyright, or mask work right to these products, and makes no representations or warranties that these products are free from patent, copyright, or mask work right infringement, unless otherwise specified. Koninklijke Philips Electronics N.V. 2004 All rights reserved. Printed in U.S.A. Contact information For additional information please visit http://www.semiconductors.philips.com. Fax: +31 40 27 24825 Date of release: 10-04 For sales offices addresses send e-mail to: [email protected]. Document number: Philips Semiconductors 2004 Oct 01 29 9397 750 13629