Electronics > Projects, Designs, and Technical Stuff
Why Does TLC5940 LED Driver Produces "Smearing Edges"?
Darkwing:
Hi folks!
I have a technical question about the (supposed) misbehavior of a TLC5940 LED driver chip, producing "smearing edges" at its outputs.
The Story
I'm trying to multiplex some segment displays. Multiplexing is done with shift registers (CD74HTC4094) and a source driver stage (MIC2981), because the displays are common anode. As current sink driver I'm using the 16ch TLC5940 LED driver chip.
The Problem
I was wondering why I have some ghosting on the display digits, that means: some segments of one digit lit up shortly on the next digit. After thorough inspection, I found out, that the TLC5940 itself outputs some kind of "smearing edges", like it is somehow oscillating in timing. I measured that this "oscillation range" is about 1ms wide.
Here is a picture from the scope:
1, 2: edges from the multiplexing source driver
3, 4: some segment pins from the TLC5940
Also here is a Youtube video of this in action:
You can see, that the edges are "moving".
This behavior is very unfortunate because it prevents me from multiplexing very quickly — because I need to "wait" around 1ms (=1.000µs = 1.000.000ns !) to be safe to switch to the next digit.
I understand that there is a propagation delay with 16 bits shifting into the TLC5940 registers – but reading the switching characteristics in the datasheet, I don't see why this delay should sum up to 1.000.000ns; it should be 500ns or maybe 3.000ns ... :o (I'm also shifting 16 bits to the shift registers and the source driver respectively – this also produces clean, non-moving edges. So the crux must be the TLC5940.)
The Question
Does anyone know why the outputs are "oscillating" in such a way? Is there a remedy to this or is this normal behavior of this chip? :-//
Btw, here is a view of the breadboard, that you can get an idea of how it all looks like:
Hoping for help!
Thanks y'all! :)
edavid:
Where are the decoupling capacitors?
Darkwing:
Thanks for reply!
I tried 0.1uF on several places ... they don't make any difference at all. :-//
james_s:
Between the long wires on a solderless breadboard without any decoupling I'm actually kind of amazed that it works as well as it does.
Ian.M:
If you don't pulse BLANK while loading (not shifting in) the new data to reset the PWM counters, I would expect 4096/30MHz = 1.37ms of XLAT to LED output propagation delay jitter as your load event isn't (and cant be) synchronised to the free-running PWM cycle.
Navigation
[0] Message Index
[#] Next page
Go to full version