100% found this document useful (2 votes)
227 views162 pages

NXP I2c

This document provides information about the I2C protocol, including: - I2C is a multi-master serial bus developed by NXP for connecting integrated circuits. It uses just 2 wires for communication. - Devices have unique addresses and can act as master or slave. Communication is initiated with a START condition by the master and ended with a STOP condition. - The protocol supports multiple speeds up to 3.4Mbps and can connect over 100 devices on the same bus. It uses open-drain outputs, arbitration to handle collisions, and acknowledge/not acknowledge bits. - Electrical specifications define voltage levels, rise times, and supported capacitive loads depending on the speed mode used. Pull-

Uploaded by

Roman Fritze
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (2 votes)
227 views162 pages

NXP I2c

This document provides information about the I2C protocol, including: - I2C is a multi-master serial bus developed by NXP for connecting integrated circuits. It uses just 2 wires for communication. - Devices have unique addresses and can act as master or slave. Communication is initiated with a START condition by the master and ended with a STOP condition. - The protocol supports multiple speeds up to 3.4Mbps and can connect over 100 devices on the same bus. It uses open-drain outputs, arbitration to handle collisions, and acknowledge/not acknowledge bits. - Electrical specifications define voltage levels, rise times, and supported capacitive loads depending on the speed mode used. Pull-

Uploaded by

Roman Fritze
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 162

Interface Solutions

I2C-bus

30 July, 2008
I2C - Contents

I2C protocol
I2C functions
I2C bus enablers
I2C demo boards
I2C support information

2
I2C - Protocol
IIC - Inter-Integrated Circuit

Logic

This means:
• Decreased number of wires (reduced PCB area)
• Reduced number of chip pins
• Remove glue logic
I2C-bus • Clip many devices on to the bus
• Modular design: Time-to-Market

VCC

Invented by NXP!
(Philips Semiconductors)

I2C-bus developed in the late 1970’s for Philips consumer products (e.g. TVs)
Worldwide industry standard and used by all major IC manufacturers

3
I2C - Protocol
Hardware architecture

VDD
Pull up resistors

SDA

SCL

Clock out Data out Clock out Data out

Clock in Data in Clock in Data in

Device 1 Device 2

2 wire bus:
– SDA: Serial Data Line
– SCL: Serial Clock Line
Open-drain or open-collector output stages: wired-AND function

4
I2C - Protocol
Hardware architecture (2)

Master2 Slave2

VDD
SDA
SCL

Master1 Slave1

Multiple master
Multiple slave
Bi-directional
– Master-transmitter
– Master-receiver
– Slave-transmitter
– Slave-receiver
Data collision is taken care off

5
I2C - Protocol
Addressing / device selection
Each device is addressed individually by software
New devices or functions can be easily “clipped" on to an existing bus!
112 different addresses max with the 7-bit format (others reserved); additional 1024 with
10-bit format
Address allocation coordinated by the I2C-bus committee
Programmable pins means that several of the same devices can share the same bus
Unique address per device: fully fixed or with a programmable part through hardware
pin's)
10-bit format use a 2 byte message: 1111 0A9A8R/W + A7A6A5A4A3A2A1A0
VDD

SDA
SCL
Master1 Slave1
Address register Fixed
A6 A5 A4 A3 A2 A1 A0
VDD 0 0 1 1 1 0 0 Hardware
Programmable

6
I2C - Protocol
Master
Communication
Slave
Communication must start with: START condition
Start bit is always followed by slave address Master or Slave
Slave address is followed by a READ or NOT-WRITE bit
The receiving device (either master or slave) must send an ACKNOWLEDGE bit
Communication must start with: STOP condition

SLAVE
START R/W ACK DATA[8] ACK STOP
ADDRESS[7]

Example:
Transmit (0 = Write)
SLAVE
START 0 ACK DATA[8] ACK DATA[8] ACK STOP
ADDRESS[7]

Receive (1 = Read)
SLAVE
START 1 ACK DATA[8] ACK DATA[8] ACK STOP
ADDRESS[7]

7
I2C - Protocol
START & STOP conditions

Start condition - a HIGH to LOW transition on the SDA line while SCL is HIGH
Stop condition - a LOW to HIGH transition on the SDA line while SCL is HIGH

8
I2C - Protocol
Bit transfer

During data transfer, SDA must be stable when SCL is High

9
I2C - Protocol
Data transfer

Each byte has to be followed by an acknowledge bit


Number of data bytes transmitted per transfer is unrestricted
If a slave can’t receive or transmit another complete byte of data, it can hold the clock
line SCL LOW (clock stretching) to force the master into a wait state

10
I2C - Protocol
Acknowledge / NOT-Acknowledge

I2C specification: Data transfer with acknowledge is obligatory. The receiver must pull
down the SDA line during the acknowledge clock pulse so that it remains stable LOW
during the HIGH period of this clock pulse.
Scenarios with a NOT-acknowledge (NACK) (SDA staying HIGH):
1. A receiver with the address is not present in the I2C bus.
2. The receiver is performing real-time tasks and it cannot process the received I2C
information.
3. The receiver is the master and wants to take control of SDA line again in order to
generate a STOP command. The slave transmitter MUST then release the SDA
line when it sees the NACK so the master can send the STOP command.

11
I2C - Protocol
Arbitration procedure
VDD Two or more masters may generate a START
condition at the same time
SDA
Arbitration is done on SDA while SCL is HIGH -
Slaves are not involved
DATA1 DATA2

SDA SDA

Master 1 Master 2

Summary: The master that first


sends a “1” while the other
sends a “0” loses control
(arbitration)

12
I2C - Protocol
Clock synchronization during the arbitration procedure

VDD
Internal counters of masters count the LOW
SCL and HIGH times (TL1, TH1) and (TL2, TH2)

CLK1 CLK2

SCL SCL

Master 1 Master 2

TL1 TH1

Wired-AND SCL connection:


TL= longest TL= max (TL1, TL2 ,TLn)
TL2 TH2
TH= shortest TH= min (TH1, TH2,THn)

TL TH

13
I2C - Protocol
Modes

Fast Mode Plus


Standard Mode Fast Mode High Speed Mode
(FM+)

Bitrate (kBit/s) 0 – 100 0 – 400 0 – 1000 0 – 1700 0 – 3400


Address (bits) 7 (10) 7 (10) 7 (10) 7 (10) 7 (10)
Capacitive Bus Load (pF) 400 400 550 400 100
Sink current (mA) 3 3 20 3 3

Fast mode Plus (FM+):


– Increased bandwidth
– Increased transmission distance (at reduced bandwidth: >> 550 pF bus load)

14
I2C - Protocol
Modes: Electrical specification
Fast Mode Plus
Standard Mode Fast Mode High Speed Mode
(FM+)

Bitrate (kBit/s) 0 – 100 0 – 400 0 – 1000 0 – 1700 0 – 3400


Address (bits) 7 (10) 7 (10) 7 (10) 7 (10) 7 (10)
Capacitive Bus Load (pF) 400 400 4000 400 100
Sink current (mA) 3 3 20 3 3
Trise: Rise time (ns) 1000 300 120 160 80

trise

Vcc
VIH 0.7 * VDD

Vbus
(V)

VIL 0.3 * VDD


VOL
gnd
t1 t2 0.4 V @ 3 mA sink current t (s)
0.4 V @ 20 mA sink current (FM+)

15
I2C - Protocol
Electrical: VDD / How to calculate the pull-up resistor values

VDDvoltage can be chosen freely


Pull-up resistor value:
– Minimum resistor value:
• Determined by the I²C spec limit of 3 mA sinking current
• R = (VDDmax– Volmax)/ 0.003A
• Example: using a VDD = 5 ± 0.5 V: Rpull-up = (5.5 V – 0.4 V) / 0.003 A = 1.7 kΩ
– Maximum resistor value:
• Determined by the I²C-bus rise time requirements:
V(t1) = 0.3 * VDD = VDD (1 – 1/et1/RC); then t1 = 0.3566749 * RC
V(t2) = 0.7 * VDD = VDD (1 – 1/et2/RC); then t2 = 1.2039729 * RC
t = t2 – t1 = 0.8472979 * RC
• For standard-mode I²C-bus: trise = 1000 ns (1 μs)
so RC = 1180.2 ns
• Example: at a bus load of 400 pF: Rmax= 2.95 kΩ
• For Fast-Mode: I²C-bus rise time = 300 ns @ 400 pF: Rmax= 885 Ω

16
I2C - Protocol
Summary

START HIGH to LOW transition on SDA while SCL is HIGH


STOP LOW to HIGH transition on SDA while SCL is HIGH

8-bit word, MSB first (Address, Control, Data):


- Must be stable when SCL is HIGH
DATA
- Can change only when SCL is LOW
- Number of bytes transmitted is unrestricted

- Done on each 9th clock pulse during the HIGH period


ACKNOWLEDGE - The transmitter releases the bus - SDA goes HIGH
- The receiver pulls DOWN the bus line - SDA goes LOW

- Generated by the Master(s)


- Maximum speed: (100, 400, 1000, 3400 kHz) but NO min
CLOCK
- A receiver can hold SCL low when performing another function (transmitter in a Wait state)
- A master can slow down the clock for slow devices

- Master can start a transfer only if the bus is free


- Several masters can start a transfer at the same time
ARBITRATION
- Arbitration is done on SDA line
- Master that lost the arbitration must stop sending data

17
I2C - Protocol
Demoboard I2C 2005-1: software & hardware setup

Proceed as follows if WinI2CUSB Lite is not installed on your computer:


1. Run Win-I2CUSB Lite Install from the software.win-i2cusb.lite.zip file
2. Replace the Win-I2CUSB Lite Installation.exe executable file by the latest version (if
necessary). Default installation path is: C:\Program Files\The Boardshop\Win-I2CUSB
Lite
3. Plug the I2C Demonstration Board I2C 2005-1 into a USB port
4. Install the USB Driver. Default installation path is: C:\Program Files\The Boardshop\Win-
I2CUSB Lite\USBDriver The hardware should now be ready to use.
5. Run Win-I2CUSB Lite.exe

18
I2C - Protocol
Demoboard I2C 2005-1: Win-I2CUSB LiteGUI Overview
Device selection: only devices in
the board can be selected
Expert Mode allows to
write customized I2C
commands limited to
8 commands with 8
bytes of data for each

Self test feature: Control 3.3 V and


allows board 5.0 V power
diagnostic to be supplies. Double-
performed click
enables/disables
the selected
power supply.
Also available
under the
Options menu

Hardware detection I2C Clock frequency Double-clicking allows


Green = Hardware detected changing the frequency.
Red = Hardware not detected Also available under the Options menu

19
I2C - Protocol
Demoboard I2C 2005-1: Expert Mode

20
I2C - Protocol
Demoboard I2C 2005-1: Demonstration Board Block Diagram

21
I2C - Protocol
Demoboard I2C 2005-1: PCF8574 schematic

22
I2C - Protocol
Demoboard I2C 2005-1: PCF8574 on the board

1. Switch S1: SDA


2. Switch S1: SCL

PCF8574

23
I2C - Protocol
Demoboard I2C 2005-1: Exercise: Use switch to generate an I2C message

Objective: verify understanding of the I²C bus protocol


Use switch S1 to generate an I²C message to the PCF8574:
– The PCF8574 address is 0x40
– The PCF8574 requires one data byte
– The data byte should be 0xFA to turn on two of the LEDs

24
I2C - Protocol
Demoboard I2C 2005-1: Exercise: solution
The following sequence should be followed:
– Send Start condition
– Send PCF8574 address with LSB= ‘0’ for Write: 0100 0000b
– Send data byte 0xFA: 1111 1010b
– Send Stop condition
– Don’t forget the acknowledge clock pulses

25
I2C - Building blocks

I2C I2C General I2C LED Other I²C


I2C DIP
AD or DA Purpose I/O Blinkers / Slaves /
Switches
Converters Expanders Dimmers Masters
VCC4 VCC5
I²C
Bus Expander,
Hub or Repeater
VCC0
VCC2 I²C in hardware Functions with I2C
PCA9541
or software µC
I2C emulation
I2CMaster VCC1 I2C bus architecture
Multiplexers
Selector / devices
& Switches 8
Demux I²C Bus
Controllers µC Custom I2C
hardware or
software emulated
I2C Serial LCD I2C Real Time I2C
Other hardware
EEPROM Drivers Clock / Temperature
& RAM (with I2C) Calendar Sensors
VCC3
SPI
UART
Bridges
(with I²C)

26
I2C - AD / DA Converters

I2C I2C General I2C LED Other I²C


I2C DIP
AD or DA Purpose I/O Blinkers / Slaves /
Switches
Converters Expanders Dimmers Masters
VCC4 VCC5
I²C
Bus Expander,
Hub or Repeater
VCC0
VCC2 I²C in hardware Functions with I2C
PCA9541
or software µC
I2C emulation
I2CMaster VCC1 I2C bus architecture
Multiplexers
Selector / devices
& Switches 8
Demux I²C Bus
Controllers µC Custom I2C
hardware or
software emulated
I2C Serial LCD I2C Real Time I2C
Other hardware
EEPROM Drivers Clock / Temperature
& RAM (with I2C) Calendar Sensors
VCC3
SPI
UART
Bridges
(with I²C)

27
I2C - AD / DA Converters 8. Read out of sensors

Application

9. Audio distribution

1. Read out of
grounded voltages

6. Use DAC output and


2. Read out of AD input to implement
Wheatstone-bridges: fast control loop
measure resistance
very accurately
5. Read out remotely

4. Battery monitoring
/ Floating voltages

28
I2C - AD / DA Converters
Product overview

AD and DA converters
2
I C Bus

Analog-in MUX ADC DAC Analog-out

DA converters
I2C Bus DAC

DAC
Analog-out

DAC

29
I2C - AD / DA Converters
AD and DA converters

PCF8591
8-bit resolution
Simply add the capability to:
– 4 analog inputs
– One analog output
Sampling rate: 11 kHz
Can support a large variety of input configurations

PCA9691
See PCF8591 +
Fast Mode Plus (FM+) device:
– High sampling rate: 110 kHz
– Allows audio signal distribution
– Fast control loops without occupying the bus continuously

30
I2C - AD / DA Converters
DA converter

TDA8444
Eight DACs with 6-bit resolution
Adjustable common output swing
Push-pull outputs
Outputs short-circuit protected
Three programmable slave address bits
Large supply voltage range
Low temperature coefficient

31
I2C - GPIOs: General Purpose I/O Expanders

I2C I2C General I2C LED Other I²C


I2C DIP
AD or DA Purpose I/O Blinkers / Slaves /
Switches
Converters Expanders Dimmers Masters
VCC4 VCC5
I²C
Bus Expander,
Hub or Repeater
VCC0
VCC2 I²C in hardware Functions with I2C
PCA9541
or software µC
I2C emulation
I2CMaster VCC1 I2C bus architecture
Multiplexers
Selector / devices
& Switches 8
Demux I²C Bus
Controllers µC Custom I2C
hardware or
software emulated
I2C Serial LCD I2C Real Time I2C
Other hardware
EEPROM Drivers Clock / Temperature
& RAM (with I2C) Calendar Sensors
VCC3
SPI
UART
Bridges
(with I²C)

32
I2C - GPIOs: General Purpose I/O Expanders
Application 1. LED driver

VDD
2. Read interrupts

I2C Bus

µC
3. Give subsystem resets

4. Control devices

5. Drive alarm pins

7. Read out keys position


6. Make even LED displays

33
I2C - GPIOs: General Purpose I/O Expanders
Application: making LED displays

I2C GPIO I2C GPIO

VCC

µC

Use FM+ devices to


Functions with I2C increase data rate or to
build large LED arrays
Other hardware without I2C buffers

34
I2C - GPIOs: General Purpose I/O Expanders
Intermezzo: Output stages

Open drain IO VDD


input data Rpullup
IO
output data driver
~ 25 mA

Advantages
VDD independent
25 mA sink current
Steep HIGH-LOW transition
Switch from output to input: only write I/O with “1” to be used as an input

Disadvantages
Slow LOW-HIGH transition (depends on the load and on Rpullup)

35
I2C - GPIOs: General Purpose I/O Expanders
Intermezzo: Output stages (2)
Totem Pole IO
VDD input data

~ 10 mA Rpullup*
output data driver IO
~ 25 mA *: some types have
pull up resistors

Advantages
25 mA sink current, 10 mA source current
Steep HIGH-LOW transition
Steep LOW-HIGH transition

Disadvantages
VDD dependent
Switch from output to input: program the configuration register accordingly (extra programming
involved to use the I/O as input)

36
I2C - GPIOs: General Purpose I/O Expanders
Intermezzo: Output stages (3)
Strong PMOS on Quasi Bidirectional IO VDD
ONLY 2 osc. clock
periods ~ 100 μA

input data
driver
output data IO
~ 25 mA

Advantages
25 mA sink current; strong sourcing current only during low-high transition; weak sourcing in
steady state
Steep HIGH-LOW-transition Steep LOW-HIGH transition
Switch from output to input: only write I/O with “1” to be used as an input
Usage at higher speeds
Usage at heavily loaded outputs

Disadvantages
VDD dependent

37
I2C - GPIOs: General Purpose I/O Expanders
Product overview

GPIO IO0
GPIO IO0
2
I C Bus 2
I C Bus Quasi-
Totem-pole IO1 IO1
bidirectional
output
output
stages
IOn stages IOn

GPIO IO0
I2C Bus Quasi-
bidirectional IO1
Differentiating GPIO features output
EEPROM stages IOn
Active-LOW Interrupt output
Active-LOW Reset input
Programmable I2C address pins GPIO IO0
I2C Bus Open drain IO1
Low power consumption EEPROM output
stages
Additional: EEPROM IOn
– EEPROM
– DIP switch MUX
MUX_IN MUX_OUT

38
I2C - GPIOs: General Purpose I/O Expanders
PCF8574(A) and PCF8575(C) or PCA type (low cost)

8 or 16 I/O pins are used as inputs or outputs


Open-drain interrupt output
– activated when any input state differs from its corresponding input port
register state
– Used to indicate to the system master that an input state has changed.
The PCF8574, PCF8575, and PCF8575C have the same I2C address while
the PCF8574A has a slightly different fixed address allowing 16 devices
(eight PCF8574A and eight PCF8574/PCF8575(C) in any combination) to
be on the same I2C bus.
The PCF8575 is optimized for automotive applications.
PCA8574/75 = LOW cost version of the PCF8574/75 (General: not all PCA
types are cost down versions)

39
I2C - GPIOs: General Purpose I/O Expanders
PCA9698

40-bit I/O advanced expander


Maximum I2C frequency is 1000 kHz
SDA output current is stronger than normal to allow use in large area networks without the need
for bus buffers
Each byte will change on acknowledge or wait for a stop condition, allowing you to update the
output registers on multiple devices and then change all the outputs at once—which is great for
large sign applications
Each pin can sink 25mA and all pins can be on (40 x 25 mA = 1 A) when using the HVQFN
package
When used for sensing input, the registers can be latched so that you are able to read spurious
signals or the inputs can be masked so you don't generate an interrupt
Three address pins allow for 64 different addresses by using inputs of GND, VDD, SCL, or SDA so
you can control up to 2560 LEDs on one I2C bus
There is a GPIO All Call fixed address that allows you to turn on or off LEDs on all the GPIOs in
the circuit with a single command sequence—which is great for lamp test or darking the array
between displays
Hardware Reset input will reset the device to its power up state
Output Enable pin that will tri-state the outputs which are selectable between push pull and open
drain

40
I2C - GPIOs: General Purpose I/O Expanders
Product summary

Bit latch EEPROM


5-bit Multiplex / 1-
Push-pull Output

Frequency [MHz]
Resistor/ current

Frequency [kHz]

Interrupt Output
Internal Pull-Up

2 kbit EEPROM
Hardware reset
Vcc Range (V)

5 V Tolerance
Quasi Output
# of Outputs
Type nr.

SPI Max
I2C Max
source

OE
PCA9500 8 3 3 2.5-3.6 3 400 3
PCA9501 8 3 3 2.5-3.6 3 400 3 3
PCA9558 8 Open Drain 2.3-5.5 400 3 3
PCA9505/06 40 Open Drain 3 2.3-5.5 3 400 3 3 3
PCF8574(A) 8 3 3 2.5-6.0 3 100 3
PCA8574(A)* 8 3 3 2.3-5.5 3 400 3
PCF8575 16 3 3 2.5-5.5 3 400 3
PCF8575C 16 Open Drain 4.5-5.5 3 400 3
PCA9670* 8 3 3 2.3-5.5 3 1000 3
PCA9672* 8 3 3 2.3-5.5 3 1000 3 3
PCA9674(A)* 8 3 3 2.3-5.5 3 1000 3
PCA9671* 16 3 3 2.3-5.5 3 1000 3
PCA9673* 16 3 3 2.3-5.5 3 1000 3 3
PCA9675* 16 3 3 2.3-5.5 3 1000 3
PCA8575* 16 3 3 2.3-5.5 3 400 3
*: GPIOs Recommended for LED Applications

41
I2C - GPIOs: General Purpose I/O Expanders
Product summary (2)

Frequency [MHz]
Push-pull Output

Resistor/ current

Frequency [kHz]

Interrupt Output
Internal Pull-Up

Hardware reset
Vcc Range (V)

5 V Tolerance
Quasi Output
# of Outputs

SPI Max
Type nr.

I2C Max
source

OE
PCA9502 8 3 2.3-3.6 3 400 15 3 3
PCA9505* 40 3 3 2.3-5.5 3 400 3 3 3
PCA9506* 40 3 2.3-5.5 3 400 3 3 3
PCA9534 8 3 2.3-5.5 3 400 3
PCA9535 16 3 2.3-5.5 3 400 3
PCA9536* 4 3 3 2.3-5.5 3 400
PCA9537* 4 3 2.3-5.5 3 400 3 3
PCA9538* 8 3 2.3-5.5 3 400 3 3
PCA9539* 16 3 2.3-5.5 3 400 3 3
PCA9554(A) 8 3 3 2.3-5.5 3 400 3
PCA9555 16 3 3 2.3-5.5 3 400 3
PCA9557* 8 3 2.3-5.5 3 400 3
PCA9698* 40 Open Drain 3 2.3-5.5 3 1000 3 3 3
*: GPIOs Recommended for LED Applications

42
I2C - GPIOs: General Purpose I/O Expanders
Demoboard I2C 2005-1: PCF8574 schematic

43
I2C - GPIOs: General Purpose I/O Expanders
Demoboard I2C 2005-1: PCF8574 GUI

Checkboxes (read-only)
represent state of port pins
Checked = High
Unchecked = Low

Press the Read button


to find the state of the
IO pins

P6 = switch connected
to ground
P7 = switch to Vcc

Pins P0-P3 control LEDs


Checked = high (LED off)
Unchecked = low (LED on)

Press Write button to send


data to PCF8574 or use
Auto Write to send
automatically

44
I2C - GPIOs: General Purpose I/O Expanders
Demoboard I2C 2005-1: Exercise: Understanding quasi-bidirectional outputs

1. Set all the port pins high using Win-


I2CUSB Lite.
2. Change the state of switch 1 on S2.
3. The INT LED should illuminate.
4. Change the state of the switch. The
LED should turn off.
5. Turn the INT LED again by changing
the switch.
6. Using Win-I2CUSB Lite. Read the
PCF8574. What happened to the
Interrupt?
7. Turn the INT LED again by changing
the switch. Write to the PCF8574. What
happened to the Interrupt?

45
I2C - GPIOs: General Purpose I/O Expanders
Demoboard I2C 2005-1: PCA9536 schematic

Unswitched 5 V

Switched 3.3 V

MAIN I2C bus

PCA9536:
No programmable address pin
I2C address = 0x82

46
I2C - GPIOs: General Purpose I/O Expanders
Demoboard I2C 2005-1: PCA9538 schematic

MAIN I2C bus

Active Low RESET input

Signal control and monitoring; Visual


PCA9538 I2C address: A[1:0] = 10 status provided by LEDs
Æ Address = 0xE4

47
I2C - GPIOs: General Purpose I/O Expanders
Demoboard I2C 2005-1: PCA9538 GUI
Output register programming
I2C address: the logic state of the pins
PCA9536 = 0x82 programmed as inputs
PCA9538 = 0xE4 Auto Write Feature

Polarity register-
allowing to invert or
not the logic values Input register
read from the pins reading the IOs
logic states

Configuration register-
programming IOs as
inputs or output

48
I2C - GPIOs: General Purpose I/O Expanders
Demoboard I2C 2005-1: PCA9536, PCA9538 on the board

RESET PCA9538

PCF8574
PCA9536

49
I2C - GPIOs: General Purpose I/O Expanders
Demoboard I2C 2005-1: Exercise A: PCA9536

1. Power sequence the board Æ Board OFF then ON


2. Open the PCA9536 GUI:
Device Æ IO Expanders Æ PCA9536 4-bit I/O Expander
3. Switch ON the 4 LEDs connected to the PCA9536
Configuration register: the 4 I/Os need to be configured as outputs (checked)
Output register: the 4 outputs need to be forced Low
4. Uncheck C0, C1, C2 and C3
Check O0 and O1 in the Output Register (O2 and O3 unchecked)
Check N0 and N2 in the Polarity Register (N1 and N3 unchecked)
Read the Input Register and explain what you see

I0 = Low Æ Inverted Logic state of I/O0


I1 = High Æ Logic state of I/O1
I2 = High Æ Inverted Logic state of I/O2
I3 = Low Æ Logic state of I/O3

50
I2C - GPIOs: General Purpose I/O Expanders
Demoboard I2C 2005-1: Exercise B: PCA9538

Write the following I2C sequence (Red) using the Expert Mode
1. Power sequence the board Æ Board OFF then ON
2. Program PCA9538 I/O0 to I/O4 as output (and be sure that I/O5 to I/O7 are configured
as inputs)
3. Switch ON PCA9538 I/O0 only and wait 0.5 s
4. Switch ON PCA9538 I/O1 only and wait 0.5 s
5. Switch ON PCA9538 I/O2 only and wait 0.5 s
6. Switch ON PCA9538 I/O3 only and wait 0.5 s
7. Switch ON PCA9538 I/O4 only and wait 0.5 s

Execute it in loop

51
I2C - GPIOs: General Purpose I/O Expanders
Demoboard I2C 2005-1: Exercise B: PCA9538; solution

52
I2C - LED Drivers, Blinkers and Dimmers

I2C I2C General I2C LED Other I²C


I2C DIP
AD or DA Purpose I/O Blinkers / Slaves /
Switches
Converters Expanders Dimmers Masters
VCC4 VCC5
I²C
Bus Expander,
Hub or Repeater
VCC0
VCC2 I²C in hardware Functions with I2C
PCA9541
or software µC
I2C emulation
I2CMaster VCC1 I2C bus architecture
Multiplexers
Selector / devices
& Switches 8
Demux I²C Bus
Controllers µC Custom I2C
hardware or
software emulated
I2C Serial LCD I2C Real Time I2C
Other hardware
EEPROM Drivers Clock / Temperature
& RAM (with I2C) Calendar Sensors
VCC3
SPI
UART
Bridges
(with I²C)

53
I2C - LED Drivers, Blinkers and Dimmers
Intermezzo: Using PWM for color mixing in RGB LED
ONred
Voltage on RED LED driver

<Iblue>

ONgreen
+
LED Voltage on GREEN LED driver
Driver
Voltage <Iblue>
(V)

Voltage on BLUE LED driver


ONblue
+
<Iblue>

Frequency > 80 .. 100 Hz


t (s)
=
To perform color mixing:
– Frequency high enough so the human eye does not see the ON/OFF phases
– Brightness for each primary color (desired amount of each primary color) is controlled with the
duty cycle
– Human eye sees the sum of primary colors’ average brightness: X% Red + Y% Green + Z%
Blue

54
I2C - LED Blinkers, Dimmers and Drivers
Controllability via I2C; color mixing, brightness, blinking

PCA963x PCA963x
VCC VCC
I²C
Bus Expander,
Hub or Repeater
I2C bus

PCA963x PCA963x
VCC
8 I²C
I²C Bus
µC Controllers
Bus Expander,
Hub or Repeater
I2C bus

Functions with I2C


PCA963x PCA963x
VCC
I2C Bus Enablers
I²C
Bus Expander,
Other hardware Hub or Repeater
I2C bus

55
I2C - LED Drivers, Blinkers and Dimmers
Product overview

LED Drivers (GPIOs) LED Blinkers


I2C Bus I2C Bus

2 slow PWMs

LED Dimmers LED Blinkers/Dimmers


I2C Bus I2C Bus
Color mixing
2 fast PWMs
fast PWM on
every output

LED Blinkers
One wire bus
Programmed
sequence

56
I2C - LED Drivers, Blinkers and Dimmers
PCA955x - Blinkers / PCA953x - Dimmers

PCA955x PCA953x
PWM 1 PWM 1

drivers

drivers
PWM 2 PWM 2

40 Hz osc 160 Hz osc

HW Addr 400 kHz HW Addr 400 kHz


pin I2C Bus pin I2C Bus

Drive up to 25 mA per output


Fully integrated oscillator generates programmed blinking / dimming schemes
Each LED can programmed to be:
– Fully OFF, ON
– Blinking / dimming at frequency1 or at frequency2

57
I2C - LED Drivers, Blinkers and Dimmers
PCA963x - RGBA Dimmer / Blinker / Color mixing
PCA963x
4/8/16 channel-LED drivers
– On / Off PWM 1
– Individual PWM control PWM 2

drivers
– Group PWM Control global
PWM
Output Structure
– 5 V tolerant Outputs
PWM n
– Programmable totem-pole / open drain
– 10 mA source, 25 mA sink capability 25 MHz osc
OE
/OE input pin allows hardware dimming / blinking sub1 addr sub2 addr
addr
Enables groups of devices to be addressed at sub3 addr group addr
the same time
– 1 Group-Call Address
– 3 Sub-Call Addresses
HW Addr 1 MHz
Fast Mode Plus (Fm+) compatible I2C protocol pin I2C Bus

VDD = 2.3 V to 5.5 V


PCA9633 8-pin = no HW addr pin
PCA9633 10-pin = 2 HW addr pin
PCA9633 16-pin = 7 HW addr pin

58
I2C - LED Blinkers, Dimmers and Drivers
Application – PCA963x family 3. RGB / RGBA LED: any
color can be mixed
2. Use global PWM to set:
Brightness of your mixed color VDD
Plus set blinking rate
RGBA-LED

PCA963x
PWM 1
1. Use PWM per output
PWM 2

drivers
to set right color mix global
PWM

PWM n

25 MHz osc 4. Use global OE to set the


OE
6. Output: sub1 addr sub2 addr brightness of your mixed color or
25 mA / output addr
sub3 addr group addr just turn it ON or OFF
5 V tolerant
Voltage output
5. Reduce software overhead
1 MHz by addressing groups of
I2C Bus devices

59
I2C - LED Drivers, Blinkers and Dimmers
Application

Drive RGBA LEDs


Distribution of power dissipation
Use series resistors to drive
Off-load the microprocessor: only program transistors high: Vbe = ~ 0.7 V
LED-controller once voltage, VDD – 0.7, across the

Outputs of blinkers / dimmers not used for series resistor

LED driving can be used as GPI/O (not all


devices)

60
I2C - LED Drivers, Blinkers and Dimmers
Product summary

Frequency Duty Cycle Resolution Type nr.


Drivers On/off - See GPIOs
Blinkers 40 Hz - 1/6.4 s 100 - 0.4% 8-bit PCA955x
Dimmers 160 Hz - 1/1.6 s 0 - 99.6% 8-bit PCA953x
Blinkers/dimmers 24 Hz - 1/10.73 s 0 - 99.6% 8-bit PCA963x

# of outputs LED Blinkers LED Dimmers LED Dimmers / Blinkers


2 PCA9550 PCA9530
PCA9632
4 PCA9553 PCA9533 PCA9633 (low power)
8 PCA9551 PCA9531 PCA9634
16 PCA9552 PCA9532 PCA9635

61
I2C - LED Drivers, Blinkers and Dimmers
Demoboard I2C 2005-1: PCA9551 (blinker) schematic

62
I2C - LED Drivers, Blinkers and Dimmers
Demoboard I2C 2005-1: PCA9531 (dimmer) schematic

63
I2C - LED Drivers, Blinkers and Dimmers
Demoboard I2C 2005-1: PCA9531 GUI (PCA9551 similar)

LED output state selection


Register
Blinking / Dimming frequency Hexadecimal values
and duty cycle selection

I2C address:
PCA9551 = 0xC0
PCA9531 = 0xC8

Auto Write
Feature

64
I2C - LED Drivers, Blinkers and Dimmers
Demoboard I2C 2005-1: PCA9551 & PCA9531 on the board

PCA9551 PCA9531

65
I2C - LED Drivers, Blinkers and Dimmers
Demoboard I2C 2005-1: Exercise A: PCA9551
1. Power sequence the board Æ Board OFF then ON
2. Open the PCA9551 GUI:
Device Æ LED Blinkers and Dimmers Æ PCA9551 8-bit LED Blinker
3. Read all the registers. What do you read?
All the LED outputs are OFF
Both blinking rates default to slower blinking rate (once every ~ 6.4 s, 50 % duty cycle)
4. Program the 4 LEDs connected to the PCA9551 as following:
LED0 ( Y): ON
LED1 ( B): Blinking Rate 0 with Blinking Rate 0 = 1s – 75 % duty cycle
LED2 ( G): OFF
LED3 ( R): Blinking Rate 1 with Blinking Rate 1 = 0.2 s (5 Hz) – 25 % duty cycle
Observe the result
5. Check the Auto Write option
Program LED0 to LED3 to Blinking Rate 0
Use the maximum frequency for Blinking Rate 0 (40 Hz) and change the duty cycle from min to max
back and forth. What do you observe?
Using the maximum frequency of the LED blinkers allow brightness control by changing the duty
cycle. However, the human eye can observe some flickering (no perfect dimming) due to the fact
that the dimming frequency is not high enough. Effective dimming is achieved with a PWM frequency
> 80 to 100 Hz

66
I2C - LED Drivers, Blinkers and Dimmers
Demoboard I2C 2005-1: Exercise B: PCA9531
1. Power sequence the board Æ Board OFF then ON
2. a) Open the PCA9531 GUI:
Device Æ LED Blinkers and Dimmers Æ PCA9531 8-bit LED Dimmer
b) Open the PCA9543A GUI:
Device Æ Multiplexers/Switches Æ PCA9543A 2-channel switch with Interrupt Logic
Reminder – Architecture (see slide PCA9531 schematic):
a) The 2 PCA9531 have the same I2C address and the PCA9543A allows to select one
or the other
(or both)
b) The RGB LED is connected as following:
– Red: LED4 of PCA9531 Device 1 (PCA9543A Channel 0)
– Green: LED5 of PCA9531 Device 1 (PCA9543A Channel 0)
– Blue: LED4 of PCA9531 Device 2 (PCA9543A Channel 1)
3. Use the PCA9543A and PCA9531 GUIs to control individually the 3 LEDs

0 Rate 0
PCA9531 4
(1) Rate 1
5
PCA9543A
Rate 0
1 4
PCA9531
(2)

67
I2C - LED Drivers, Blinkers and Dimmers
Demoboard I2C 2005-1: Exercise B (cont.): PCA9531

4. When it is understood how the RGB LEDs are controlled, program the two PCA9531
devices to display a “not too bright purple color” using the right amount of Red, Green
and Blue
(Hint: Use the PCA9543A (Switch) and PCA9531 GUIs to control individually the 3
LEDs)
5. Blink the LEDs displaying purple color
6. Now, program the two PCA9531 devices to display a “not too bright yellow color”
7. Blink the LEDs displaying Yellow color

68
I2C - LED Drivers, Blinkers and Dimmers
Demoboard I2C 2005-1: Exercise C: PCA9531, PCA9551; using the expert mode

Write the following I2C sequences (Red) using the Expert Mode and execute it step by step:
1. Connect Jumpers SDA and SCL to Master 0 (Higher position) and enable Jumper JP15 (INT_IN) Æ
LED INT_IN should be ON
2. Power sequence the board Æ Board OFF then ON
3. Write to the PCA9551 to have LED0 / LED3 blinking at 1 Hz, 50% duty cycle and LED1/LED2
blinking at 2 Hz, 50 % duty cycle
4. Write to the 2 PCA9531 to have the 8 discrete blinking at 1 Hz, 50% duty cycle and the RGB LED
displaying a white color
5. Run the sequence above during 2s
6. Reset the 2 PCA9531 and the PCA9551 during 2s
7. Clear the reset conditions and loop back to the 1st instruction
Hints, methodology and Technical Information:
– Use the GUI’s to define the register values (easier than calculating with the
formulas)
– Resets are active low
– PCA9551 Reset line controlled by I/O0 ; PCA9531 Reset line controlled by I/O4
– Control register definition: see next slide

69
I2C - LED Drivers, Blinkers and Dimmers
Demoboard I2C 2005-1: Exercise C (cont.): PCA9531, PCA9551; Control register

Control register definition:

Auto Increment feature


– Allows more than one register to be programmed (or read) with the same command
– Bit 4 in the Control Register (2nd byte - contains the # of the register to be addressed)
– INPUT Æ PSC0 Æ PWM0 Æ PSC1 Æ PSC2 Æ LS0 Æ LS1 Æ LS2 Æ LS3

70
I2C - EEPROM DIP switches

I2C I2C General I2C LED Other I²C


I2C DIP
AD or DA Purpose I/O Blinkers / Slaves /
Switches
Converters Expanders Dimmers Masters
VCC4 VCC5
I²C
Bus Expander,
Hub or Repeater
VCC0
VCC2 I²C in hardware Functions with I2C
PCA9541
or software µC
I2C emulation
I2CMaster VCC1 I2C bus architecture
Multiplexers
Selector / devices
& Switches 8
Demux I²C Bus
Controllers µC Custom I2C
hardware or
software emulated
I2C Serial LCD I2C Real Time I2C
Other hardware
EEPROM Drivers Clock / Temperature
& RAM (with I2C) Calendar Sensors
VCC3
SPI
UART
Bridges
(with I²C)

71
I2C - EEPROM DIP switches
3. E.g. fix the mux switch
Application voltage when you don’t
need the the external
1. Customers inputs
manufacturing / Test Unit
tells which calibration or
device configuration
value has to be stored
4.Product specific
GND settings are sent to local
VCC µC
I2C bus
DIP switch
µC Setting

µC
Test Unit
2. By using the EEPROM DIP
switches the device doesn’t Printed Circuit Board
have to be powered down and
the cabinet can stay closed Æ
reduced manufacturing cost

72
I2C - EEPROM DIP switches
Product overview

MUX_SELECT MUX_SELECT

DIP switch DIP switch


I2C Bus I2C Bus
EEPROM 1 .. n EEPROM 1 .. n

MUX_OUT

MUX_OUT
MUX_IN MUX_IN

256 byte
GPIO IO
EEPROM

73
I2C - EEPROM DIP switches
PCA8550 / PCA9559

General PCA8550
Useful for ‘jumperless’ configuration of PC 4-bit 2-to-1 multiplexer, 1-bit latch DIP switch
motherboards
5-bit internal non-volatile register
2.5 V multiplexed outputs; 3.3 V non-
multiplexed output (latched)
MUX_SELECT

PCA8550 / PCA9559

NON_MUX_OUT
I2C Bus I 2C
control
PCA9559
EEPROM latch 5-bit 2-to-1 multiplexer, 1-bit latch DIP switch
6-bit internal non-volatile register
MUX_OUT

open drain outputs


MUX_IN 2 address pins, allowing up to 4 devices on
the I2C-bus

74
I2C - EEPROM DIP switches General
PCA9560 / PCA9561 Useful for ‘jumperless’ configuration of PC
motherboards
MUX_SELECT
2 address pins, allowing up to 4 devices on
the I2C-bus
PCA9560 / PCA9561
I2C Bus

I 2C
control PCA9560
EEPROM 1 5-bit 3-to-1 multiplexer, 1-bit latch DIP switch
select 5-bit external hardware pins

NON_MUX_OUT
logic
EEPROM n Two 6-bit internal non-volatile registers, fully
pin-to-pin compatible with PCA9559
mux I2C/SMBus interface logic
latch Open drain outputs
MUX_IN

MUX_OUT

mux
PCA9561
6-bit 5-to-1 multiplexer DIP switch
NOT in the PCA9561 6-bit external hardware pins
Quad 6-bit internal non-volatile registers`

75
I2C - EEPROM DIP switches 8 I/O MUX_SELECT

PCA9558
PCA9558
2 kbit
GPIO
5-bit 2-to-1 multiplexer with 1-bit latched EEPROM

MUX_OUT NON_MUX_OUT
from the 6-bit internal

I2C Bus
Input hardware pins readable via I 2C
EEPROM mux
control
I2C/SMBus
I2C and SMBus compatible latch
8-bit GPIO can directly drive LEDs

MUX_IN
2 kbit (256 x 8-byte) EEPROM mux

Hot insertion supported

Application (Continued)
Multi-card systems in Telecom, Networking
Application and Base Station

Multi-card systems in Telecom, Infrastructure Equipment


Networking and Base Station Field recall and trouble-shooting functions for
Infrastructure Equipment installed boards
General-purpose integrated I/O with DIP
switch and memory

76
I2C - EEPROM DIP switches
Product summary

# of Hardware
# of Register

Non-muxed
# of Muxed
input pins
# of Non-
# of Pins

registers
Type nr.

outputs
volatile

output
bits
PCA8550 16 1 5 4 4 Yes
PCA9559 20 1 6 5 5 Yes
PCA9560 20 2 6 5 5 Yes
PCA9561 20 4 6 6 6 No
PCA9558 28 1 6 5 5 Yes

77
I2C - Serial EEPROM & RAM

I2C I2C General I2C LED Other I²C


I2C DIP
AD or DA Purpose I/O Blinkers / Slaves /
Switches
Converters Expanders Dimmers Masters
VCC4 VCC5
I²C
Bus Expander,
Hub or Repeater
VCC0
VCC2 I²C in hardware Functions with I2C
PCA9541
or software µC
I2C emulation
I2CMaster VCC1 I2C bus architecture
Multiplexers
Selector / devices
& Switches 8
Demux I²C Bus
Controllers µC Custom I2C
hardware or
software emulated
I2C Serial LCD I2C Real Time I2C
Other hardware
EEPROM Drivers Clock / Temperature
& RAM (with I2C) Calendar Sensors
VCC3
SPI
UART
Bridges
(with I²C)

78
I2C - Serial EEPROM & RAM
Product overview

Serial EEPROM Serial EEPROM


With Access Protection

control control access


I2C Bus I2C Bus
logic logic protection

EEPROM EEPROM

Serial RAM

control
I2C Bus RAM
logic

79
I2C - Serial EEPROM & RAM
Product summary

Serial EEPROM power Address # of blocks Data retention Clock


# of bits Temp range
products supply pins (256 bytes) time frequency

PCA8581 4.5 - 5.5 V 3 0.5 1K 10 Years -25 to +85°C 100 kHz


PCA8581C 2.5 - 6 V 3 0.5 1K 10 Years -25 to +85°C 100 kHz
PCF8582C-2 2.5 - 6V 3 1 2K 10 Years -40 to +85°C 100 kHz
PCF85102C-2 2.5 - 6 V 3 1 2K 10 Years -40 to +85°C 100 kHz
PCF85103C-2 2.5 - 6 V 3 1 2K 10 Years -40 to +85°C 100 kHz
PCF8594C-2 2.5 - 6 V 2 2 4K 10 Years -40 to +85°C 100 kHz
PCF8598C-2 2.5 - 6 V 1 4 8K 10 Years -40 to +85°C 100 kHz
PCF85116-3 2.7 - 5.5 V 0 8 16 K 20 Years -40 to +85°C 400 kHz
PCA24S08 2.5 - 3.6 V 0 8(128 Bytes) 8K 10 Years -40 to +85°C 400 kHz

Serial RAM power Address # of blocks Data retention Clock


# of bits Temp range
products supply pins (256 bytes) time frequency

PCF8570 2.5 - 6 V 3 1 2K N/A -40 to +85°C 100 kHz

80
I2C - LCD Drivers

I2C I2C General I2C LED Other I²C


I2C DIP
AD or DA Purpose I/O Blinkers / Slaves /
Switches
Converters Expanders Dimmers Masters
VCC4 VCC5
I²C
Bus Expander,
Hub or Repeater
VCC0
VCC2 I²C in hardware Functions with I2C
PCA9541
or software µC
I2C emulation
I2CMaster VCC1 I2C bus architecture
Multiplexers
Selector / devices
& Switches 8
Demux I²C Bus
Controllers µC Custom I2C
hardware or
software emulated
I2C Serial LCD I2C Real Time I2C
Other hardware
EEPROM Drivers Clock / Temperature
& RAM (with I2C) Calendar Sensors
VCC3
SPI
UART
Bridges
(with I²C)

81
I2C - LCD Drivers
Application
4. The large amount of
connections to the
display are very short

1. µC sends text

VCC
I2C bus
µC I2C LCD Driver

2. Just 2 wires for


connecting the 3. Driver can also be on
remote display!! the LCD glass

82
I2C - LCD Drivers
Principle of Chip On Glass (COG)

Conventional Chip On Glass

IC 1 5 LCD
2
chip
3

PCB only 1
4

83
I2C - LCD Drivers
Intermezzo: LCD basics

Vdrive
1. Vertical filter film to polarize the light as it
enters.
2. Glass substrate with ITO electrodes. The
shapes of these electrodes will determine
the dark shapes that will appear when the
LCD is turned on or off. Vertical ridges
etched on the surface are smooth.
3. Twisted nematic liquid crystals
4. Glass substrate with common electrode film
(ITO) with horizontal ridges to line up with
the horizontal filter (backplane).
5. Horizontal filter film to block/allow through
light.
6. Reflective surface to send light back to
viewer.

84
I2C - LCD Drivers
Intermezzo: driving LCD : static

LCD displays should be driven AC.


(Prolonged DC operation will cause
reduced life)
Typically drive frequency: between 30 Hz
and 100 Hz

85
I2C - LCD Drivers
Intermezzo: driving LCD: multiplex 1:2

Multiplex: reduce number of drive pins


Reduction of external connections:
– Enhances device reliability
– Increases the potential display
density.
Multiple voltage biasing levels are needed

86
I2C - LCD Drivers
Families

Segment: Character: Graphic:


drive electrode; can column / row (pixel) column / row driven
be any shape driven; character set (pixel)
in memory of driver

87
I2C - LCD Drivers
LCD segment drivers

Key products LCD segment driver


PCF8562 4 x 32 segments 8 μA
I2C Bus control
PCF8576D 4 x 40 segments 8 μA logic
PCF8534 4 x 60 segments 24 μA
PCF8533 4 x 80 segments 24 μA
RAM

backplane
Features sequencer
driver
Wide range of segment outputs
On-chip RAM with auto incremental bias voltage generator
addressing
Low power consumption
segment
No external components driver
Wide power supply range
On-chip LCD bias voltage
generation

88
I2C - LCD Drivers
Product summary - segment drivers

89
I2C - LCD Drivers
LCD character drivers

Key products LCD character driver


PCF2113 2 line by 12 characters + 120 icons
control
PCF2119 2 line by 16 characters + 160 icons logic

display
RAM

Features character character


On-chip character generator I2C Bus RAM ROM
On-chip temperature compensation
On-chip character ROM and RAM row
sequencer
driver
Low power consumption
Minimum of external components
On-chip LCD bias voltage generation bias voltage generator
Cursor support

column
driver

90
I2C - LCD Drivers
Product summary – character drivers

91
I2C - LCD Drivers
LCD graphic drivers

Key products
PCF8531 34 x 128 small 4 x 20 chars of text, full graphic LCD graphic driver
PCF8535 65 x 133 medium graphics, 8 lines of text
PCF8811 80 x 128 large universal display control
logic

display
Features Serial / RAM
parallel /
Wide range of mux rates to optimize I2C Interface
power and display size
row
On-chip generation of LCD bias voltages sequencer
driver
Low number of external components
Low power consumption
bias voltage generator
Temperature compensation
PCF8535:
– Temperature read back
column
– Icon mode
driver

92
I2C - LCD Drivers
Product summary – graphic drivers

93
I2C - LCD Drivers
Demoboard - OM6290

94
I2C - Temperature and Voltage Sensors

I2C I2C General I2C LED Other I²C


I2C DIP
AD or DA Purpose I/O Blinkers / Slaves /
Switches
Converters Expanders Dimmers Masters
VCC4 VCC5
I²C
Bus Expander,
Hub or Repeater
VCC0
VCC2 I²C in hardware Functions with I2C
PCA9541
or software µC
I2C emulation
I2CMaster VCC1 I2C bus architecture
Multiplexers
Selector / devices
& Switches 8
Demux I²C Bus
Controllers µC Custom I2C
hardware or
software emulated
I2C Serial LCD I2C Real Time I2C
Other hardware
EEPROM Drivers Clock / Temperature
& RAM (with I2C) Calendar Sensors
VCC3
SPI
UART
Bridges
(with I²C)

95
I2C - Temperature and Voltage Sensors
Application

1. µC sets the high /


low alarm levels

4. Internal temp sensor


VCC
I2C bus
µC

Interrupt

3. Fan is turned on to lower 2. When the temperature


the temperature becomes too high in e.g. a
cabinet an Alarm is
generated

96
I2C - Temperature and Voltage Sensors
Families

Internal
Internal temp sensor temp sensor

remote temp sensor

Local / internal temp sensor Local / internal AND remote temp sensor

97
I2C - Temperature and Voltage Sensors
Product overview

Local temperature sensors Local and remote


2 2
I C Bus I C Bus temperature sensors

Local and remote


I2C Bus temperature sensors + output
Fan
Control
circuit

Local and remote temperature


2
I C Bus sensors with voltage monitor

Vcc

98
I2C - Temperature and Voltage Sensors
Product overview

Local temperature sensors Local and remote


2 2
I C Bus I C Bus temperature sensors

99
I2C - Temperature and Voltage Sensors
Intermezzo: Accuracy versus Resolution

Temperature Accuracy Temperature Resolution


Accuracy and error are used Is the measure of temperature sensor’s
synonymously, and is the measure of smallest measuring step
how precisely the temperature sensor
Example: 0.125 °C resolution
reading matches the ambient
temperature
Example: ± 2 °C accuracy
Actual measured
Measured Temperature Temperature 75.125 oC
73 oC

75 C
o
75 C
o
77 oC
Ambient
temperature

100
I2C - Temperature and Voltage Sensors
Intermezzo: Comparator versus Interrupt mode

Comparator mode: EVENT output is cleared by itself once the temperature drops below
the set points
Interrupt mode: EVENT output is latched and only cleared by writing to the clear event bit

101
I2C - Temperature and Voltage Sensors
Local-only temperature sensors

General: Products:
Produce highly accurate digital readings of LM75A/LM75B:
the ambient temperature – Local temperature sensor and
watchdog timer™
Read out via I2C or SMBus – Accuracy of ±2 ºC
– Drop-in replacement LM75
SE95:
Application: – More accurate version of the LM75A
Trigger interrupts, shut-down, or over- – Delivers superior performance in
temperature alarms power-sensitive applications

Industrial process control SE98:


– Designed for applications that use
Notebook computers DDR3 DIMM memory (not only
DIMM applications.)
Servers – Complies with JEDEC JC42.4
Memory modules – Supports SMBus Timeout and Alert
– Security lock bits
Communications
SE97:
Office electronics – Single device: SE98 + 2-Kbit
EEPROM Serial Presence Detect
(SPD)

102
I2C - Temperature and Voltage Sensors
LM75A versus LM75B

LM75B is an improved features and drop-in replacement for LM75A

LM75A and LM75B Comparison

Features LM75A LM75B


Single byte temperature register read without lockup No Yes
Fault time-out (minimum 75 ms) No Yes
Minimum I2C-bus hold time (tHD;DAT) 10 ns 0 ns
2 mm × 3 mm HUSON8 package No Yes

103
I2C - Temperature and Voltage Sensors
Remote and local temperature sensors

General: Products:
Produce highly accurate digital readings of NE1617A:
the ambient temperature – Up to nine slave devices on same bus
Remotely monitor the temperature of the – Drop-in replacement NE1617,
thermal diode inside the CPU or the diode AD1021 or AD1021A
connected to PNP or NPN transistors NE1619:
To save power in laptop applications, the – Integrated voltage monitor: track five
standby pin (STBY) can be tied to the input supply voltages in the range of 0
battery’s “suspend” output. to 12 V with accuracy of ±2%
SA56004:
– Handheld and portable applications
– Includes offset register for system
Application: calibration
Trigger interrupts, shut-down, or over- – Dual outputs for fan control
temperature alarms – Interrupt
– Built-in diode fault detection
Industrial process control – One-shot conversion with power
optimization in shutdown mode
Notebook computers – Eight possible pre-configured slave
Servers device addresses
– Small, 8-pin package
Office electronics

104
I2C - Temperature and Voltage Sensors
Product summary

Fan control output

A/D resolution (°C/


Accuracy Remote

Operating current
Remote channels

0 .. 12 V voltage

Accuracy Local
Local channels

Thermal Alarm

input monitor

Supply range

Power down
current (μA)
Sensing

Sensing
Type nr.

Output

# bits)

(μA)
LM75A 1 1 ±2°C 0.125/11 2.8-5.5 1000 3.5

NE1617A 1 1 1 ±2°C ±3°C 1.0/8 3.0-5.5 70 3

NE1619 1 1 5 ±3°C ±5°C 1.0/8 2.8-5.5 500 100

SA56004 1 1 1 1 ±2°C ±1°C 0.125/11 3.0-3.6 500 10

SE95 1 1 ±1°C 0.03125/13 2.8-5.5 1000 7.5

SE97/97A 1 1 ±1°C 0.125/11 3.0-3.6 250 15

SE98 1 1 ±2°C 0.125/11 3.0-3.6 250 15

SE98A 1 1 ±1°C 0.125/11 1.7-3.6 250 15

105
I2C - Temperature and Voltage Sensors
Demoboard I2C 2005-1: SE98 schematic

PCA9541/01
Address: 0xFE

SE98
Address: 0x30

EVENT Output LED

Visual status: Interrupt input and outputs

106
I2C - Temperature and Voltage Sensors
Demoboard 2005-1: SE98 on the board

SE98

107
I2C - Temperature and Voltage Sensors
Demoboard I2C 2005-1: SE98 GUI
Temperature Reading Alarm Status bits

Device Cyclic
Address Read

Configuration
& Status Alarm
Registers set points

Auto
Write

108
I2C - Temperature and Voltage Sensors
Demoboard I2C 2005-1: Exercise A: SE98, Device Initialization
Set critical boundary alarm trip to 80 °C Set upper boundary alarm trip to 27 °C
boundary registers

Set hysteresis
to 1.5 °C

Enable Auto Write


/EVENT ON
output

109
I2C - Temperature and Voltage Sensors
Demoboard I2C 2005-1: Exercise A: SE98, EVENT output in Comparator vs
Interrupt Mode

1. Visually check EVENT LED - it should be OFF.


2. Click on the “Cyclic read” for continuous temperature update.
3. Heat up or place your finger over the SE98 for a few minutes for temperature to exceed
28 °C - the EVENT LED is ON.
4. Cool down the SE98 or remove your finger from the SE98 and wait for a 1 minute or 2
until the temperature drops below 28 °C. What happens to the EVENT LED now? -
EVENT LED is OFF.
5. Change the EVENT output to Interrupt mode and repeat steps 1-4. What happens to the
EVENT LED now? - EVENT LED is still ON.
6. Clear the EVENT bit. - EVENT LED is OFF.
Conclusion:
 Comparator mode, the EVENT output de-asserted and LED is OFF when
temperature falls within the ALARM window.
 Interrupt mode, the EVENT output stays asserted and LED is ON even after the
temperature drops back within the ALARM window. The output is cleared by writing
to the “event clear bit”.

110
I2C - Temperature and Voltage Sensors
Demoboard I2C 2005-1: Exercise A (cont.): SE98

1. Read the upper, lower and critical alarm boundary trips registers. What are their values?
2. Upper = 28 °C; Lower = 0 °C; Critical = 85 °C
3. Change the upper, lower and critical alarm boundary trip to 35 °C, -20 °C, and 125 °C
and read them back. What are their values?
Upper = 35 °C
Lower = - 20 °C
Critical = 125 °C
4. Check the “lock the Critical” and “lock alarm window” bits
5. Change the upper, lower, and critical alarm boundary trips to 28 °C, 0 °C, and 85 °C, and
read them back. What are their values? No change
6. Remove the power will reset remove the lock feature

Conclusion: lock bit protects alarm set point values. Once lock bit is written, you can only
clear it by powering off the SE98.

111
I2C - Temperature and Voltage Sensors
Demoboard 2005-1: Exercise B: SE98, Expert mode

Power off and on the board


Use the Expert Mode, write and verify the following codes:
1. Set the upper alarm to 27 °C
2. Confirm what you wrote is correct
3. Set the critical temperature to 70 °C
4. Confirm what you wrote is correct
5. Write to configuration register to enable the EVENT output
6. Read what you’ve just wrote
7. Heat up SE98 and read the configuration register
8. Read the temperature value
Hint: Next three slides show register definition

112
I2C - Temperature and Voltage Sensors
Demoboard 2005-1: Exercise B (cont.): SE98, Expert mode
Above Critical indicates whether the temperature exceeds the critical temperature Sign bit
0: temp is below critical temperature 0: positive temperature
1: temp exceeds critical temperature 1: negative temperature

Above ALARM window indicates whether the temperature exceeds the alarm temperature
0: temperature is below the upper alarm
1: temperature exceeds the upper alarm

Below ALARM Window indicates whether the temperature falls below the lower alarm
0: temperature is above the lower alarm
1: temperature falls below the Lower ALARM

1 1 1

Integer Decimal
Reserved for future use

Temperature Value = 25.125 oC

113
I2C - Temperature and Voltage Sensors
Demoboard I2C 2005-1: Exercise B (cont.): SE98, Register summary

114
I2C - Temperature and Voltage Sensors
Demoboard 2005-1: Exercise B (cont.): SE98, Configuration register
Critical Lock Bit
Hysteresis for alarm
0: alarm register not locked, register value can be changed Clear EVENT flag 00: hysteresis disabled
1: alarm register locked , register value cannot be changed 0: no effect 01: hysteresis = 1.5 °C
1: clear the event flag in 10: hysteresis = 3 °C
ALARM Lock Bit interrupt mode 11: hysteresis = 6 °C
0: Alarm not locked, upper and lower alarm can be modified
1: Alarm locked, upper and lower alarm cannot be modified
0: Temp sensor shutdown mode
1: Normal mode

EVENT Status bit EVENT output control bit Critical EVENT Only EVENT Polarity EVENT Mode
0: not asserted 0: EVENT output disabled 0: Critical+Alarm 0: Active low 0: Comparator mode
1: asserted 1: EVENT output enabled 1: Critical 1: Active high 1: Interrupt mode

115
I2C - Temperature and Voltage Sensors
Demoboard I2C 2005-1: Exercise B (cont.): SE98, solution

116
I2C - Real Time Clocks / Calendars

117
I2C - Real Time Clocks / Calendars

I2C I2C General I2C LED Other I²C


I2C DIP
AD or DA Purpose I/O Blinkers / Slaves /
Switches
Converters Expanders Dimmers Masters
VCC4 VCC5
I²C
Bus Expander,
Hub or Repeater
VCC0
VCC2 I²C in hardware Functions with I2C
PCA9541
or software µC
I2C emulation
I2CMaster VCC1 I2C bus architecture
Multiplexers
Selector / devices
& Switches 8
Demux I²C Bus
Controllers µC Custom I2C
hardware or
software emulated
I2C Serial LCD I2C Real Time I2C
Other hardware
EEPROM Drivers Clock / Temperature
& RAM (with I2C) Calendar Sensors
VCC3
SPI
UART
Bridges
(with I²C)

118
I2C - Real Time Clocks / Calendars
Application

1. µC sets the date


and alarm time and
can go in power down

VDD
I2C bus

µC
Interrupt

2. When alarm time is


reached alarm,
interrupt is generated
to the application

119
I2C - Real Time Clocks / Calendars
Product overview

Real Time Clocks


I2C Bus
32 kHz crystal

Clock clock /
alarm
calendar
registers
registers
Interrupt

120
I2C - Real Time Clocks / Calendars
PCA8565 / PCF8563 / PCF8583 / PCF8593

General: Products:
Time keeping PCA8565:
– High temperature (up to 125 °C)
Large voltage range 1.0 .. 5.5 V
PCF8563:
Clock from seconds to 99 years – Low power: < 250 nA
Programmable Timer
Frequency output PCF8583:
Small packages (TSSOP8, HVSON10, etc) – 240-byte RAM
PCF8593:
– 1/100-second resolution

Application:
Time keeping, calendar
Tariff switching
Integrity check after power-down

121
I2C - Real Time Clocks / Calendars
Product summary

Features PCA8565 PCF8563 PCF8583 PCF8593


I2C-bus interface speed 400 kHz 400 kHz 100 kHz 100 kHz
Scratch pad RAM 0 0 248 Bytes 0
Years and leap year tracking yes yes yes yes
Year counter 2 digit +1 bit 2 digit +1 bit 2 bit 2 bit
1/10, 1/100 s counter no no 10 ms 10 ms
Programmable alarm yes yes yes yes
Low voltage detector yes yes no no
Supply voltage for I2C-bus 1.8 - 5.5 V 1.8 - 5.5 V 2.5 - 6.0 V 2.5 - 6.0 V
Supply voltage for clock 1.8 - 5.5 V 1.0 - 5.5 V 1.1 - 6.0 V 1.1 - 6.0 V

2 μA @ 1.0 V 1 μA @ 2.0 V
Typical power consumption 700 nA @ 2 V 250 nA @ 1 V
10 μA@ 5 V 4 μA @ 5 V

Packages -40 - 125°C -40 - 85°C -40 - 85°C -40 - 85°C

122
I2C - Real Time Clocks / Calendars
Demoboard I2C 2005-1: PCF8563 Schematic

Channel 0 Interrupt LED

PCA9543A
Address = E0h PCF8563
Address = A2h

123
I2C - Real Time Clocks / Calendars
Demoboard I2C 2005-1: PCF8563 on the board

PCF8563

124
I2C - Real Time Clocks / Calendars
Demoboard I2C 2005-1: PCF8563 GUI
Clock Calendar

Timer & Alarm


Control/Status

Alarm
Clock

Reset Timer Clock output control

125
I2C - Real Time Clocks / Calendars
Demoboard I2C 2005-1: Exercise A: PCF8563 Alarm Mode

1. Click on the reset push button to reset alarm, timer, clock and calendar
2. Alarm mode: Minute, hour, day, or week
3. Click on the cyclic read push button
4. Select the alarm minute enable checkbox
5. Select the alarm interrupt enable (AIE) checkbox
6. Set alarm to 1 minute
7. Do a “write all” on the screen to update the register
8. What do you see when the clock time reaches 1 minute?
9. Interrupt is asserted and interrupt LED is on
10. Alarm flag (AF) status bit is set
11. Clear AF (by uncheck the box and do a “Write All”)

126
I2C - Real Time Clocks / Calendars
Demoboard I2C 2005-1: Exercise B: PCF8563 Timer Mode

1. The timer has a selectable count down frequency ranging from 1/64 Hz to
4096 Hz, and an 8-bit or 256 count down value
2. Chose 1 Hz (1 sec) timer count down frequency
3. Program a count down value of 12
4. Select timer interrupt enable (TIE) checkbox
5. Enable timer
6. Perform a “Write All“ command
7. Wait for 12 seconds, read the status register, and observe the Interrupt LED
light
8. What happens to TF and LED?
9. TF is set
10. LED is ON

127
I2C - Portfolio: bus architecture devices

128
I2C - Bus Enablers

I²C bus controllers


I²C master selector / demux
I²C multiplexers & switches
I²C bus expander, hub or repeater
Bridges (with I²C)

129
I2C - Bus controllers

I2C I2C General I2C LED Other I²C


I2C DIP
AD or DA Purpose I/O Blinkers / Slaves /
Switches
Converters Expanders Dimmers Masters
VCC4 VCC5
I²C
Bus Expander,
Hub or Repeater
VCC0
VCC2 I²C in hardware Functions with I2C
PCA9541
or software µC
I2C emulation
I2CMaster VCC1 I2C bus architecture
Multiplexers
Selector / devices
& Switches 8
Demux I²C Bus
Controllers µC Custom I2C
hardware or
software emulated
I2C Serial LCD I2C Real Time I2C
Other hardware
EEPROM Drivers Clock / Temperature
& RAM (with I2C) Calendar Sensors
VCC3
SPI
UART
Bridges
(with I²C)

130
I2C - Bus controllers
Application

Adding an I2C bus port Adding additional I2C bus ports

Converting 8 Bits of Parallel Data into I2C


Serial Data Stream

131
I2C - Bus controllers
Product overview
Bus controller

8-bit
parallel bus logic I2C Bus

control signals

Bus controller
with memory

8-bit
parallel bus logic I2C Bus

control signals

memory

132
I2C - Bus controllers
Product summary

2
Voltage Range Max I C Freq. Clock Source Parallel Interface
PCF8584 4.5V - 5.5V 90kHz External Slow
PCA9564 2.3V - 3.6V; with 5V Tolerance 360kHz Internal Fast
PCA9665 2.3V - 3.6V; with 5V Tolerance 1000kHz Internal (Trimmed) Fast with 68 Byte Buffer

133
I2C - Master selector / demux

I2C I2C General I2C LED Other I²C


I2C DIP
AD or DA Purpose I/O Blinkers / Slaves /
Switches
Converters Expanders Dimmers Masters
VCC4 VCC5
I²C
Bus Expander,
Hub or Repeater
VCC0
VCC2 I²C in hardware Functions with I2C
PCA9541
or software µC
I2C emulation
I2CMaster VCC1 I2C bus architecture
Multiplexers
Selector / devices
& Switches 8
Demux I²C Bus
Controllers µC Custom I2C
hardware or
software emulated
I2C Serial LCD I2C Real Time I2C
Other hardware
EEPROM Drivers Clock / Temperature
& RAM (with I2C) Calendar Sensors
VCC3
SPI
UART
Bridges
(with I²C)

134
I2C - Master selector / demux
Product overview

2-to-1 I2C-bus
master selector

Master0 logic
I2C Bus
Slave devices
off
I2C Bus
Master1
I2C Bus

INTERRUPT_OUT I2C controller INTERRUPT_IN

135
I2C - Master selector / demux
PCA9541 - 2-to-1 I2C-bus master selector

Features Applications
Channel selection via I2C -bus High-End Servers, Base Stations and Mass
Storage systems with high maintenance
Downstream bus initialization/recovery requirements
function before changing channel
Two independent masters to a single I2C
Bus traffic sensor slave device
No glitch on power-up and supports hot
insertion
Software identical for both masters
Voltage translation between 1.8 V, 2.5 V, Versions
3.3 V and 5 V buses PCA9541/01 - Master Channel 0 selected
Operating power supply voltage range of after power-up/reset
2.3 V to 5.5 V PCA9541/03 - No master channel (off)
4 address pins allowing up to 16 devices on selected after power-up/reset and either
the I2C-bus master can take control of the bus

0 to 400 kHz I2C clock frequency

136
I2C - Master selector / demux
PCA9541 - application

High Reliability Backplane Use


In a typical multi-point application:
– Two masters (e.g. primary and back-
up) are located on separate I2C buses
that connect to multiple downstream
I2C bus slave cards/devices.
– PCA9541/01: for non-hot swap
applications PCA9541/03: for hot
swap applications
If a master fails or the master card is
removed for repair or service, the back-up
master can take over
Either master can take command of the I2C
bus and, at any time, can gain control of the
slave devices if the other master is unable
to communicate.
The failed master is isolated from the
system and will not affect communication
between the active master and the slave
devices located on the cards.

137
I2C - Master selector / demux
PCA9541 – application (2)

Masters with Shared Resources Use


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 but still allow shared access to
slave devices such as Field Replaceable
Unit (FRU) EEPROM or temperature
sensors.
If the /01 version is used, at power up:
– Master A will control Slave A0 and
Master B will control Slave B0
– Main Master will be disconnected
from both Assembly A and B
If the /01 version is used, at power up:
– Master 0 will control Slave 1 and
Slave 2 (but not Slave 3)
– Master 1 will be disconnected from
the entire system Master 2 will control
Slave 3

138
I2C - Master selector / demux
PCA9541 - application (3)

Gatekeeper Multiplexer Use


The PCA9541/03 can act as a gatekeeper
multiplexer in applications where there are
multiple I2C devices with the same fixed
address (e.g., EEPROM with an address of
"Z" as shown in the figure) 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
EEPROM 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).
Alternative: use PCA9548 1-to-8 channel
switch on the master card and run 8 I2C
buses

139
I2C - Master selector / demux
PCA9541 - application (4)

Bus Initialization/Recovery Use


If the I2C bus is hung, I2C devices without a
hardware reset pin (e.g. Slave 1 and Slave
2 in the diagram) can be isolated from the
master by the PCA9541/03.
The PCA9541/03 disconnects the
downstream bus when it is reset via the
hardware reset line, restoring the master's
control of the upstream 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.

140
I2C - Multiplexers & switches

I2C I2C General I2C LED Other I²C


I2C DIP
AD or DA Purpose I/O Blinkers / Slaves /
Switches
Converters Expanders Dimmers Masters
VCC4 VCC5
I²C
Bus Expander,
Hub or Repeater
VCC0
VCC2 I²C in hardware Functions with I2C
PCA9541
or software µC
I2C emulation
I2CMaster VCC1 I2C bus architecture
Multiplexers
Selector / devices
& Switches 8
Demux I²C Bus
Controllers µC Custom I2C
hardware or
software emulated
I2C Serial LCD I2C Real Time I2C
Other hardware
EEPROM Drivers Clock / Temperature
& RAM (with I2C) Calendar Sensors
VCC3
SPI
UART
Bridges
(with I²C)

141
I2C - Multiplexers & switches
Application

I2C Multiplexing Voltage Level Shifting


Resolve address conflicts: multiplexers and VDD pin can be used to limit the maximum
switches split the I2C bus into several sub- high voltage passed by the device:
branches and allow the I2C master to select – Allows different bus voltages on each
and address one of multiple identical pair
devices – 2.3V or 3.3V devices can
communicate with 5V devices without
any additional protection. All I/O pins
are 5V tolerant.
Switches are best for voltage level shifting:
multiple downstream channels can be
Capacitive Load Sharing active at the same time.
Reduce capacitive bus loading by isolating
the not needed bus segments
When active, the channels act as a wire
and the cumulative capacitive loading of the
upstream channel and all active
downstream channels must be considered.

142
I2C - Multiplexers & switches
Product overview
Mux/Switches
Mux/Switches Master
MasterSelector
SelectorInterrupt
Interrupt&&Reset
Reset
PCA9541/01,
Family
Family PCA9541/01,/03/03

2:1
2:1Mux/Switches
Mux/Switches 4:1
4:1Mux/Switches
Mux/Switches 8:1
8:1Mux/Switch
Mux/Switch

Mux
Mux
Mux Mux
MuxInterrupt
Interrupt Mux&&Reset
Reset
PCA9540B PCA9544A PCA9547
PCA9540B PCA9544A PCA9547

Switch
Mux
MuxInterrupt
Interrupt Switch
SwitchInterrupt
Interrupt&&Reset
Reset Switch&&Reset
Reset
PCA942A PCA9545A/B/C* PCA9548A
PCA942A PCA9545A/B/C* NEW PCA9548A

Octal
Switch
SwitchInterrupt
Interrupt&&Reset
Reset OctalCBT
CBTSwitch
Switch
Switch
PCA9543A/B/C*
PCA9543A/B/C* NEW SwitchInterrupt
Interrupt&&Reset
Reset PCA9549
PCA9549
PCA9546A NEW
PCA9546A

*Note: A, B, and C have different I2C fixed address

143
I2C - Multiplexers & switches
Product summary

Device Multiplexer (in/out) Switch (in/out) # of Addresses Interrupt (in/out)Hardware reset


PCA9540B 1-2 1
PCA9541 2-1 16 1-2 3
PCA9542A 1-2 8 2-1
PCA9543A 1-2 4 2-1 3
PCA9544A 1-4 8 4-1
PCA9545A 1-4 4 4-1 3
PCA9546A 1-4 8 3
PCA9547 1-8 8 3
PCA9548A 1-8 8 3
PCA9549 1-8 8 3

144
I2C - Bus expander, hub or repeater

I2C I2C General I2C LED Other I²C


I2C DIP
AD or DA Purpose I/O Blinkers / Slaves /
Switches
Converters Expanders Dimmers Masters
VCC4 VCC5
I²C
Bus Expander,
Hub or Repeater
VCC0
VCC2 I²C in hardware Functions with I2C
PCA9541
or software µC
I2C emulation
I2CMaster VCC1 I2C bus architecture
Multiplexers
Selector / devices
& Switches 8
Demux I²C Bus
Controllers µC Custom I2C
hardware or
software emulated
I2C Serial LCD I2C Real Time I2C
Other hardware
EEPROM Drivers Clock / Temperature
& RAM (with I2C) Calendar Sensors
VCC3
SPI
UART
Bridges
(with I²C)

145
I2C - Bus expander, hub or repeater
When to use?

Bus expander, hub or repeater


More I2C devices than the 400 pF maximum allowed by the I2C specification
Long bus wiring in point-to-point or multi-point applications
Different operating supply voltages or logic voltage levels within one system
Opto-isolation for safety or due to difference in ground plane
Isolating a section of a system that has lost its power supply
Insertion of unpowered cards into an active I2C bus on multi-point backplanes like those found
in CompactPCI, VME, or AdvancedTCA systems

146
I2C - Bus expander, hub or repeater
Product Overview Bus
BusBuffers/Translator
Buffers/Translator Voltage
VoltageTranslator
TranslatorOnly
Only
Family PCA9306
Family PCA9306 NEW

Repeater
Repeater Hot-Swap
Hot-Swap Extender
Extender

PCA9515/15A
PCA9515/15A Long
Voltage
VoltageTranslator
Translator Longcable
cable
PCA9512A P82B96, PCA9600
PCA9512A P82B96, PCA9600
Voltage
VoltageTranslator
Translator
PCA9509/17
PCA9509/17 11MHz
0.6
0.6VVthreshold
threshold MHzspeed
speed
PCA9511A PCA9600 NEW
Quad PCA9600
QuadVoltage
VoltageTranslator
Translator PCA9511A
PCA9519
PCA9519 AdvancedTCA
0.8
0.8VVthreshold
threshold AdvancedTCA
P82B715
Offset-Free PCA9514A P82B715
Offset-FreeHot-Swap
Hot-Swap PCA9514A
PCA9508 NEW
PCA9508
Opto-isolation
92μA Opto-isolation
5-channel
5-channelHub
Hub 92μACurrent
CurrentSource
Source P82B96
P82B96
PCA9513A
PCA9516/16A PCA9513A
PCA9516/16A
12
5-channel 12VVSupply
SupplyCapable
Capable
5-channelHub
HubExpander
Expander No
Noaccelerator P82B96,
P82B96, P82B715,PCA9600
accelerator P82B715,
PCA9518A PCA9510A PCA9600
PCA9518A PCA9510A

147
I2C - Bus expander, hub or repeater
PCA9507 versus PCA9517/17A

PCA9507 is an upgrade replacement over PCA9517/17A with rise time


accelerator for longer cable HDMI DDC application

PCA9507 and PCA9517/17A Comparison


Features PCA9507 PCA9517A PCA9517
A-side with “rise time accelerator” for heavy Yes No No
load or long cable (up to 18 meters)*
A-side supply voltage range 2.7V to 5.5V 0.9V to 5.5V 0.9V to 5.5V
ESD HBM 5 kV 5kV 2kV

* Note: Longer cable stretches clock low time and requires less than 400 kHz speed operation

148
I2C - Bus expander, hub or repeater
PCA9517A - HDMI DDC Buffer for LCDTV

Features
Benefits
• 2-wire bidirectional DDC Buffer
• Isolates capacitance and noise
• Dual supply rail for DDC level shift
and level shift
• Normal I/O swing on A-side
• Incurs no offset voltage
• 5kV ESD HBM

LCD TV

TMDS signals (HS Differential)


PCA9512A
PCA9517A DDC Signals (I2C 100kHz)
GTL2002
PCA9517A
CEC Signal (OD 10kHz)

HPD Signal (DC)


+5 V
GND
HDMI Cable

149
I2C - Bus expander, hub or repeater
PCA9507 HDMI DDC Buffer/Extender

Features Benefits
Bidirectional bus buffer Isolate capacitance & noise on DDC line
Rise time accelerator on A-side Extend DDC line > 18 m
Strong A-side driver Increase noise margin on DDC line
5 kV ESD HBM Require no external discrete components
Dual Supplies Permit 5V DDC level shift

Digital TV
DVDR/STB

PCA9507

150
I2C - Bus expander, hub or repeater
PCA9517A – High ESD I2C Bus Buffer

Features:
Redundant Power Supply
I2C bidirectional buffer
PCA9517A cable
Ethernet Switch
Dual supply rails PCA9517A
– Voltage translation PCA9517A
PCA9517A
Normal I/O voltage swing with

..
PCA9517A :

high drive on A-side PCA9517A


PCA9517A

5 kV ESD HBM PCA9517A PCA9517A

Benefits:
Redundant Power Supply Ethernet Switch
Isolates capacitance and noise PCA9517A buffers each end of the cable
for cable application
Incurs no offset voltage

151
I2C Demo Boards

152
I2C - Demo Boards
PCA9633 LED dimmer / blinker

Complete, ready-to-run test environment for


dimming and blinking LEDs
Preprogrammed with six operating modes,
including color wash and random color, and
can be reprogrammed to create custom
color patterns
The board is configured with four LEDs,
one each for red, green, blue, and amber.

OM6276

http://www.standardics.nxp.com/support/boards/pca9633

153
I2C - Demo Boards
SC18IS602 I2C slave to SPI master

The demo board interfaces to the host


processor with an I2C-bus interface
Any combination of a total of four SPI
devices or GPIOs can be controlled.
The demo board supports up to 8
selectable I2C device addresses via
jumpers.
Can be used for demonstrating:
– SC18IS602: SPI master with speeds
up to 1.8 Mbps using an internal
oscillatorI2C-bus slave interfaces with
speeds up to 400KHz.
– SC18IS603: SPI master with speeds
up to 4Mbps using an external
oscillator. I2C-bus slave interfaces
with speeds up to 400KHz.
OM6274

http://www.standardics.nxp.com/support/boards/sc18is602

154
I2C - Demo Boards
SC18IM700 UART to I2C master / GPIO bridge

The demo board contains:


– SC18IM700 UART-to-I2C
master/GPIO bridge: controls the
operation of the on-board I2C
components
– PCA9533 I2C 4-bit LED dimmer:
LEDs connected to it
– PCF8570 I2C RAM: storing data on
demo board
– Additional LEDs are connected to the
GPIO pins of the SC18IM700.

OM6272

http://www.standardics.nxp.com/support/boards/sc18im700

155
I2C - Demo Boards
SC18IS600 SPI slave to I2C master / GPIO bridge

Connects to a host processor via an SPI-


bus interface and connects to an I2C slave
device via header pins
The demoboard contains on-board LEDs,
which can be controlled by the bridge's
programmable GPIO. In addition, the
demoboard allows the SPI host to operate
an on-board I2C LED dimmer and an on-
board I2C EEPROM via the SPI bus
interface.
Board contains:
– SC18IS600: features SPI speeds up
to 1.2 Mbps using an internal
oscillator.
The SC18IS600 on the board can be
replaced by:
– SC18IS601: features SPI speeds up
to 3 Mbps using an external oscillator
using an external oscillator. OM6271

http://www.standardics.nxp.com/support/boards/sc18is600

156
I2C - Demo Boards
I2C 2005-1 kit: easy programming and evaluation of I2C devices

Board 2005-1 - I2C functions:


– PCF8574 - GPIO
– PCA9536 - GPIO
– PCA9540B - I2C multiplexer
– PCF85116-3 - EEPROM
– PCF8563 - real time clock/calendar
– PCA9538 - GPIO
– PCA9551 - LED blinker
– SA56004E - temperature sensor
– PCA9543A - I2C switch
– Two PCA9531 - LED dimmer
– PCA9541/01 - 2-to-1 I2C master selector
– SE98 - temperature sensor
Allows easy training / experimenting / testing /
demonstration:
– Field application engineers
– Designers
– Educators
Software control via PC (USB) OM6275

http://www.standardics.nxp.com/support/boards/i2c20051

157
I2C - Demo Boards
PCA9564: I2C bus controller

Board demonstrates the I2C bus controller's


ability to interface between a master and any
master and slave devices connected to its I2C
bus.
Board contains:
– P89LV51RD2 - microcontroller (connected to
PCA9564)
– PCA9564 - I2C bus controller
– PCA9531 - 8-bit LED dimmer used as an I2C
target slave device
– P89LPC932 - microcontroller (connected to
the I2C bus)
– PCF85116 - EEPROM
– PCA9554A - 8-bit GPIO (keyboard readout)
– Sipex SP3223 - RS-232 transceiver: allows uP
devices to be in-system programmed

OM6277

http://www.standardics.nxp.com/support/boards/pca9564

158
I2C - Demo Boards
LED dimmer board: demonstrates LED lighting and mixing operations

Two directly connected control cards:


The LED Control Card contains:
– LEDs (red, green, blue, white, RGB)
– Devices used to control LEDs
The keypad control card contains:
– NXP P89LV51RD2 microcontroller:
interfacing with a NXP PCA9564 I2C-
bus controller to generate the I2C
commands
– 16-key keypad: inputs to the
microcontroller which allows to control
the RGB color mixing, generate fun
light patterns, and emulate battery
status monitoring
– Power is supplied by an external 9 V
power supply or by a 9 V battery

OM6279

http://www.standardics.nxp.com/support/boards/leddemo

159
I2C Support Information

160
I2C - Support Information

Internet support (i.e. data sheets, application notes etc.)


– General: http://www.nxp.com

– Standard ICs: http://www.standardics.nxp.com

– I2C logic devices ICs: http://www.standardics.nxp.com/i2c

– Demo boards: http://www.standardics.nxp.com/support/boards

Technical Support: [email protected]

161
162

You might also like