xxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxx x x x xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxx xx xx
xxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxx xxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxx x x
xxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxx xxx
PCA9665_3 © NXP B.V. 2008. All rights reserved.
Product data sheet Rev. 03 — 12 August 2008 46 of 90
NXP Semiconductors
PCA9665
Fm+ parallel bus to I
2
C-bus controller
Table 41. Slave Transmitter Buffered mode (MODE = 1)
Status
code
(I2CSTA)
Status of the
I
2
C-bus and the
PCA9665
Application software response Next action taken by the PCA9665
To/from I2CDAT To/from I2CCOUNT To I2CCON
LB BC[6:0] STA STO SI AA MODE
A8h Own SLA+R has
been received;
ACK has been
returned
Load data bytes
or
X Total number of data
bytes to be transmitted
X X 0 0 1 Up to BC[6:0] bytes will be transmitted.
PCA9665 switches to the not addressed
mode after BC[6:0] bytes have been
transmitted.
Load data bytes X Total number of data
bytes to be transmitted
X X 0 1 1 Up to BC[6:0] bytes will be transmitted.
B0h Arbitration lost in
SLA+R/W as
master; Own
SLA+R has been
received, ACK has
been returned
Load data bytes
or
X Total number of data
bytes to be transmitted
X X 0 0 1 Up to BC[6:0] bytes will be transmitted.
PCA9665 switches to the not addressed
mode after BC[6:0] bytes have been
transmitted
Load data bytes X Total number of data
bytes to be transmitted
X X 0 1 1 Up to BC[6:0] bytes will be transmitted.
B8h BC[6:0] bytes in
I2CDAT have been
transmitted;
ACK has been
received
Load data bytes
or
X Total number of data
bytes to be transmitted
X X 0 0 1 Up to BC[6:0] bytes will be transmitted.
PCA9665 switches to the not addressed
mode after BC[6:0] bytes have been
transmitted
Load data bytes X Total number of data
bytes to be transmitted
X X 0 1 1 Up to BC[6:0] bytes will be transmitted.
C0h Up to BC[6:0] bytes
in I2CDAT have
been transmitted;
NACK has been
received
No I2CDAT action
or
X X 0 X 0 0 1 Switched to not addressed slave mode;
No recognition of own slave address;
General Call address recognized if GC = 1
No I2CDAT action
or
X X 0 X 0 1 1 Switched to slave mode; Own slave address
will be recognized; General Call address
recognized if GC = 1
No I2CDAT action
or
X X 1 X 0 0 1 Switched to not addressed slave mode;
No recognition of own slave address;
General Call address will be recognized if
GC = 1; A START condition will be
transmitted when the bus becomes free
No I2CDAT action X X 1 X 0 1 1 Switched to slave mode; Own slave address
will be recognized; General Call address will
be recognized if GC = 1; A START condition
will be transmitted when the bus becomes
free
xxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxx x x x xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxx xx xx
xxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxx xxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxx x x
xxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxx xxx
PCA9665_3 © NXP B.V. 2008. All rights reserved.
Product data sheet Rev. 03 — 12 August 2008 47 of 90
NXP Semiconductors
PCA9665
Fm+ parallel bus to I
2
C-bus controller
C8h BC[6:0] bytes in
I2CDAT have been
transmitted
(AA = 0);
ACK has been
received
No I2CDAT action
or
X X 0 X 0 0 1 Switched to not addressed slave mode;
No recognition of own slave address;
General Call address recognized if GC = 1.
No I2CDAT action
or
X X 0 X 0 1 1 Switched to slave mode; Own slave address
will be recognized; General Call address
recognized if GC = 1.
No I2CDAT action
or
X X 1 X 0 0 1 Switched to not addressed slave mode;
No recognition of own slave address;
General Call address will be recognized if
GC = 1; A START condition will be
transmitted when the bus becomes free.
No I2CDAT action X X 1 X 0 1 1 Switched to slave mode; Own slave address
will be recognized; General Call address will
be recognized if GC = 1; A START condition
will be transmitted when the bus becomes
free.
Table 41. Slave Transmitter Buffered mode (MODE = 1)
…continued
Status
code
(I2CSTA)
Status of the
I
2
C-bus and the
PCA9665
Application software response Next action taken by the PCA9665
To/from I2CDAT To/from I2CCOUNT To I2CCON
LB BC[6:0] STA STO SI AA MODE
PCA9665_3 © NXP B.V. 2008. All rights reserved.
Product data sheet Rev. 03 — 12 August 2008 48 of 90
NXP Semiconductors
PCA9665
Fm+ parallel bus to I
2
C-bus controller
8.5 Buffered mode examples
8.5.1 Buffered Master Transmitter mode of operation
1. Program the I2CCOUNT register with the number of bytes that need to be sent to the
I
2
C-bus (BC[6:0] has a value from 01h to 44h). LB bit is used for Receiver mode only
and can be set to 0 or 1.
2. Load the data bytes in I2CDAT buffer. The different bytes to be sent will be stored in
the PCA9665 buffer. There is no protection against writing over a buffer’s boundary. If
more than 68 bytes are written to the buffer, the data at address 00h will be
overwritten. The number of bytes that needs to be loaded in I2CDAT is equal to
BC[6:0] in the I2CCOUNT register. The number of data bytes sent is equal to BC[6:0],
therefore, if the number of data bytes loaded is greater than BC[6:0], the additional
data will not be sent. If the number of data bytes written to the buffer is less than
BC[6:0], the PCA9665 will still send out BC[6:0] data bytes.
3. Program I2CCON register to initiate the Master Transmitter Buffered sequence. In
Master mode, if STA = 1, a START command is sent. An interrupt will be asserted and
the SI bit is set in the I2CCON register after the START has been sent. The I2CSTA
register contains the status of the transmission. MODE bit must be set to ‘1’ each time
a write to the I2CCON register is performed.
4. After reading the I2CSTA status register, the I2CCON is programmed with STA = 0.
That clears the previous Interrupt. If a START command has been previously sent, the
first byte loaded into the buffer and sent to the I
2
C-bus is interpreted as the
I
2
C-bus address + R/W operation. In transmitter mode, R/W = 0 and the following
bytes that are sent to the I
2
C-bus are interpreted as data bytes.
5. When the sequence has been executed, an Interrupt is asserted and the SI bit is set
in the I2CCON register. The I2CSTA register contains the status of the transmission
and the I2CCOUNT register contains the number of bytes that have been sent to the
I
2
C-bus as described in Table 42.
6. More sequence (program I2CCOUNT register, load data bytes in I2CDAT buffer, write
the I2CCON register to send the data to the I
2
C-bus, read the I2CSTA register when
the sequence has been executed) can be performed as long as a STOP or Repeated
START command has not been sent. Master Transmitter Buffered mode ends when
the I2CCOUNT register is programmed with STO = 1.
8.5.2 Buffered Master Receiver mode of operation
1. Program the I2CCOUNT register with the number of bytes that need to be read from a
slave device in the I
2
C-bus (BC[6:0] has a value from 01h to 44h). LB bit is used in
Receiver mode to let the PCA9665 know if the last byte received must be
acknowledged or not.
LB = 0: Last received byte is acknowledged and another sequence can be executed.
LB = 1: Last received byte is not acknowledged. The last sequence before sending a
STOP or Repeated START must be executed with LB = 1.
2. Load the I
2
C-bus address + R/W = 1 in I2CDAT buffer.

PCA9665N,112

Mfr. #:
Manufacturer:
NXP Semiconductors
Description:
IC CNTRLR PARALLEL/I2C 20-DIP
Lifecycle:
New from this manufacturer.
Delivery:
DHL FedEx Ups TNT EMS
Payment:
T/T Paypal Visa MoneyGram Western Union

Products related to this Datasheet