PCF8584T/2,512 [NXP]
PCF8584 - I²C bus controller SOP 20-Pin;型号: | PCF8584T/2,512 |
厂家: | NXP |
描述: | PCF8584 - I²C bus controller SOP 20-Pin 时钟 PC 光电二极管 外围集成电路 |
文件: | 总40页 (文件大小:176K) |
中文: | 中文翻译 | 下载: | 下载PDF数据表文档文件 |
INTEGRATED CIRCUITS
DATA SHEET
PCF8584
I2C-bus controller
1997 Oct 21
Product specification
Supersedes data of 1997 Mar 19
File under Integrated Circuits, IC12
Philips Semiconductors
Product specification
I2C-bus controller
PCF8584
CONTENTS
7
SOFTWARE FLOWCHART EXAMPLES
7.1
7.2
Initialization
Implementation
I2C-BUS TIMING DIAGRAMS
1
2
3
4
5
6
FEATURES
GENERAL DESCRIPTION
ORDERING INFORMATION
BLOCK DIAGRAM
8
9
LIMITING VALUES
10
11
12
13
14
14.1
15
16
HANDLING
PINNING
DC CHARACTERISTICS
I2C-BUS TIMING SPECIFICATIONS
PARALLEL INTERFACE TIMING
APPLICATION INFORMATION
Application Notes
FUNCTIONAL DESCRIPTION
6.1
6.2
6.3
6.4
6.5
6.6
6.7
6.8
6.8.1
6.8.1.1
6.8.1.2
6.8.1.3
6.8.1.4
6.8.1.5
6.8.1.6
6.8.2
6.8.2.1
6.8.2.2
6.8.2.3
6.8.2.4
6.8.2.5
6.8.2.6
6.8.2.7
6.9
General
Interface Mode Control (IMC)
Set-up registers S0', S2 and S3
Own address register S0'
Clock register S2
Interrupt vector S3
Data shift register/read buffer S0
Control/status register S1
Register S1 control section
PIN (Pending Interrupt Not)
ESO (Enable Serial Output)
ES1 and ES2
ENI
STA and STO
ACK
Register S1 status section
PIN bit
STS
BER
LRB/AD0
PACKAGE OUTLINES
SOLDERING
16.1
16.2
Introduction
DIP
16.2.1
16.2.2
16.3
16.3.1
16.3.2
16.3.3
Soldering by dipping or by wave
Repairing soldered joints
SO
Reflow soldering
Wave soldering
Repairing soldered joints
17
18
DEFINITIONS
LIFE SUPPORT APPLICATIONS
19 PURCHASE OF PHILIPS I2C COMPONENTS
AAS
LAB
BB
Multi-master operation
Reset
6.10
6.11
Comparison to the MAB8400 I2C-bus interface
Deleted functions
added functions
Special function modes
Strobe
6.11.1
6.11.2
6.12
6.12.1
6.12.2
6.12.3
Long-distance mode
Monitor mode
1997 Oct 21
2
Philips Semiconductors
Product specification
I2C-bus controller
PCF8584
1
FEATURES
2
GENERAL DESCRIPTION
• Parallel-bus to I2C-bus protocol converter and interface
The PCF8584 is an integrated circuit designed in CMOS
technology which serves as an interface between most
standard parallel-bus microcontrollers/microprocessors
and the serial I2C-bus. The PCF8584 provides both master
and slave functions.
• Compatible with most parallel-bus
microcontrollers/microprocessors including 8049, 8051,
6800, 68000 and Z80
• Both master and slave functions
• Automatic detection and adaption to bus interface type
• Programmable interrupt vector
Communication with the I2C-bus is carried out on a
byte-wise basis using interrupt or polled handshake.
It controls all the I2C-bus specific sequences, protocol,
arbitration and timing. The PCF8584 allows parallel-bus
systems to communicate bidirectionally with the I2C-bus.
• Multi-master capability
• I2C-bus monitor mode
• Long-distance mode (4-wire)
• Operating supply voltage 4.5 to 5.5 V
• Operating temperature range: −40 to +85 °C.
3
ORDERING INFORMATION
TYPE
PACKAGE
NUMBER
NAME
DESCRIPTION
VERSION
PCF8584P
DIP20
SO20
plastic dual in-line package; 20 leads (300 mil)
SOT146-1
SOT163-1
PCF8584T
plastic small outline package; 20 leads; body width 7.5 mm
1997 Oct 21
3
Philips Semiconductors
Product specification
I2C-bus controller
PCF8584
4
BLOCK DIAGRAM
PARALLEL BUS
V
V
DB7
15
DB6
14
DB5
13
DB4
12
DB3
11
DB2
9
DB1
8
DB0
7
DD
SS
20
10
MSB
2
SDA/
SDA OUT
DIGITAL
FILTER
READ BUFFER
(3)
read
only
DATA SHIFT REGISTER S0 AND READ BUFFER
SHIFT REGISTER
write
only
8
DATA CONTROL
(1)
X
COMPARATOR S0, S0'
8
MSB
LSB
(1)
X
OWN ADDRESS S0'
8
PCF8584
INTERRUPT VECTOR S3
8
default: 00H 80XX
0FH 68XXX
3
SCL/
SCL IN
DIGITAL
FILTER
(3)
CLOCK REGISTER S2
0
0
0
S24
S23
S22
S21
S20
CLOCK REGISTER S2
8
REGISTER S1
CONTROL STATUS
ES0 ES1 ES2
PIN
PIN
ENI
STA
STO
ACK
BB
SCL CONTROL
write only
read only
CONTROL STATUS REGISTER S1
AD0/
0
STS
BER
AAS
LAB
LRB
CLOCK PRESCALER
SCL MULTIPLEXER
BUS BUSY LOGIC
REGISTER ACCESS CONTROL
BUS BUFFER CONTROL
INTERRUPT CONTROL
PARALLEL BUS CONTROL
ARBITRATION LOGIC
RESET/STROBE CONTROL
19
17
6
18
16
5
4
1
(2)
(2)
RESET/
STROBE
(O.C.)
CS
A0
WR (R/W)
RD (DTACK)
INT
SCL OUT
IACK
SDA IN
CLK
(3)
(3)
MBD908 - 1
(1) X = don’t care.
(2) Pin mnemonics between parenthesis indicate the 68000 mode pin designations.
(3) These pin mnemonics represent the long-distance mode pin designations.
Fig.1 Block diagram.
1997 Oct 21
4
Philips Semiconductors
Product specification
I2C-bus controller
PCF8584
5
PINNING
SYMBOL
PIN
I/O
DESCRIPTION
CLK
1
2
I
clock input from microcontroller clock generator (internal pull-up)
I2C-bus serial data input/output (open-drain). Serial data output in long-distance
mode.
SDA or
SDA OUT
I/O
SCL or SCL IN
3
4
I/O
I
I2C-serial clock input/output (open-drain). Serial clock input in long-distance mode.
IACK or
SDA IN
Interrupt acknowledge input (internal pull-up); when this signal is asserted the
interrupt vector in register S3 will be available at the bus Port if the ENI flag is set.
Serial data input in long-distance mode.
INT or
SCL OUT
5
6
O
I
Interrupt output (open-drain); this signal is enabled by the ENI flag in register S1.
It is asserted when the PIN flag is reset. (PIN is reset after 1 byte is transmitted or
received over the I2C-bus). Serial clock output in long-distance mode.
A0
Register select input (internal pull-up); this input selects between the control/status
register and the other registers. Logic 1 selects register S1, logic 0 selects one of
the other registers depending on bits loaded in ESO, ES1 and ES2 of register S1.
DB0
7
I/O
I/O
I/O
−
bidirectional 8-bit bus Port 0
bidirectional 8-bit bus Port 1
bidirectional 8-bit bus Port 2
ground
DB1
8
DB2
9
VSS
10
11
12
13
14
15
16
DB3
I/O
I/O
I/O
I/O
I/O
bidirectional 8-bit bus Port 3
bidirectional 8-bit bus Port 4
bidirectional 8-bit bus Port 5
bidirectional 8-bit bus Port 6
bidirectional 8-bit bus Port 7
DB4
DB5
DB6
DB7
RD (DTACK)
I/(O) RD is the read control input for MAB8049, MAB8051 or Z80-types. DTACK is the
data transfer control output for 68000-types (open-drain).
CS
17
18
I
I
chip select input (internal pull-up)
WR (R/W)
WR is the write control input for MAB8048, MAB8051, or Z80-types
(internal pull-up). R/W control input for 68000-types.
RESET/
STROBE
19
20
I/O
Reset input (open-drain); this input forces the I2C-bus controller into a predefined
state; all flags are reset, except PIN, which is set. Also functions as strobe output.
VDD
−
supply voltage
1997 Oct 21
5
Philips Semiconductors
Product specification
I2C-bus controller
PCF8584
Table 1 Control signals utilized by the PCF8584 for
microcontroller/microprocessor interfacing
TYPE
R/W
WR
R
DTACK IACK
8048/
8051
no
yes
yes
no
no
handbook, halfpage
V
20
1
2
CLK
DD
68000
Z80
yes
no
no
no
yes
no
yes
yes
SDA or SDA OUT
19 RESET / STROBE
(1)
yes
yes
SCL or SCL IN
IACK or SDA IN
INT or SCL OUT
A0
3
18
WR (R/W)
4
17 CS
The structure of the PCF8584 is similar to that of the
I2C-bus interface section of the Philips’
(1)
16
15
5
RD (DTACK)
DB7
PCF8584
MABXXXX/PCF84(C)XX-series of microcontrollers, but
with a modified control structure. The PCF8584 has five
internal register locations. Three of these (own address
register S0', clock register S2 and interrupt vector S3) are
used for initialization of the PCF8584. Normally they are
only written once directly after resetting of the PCF8584.
6
7
14 DB6
13 DB5
DB0
DB1
8
DB2
9
12
DB4
V
10
11 DB3
SS
The remaining two registers function as double registers
(data buffer/shift register S0, and control/status
register S1) which are used during actual data
MLA012 - 1
transmission/reception. By using these double registers,
which are separately write and read accessible, overhead
for register access is reduced. Register S0 is a
combination of a shift register and data buffer.
(1) Pin mnemonics between parenthesis indicate the 68000 mode
pin designations.
Register S0 performs all serial-to-parallel interfacing with
the I2C-bus.
Fig.2 Pin configuration.
Register S1 contains I2C-bus status information required
for bus access and/or monitoring.
6
FUNCTIONAL DESCRIPTION
General
6.2
Interface Mode Control (IMC)
6.1
Selection of either an 80XX mode or 68000 mode
interface is achieved by detection of the first WR-CS signal
sequence. The concept takes advantage of the fact that
the write control input is common for both types of
interfaces. An 80XX-type interface is default. If a
HIGH-to-LOW transition of WR (R/W) is detected while CS
is HIGH, the 68000-type interface mode is selected and
the DTACK output is enabled. Care must be taken that WR
and CS are stable after reset.
The PCF8584 acts as an interface device between
standard high-speed parallel buses and the serial I2C-bus.
On the I2C-bus, it can act either as master or slave.
Bidirectional data transfer between the I2C-bus and the
parallel-bus microcontroller is carried out on a byte-wise
basis, using either an interrupt or polled handshake.
Interface to either 80XX-type (e.g. 8048, 8051, Z80) or
68000-type buses is possible. Selection of bus type is
automatically performed (see Section 6.2).
1997 Oct 21
6
Philips Semiconductors
Product specification
I2C-bus controller
PCF8584
2
I C-bus
SCL
(1.5 MHz)
DIVIDER
ENRD
SIO DIVIDER
(S21 and S20)
(S24, S23, S22)
/2, 3, 4, 5, 8
FILTER
t = 16CLK
MBE706
RESET
CS
A0
WR/
RD/
INT
IACK
CLK
STROBE
R/W DTACK
(50 : 50)
mode locked
mode select
R/W
CS
(1)
DTACK
WR
mode select
(2)
CS
MBE707
(1) Bus timing; 68000 mode write cycle.
(2) Bus timing; 80XX mode.
Fig.3 68000/80XX timing sequence utilized by the Interface Mode Control (IMC).
7
1997 Oct 21
Philips Semiconductors
Product specification
I2C-bus controller
PCF8584
Programming of S2 is accomplished via the parallel-bus
when A0 = LOW, with the appropriate bit combinations set
in control status register S1 (S1 is written when
A0 = HIGH). Bit combinations for accessing all registers
are given in Table 5.
6.3
Set-up registers S0', S2 and S3
Registers S0', S2 and S3 are used for initialization of the
PCF8584 (see Fig.5 ‘Initialization sequence’ flowchart).
6.4
Own address register S0'
Table 3 Register S2 selection of clock frequency
When the PCF8584 is addressed as slave, this register
must be loaded with the 7-bit I2C-bus address to which the
PCF8584 is to respond. During initialization, the own
address register S0' must be written to, regardless
whether it is later used. The Addressed As Slave (AAS) bit
in status register S1 is set when this address is received
(the value in S0 is compared with the value in S0'). Note
that the S0 and S0' registers are offset by one bit; hence,
programming the own address register S0' with a value of
55H will result in the value AAH being recognized as the
PCF8584’s slave address (see Fig.1).
INTERNAL CLOCK FREQUENCY
S24
S23
S22
fclk (MHz)
0
1
1
1
1
X(1)
0
X(1)
0
3
4.43
6
0
1
1
0
8
1
1
12
Note
1. X = don’t care.
Programming of S0' is accomplished via the parallel-bus
when A0 is LOW, with the appropriate bit combinations set
in control status register S1 (S1 is written when
pin A0 = HIGH). Bit combinations for accessing all
registers are given in Table 5. After reset, S0' has default
address 00H (PCF8584 is thus initially in monitor mode,
see Section 6.12.3).
6.6
Interrupt vector S3
The interrupt vector register provides an 8-bit
user-programmable vector for vectored-interrupt
microcontrollers. The vector is sent to the bus port
(DB7 to DB0) when an interrupt acknowledge signal is
asserted and the ENI (enable interrupt) flag is set. Default
vector values are:
6.5
Clock register S2
Register S2 provides control over chip clock frequency
and SCL clock frequency. S20 and S21 provide a selection
of 4 different I2C-bus SCL frequencies which are shown in
Table 2. Note that these SCL frequencies are only
obtained when bits S24, S23 and S22 are programmed to
the correct input clock frequency (fclk).
• Vector is ‘00H’ in 80XX mode
• Vector is ‘0FH’ in 68000 mode.
On reset the PCF8584 is in the 80XX mode, thus the
default interrupt vector is ‘00H’.
Table 2 Register S2 selection of SCL frequency
6.7
Data shift register/read buffer S0
Register S0 acts as serial shift register and read buffer
interfacing to the I2C-bus. All read and write operations
to/from the I2C-bus are done via this register. S0 is a
combination of a shift register and a data buffer; parallel
data is always written to the shift register, and read from
the data buffer. I2C-bus data is always shifted in or out of
shift register S0.
BIT
APPROXIMATE SCL
FREQUENCY fSCL (kHz)
S21
S20
0
0
1
1
0
1
0
1
90
45
11
1.5
S22, S23 and S24 are used for control of the internal clock
prescaler. Due to the possibility of varying microcontroller
clock signals, the prescaler can be programmed to adapt
to 5 different clock rates, thus providing a constant internal
clock. This is required to provide a stable time base for the
SCL generator and the digital filters associated with the
I2C-bus signals SCL and SDA. Selection for adaption to
external clock rates is shown in Table 3.
1997 Oct 21
8
Philips Semiconductors
Product specification
I2C-bus controller
PCF8584
to/from microcontroller parallel bus
DB5 DB4 DB3 DB2 DB1
a
DB7
DB6
DB0
Read
only
Read Buffer
Data Shift Register S0 and Read Buffer
Shift register
Write
only
to/from
2
I C-Bus SDA line
MBE705
Fig.4 Data shift register/bus buffer S0.
In receiver mode the data from the shift register is copied to the read buffer during the acknowledge phase. Further
reception of data is inhibited (SCL held LOW) until the S0 read buffer is read (see Section 6.8.1.1).
In the transmitter mode data is transmitted to the I2C-bus as soon as it is written to the S0 shift register if the serial I/O is
enabled (ESO = 1).
Remarks:
1. A minimum of 6 clock cycles must elapse between consecutive parallel-bus accesses to the PCF8584 when the
I2C-bus controller operates at 8 or 12 MHz. This may be reduced to 3 clock cycles for lower operating frequencies.
2. To start a read operation immediately after a write, it is necessary to read the S0 read buffer in order to invoke
reception of the first byte (‘dummy read’ of the address). Immediately after the acknowledgement, this first byte will
be transferred from the shift register to the read buffer. The next read will then transfer the correct value of the first
byte to the microcontroller bus (see Fig.7).
6.8
Control/status register S1
Register S1 controls I2C-bus operation and provides I2C-bus status information. Register S1 is accessed by a HIGH
signal on register select input A0. For more efficient communication between microcontroller/processor and the I2C-bus,
register S1 has separate read and write functions for all bit positions (see Fig.3). The write-only section provides register
access control and control over I2C-bus signals, while the read-only section provides I2C-bus status information.
Table 4 Control/status register S1
CONTROL/STATUS
Control(1)
BITS
MODE
PIN
PIN
ESO
0(3)
ES1
STS
ES2
BER
ENI
AD0/LRB
STA
AAS
STO
LAB
ACK
BB
write only
read only
Status(2)
Notes
1. For further information see Section 6.8.1.
2. For further information see Section 6.8.2.
3. Logic 1 if not-initialized.
1997 Oct 21
9
Philips Semiconductors
Product specification
I2C-bus controller
PCF8584
6.8.1
REGISTER S1 CONTROL SECTION
The write-only section of S1 enables access to registers S0, S0', S1, S2 and S3, and controls I2C-bus operation; see
Table 4.
6.8.1.1
PIN (Pending Interrupt Not)
When the PIN bit is written with a logic 1, all status bits are reset to logic 0. This may serve as a software reset function
(see Figs 5 to 9). PIN is the only bit in S1 which may be both read and written to. PIN is mostly used as a status bit for
synchronizing serial communication, see Section 6.8.2.
6.8.1.2
ESO (Enable Serial Output)
ESO enables or disables the serial I2C-bus I/O. When ESO is LOW, register access for initialization is possible. When
ESO is HIGH, I2C-bus communication is enabled; communication with serial shift register S0 is enabled and the S1 bus
status bits are made available for reading.
Table 5 Register access control; ESO = 0 (serial interface off) and ESO = 1 (serial interface on)
INTERNAL REGISTER ADDRESSING 2-WIRE MODE
A0
ES1
ES2
IACK
FUNCTION
ESO = 0; serial interface off (see note 1)
1
0
0
0
0
0
0
1
X
0
1
0
1(2)
1(2)
1(2)
1(2)
R/W S1: control
R/W S0': (own address)
R/W S3: (interrupt vector)
R/W S2: (clock register)
ESO = 1; serial interface on
1
1
0
0
X
0
0
0
0
0
X
X
0
1
1
1
1
0
W S1: control
R S1; status
R/W S0: (data)
1
R/W S3: (interrupt vector)
R S3: (interrupt vector ACK cycle))
X
Notes
1. With ESO = 0, bits ENI, STA, STO and ACK of S1 can be read for test purposes.
2. ‘X’ if ENI = 0.
6.8.1.3
ES1 and ES2
ES1 and ES2 control selection of other registers for initialization and control of normal operation. After these bits are
programmed for access to the desired register (shown in Table 5), the register is selected by a logic LOW level on
register select pin A0.
6.8.1.4
ENI
This bit enables the external interrupt output INT, which is generated when the PIN bit is active (logic 0).
This bit must be set to logic 0 before entering the long-distance mode, and remain at logic 0 during operation in
long-distance mode.
1997 Oct 21
10
Philips Semiconductors
Product specification
I2C-bus controller
PCF8584
6.8.1.5
STA and STO
These bits control the generation of the I2C-bus START condition and transmission of slave address and R/W bit,
generation of repeated START condition, and generation of the STOP condition (see Table 7).
Table 6 Register access control; ESO = 1 (serial interface on) and ES1 = 1; long-distance (4-wire) mode; note 1
INTERNAL REGISTER ADDRESSING: LONG-DISTANCE (4-WIRE) MODE
A0
ES1
ES2
IACK
FUNCTION
1
1
0
1
1
1
X
X
X
1
X
X
W S1: control
R S1; status
R/W S0; (data)
Note
1. Trying to read from or write to registers other than S0 and S1 (setting ESO = 0) brings the PCF8584 out of the
long-distance mode.
Table 7 Instruction table for serial bus control
PRESENT
MODE
STA
STO
FUNCTION
OPERATION
1
0
SLV/REC
START
transmit START + address, remain
MST/TRM if R/W = 0;
go to MST/REC if R/W = 1
1
0
1
0
0
1
1
0
MST/TRM
REPEAT
START
same as for SLV/REC
MST/REC;
MST/TRM
STOP READ; transmit STOP go to SLV/REC mode; note 1
STOP WRITE
MST
DATA
CHAINING
send STOP, START and address after last
master frame without STOP sent; note 2
ANY
NOP
no operation; note 3
Notes
1. In master receiver mode, the last byte must be terminated with ACK bit HIGH (‘negative acknowledge’).
2. If both STA and STO are set HIGH simultaneously in master mode, a STOP condition followed by a START
condition + address will be generated. This allows ‘chaining’ of transmissions without relinquishing bus control.
3. All other STA and STO mode combinations not mentioned in Table 7 are NOPs.
6.8.1.6
ACK
This bit must be set normally to a logic 1. This causes the I2C-bus controller to send an acknowledge automatically after
each byte (this occurs during the 9th clock pulse). The bit must be reset (to logic 0) when the I2C-bus controller is
operating in master/receiver mode and requires no further data to be sent from the slave transmitter. This causes a
negative acknowledge on the I2C-bus, which halts further transmission from the slave device.
6.8.2
REGISTER S1 STATUS SECTION
The read-only section of S1 enables access to I2C-bus status information; see Table 4.
1997 Oct 21
11
Philips Semiconductors
Product specification
I2C-bus controller
PCF8584
• In receiver mode, PIN is set to logic 0 (active) on
6.8.2.1
PIN bit
completion of each received byte. Subsequently, the
SCL line will be held LOW until PIN is set to logic 1.
‘Pending Interrupt Not’ (MSB of register S1) is a status flag
which is used to synchronize serial communication and is
set to logic 0 whenever the PCF8584 requires servicing.
The PIN bit is normally read in polled applications to
determine when an I2C-bus byte transmission/reception is
completed. The PIN bit may also be written, see
Section 6.8.1.
• In receiver mode, when register S0 is read, PIN is set to
logic 1 (inactive).
• In slave receiver mode, an I2C-bus STOP condition will
set PIN = 0 (active).
• PIN = 0 if a bus error (BER) occurs.
Each time a serial data transmission is initiated (by setting
the STA bit in the same register), the PIN bit will be set to
logic 1 automatically (inactive). When acting as
transmitter, PIN is also set to logic 1 (inactive) each time
S0 is written. In receiver mode, the PIN bit is automatically
set to logic 1 (inactive) each time the data register S0 is
read.
6.8.2.2
STS
When in slave receiver mode, this flag is asserted when an
externally generated STOP condition is detected (used
only in slave receiver mode).
6.8.2.3
BER
After transmission or reception of one byte on the I2C-bus
(9 clock pulses, including acknowledge), the PIN bit will be
automatically reset to logic 0 (active) indicating a complete
byte transmission/reception. When the PIN bit is
subsequently set to logic 1 (inactive), all status bits will be
reset to logic 0. PIN is also set to zero on a BER (bus error)
condition.
Bus error; a misplaced START or STOP condition has
been detected. Resets BB (to logic 1; inactive), sets
PIN = 0 (active).
6.8.2.4
LRB/AD0
‘Last Received Bit’ or ‘Address 0 (General Call) bit’. This
status bit serves a dual function, and is valid only while
PIN = 0:
In polled applications, the PIN bit is tested to determine
when a serial transmission/reception has been completed.
When the ENI bit (bit 4 of write-only section of register S1)
is also set to logic 1 the hardware interrupt is enabled.
In this case, the PIN flag also triggers an external interrupt
(active LOW) via the INT output each time PIN is reset to
logic 0 (active).
1. LRB holds the value of the last received bit over the
I2C-bus while AAS = 0 (not addressed as slave).
Normally this will be the value of the slave
acknowledgement; thus checking for slave
acknowledgement is done via testing of the LRB.
2. AD0; when AAS = 1 (‘Addressed As Slave’ condition),
the I2C-bus controller has been addressed as a slave.
Under this condition, this bit becomes the ‘AD0’ bit and
will be set to logic 1 if the slave address received was
the ‘general call’ (00H) address, or logic 0 if it was the
I2C-bus controller’s own slave address.
When acting as slave transmitter or slave receiver, while
PIN = 0, the PCF8584 will suspend I2C-bus transmission
by holding the SCL line LOW until the PIN bit is set to
logic 1 (inactive). This prevents further data from being
transmitted or received until the current data byte in S0 has
been read (when acting as slave receiver) or the next data
byte is written to S0 (when acting as slave transmitter).
6.8.2.5
AAS
PIN bit summary:
‘Addressed As Slave’ bit. Valid only when PIN = 0. When
acting as slave receiver, this flag is set when an incoming
address over the I2C-bus matches the value in own
address register S0' (shifted by one bit, see Section 6.4),
or if the I2C-bus ‘General Call’ address (00H) has been
received (‘General Call’ is indicated when AD0 status bit is
also set to logic 1, see Section 6.8.2.4).
• The PIN bit can be used in polled applications to test
when a serial transmission has been completed. When
the ENI bit is also set, the PIN flag sets the external
interrupt via the INT output.
• Setting the STA bit (start bit) will set PIN = 1 (inactive).
• In transmitter mode, after successful transmission of
one byte on the I2C-bus the PIN bit will be automatically
reset to logic 0 (active) indicating a complete byte
transmission.
6.8.2.6
LAB
‘Lost Arbitration’ Bit. This bit is set when, in multi-master
operation, arbitration is lost to another master on the
I2C-bus.
• In transmitter mode, PIN is set to logic 1 (inactive) each
time register S0 is written.
1997 Oct 21
12
Philips Semiconductors
Product specification
I2C-bus controller
PCF8584
6.8.2.7
BB
6.11.1 DELETED FUNCTIONS
‘Bus Busy’ bit. This is a read-only flag indicating when the
I2C-bus is in use. A zero indicates that the bus is busy, and
access is not possible. This bit is set/reset (logic 1/logic 0)
by STOP/START conditions.
The following functions are not available in the PCF8584:
• Always selected (ALS flag)
• Access to the bit counter (BC0 to BC2)
• Full SCL frequency selection (2 bits instead of 5 bits)
• The non-acknowledge mode (ACK flag)
• Asymmetrical clock (ASC flag).
6.9
Multi-master operation
To avoid conflict between data and repeated START and
STOP operations, multi-master systems have some
limitations:
6.11.2 ADDED FUNCTIONS
• When powering up multiple PCF8584s in multi-master
systems, the possibility exists that one node may power
up slightly after another node has already begun an
I2C-bus transmission; the Bus Busy condition will thus
not have been detected. To avoid this condition, a delay
should be introduced in the initialization sequence of
each PCF8584 equal to the longest I2C-bus
transmission, see flowchart ‘PCF8584 initialization’
(Fig.5).
The following functions either replace the deleted
functions or are completely new:
• Chip clock prescaler
• Assert acknowledge bit (ACK flag)
• Register selection bits (ES1 and ES2 flags)
• Additional status flags (BER, ‘bus error’)
• Automatic interface control between 80XX and
68000-type microcontrollers
• Programmable interrupt vector
• Strobe generator
6.10 Reset
A LOW level pulse on the RESET (CLK must run) input
forces the I2C-bus controller into a well-defined state.
All flags in S1 are reset to logic 0, except the PIN flag and
the BB flag, which are set to logic 1. S0' and S3 are set
to 00H.
• Bus monitor function
• Long-distance mode [non-I2C-bus mode (4-wire); only
for communication between parallel-bus processors
using the PCF8584 at each interface point].
The RESET pin is also used for the STROBE output
signal. Both functions are separated on-chip by a digital
filter. The reset input signal has to be sufficiently long
(minimum 30 clock cycles) to pass through the filter.
The STROBE output signal is sufficiently short (8 clock
cycles) to be blocked by the filter. For more detailed
information on the strobe function see Section 6.12.
6.12 Special function modes
6.12.1 STROBE
When the I2C-bus controller receives its own address (or
the ‘00H’ general call address) followed immediately by a
STOP condition (i.e. no further data transmitted after the
address), a strobe output signal is generated at the
RESET/STROBE pin (pin 19). The STROBE signal
consists of a monostable output pulse (active LOW),
8 clock cycles long (see Fig.9). It is generated after the
STOP condition is received, preceded by the correct slave
address. This output can be used as a bus access
controller for multi-master parallel-bus systems.
6.11 Comparison to the MAB8400 I2C-bus interface
The structure of the PCF8584 is similar to that of the
MAB8400 series of microcontrollers, but with a modified
control structure. Access to all I2C-bus control and status
registers is done via the parallel-bus port in conjunction
with register select input A0, and control bits ESO, ES1
and ES2.
1997 Oct 21
13
Philips Semiconductors
Product specification
I2C-bus controller
PCF8584
• The controller is always selected.
6.12.2 LONG-DISTANCE MODE
• The controller is always in the slave receiver mode.
• The controller never generates an acknowledge.
• The controller never generates an interrupt request.
• A pending interrupt condition does not force SCL LOW.
The long-distance mode provides the possibility of
longer-distance serial communication between parallel
processors via two I2C-bus controllers. This mode is
selected by setting ES1 to logic 1 while the serial interface
is enabled (ESO = 1).
• BB is set to logic 0 after detection of a START condition,
and reset to logic 1 after a STOP condition.
In this mode the I2C-bus protocol is transmitted over
4 unidirectional lines, SDA OUT, SCL IN, SDA IN and
SCL IN (pins 2, 3, 4 and 5). These communication lines
should be connected to line drivers/receivers
• Received data is automatically transferred to the read
buffer.
(example: RS422) for long-distance applications.
Hardware characteristics for long-distance transmission
are then given by the chosen standard. Control of data
transmission is the same as in normal I2C-bus mode. After
reading or writing data to shift register S0, long-distance
mode must be initialized by setting ESO and ES1 to
logic 1. Because the interrupt output INT is not available in
this operating mode, synchronization of data
• Bus traffic is monitored by the PIN bit, which is reset to
logic 0 after the acknowledge bit of an incoming byte has
been received, and is set to logic 1 as soon as the first
bit of the next incoming byte is detected. Reading the
data buffer S0 sets the PIN bit to logic 1. Data in the read
buffer is valid from PIN = 0 and during the next 8 clock
pulses (until next acknowledge).
• AAS is set to logic 1 at every START condition, and
reset at every 9th clock pulse.
transmission/reception must be polled via the PIN bit.
Remarks:
Before entering the long-distance mode, ENI must be
set to logic 0.
7
SOFTWARE FLOWCHART EXAMPLES
Initialization
7.1
When powering up an PCF8584-node in long-distance
mode, the PCF8584 must be isolated from the 4-wire
bus via 3-state line drivers/receivers until the PCF8584
is properly initialized for long-distance mode. Failure to
implement this precaution will result in system
malfunction.
The flowchart of Fig.5 gives an example of a proper
initialization sequence of the PCF8584.
7.2
Implementation
The flowcharts (Figs 6 to 9) illustrate proper programming
sequences for implementing master transmitter, master
receive, and master transmitter, repeated start and master
receiver modes in polled applications.
6.12.3 MONITOR MODE
When the 7-bit own address register S0' is loaded with all
zeros, the I2C-bus controller acts as a passive I2C monitor.
The main features of the monitor mode are:
1997 Oct 21
14
Philips Semiconductors
Product specification
I2C-bus controller
PCF8584
A0 = HIGH enables data transfer to/from
register S1
A0 = LOW Access to all other registers
defined by the bit pattern in
register S1
START
power-on
address line A0
reset minimum
30 clock cycles
PCF8584 resets to
slave receiver mode
A0 = HIGH
A0 = LOW
A0 = HIGH
A0 = LOW
A0 = HIGH
Loads byte 80H into register S1'
i.e. next byte will be loaded into register S0'
(own address register); serial interface off.
send byte 80H
send byte 55H
send byte A0H
send byte 1CH
parallel bus interface
determined by
PCF8584 (80XX/68XXX)
Loads byte 55H into register S0';
effective own address becomes AAH.
Loads byte A0H into register S1, i.e. next byte
will be loaded into the clock control register S2.
Loads byte 1CH into register S2;
system clock is 12 MHz; SCL = 90 kHz.
Loads byte C1H into register S1; register enable
serial interface, set I C-bus into idle mode;
2
send byte C1H
SDA and SCL are HIGH. The next write or read
operation will be to/from data transfer register
S0 if A0 = LOW.
delay: wait a time
2
equal to the longest I C
message to synchronize
BB-bit. (multimaster
systems only
On power-on, if an PCF8584 node is powered-up
slightly after another node has already begun an
2
I C-bus transmission, the bus busy condition will
not have been detected. Thus, introducing this
delay will insure that this condition will not occur.
initialization of
PCF8584 completed
END
MBE714
Fig.5 PCF8584 initialization sequence.
15
1997 Oct 21
Philips Semiconductors
Product specification
I2C-bus controller
PCF8584
START
h
A0 = HIGH
read byte from S1 register
is bus busy?
(BB = 0?)
yes
no
A0 = LOW
A0 = HIGH
Load 'slave address' into S0 register:
'slave address' = value of slave address
(7-bits + R/W = 0). After reset, default = '0'
send byte 'slave address'
Load C5H into S1. 'C5H' = PCF8584 generates
the 'START' condition and clocks out the slave
send C5H to control
register S1
PCF8584 remains in
master transmitter
mode if R/W bit of
'slave address' = 0
address and the clock pulse for slave acknowledgement.
Next byte(s) sent to the S0 register will be immediately
2
transferred over the I C-bus.
n = 0 (data byte counter);
m = number of data bytes
to be transferred
A0 = HIGH
read byte from S1 register
Poll for transmission finished.
PIN bit = 0?
yes
no
slave
acknowledged?
(LRB = 0?)
yes
transmission
completed
n = m
yes
A0 = HIGH
no
send byte C3H
Load C3 into the S1 control
register: PCF8584 generates
'STOP' condition.
n = n + 1
A0 = LOW
send byte 'data'
PCF8584 goes into
slave receiver mode
Load 'data'
into bus
END
buffer register S0;
data is transmitted.
MBE715
Fig.6 PCF8584 master transmitter mode.
16
1997 Oct 21
Philips Semiconductors
Product specification
I2C-bus controller
PCF8584
START
A0 = LOW
Load 'Slave Address' into S0 register:
'Slave Address' = 7 bits + R/W = 1.
send byte 'slave address' to S0
A0 = HIGH
read byte from S1 status register
yes
is bus busy?
(BB = 0?)
2
Is the I C-bus busy?
no A0 = HIGH
PCF8584 generates 'START' condition,
sends out slave address + RD to I C-bus and
2
send byte C5H to S1 control register
generates 9th clock pulse for slave ACK.
n = 0 (data byte counter)
m = number of data bytes
to be read
Set-up software counters.
A0 = HIGH
A0 = HIGH
Set ACK bit S1 to 0 in
preparation for negative
acknowledgement.
read byte from S1 status register
send byte 40H to control register S1
A0 = LOW
(1)
This command simultaneously
receives the final data byte
from the I C-bus and loads
read data byte from S0 register
no
2
PIN = 0?
A0 = HIGH
it into register S0.
Neg. ACK is also sent.
read byte from S1 status register
yes
slave ACK?
(LRB = 0?)
no
no
PIN = 0?
(an error
has occured)
yes
yes
A0 = HIGH
PCF8584 generates
'STOP' condition.
PCF8584 goes into
slave receiver mode.
n = n + 1
send byte C3H to S1
n = m − 1?
A0 = LOW
This command transfers
the final data byte from
read final data byte from S0 register
the data buffer to accumulator.
Because the STOP condition
was previously executed, no
A0 = LOW
(1)
END
read data byte from S0 register
2
I C-bus activity takes place.
MGL009
(1) The first read of the S0 register is a ‘dummy read’ of the slave address which should be discarded. The first read of the S0 register simultaneously
reads the current value of S0 and then transfers the first valid data byte from the I2C-bus to S0.
Fig.7 PCF8584 master receiver mode.
1997 Oct 21
17
Philips Semiconductors
Product specification
I2C-bus controller
PCF8584
n
START
2
I C-bus write routine
(master transmitter mode
excluding final STOP)
PCF8584 configured as
master transmitter
Load 45H into the S1 register; PCF8584
generates the repeated 'START condition' only.
The current contents of register S0 is NOT
A0 = HIGH
A0 = LOW
send byte 45H
2
clocked out onto the I C-bus.
The next byte sent to register S0 should be the
'slave address' + read bit.
Load 'slave address' into the S0 register. Once
loaded, it is automatically clocked out over the I C-bus.
2
send byte 'slave address'
PCF8584 configured as
master receiver
'Slave address' = slave address (7 bits) + R/W bit set '1'.
2
I C-bus read routine (master receiver mode)
END
MBE712
Fig.8 Master transmitter followed by repeated START and becoming master receiver.
1997 Oct 21
18
Philips Semiconductors
Product specification
I2C-bus controller
PCF8584
START
A0 = HIGH
read byte from S1 register
Check whether
'addressed as slave'
addressed as slave
(AAS = 1?)
no
yes
Check that 'own address'
has arrived correctly
read byte from S1 register
PIN bit = 0?
no
Read incoming address to
determine if the R/W bit is 0 or 1
This will differentiate between
slave receiver or slave
yes
A0 = LOW
R/W = 0
read byte from S0 register
transmitter modes.
R/W = 1
read or write?
(LSB = 1 or 0?)
SLAVE
TRANSMITTER
MODE
SLAVE
RECEIVER
MODE
A0 = HIGH
read byte from S1 register
read byte from S1 register
PIN bit = 0?
yes
PIN bit = 0?
yes
no
no
negative
ACK received?
(LRB = 1?)
STOP detected?
(STS = 1?)
yes
yes
A0 = LOW
no
no
write data to S0 register
read data from S0 register
write last data byte
to S0 register
read last data byte
from S0 register
PIN deactivated
(set to '1')
PCF8584 goes into
slave receiver
mode
END
TX
END
RX
MBE713
Fig.9 Slave receiver/slave transmitter modes.
19
1997 Oct 21
Philips Semiconductors
Product specification
I2C-bus controller
PCF8584
8
I2C-BUS TIMING DIAGRAMS
The diagrams (Figs 10 to 13) illustrate typical timing diagrams for the PCF8584 in master/slave functions. For detailed
description of the I2C-bus protocol, please refer to “The I2C-bus and how to use it”; Philips document
ordering number 9398 393 40011.
SDA
SCL
INT
7-bit address (76H)
R/W = 0
ACK
interrupt
first-byte (E4H)
interrupt
nbyte
interrupt
START
ACK
ACK
STOP
condition
condition
MBE709
from slave receiver
Master PCF8584 writes data to slave transmitter.
Fig.10 Bus timing diagram; master transmitter mode.
SDA
SCL
INT
7-bit address (76H)
R/W = 1
interrupt
first-byte (discard)
interrupt
ACK
nbyte
START
condition
ACK
no ACK
STOP
condition
'DUMMY READ'
must be executed here
from master
receiver
MBE710
from slave
Master PCF8584 reads data from slave transmitter.
Fig.11 Bus timing diagram; master receiver mode.
20
1997 Oct 21
Philips Semiconductors
Product specification
I2C-bus controller
PCF8584
SDA
SCL
INT
7-bit address (0CH)
interrupt
first-byte: 1FH
interrupt
ACK
nbyte
interrupt
R/W = 1
START
condition
ACK
no ACK
STOP
condition
from master
receiver
MBE711
from slave PCF8584
External master receiver reads data from PCF8584.
Fig.12 Bus timing diagram; slave transmitter mode.
SDA
SCL
INT
interrupt
(after STOP)
7-bit address (62H)
R/W = 0
interrupt
first-byte (CCH)
interrupt
nbyte
interrupt
START
condition
ACK
ACK
ACK
STOP
condition
MBE708
from slave PCF8584
Slave PCF8584 is written to by external master transmitter.
Fig.13 Bus timing diagram; slave receiver mode.
21
1997 Oct 21
Philips Semiconductors
Product specification
I2C-bus controller
PCF8584
9
LIMITING VALUES
In accordance with the Absolute Maximum Rating System (IEC 134).
SYMBOL
PARAMETER
MIN.
−0.3
MAX.
+7.0
UNIT
VDD
VI
supply voltage
V
V
voltage range (any input)
DC input current (any input)
−0.8
−10
−10
−
VDD + 0.5
+10
II
mA
mA
mW
mW
°C
IO
DC output current (any output)
total power dissipation
+10
Ptot
PO
Tamb
Tstg
300
power dissipation per output
operating ambient temperature
storage temperature
−
50
−40
−65
+85
+150
°C
10 HANDLING
Inputs and outputs are protected against electrostatic discharge in normal handling. However, to be totally safe, it is good
practice to take normal precautions appropriate to handling MOS devices (see “Handling MOS Devices”).
1997 Oct 21
22
Philips Semiconductors
Product specification
I2C-bus controller
PCF8584
11 DC CHARACTERISTICS
VDD = 5 V ±10%; Tamb = −40 to +85 °C; unless otherwise specified.
SYMBOL PARAMETER CONDITIONS
MIN.
TYP.
MAX.
UNIT
Supply
VDD
IDD
supply voltage
supply current
4.5
5.0
5.5
V
standby; note 1
operating; notes 1 and 2
−
−
−
−
2.5
1.5
µA
mA
Inputs
CLK, IACK, A0, CS, WR, RD, RESET AND D0 to D7
VIL
VIH
LOW level input voltage
HIGH level input voltage
note 3
note 3
0
−
−
0.8
V
V
2.0
VDD
SDA AND SCL
VIL
VIH
Ri
LOW level input voltage
note 4
0
−
−
−
0.3VDD
VDD
V
HIGH level input voltage
resistance to VDD
note 4
0.7VDD
25
V
Tamb = 25 °C; note 5
100
kΩ
Outputs
IOH
IOL
IOL
HIGH level output current
LOW level output current
leakage current
VOH = 2.4 V; note 6 and 7
VOL = 0.4 V; note 6
note 8
−2.4
3.0
−1
−
−
−
−
mA
mA
µA
−
+1
Notes
1. Test conditions: 22 kΩ pull-up resistors on D0 to D7; 10 kΩ pull-up resistors on SDA, SCL, RD; RESET connected
to VSS; remaining pins open-circuit.
2. CLK waveform of 12 MHz with 50% duty factor.
3. CLK, IACK, A0, CS, WR, RD, RESET and D0 to D7 are TTL level inputs.
4. SDA and SCL are CMOS level inputs.
5. CLK, IACK, A0, CS and WR.
6. D0 to D7.
7. DTACK, STROBE.
8. D0 to D7 3-state, SDA, SCL, INT, RD, RESET.
1997 Oct 21
23
Philips Semiconductors
Product specification
I2C-bus controller
PCF8584
12 I2C-BUS TIMING SPECIFICATIONS
All the timing limits are valid within the operating supply voltage and ambient temperature range; VDD = 5 V ±10%;
Tamb = −40 to +85 °C; and refer to VIL and VIH with an input voltage of VSS to VDD.
SYMBOL
PARAMETER
SCL clock frequency
MIN.
TYP.
MAX.
100
UNIT
fSCL
−
−
−
−
−
−
−
−
−
−
−
−
−
−
−
kHz
ns
µs
µs
µs
µs
µs
µs
µs
ns
ns
µs
µs
tSW
tolerable spike width on bus
bus free time
100
−
tBUF
4.7
4.7
4.0
4.7
4.0
−
tSU;STA
tHD;STA
tLOW
tHIGH
tr
START condition set-up time
START condition hold time
SCL LOW time
−
−
−
SCL HIGH time
−
SCL and SDA rise time
SCL and SDA fall time
data set-up time
1.0
0.3
−
tf
−
tSU;DAT
tHD;DAT
tVD;DAT
tSU;STO
250
0
data hold time
−
SCL LOW to data out valid
STOP condition set-up time
−
3.4
−
4.0
13 PARALLEL INTERFACE TIMING
All the timing limits are valid within the operating supply voltage and ambient temperature range: VDD = 5 V ±10%;
Tamb = −40 to +85 °C; and refer to VIL and VIH with an input voltage of VSS to VDD. CL = 100 pF; RL = 1.5 kΩ
(connected to VDD) for open-drain and high-impedance outputs, where applicable (for measurement purposes only).
SYMBOL
tr
PARAMETER
clock rise time
CONDITIONS
see Fig.14
MIN.
TYP.
MAX.
UNIT
ns
−
−
−
−
6
6
tf
clock fall time
see Fig.14
see Fig.14
−
ns
ns
tCLK
input clock period
83
333
(50% ±5% duty factor)
tCLRL
tCLWL
tRHCH
tWHCH
tAVWL
tAVRL
tWHAI
tRHAI
CS set-up to RD LOW
CS set-up to WR LOW
CS hold from RD HIGH
CS hold from WR HIGH
A0 set-up to WR LOW
A0 set-up to RD LOW
A0 hold from WR HIGH
A0 hold from RD HIGH
WR pulse width
see Fig.16 and note 1 20
see Fig.15 and note 1 20
−
−
ns
ns
ns
ns
ns
ns
ns
ns
ns
ns
ns
ns
ns
ns
−
−
see Fig.16
see Fig.15
see Fig.15
see Fig.16
see Fig.15
see Fig.16
see Fig.15
see Fig.16
see Fig.15
see Fig.16
see Fig.15
see Fig.16
0
−
−
0
−
−
10
10
20
10
−
−
−
−
−
−
−
−
tWLWH
tRLRH
tDVWH
tRLDV
tWHDI
tRHDF
230
230
150
−
−
1000
1000
−
RD pulse width
−
data set-up before WR HIGH
data valid after RD LOW
data hold after WR HIGH
−
160
−
180
−
20
−
data bus floating after RD
HIGH
−
150
1997 Oct 21
24
Philips Semiconductors
Product specification
I2C-bus controller
PCF8584
SYMBOL
PARAMETER
CONDITIONS
MIN.
TYP.
MAX.
UNIT
ns
tAVCL
tWLCL
tRHCL
tCLDV
tCLDL
tCHAI
tCHRL
tCHWH
tCHDF
tCHDE
tCHDI
tDVCL
tALIE
A0 set-up to CS LOW
see Figs 17 and 18
see Fig.17
10
10
10
−
−
−
−
R/WR set-up to CS LOW
R/WR set-up to CS LOW
data valid after CS LOW
DTACK LOW after CS LOW
A0 hold from CS HIGH
R/WR hold from CS HIGH
R/WR hold from CS HIGH
data bus float after CS HIGH
DTACK HIGH from CS HIGH
data hold after CS HIGH
data set-up to CS LOW
INT HIGH from IACK LOW
data valid after IACK LOW
IACK pulse width
−
ns
ns
ns
see Fig.18
−
see Fig.18 and note 2 −
160
180
see Figs 17 and 18
see Fig.18
−
0
0
0
−
−
0
0
−
−
2tCLK + 75
3tCLK + 150 ns
−
−
ns
ns
ns
ns
see Fig.18
−
−
see Fig.17
−
−
see Fig.18
−
150
120
−
see Figs 17 and 18
see Fig.17
100
ns
−
ns
ns
ns
ns
ns
ns
see Fig.17
−
−
see Figs 19 and 20
see Figs 19 and 20
see Fig.20
130
180
250
−
tALDV
tALAE
tAHDI
tALDL
tAHDE
tW4
200
230
−
data hold after IACK HIGH
see Fig.20
−
−
30
DTACK LOW from IACK LOW see Fig.20
DTACK HIGH from IACK HIGH see Fig.20
−
2tCLK + 75
120
3tCLK + 150 ns
−
140
−
ns
ns
ns
ns
RESET pulse width
STROBE pulse width
CS LOW
see Fig.21
30tCLK
8tCLK
−
−
tW5
see Fig.22
8tCLK + 90
tCLDL + tCHDE
−
tCLCL
see Figs 17 and 18
−
Notes
1. A minimum of 6 clock cycles must elapse between consecutive parallel-bus accesses when the I2C-bus controller
operates at 8 or 12 MHz. This may be reduced to 3 clock cycles for lower operating frequencies.
2. Not for S1.
1997 Oct 21
25
Philips Semiconductors
Product specification
I2C-bus controller
PCF8584
t
CLK
35.5 ns
min
35.5 ns
min
CLK
t
t
t
r
f
6 ns max
f
6 ns max
MLA013 - 1
Fig.14 Clock input timing.
CS
A0
t
t
WHCH
CLWL
t
t
WHAI
AVWL
WR
t
WLWH
DATA VALID
D0 to D7
t
DVWH
t
WHDI
MLA014 - 1
Fig.15 Bus timing (80XX mode); write cycle.
1997 Oct 21
26
Philips Semiconductors
Product specification
I2C-bus controller
PCF8584
CS
t
t
RHCH
CLRL
A0
t
t
AVRL
RHAI
RD
t
RLRH
DATA VALID
D0 to D7
t
t
RHDF
MLA015 - 1
RLDV
Fig.16 Bus timing (80XX mode); read cycle.
A0
t
t
CHAI
AVCL
WLCL
R/W
t
t
t
CLCL
CHWH
CS
D0 to D7
DATA VALID
t
t
DVCL
CHDI
DTACK
t
t
CHDE
CLDL
MLA017 - 1
Fig.17 Bus timing (68000 mode); write cycle.
27
1997 Oct 21
Philips Semiconductors
Product specification
I2C-bus controller
PCF8584
A0
t
t
CHAL
AVCL
RHCL
R/W
t
t
t
CHRL
CLCL
CS
D0 to D7
DATA VALID
t
t
CLDV
CHDF
DTACK
t
t
CHDE
CLDL
MLA016 - 1
Fig.18 Bus timing (68000 mode); read cycle.
t
ALIE
INT
t
ALAE
IACK
t
t
AHDI
ALDV
D0 to D7
DATA VALID
MLA018 - 1
Fig.19 Interrupt timing (80XX mode).
28
1997 Oct 21
Philips Semiconductors
Product specification
I2C-bus controller
PCF8584
t
ALIE
INT
t
ALAE
IACK
t
t
AHDI
ALDV
D0 to D7
DATA VALID
t
t
ALDL
AHDE
DTACK
MLA019 - 1
Fig.20 Interrupt timing (68000 mode).
CLK
RESET
MLA020 - 1
t
W4
Fig.21 Reset timing.
29
1997 Oct 21
Philips Semiconductors
Product specification
I2C-bus controller
PCF8584
CLK
STROBE
MLA021 - 1
t
W5
Fig.22 Strobe timing.
1997 Oct 21
30
Philips Semiconductors
Product specification
I2C-bus controller
PCF8584
14 APPLICATION INFORMATION
ADDRESS BUS
A0
DECODER
DATA
CS
ALE
SCL
SDA
8048/8051
PCF8584
RD
WR
INT
MBE704
Fig.23 Application diagram using the 8048/8051.
1997 Oct 21
31
Philips Semiconductors
Product specification
I2C-bus controller
PCF8584
AS
UDS
CS
DECODER
LDS
ADDRESS
A1
SCL
SDA
A1, A2, A3
IACK
INT
68000
FCX
IPX
INTERRUPT
HANDLER
PCF8584
R/W
DTACK
DATA
MBE702
Fig.24 Application diagram using the 68000.
1997 Oct 21
32
Philips Semiconductors
Product specification
I2C-bus controller
PCF8584
ADDRESS BUS
A0
DECODER
IOR
CS
ALE
SCL
SDA
8088
PCF8584
IOW
DATA
INTR
INT
IACK
MBE703
Fig.25 Application diagram using the 8088.
1997 Oct 21
33
Philips Semiconductors
Product specification
I2C-bus controller
PCF8584
Substrate
CLK
V
DD
1
2
20
19
18
17
16
15
SDA or SDA OUT
SCL or SCL IN
IACK or SDA IN
INT or SCL OUT
A0
RESET/STROBE
WR (R/W)
CS
3
4
5
RD (DTACK)
DB7
6
DB0
7
14 DB6
8
13
12
11
DB1
DB5
DB4
DB3
9
DB2
10
V
SS
(1)
MBE701
Maximum forward current: 5 mA; maximum reverse voltage: 5 V.
Fig.26 PCF8584 diode protection.
14.1 Application notes
Additional application notes are available from Philips Semiconductors:
1. AN95068: “C Routines for the PCF8584”.
2. AN96040: “Using the PCF8584 with non-specified timings and other frequently asked questions”.
3. AN90001: “Interfacing PCF8584 I2C-bus controller to 80(C)51 family of microcontrollers”.
1997 Oct 21
34
Philips Semiconductors
Product specification
I2C-bus controller
PCF8584
15 PACKAGE OUTLINES
DIP20: plastic dual in-line package; 20 leads (300 mil)
SOT146-1
D
M
E
A
2
A
A
1
L
c
e
w M
Z
b
1
(e )
1
b
M
H
20
11
pin 1 index
E
1
10
0
5
10 mm
scale
DIMENSIONS (inch dimensions are derived from the original mm dimensions)
(1)
A
A
A
(1)
(1)
Z
1
2
UNIT
mm
b
b
c
D
E
e
e
1
L
M
M
H
w
1
E
max.
min.
max.
max.
1.73
1.30
0.53
0.38
0.36
0.23
26.92
26.54
6.40
6.22
3.60
3.05
8.25
7.80
10.0
8.3
4.2
0.51
3.2
2.54
0.10
7.62
0.30
0.254
0.01
2.0
0.068
0.051
0.021
0.015
0.014
0.009
1.060
1.045
0.25
0.24
0.14
0.12
0.32
0.31
0.39
0.33
inches
0.17
0.020
0.13
0.078
Note
1. Plastic or metal protrusions of 0.25 mm maximum per side are not included.
REFERENCES
OUTLINE
EUROPEAN
PROJECTION
ISSUE DATE
VERSION
IEC
JEDEC
EIAJ
92-11-17
95-05-24
SOT146-1
SC603
1997 Oct 21
35
Philips Semiconductors
Product specification
I2C-bus controller
PCF8584
SO20: plastic small outline package; 20 leads; body width 7.5 mm
SOT163-1
D
E
A
X
c
y
H
E
v
M
A
Z
20
11
Q
A
2
A
(A )
3
A
1
pin 1 index
θ
L
p
L
1
10
w
detail X
e
M
b
p
0
5
10 mm
scale
DIMENSIONS (inch dimensions are derived from the original mm dimensions)
A
max.
(1)
(1)
(1)
UNIT
A
A
A
b
c
D
E
e
H
L
L
Q
v
w
y
θ
1
2
3
p
E
p
Z
0.30
0.10
2.45
2.25
0.49
0.36
0.32
0.23
13.0
12.6
7.6
7.4
10.65
10.00
1.1
0.4
1.1
1.0
0.9
0.4
mm
2.65
0.25
0.01
1.27
0.050
1.4
0.25 0.25
0.01
0.1
8o
0o
0.012 0.096
0.004 0.089
0.019 0.013 0.51
0.014 0.009 0.49
0.30
0.29
0.419
0.394
0.043 0.043
0.016 0.039
0.035
0.016
inches 0.10
0.055
0.01 0.004
Note
1. Plastic or metal protrusions of 0.15 mm maximum per side are not included.
REFERENCES
OUTLINE
EUROPEAN
PROJECTION
ISSUE DATE
VERSION
IEC
JEDEC
EIAJ
95-01-24
97-05-22
SOT163-1
075E04
MS-013AC
1997 Oct 21
36
Philips Semiconductors
Product specification
I2C-bus controller
PCF8584
Several techniques exist for reflowing; for example,
16 SOLDERING
thermal conduction by heated belt. Dwell times vary
between 50 and 300 seconds depending on heating
method. Typical reflow temperatures range from
215 to 250 °C.
16.1 Introduction
There is no soldering method that is ideal for all IC
packages. Wave soldering is often preferred when
through-hole and surface mounted components are mixed
on one printed-circuit board. However, wave soldering is
not always suitable for surface mounted ICs, or for
printed-circuits with high population densities. In these
situations reflow soldering is often used.
Preheating is necessary to dry the paste and evaporate
the binding agent. Preheating duration: 45 minutes at
45 °C.
16.3.2 WAVE SOLDERING
This text gives a very brief insight to a complex technology.
A more in-depth account of soldering ICs can be found in
our “IC Package Databook” (order code 9398 652 90011).
Wave soldering techniques can be used for all SO
packages if the following conditions are observed:
• A double-wave (a turbulent wave with high upward
pressure followed by a smooth laminar wave) soldering
technique should be used.
16.2 DIP
16.2.1 SOLDERING BY DIPPING OR BY WAVE
• The longitudinal axis of the package footprint must be
parallel to the solder flow.
The maximum permissible temperature of the solder is
260 °C; solder at this temperature must not be in contact
with the joint for more than 5 seconds. The total contact
time of successive solder waves must not exceed
5 seconds.
• The package footprint must incorporate solder thieves at
the downstream end.
During placement and before soldering, the package must
be fixed with a droplet of adhesive. The adhesive can be
applied by screen printing, pin transfer or syringe
dispensing. The package can be soldered after the
adhesive is cured.
The device may be mounted up to the seating plane, but
the temperature of the plastic body must not exceed the
specified maximum storage temperature (Tstg max). If the
printed-circuit board has been pre-heated, forced cooling
may be necessary immediately after soldering to keep the
temperature within the permissible limit.
Maximum permissible solder temperature is 260 °C, and
maximum duration of package immersion in solder is
10 seconds, if cooled to less than 150 °C within
6 seconds. Typical dwell time is 4 seconds at 250 °C.
16.2.2 REPAIRING SOLDERED JOINTS
A mildly-activated flux will eliminate the need for removal
of corrosive residues in most applications.
Apply a low voltage soldering iron (less than 24 V) to the
lead(s) of the package, below the seating plane or not
more than 2 mm above it. If the temperature of the
soldering iron bit is less than 300 °C it may remain in
contact for up to 10 seconds. If the bit temperature is
between 300 and 400 °C, contact may be up to 5 seconds.
16.3.3 REPAIRING SOLDERED JOINTS
Fix the component by first soldering two diagonally-
opposite end leads. Use only a low voltage soldering iron
(less than 24 V) applied to the flat part of the lead. Contact
time must be limited to 10 seconds at up to 300 °C. When
using a dedicated tool, all other leads can be soldered in
one operation within 2 to 5 seconds between
270 and 320 °C.
16.3 SO
16.3.1 REFLOW SOLDERING
Reflow soldering techniques are suitable for all SO
packages.
Reflow soldering requires solder paste (a suspension of
fine solder particles, flux and binding agent) to be applied
to the printed-circuit board by screen printing, stencilling or
pressure-syringe dispensing before package placement.
1997 Oct 21
37
Philips Semiconductors
Product specification
I2C-bus controller
PCF8584
17 DEFINITIONS
Data sheet status
Objective specification
Preliminary specification
Product specification
This data sheet contains target or goal specifications for product development.
This data sheet contains preliminary data; supplementary data may be published later.
This data sheet contains final product specifications.
Limiting values
Limiting values given are in accordance with the Absolute Maximum Rating System (IEC 134). 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
Where application information is given, it is advisory and does not form part of the specification.
18 LIFE SUPPORT APPLICATIONS
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 customers using or selling these products for
use in such applications do so at their own risk and agree to fully indemnify Philips for any damages resulting from such
improper use or sale.
19 PURCHASE OF PHILIPS I2C COMPONENTS
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 specification defined by
Philips. This specification can be ordered using the code 9398 393 40011.
1997 Oct 21
38
Philips Semiconductors
Product specification
I2C-bus controller
PCF8584
NOTES
1997 Oct 21
39
Philips Semiconductors – a worldwide company
Argentina: see South America
Netherlands: Postbus 90050, 5600 PB EINDHOVEN, Bldg. VB,
Tel. +31 40 27 82785, Fax. +31 40 27 88399
Australia: 34 Waterloo Road, NORTH RYDE, NSW 2113,
Tel. +61 2 9805 4455, Fax. +61 2 9805 4466
New Zealand: 2 Wagener Place, C.P.O. Box 1041, AUCKLAND,
Tel. +64 9 849 4160, Fax. +64 9 849 7811
Austria: Computerstr. 6, A-1101 WIEN, P.O. Box 213, Tel. +43 160 1010,
Fax. +43 160 101 1210
Norway: Box 1, Manglerud 0612, OSLO,
Tel. +47 22 74 8000, Fax. +47 22 74 8341
Belarus: Hotel Minsk Business Center, Bld. 3, r. 1211, Volodarski Str. 6,
220050 MINSK, Tel. +375 172 200 733, Fax. +375 172 200 773
Philippines: Philips Semiconductors Philippines Inc.,
106 Valero St. Salcedo Village, P.O. Box 2108 MCC, MAKATI,
Metro MANILA, Tel. +63 2 816 6380, Fax. +63 2 817 3474
Belgium: see The Netherlands
Brazil: see South America
Poland: Ul. Lukiska 10, PL 04-123 WARSZAWA,
Tel. +48 22 612 2831, Fax. +48 22 612 2327
Bulgaria: Philips Bulgaria Ltd., Energoproject, 15th floor,
51 James Bourchier Blvd., 1407 SOFIA,
Tel. +359 2 689 211, Fax. +359 2 689 102
Portugal: see Spain
Romania: see Italy
Canada: PHILIPS SEMICONDUCTORS/COMPONENTS,
Tel. +1 800 234 7381
Russia: Philips Russia, Ul. Usatcheva 35A, 119048 MOSCOW,
Tel. +7 095 755 6918, Fax. +7 095 755 6919
China/Hong Kong: 501 Hong Kong Industrial Technology Centre,
72 Tat Chee Avenue, Kowloon Tong, HONG KONG,
Tel. +852 2319 7888, Fax. +852 2319 7700
Singapore: Lorong 1, Toa Payoh, SINGAPORE 1231,
Tel. +65 350 2538, Fax. +65 251 6500
Colombia: see South America
Czech Republic: see Austria
Slovakia: see Austria
Slovenia: see Italy
Denmark: Prags Boulevard 80, PB 1919, DK-2300 COPENHAGEN S,
Tel. +45 32 88 2636, Fax. +45 31 57 0044
South Africa: S.A. PHILIPS Pty Ltd., 195-215 Main Road Martindale,
2092 JOHANNESBURG, P.O. Box 7430 Johannesburg 2000,
Tel. +27 11 470 5911, Fax. +27 11 470 5494
Finland: Sinikalliontie 3, FIN-02630 ESPOO,
Tel. +358 9 615800, Fax. +358 9 61580920
South America: Rua do Rocio 220, 5th floor, Suite 51,
04552-903 São Paulo, SÃO PAULO - SP, Brazil,
Tel. +55 11 821 2333, Fax. +55 11 829 1849
France: 4 Rue du Port-aux-Vins, BP317, 92156 SURESNES Cedex,
Tel. +33 1 40 99 6161, Fax. +33 1 40 99 6427
Spain: Balmes 22, 08007 BARCELONA,
Tel. +34 3 301 6312, Fax. +34 3 301 4107
Germany: Hammerbrookstraße 69, D-20097 HAMBURG,
Tel. +49 40 23 53 60, Fax. +49 40 23 536 300
Sweden: Kottbygatan 7, Akalla, S-16485 STOCKHOLM,
Tel. +46 8 632 2000, Fax. +46 8 632 2745
Greece: No. 15, 25th March Street, GR 17778 TAVROS/ATHENS,
Tel. +30 1 4894 339/239, Fax. +30 1 4814 240
Switzerland: Allmendstrasse 140, CH-8027 ZÜRICH,
Tel. +41 1 488 2686, Fax. +41 1 481 7730
Hungary: see Austria
India: Philips INDIA Ltd, Band Box Building, 2nd floor,
254-D, Dr. Annie Besant Road, Worli, MUMBAI 400 025,
Tel. +91 22 493 8541, Fax. +91 22 493 0966
Taiwan: Philips Semiconductors, 6F, No. 96, Chien Kuo N. Rd., Sec. 1,
TAIPEI, Taiwan Tel. +886 2 2134 2865, Fax. +886 2 2134 2874
Thailand: PHILIPS ELECTRONICS (THAILAND) Ltd.,
209/2 Sanpavuth-Bangna Road Prakanong, BANGKOK 10260,
Tel. +66 2 745 4090, Fax. +66 2 398 0793
Indonesia: see Singapore
Ireland: Newstead, Clonskeagh, DUBLIN 14,
Tel. +353 1 7640 000, Fax. +353 1 7640 200
Turkey: Talatpasa Cad. No. 5, 80640 GÜLTEPE/ISTANBUL,
Tel. +90 212 279 2770, Fax. +90 212 282 6707
Israel: RAPAC Electronics, 7 Kehilat Saloniki St, PO Box 18053,
TEL AVIV 61180, Tel. +972 3 645 0444, Fax. +972 3 649 1007
Ukraine: PHILIPS UKRAINE, 4 Patrice Lumumba str., Building B, Floor 7,
252042 KIEV, Tel. +380 44 264 2776, Fax. +380 44 268 0461
Italy: PHILIPS SEMICONDUCTORS, Piazza IV Novembre 3,
20124 MILANO, Tel. +39 2 6752 2531, Fax. +39 2 6752 2557
United Kingdom: Philips Semiconductors Ltd., 276 Bath Road, Hayes,
MIDDLESEX UB3 5BX, Tel. +44 181 730 5000, Fax. +44 181 754 8421
Japan: Philips Bldg 13-37, Kohnan 2-chome, Minato-ku, TOKYO 108,
Tel. +81 3 3740 5130, Fax. +81 3 3740 5077
United States: 811 East Arques Avenue, SUNNYVALE, CA 94088-3409,
Tel. +1 800 234 7381
Korea: Philips House, 260-199 Itaewon-dong, Yongsan-ku, SEOUL,
Tel. +82 2 709 1412, Fax. +82 2 709 1415
Uruguay: see South America
Vietnam: see Singapore
Malaysia: No. 76 Jalan Universiti, 46200 PETALING JAYA, SELANGOR,
Tel. +60 3 750 5214, Fax. +60 3 757 4880
Yugoslavia: PHILIPS, Trg N. Pasica 5/v, 11000 BEOGRAD,
Tel. +381 11 625 344, Fax.+381 11 635 777
Mexico: 5900 Gateway East, Suite 200, EL PASO, TEXAS 79905,
Tel. +9-5 800 234 7381
Middle East: see Italy
For all other countries apply to: Philips Semiconductors, Marketing & Sales Communications,
Internet: http://www.semiconductors.philips.com
Building BE-p, P.O. Box 218, 5600 MD EINDHOVEN, The Netherlands, Fax. +31 40 27 24825
© Philips Electronics N.V. 1997
SCA55
All rights are reserved. Reproduction in whole or in part is prohibited without the prior written consent of the copyright owner.
The information presented in this document does not form part of any quotation or contract, is believed to be accurate and reliable and may be changed
without notice. No liability will be accepted by the publisher for any consequence of its use. Publication thereof does not convey nor imply any license
under patent- or other industrial or intellectual property rights.
Printed in The Netherlands
417067/00/04/pp40
Date of release: 1997 Oct 21
Document order number: 9397 750 02932
相关型号:
PCF8591PN
IC SPECIALTY ANALOG CIRCUIT, PDIP16, 0.300 INCH, LEAD FREE, PLASTIC, SOT38-4, DIP-16, Analog IC:Other
NXP
©2020 ICPDF网 联系我们和版权申明