Philips Semiconductors
Product specification
I
2
C-bus controller
PCF8584
START
handbook, full pagewidth
A0 = HIGH
read byte from S1 register
yes
is bus busy?
(BB = 0?)
no
send byte 'slave address'
A0 = LOW
Load 'slave address' into S0 register:
'slave address' = value of slave address
(7-bits + R/W = 0). After reset, default = '0'
Load C5H into S1. 'C5H' = PCF8584 generates
the 'START' condition and clocks out the slave
address and the clock pulse for slave acknowledgement.
Next byte(s) sent to the S0 register will be immediately
transferred over the I
2
C-bus.
A0 = HIGH
PCF8584 remains in
master transmitter
mode if R/W bit of
'slave address' = 0
send C5H to control
register S1
n = 0 (data byte counter);
m = number of data bytes
to be transferred
A0 = HIGH
read byte from S1 register
Poll for transmission finished.
no
PIN bit = 0?
yes
slave
acknowledged?
(LRB = 0?)
yes
n=m
yes
no
n=n+1
A0 = LOW
send byte 'data'
Load 'data'
into bus
buffer register S0;
data is transmitted.
END
A0 = HIGH
send byte C3H
Load C3 into the S1 control
register: PCF8584 generates
'STOP' condition.
PCF8584 goes into
slave receiver mode
MBE715
transmission
completed
Fig.6 PCF8584 master transmitter mode.
1997 Oct 21
16