Nxp-semiconductors PCA9665 Manual do Utilizador Página 53

  • Descarregar
  • Adicionar aos meus manuais
  • Imprimir
  • Página
    / 91
  • Índice
  • MARCADORES
  • Avaliado. / 5. Com base em avaliações de clientes
Vista de página 52
PCA9665_2 © NXP B.V. 2006. All rights reserved.
Product data sheet Rev. 02 — 7 December 2006 53 of 91
NXP Semiconductors
PCA9665
Fm+ parallel bus to I
2
C-bus controller
Remark: Request to send or receive a number of bytes equal to 0 or higher than 68
(BC[6:0] = 000 0000 or BC[6:0] > 100 0100) will cause no data to be transferred and an
interrupt to be generated after writing to the I2CCON register. I2CSTA status register is
loaded with FCh that indicates that an invalid value was requested to be loaded in
I2CCOUNT.
8.7 Acknowledge management (I
2
C-bus addresses and data) in Byte and
Buffered modes
Data acknowledge/not acknowledge management can be controlled on a byte basis (Byte
mode) or on a sequence basis (Buffered mode). The PCA9665 can be programmed to
respond (ACK) or not (NACK) to two different I
2
C-bus addresses. Table 43 shows how this
is performed based on the different control bits (AA, GC, LB and MODE) and the different
modes.
[1] Assumption is that Data Received follows the address (as defined in column “Address”); valid for slave
mode only.
[2] Unless the master sends a STOP command before.
Table 43. Own slave address, General Call address, and Data acknowledge management
AA GC LB MODE Address Data received
[1]
Master mode: the PCA9665 generates a START command and controls the I
2
C-bus
0 X X 0 not applicable data (each byte) = NACK
1 X X 0 not applicable data (each byte) = ACK
X X 0 1 not applicable all the bytes (BC[6:0] bytes) = ACK
X X 1 1 not applicable all the bytes except the last one
(BC[6:0] bytes 1) = ACK;
last byte = NACK
Slave mode: I
2
C-bus message starting with the PCA9665’s Own Slave address
0 X X 0 Own address = NACK data (each byte) = NACK
1 X X 0 Own address = ACK data (each byte) = ACK
0 X 0 1 Own address = NACK all the bytes (BC[6:0] bytes) = ACK
0 X 1 1 Own address = NACK all the bytes except the last one
(BC[6:0] bytes - 1) = ACK; last
byte=NACK
[2]
1 X 0 1 Own address = ACK all the bytes (BC[6:0] bytes) = ACK
1 X 1 1 Own address = ACK all the bytes except the last one
(BC[6:0] bytes - 1) = ACK;
last byte = NACK
[2]
Slave mode: I
2
C-bus message starting with the General Call address
X 0 X 0 GC address = NACK data (each byte) = NACK
0 1 X 0 GC address = ACK data (each byte) = NACK
1 1 X 0 GC address = ACK data (each byte) = ACK
X 0 X 1 GC address = NACK data (each byte) = NACK
X 1 0 1 GC address = ACK all the bytes ( BC[6:0] bytes) = ACK
X 1 1 1 GC address = ACK all the bytes except the last one
(BC[6:0] bytes - 1) = ACK;
last byte = NACK
[2]
Vista de página 52
1 2 ... 48 49 50 51 52 53 54 55 56 57 58 ... 90 91

Comentários a estes Manuais

Sem comentários