CAT9552
http://onsemi.com
7
Acknowledge
After a successful data transfer, each receiving device is
required to generate an acknowledge. The acknowledging
device pulls down the SDA line during the ninth clock cycle,
signaling that it received the 8 bits of data. The SDA line
remains stable LOW during the HIGH period of the
acknowledge related clock pulse (Figure 7).
The CAT9552 responds with an acknowledge after
receiving a START condition and its slave address. If the
device has been selected along with a write operation, it
responds with an acknowledge after receiving each 8ï bit
byte.
When the CAT9552 begins a READ mode it transmits 8
bits of data, releases the SDA line, and monitors the line for
an acknowledge. Once it receives this acknowledge, the
CAT9552 will continue to transmit data. If no acknowledge
is sent by the Master, the device terminates data transmission
and waits for a STOP condition. The master must then issue
a stop condition to return the CAT9552 to the standby power
mode and place the device in a known state.
Registers and Bus Transactions
After the successful acknowledgement of the slave
address, the bus master will send a command byte to the
CAT9552 which will be stored in the Control Register. The
format of the Control Register is shown in Figure 8.
The Control Register acts as a pointer to determine which
register will be written or read. The four least significant
bits, B0, B1, B2, B3, are used to select which internal
register is accessed, according to the Table 6.
If the auto increment flag is set (AI = 1), the four least
significant bits of the Control Register are automatically
incremented after a read or write operation. This allows the
user to access the CAT9552 internal registers sequentially.
The content of these bits will rollover to “0000” after the last
register is accessed.
Table 6. INTERNAL REGISTERS SELECTION
B3 B2 B1 B0 Register Name Type Register Function
0 0 0 0 INPUT0 READ Input Register 0
0 0 0 1 INPUT1 READ Input Register 1
0 0 1 0 PSC0 READ/WRITE Frequency Prescaler 0
0 0 1 1 PWM0 READ/WRITE PWM Register 0
0 1 0 0 PSC1 READ/WRITE Frequency Prescaler 1
0 1 0 1 PWM1 READ/WRITE PWM Register 1
0 1 1 0 LS0 READ/WRITE LED 0ï3 Selector
0 1 1 1 LS1 READ/WRITE LED 4ï7 Selector
1 0 0 0 LS2 READ/WRITE LED 8ï11 Selector
1 0 0 1 LS3 READ/WRITE LED 12ï15 Selector
Figure 7. Acknowledge Timing
ACKNOWLEDGE
1
START
SCL FROM
MASTER
89
DATA OUTPUT
FROM TRANSMITTER
DATA OUTPUT
FROM RECEIVER
Figure 8. Control Register
000AIB3 B2 B1 B0
AUTOïINCREMENT FLAG
RESET STATE: 00h
REGISTER ADDRESS
CAT9552
http://onsemi.com
8
Input Register 0 and Input Register 1 reflect the incoming logic levels of the I/O pins, regardless of whether the pin is defined
as an input or an output. These registers are read only ports. Writes to the input registers will be acknowledged but will have
no effect.
Table 7. INPUT REGISTER 0 AND INPUT REGISTER 1
INPUT0
LED 7 LED 6 LED 5 LED 4 LED 3 LED 2 LED 1 LED 0
bit 7 6 5 4 3 2 1 0
default X X X X X X X X
INPUT1
LED 15 LED 14 LED 13 LED 12 LED 11 LED 10 LED 9 LED 8
bit 7 6 5 4 3 2 1 0
default X X X X X X X X
The Frequency Prescaler 0 and Frequency Prescaler 1
registers (PSC0, PSC1) are used to program the period of the
pulse width modulated signals BLINK0 and BLINK1
respectively:
T_BLINK0 = (PSC0 + 1) / 44;
T_BLINK1 = (PSC1 + 1) / 44
Table 8. FREQUENCY PRESCALER 0 AND
FREQUENCY PRESCALER 1 REGISTERS
PSC0
bit 7 6 5 4 3 2 1 0
default 1 1 1 1 1 1 1 1
PSC1
bit 7 6 5 4 3 2 1 0
default 1 1 1 1 1 1 1 1
The PWM Register 0 and PWM Register 1 (PWM0,
PWM1) are used to program the duty cycle of BLINK0 and
BLINK1 respectively:
Duty Cycle_BLINK0 = (256 ï PWM0) / 256;
Duty Cycle_BLINK1 = (256 ï PWM1) / 256
After writing to the PWM0/1 register an 8ïbit internal
counter starts to count from 0 to 255. The outputs are low (LED
on) when the counter value is less than the value programmed
into PWM register. The LED is off when the counter value is
higher than the value written into PWM register.
Table 9. PWM REGISTER 0 AND PWM REGISTER 1
PWM0
bit 7 6 5 4 3 2 1 0
default 1 0 0 0 0 0 0 0
PWM1
bit 7 6 5 4 3 2 1 0
default 1 0 0 0 0 0 0 0
Every LED driver output can be programmed to one of
four states, LED OFF, LED ON, LED blinks at BLINK0 rate
and LED blinks at BLINK1 rate using the LED Selector
Registers (Table 10).
Table 10. LED SELECTOR REGISTERS
LS0
LED 3 LED 2 LED 1 LED 0
bit 7 6 5 4 3 2 1 0
default 0 1 0 1 0 1 0 1
LS1
LED 7 LED 6 LED 5 LED 4
bit 7 6 5 4 3 2 1 0
default 0 1 0 1 0 1 0 1
LS2
LED 11 LED 10 LED 9 LED 8
bit 7 6 5 4 3 2 1 0
default 0 1 0 1 0 1 0 1
LS3
LED 15 LED 14 LED 13 LED 12
bit 7 6 5 4 3 2 1 0
default 0 1 0 1 0 1 0 1
The LED output (LED0 to LED15) is set by the 2 bit value
from the corresponding LSx Register (x = 0 to 3):
00 = LED Output set LOW (LED On)
01 = LED Output set HiïZ (LED Off – Default)
10 = LED Output blinks at BLINK0 Rate
11 = LED Output blinks at BLINK1 Rate
CAT9552
http://onsemi.com
9
Write Operations
Data is transmitted to the CAT9552 registers using the
write sequence shown in Figure 9.
If the AI bit from the command byte is set to “1”, the
CAT9552 internal registers can be written sequentially.
After sending data to one register, the next data byte will be
sent to the next register sequentially addressed.
Read Operations
The CAT9552 registers are read according to the timing
diagrams shown in Figure 10 and Figure 11. Data from the
register, defined by the command byte, will be sent serially
on the SDA line.
After the first byte is read, additional data bytes may be
read when the autoïincrement flag, AI, is set. The additional
data byte will reflect the data read from the next register
sequentially addressed by the (B3, B2, B1, B0) bits of the
command byte.
When reading Input Port Registers (Figure 11), data is
clocked into the register on the failing edge of the
acknowledge clock pulse. The transfer is stopped when the
master will not acknowledge the data byte received and issue
the STOP condition.
LED Pins Used as General Purpose I/O
Any LED pins not used to drive LEDs can be used as
general purpose input/output, GPIO.
When used as input, the user should program the
corresponding LED pin to HiïZ (“01” for the LSx register
bits). The pin state can be read via the Input Register
according to the sequence shown in Figure 11.
For use as a logic output, an external pullïup resistor
should be connected to the pin. The value of the pullïup
resistor is calculated according to the DC operating
characteristics. To set the output high, the user has to
program the output HiïZ writing “01” into the
corresponding LED Selector (LSx) register bits. The output
pin is set low when the output is programmed low through
the LSx register bits (“00” in LSx register bits).
GPIO can also be used as PWM outputs by setting the
LED Selector (LSx) register to “10” or “11” to output either
the BLINK0 or BLINK1 waveform.
Figure 9. Write to Register Timing Diagram
12
SCL
WRITE TO REGISTER
DATA OUT FROM PORT
345678
SDA
A
Slave Address
Data To Register 1
Start Condition
Acknowledge
From Slave
Acknowledge
From Slave
Acknowledge
From Slave
9
Command Byte
1.0
AS 1 1 0 0 A2 A1 A0 0
A
AAI B3 B2 B1 B0
000
DATA 1
R/W
Data To Register 2
t
pv
Figure 10. Read from Register Timing Diagram
SA0 0 A01 10 0 A1 A01 1 AA
COMMAND BYTE
Acknowledge
From Slave
A
PNA
Acknowledge From Master
S
DATA
DATA
First Byte
Last Byte
No Acknowledge
From Master
1
Slave Address
Data From Register
Data From Register
MSB
LSB
MSB
LSB
0
Autoïincrement
Register Address
If AI = 1
Note: Transfer can be stopped at any time by a STOP condition.
R/W
A2
Acknowledge
From Slave
Slave Address
Acknowledge
From Slave
A2 A1
At This Moment MasterïTransmitter
Becomes Masterïreceiver and
SlaveïReceiver Becomes
SlaveïTransmitter
R/W

CAT9552WI-T1

Mfr. #:
Manufacturer:
ON Semiconductor
Description:
LED Lighting Drivers 16Ch I2C-Bus LED Drvr
Lifecycle:
New from this manufacturer.
Delivery:
DHL FedEx Ups TNT EMS
Payment:
T/T Paypal Visa MoneyGram Western Union

Products related to this Datasheet