NLSF595 tri-color LED driver
ON Semiconductor's NLSF595: a 595 shift register whose eight outputs are open drain, made to sink the cathodes of RGB LEDs.
Aliases: NLSF595, serial tri-color LED driver, Wokwi's wokwi-nlsf595. Its
datasheet calls it functionally similar to the 74VHC595, and each chip drives two
common-anode RGB LEDs (six of its outputs) on three pins.
Pins
| Pin | What it does |
|---|---|
SI |
Serial data in. |
SCK |
Shift clock: a rising edge moves the register along and takes SI. |
RCK |
Register clock: a rising edge copies the shift register to the outputs. |
OE |
Output enable, active low. Tie it to GND if unused. |
SCLR |
Clears the shift register, active low. Tie it to VCC if unused. |
QA to QH |
The open-drain outputs, rated to sink over 12 mA. |
SQH |
Serial out, push-pull, to the next chip's SI. |
VCC, GND |
Supply, 2 to 5.5 V. |
Driving it from an Arduino
shiftOut() and a latch pulse, exactly as for a 74HC595:
digitalWrite(rckPin, LOW);
shiftOut(siPin, sckPin, MSBFIRST, pattern);
digitalWrite(rckPin, HIGH);
The outputs sink: a common-anode RGB LED's anode goes to 5 V and each cathode, through its own resistor, to an output. A 0 bit lights that color and a 1 turns it off, the other way from a 74HC595 driving LEDs to ground.
What the model gets right
From the NLSF595 datasheet (NLSF595/D): the function table (shift on the rising
edge of SCK, latch on the rising edge of RCK, SCLR clearing the shift
register only, OE high floating the outputs), the double-buffered outputs, the
push-pull SQH, and the pin positions of the TSSOP-16. The outputs pull low for
a stored 0 and let go for a 1.
What it does not model
The output's exact on-voltage (0.6 V at 25 mA at most, on a 4.5 V supply), the overvoltage-tolerant inputs, and the 25 MHz clock limit.
Common mistakes
Wiring a common-cathode LED: the outputs cannot source current, so it never lights. Expecting a 1 to light a color: on this chip a 0 does.