TLC5940's Big Brother: TLC5955 48-Ch, 16-Bit, PWM LED Driver w/DC,BC,Open-Short

Like the TLC5940, but with double the number of channels and pure SPI control rather than the bastard SPI + 6 additional pins bull of the TLC5940. Signals removed and put into SPI: XERR, DCPRG, IREF, BLANK, XLAT. GSCLOCK stays for some reason, wouldn't it have been nice if they had put their own oscillator onboard? The 22V programming voltage is history because I guess onboard EEPROM has been removed. GS data must be sent from the micro and latched in. No resistor is needed anymore to set current.

A winner.

TLC5955 48-Ch, 16-Bit, PWM LED Driver w/ DC,BC,LED Open-Short Detection, and Int

Description

The TLC5955 is a 48-channel, constant-current sink driver. Each channel has an individually-adjustable, pulse width modulation (PWM), grayscale (GS) brightness control with 65,536 steps and 128 steps of constant-current dot correction (DC). DC adjusts brightness deviation between channels. All channels have a 128-step global brightness control (BC). BC adjusts brightness deviation between the R, G, B color group. The eight-step maximum current control (MC) selects the maximum output current range for all channels of each color group. GS, DC, BC, and MC data are accessible with a serial interface port.

The TLC5955 has two error flags: LED open detection (LOD) and LED short detection (LSD). The error detection results can be read with a serial interface port.

http://www.ti.com/lit/ds/symlink/tlc5955.pdf http://www.ti.com/product/tlc5955

March 2014 announcement. Samples are not available quite yet.

Sounds great, but there's never going to be a DIP package with that number of outputs. A breakout board for it would not be very practical for the same reason. I have never worked with SMT components, and not certain I ever could. Read an interesting article on Futurelec's site about using a toaster oven, solder paste and a stereo microscope. Made it all sound very easy!

Paul

0.5mm pitch leads - really need automation to mount this on a board. I know I couldn't apply paste and place by hand.

PaulRB: Sounds great, but there's never going to be a DIP package with that number of outputs. A breakout board for it would not be very practical for the same reason. I have never worked with SMT components, and not certain I ever could. Read an interesting article on Futurelec's site about using a toaster oven, solder paste and a stereo microscope. Made it all sound very easy!

Paul

Both of you are selling yourselves short. Drag-soldering on 0.5mm parts is not hard at all and, personally, I have no trouble doing it with .4mm parts. I've hand-soldered TQFP-144 0.4mm parts and at least one TQFP-240 .5mm part. Dave Jones has a pretty good tutorial:

http://www.youtube.com/watch?v=b9FC9fAlfQE

19:45 - 21:40 for the key technique.

Here is a cheap adapter:

http://www.ebay.com/itm/PCB-adapter-SOP8-64pins-0-50mm-SOP8-56pins-0-635mm-5-pieces-/161150581047

More expensive:

http://www.schmartboard.com/index.asp?page=products_so&id=60

Parts with no leads get harder but at least ones with a smaller number of pins you can use hot air and make what amount's to a poor-man's reflow oven. Just tin the pins first with solder, flux the heck out of the board, raise the temperature past the melting point of solder with hot air, and surface tension tends to pull the part into place. This doesn't work with large BGAs but I have had it work fine with QFN-64s.

I can't do the FTDI chips, and they are 0.65mm. Will pass on stuff that's even smaller.

CrossRoads: I can't do the FTDI chips, and they are 0.65mm. Will pass on stuff that's even smaller.

If your hands are not steady enough I guess that is a good excuse. If it is eyesight, I use a 1.75X desk lamp/magnifier to do the work and 10x loupe to check the work and then a microscope to double-check it. Even less than perfect eyesight can be worked around.

JoeN: GSCLOCK stays for some reason, wouldn't it have been nice if they had put their own oscillator onboard?

From a hobbyist perspective, a weak yes. Having to feed a clock can be annoying. I've been using Clock Output (requires fuse change) and am pleased with the result. It does cost one pin but, if necessary, going to a bigger AVR processor is usually not very expensive.

From the perspective of someone using it to build an actual sign or display, no. The point is to make it easy to keep the processor and LED driver closely synchronized for multiplexing and for eliminating "dead spots".

[quote author=Coding Badly link=topic=229971.msg1663054#msg1663054 date=1396487945] From the perspective of someone using it to build an actual sign or display, no. The point is to make it easy to keep the processor and LED driver closely synchronized for multiplexing and for eliminating "dead spots". [/quote]

OK, I see it now. You don't want the PWM of each and every driver working independently because it can cause flickering.

OTOH, they could have provided a local oscillator that is selectable via SPI register. Now that would have been cool.

i know this is current sinking chip. Wondering how would anyone connect Diffused RGB (tri-color) LED - Common Anode to its channel. Since, each R B G takes different input voltages.

Would this chip run properly if it’s common is anode is connect to 3 channels (RBG) with different input voltage.

i am doing senior desgin on POV with these chips, any insight regarding this chip is helpful.

thanks

Should be OK with those leds. The chip's outputs are constant current, so will adapt themselves to the forward voltage of each led. You can even program in fine adjustments to the current for each channel of an RGB led, so you can get white to appear perfect and all the leds at equal brightness.

However, as already stated above, the chip is only available in a very small package so you would need access to specialist equipment to work with it.

Maybe you should consider using apa102 leds for your project. Each led has a built in controller chip and a high speed SPI interface and high frequency PWM making them suitable for POV displays. The come in standard 5050 size smd and strips of up to 144 leds per metre and you can daisy-chain them together.

PaulRB:
specialist equipment

You mean like a soldering iron and a hot air gun? That’s all I had to use. (click for detailed image)

TLC5958Scroller.jpg

Very impressive! That must take up a lot of breadboard space!

I have tried to solder the connectors on oled displays with a soldering iron and an illuminated magnifying glass desk lamp and just got in an awful mess.

PaulRB: Very impressive! That must take up a lot of breadboard space!

I have tried to solder the connectors on oled displays with a soldering iron and an illuminated magnifying glass desk lamp and just got in an awful mess.

I never breadboarded it. I just had the board made by OSHPark. Those are 8x8 mono LED matrices on the other side, it's a working LED text scroller right now. Six matrices, that is 48 columns, one for each channel on the TI IC. The Micrel IC is a "high side driver" and I paint one row at a time, go on to the next row, the usual way of doing this. All the further I got with the software was to have it scroll messages. I intended to get the USB fully working but never wrote the software. To change the message, I have to reflash the uC. Not very convenient. :(

Do you use lots of liquid flux before trying to solder small connectors? It helps a bunch. Flux the heck out of it.

No, I should try using flux. Are those flux pens any good? Do you use an artist's paint brush with the liquid flux?

I need to get myself a temp controlled iron and a selection of bits.

Why did you chose the tlc chip for your project? I would have used 6 x max7219. Do you need 16 bit brightness control of every dot?

I use both a pen and a brush. Pen is good for smaller spaces. Brush is good when I want to flux a large area for some reason. The specific products I use that work for me well (your mileage may vary, also I am not saying these are the best prices, I actually get the pens from a local Fry’s and save on shipping) are:

http://www.ebay.com/itm/KESTER-186-ROSIN-NO-CLEAN-FLUX-FOR-XBOX-360-REFLOW-/131124985951
http://www.ebay.com/itm/MG-Chemicals-835-P-Rosin-Flux-Pen-/222249038148
http://www.ebay.com/itm/Applicator-1-oz-Bottle-LGB-Griffin-Glass-bottle-w-brush-Flux-Acetone-Lot-Of-5-/172341831307

FluxORama.jpg

Time to refill the applicator bottle. I just recently finished off the first full bottle of flux after more than a year. I bought three in the beginning, but I have been using it pretty slowly.

@PaulRB thank you for your comment. I have two schematics connecting TLC chip and led's . I have shared it on the web since I couldn't attach pic here.

https://drive.google.com/drive/folders/0Bz2w1dkX9WLMdlBZR1k4YURIbTg?usp=sharing

Would you please suggest which schematic is better to use TLC 5955.

thank you

Which is better? The _1 schematic is the only one that is going to work unless you want white. Also, remember the LED must be a common anode LED too. Here is my schematic if it can be of any help.

TLC5958Scroller.png

"Unless i want white" @JoeN Sir would you explain, this line. you mean to say the Vcc of 5 would give white? Or which configuration gives white? got confused here!! Does RBG have different Vcc? I need controllable color on led.

thank you

The second drawing (arduino_forum.png) implies a common cathode LED where you are supplying positive voltage to the three LED anodes and then you have bussed the single cathode to three pins on the driver. So you have no distinct control over the three LEDs anymore, they all act in unison. On the plus side, you can sink three times as much current as you are using three driver pins on the IC, assuming the LED can handle it. Since all three LEDs inside the LED package are always going to be on if any of them are on, you are going to get white or something like white, unless all three driver pins are fully off. This is not likely what you want. On the other hand, your first schematic (arduino_1_sch.png) will work fine as long as it is a common anode RGB LED. You will want to use 16 of them and occupy all 48 channels.

@joen thank you very much!