![]() |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
I2C bus controllers
Introduction
The bus controller serves as an interface between most standard parallel-bus microcontrollers/microprocessors and the serial I2C bus, and allows the parallel bus system to communicate bi-directionally with the I2C bus.
This is commonly referred to as the bus master.
Communication with the I2C bus is carried out on a byte-wise basis using interrupt or polled handshake and controls all of the I2C bus specific sequences, protocol, arbitration, and timing.
Uses
The PCF8584, PCA9564, and PCA9665 are parallel bus to I2C bus controllers that are designed to allow smart devices to interface with I2C components where the smart device does not have an integrated I2C port and the designer does not want to "bit-bang" the I2C port.
These devices can also be used to add more I2C ports to smart devices or to convert 8 bits of parallel data to a serial bus to avoid running multiple traces across the PC board.
Adding an I2C Bus Port
The bus controllers convert 8 bits of parallel data into a multiple-master capable I2C port for microcontrollers, microprocessors, custom ASICs, DSPs, etc., that need to interface with I2C components.
![]() Adding an I2C Bus Port
Adding Additional I2C Bus Ports
The bus controller can be used to convert 8-bit parallel data into additional multiple-master capable I2C port.
It is used if the microcontroller, microprocessor, custom ASIC, DSP, etc., already has an I2C port but needs one or more additional I2C ports to interface with more I2C components or components that cannot be located on the same bus (e.g., 100kHz and 400kHz slaves on different buses so that each bus can operate at its maximum potential).
![]() Adding Additional I2C Bus Ports
Converting 8 Bits of Parallel Data into I2C Serial Data Stream
Functioning as a slave transmitter, the bus controller can convert 8-bit parallel data into a two-wire I2C data stream.
This would prevent having to run 8 traces across the entire width of the PC board.
![]() Converting Parallel to Serial Data
Migration Path
The PCA9665 and PCA9564 do the same type of parallel-to-serial conversion as the PCF8584.
Although not footprint- or code-compatible, the PCA9665 and PCA9564 provide improvements such as:
![]() Migration Path from PCF8584
While the PCF8584 supports most parallel-bus microcontrollers/microprocessors (including the Intel 8049/8051, Motorola 6800/68000, and the Zicor Z80), the PCA9665 and PCA9564 have been designed to be very similar to the
NXP standard 80C51 microcontroller I2C hardware so that existing 80C51 microcontroller code can be utilized with few modifications.
The PCA9665 and PCA9564 don't include the snoop and long distance I2C bus features featured on the PCF8584.
The PCA9665 and PCA9564 use similar but different code due to the register changes.
The PCF8584 is offered in 20-pin DIP and SO packages.
The PCA9564 is offered in 20-pin DIL, SO, TSSOP, and space-saving HVQFN packages.
The PCA9665 is offered in 20-pin SO, TSSOP, and HVQFN packages.
Products
Comparison Table
I2C Bus Controllers
Click
Literature
Support
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||