
Philips Semiconductors
PNX15xx Series
Volume 1 of 1
Chapter 25: I2C Interface
PNX15XX_SER_3
Koninklijke Philips Electronics N.V. 2006. All rights reserved.
Product data sheet
Rev. 3 — 17 March 2006
25-3
A slave may stretch the space duration to slow down the bus master. The space
duration may also be stretched for handshaking purposes. This can be done after
each bit or after a complete byte transfer. The IIC module will stretch the SCL space
duration after a byte has been transmitted or received and the acknowledge bit has
been transferred. This block also controls all of the signals for serial byte handling. It
provides the shift pulses for DAT, enables the comparator, generates and detects
START and STOP conditions, receives and transmits acknowledge bits, controls the
master and slave modes, contains interrupt request logic and monitors the I2C bus
status.
2.1.2
Serial Clock Generator
This programmable clock pulse generator provides the SCL clock pulses when the
IIC module is in master transmitter or master receiver mode. It is switched off when
the IIC module is in a slave mode. The output frequency is dependent on the CR bits
in the control register. The output clock pulses have a 50% duty cycle unless the
clock generator is synchronized with other SCL clock sources, as described above.
2.1.3
Bit Counter
The bit counter tracks the number of bits that have been received during the byte
transfer. The output from this counter is used to trigger events, such as address
recognition and acknowledge generation, which occur at specic points during the
byte transfer.
2.1.4
Control Register
This register is used by the micro controller to control the generation of START and
STOP conditions, enable the interface, control the generation of ACKs, and to select
the clock frequency.
2.1.5
Status Decoder and Register
There are 26 possible bus states if all four modes of the IIC module are used. The
status decoder takes all of the internal status bits and compresses them into a 5-bit
code. This code is unique for each I2C bus status. The 5-bit code may be used for
processing the various service routines. Each service routine processes a particular
bus status. The 5-bit status code is stored in bits 7-3 of the status register. Bits 2-0
and 31-8 of the status register are always zero.
2.1.6
Input Filter
Input signals SDA and SCL from IO pad cells are synchronized with the internal
clock. Spikes shorter than three clock periods are ltered out.
2.1.7
Address Register and Comparator
This SFR may be loaded with the 7-bit slave address to which IIC module will
respond when programmed as a slave. The least signicant bit is used to enable the
general call address recognition. The comparator compares the received 7-bit slave
address with its own slave address. It also compares the rst received 8-bit byte with
the general call address. If an equality is found, the appropriate status bits are set
and an interrupt is requested.