This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Dot correction on the TLC5940

Other Parts Discussed in Thread: TLC5940, LM3S3748, EK-LM3S3748

Hi everyone,

I have a problem seeing the effect of dot correction on RGB dot matrix leds. The greyscale appears to be fine but dot matrix data appears to have no effect. I have set DCPRG to 1 or HIGH for accessing the DOT CORRECTION registers. I send 92 bits followed by pulsing the XLAT line, during this period the VPRG is set high. Could it be because the 64 steps are relatively few for the dot correction compared to the 4096 for greyscale.But even by setting the greyscale data to zero I see nothing on the corresponing LEDs.  I'm using a PIC24FJ64GA004 microcontroller.

I have another problem regarding the same situation. When using the LM3S3748 evaluation board to drive the TLC5940 If I omit the DC data input at the start the TLC5940 works fine with greyscale data, but if I add the dot correction routine at the beginning to send the dot correction data the greyscale data does not show anything on the display. Does anyone have working code for the basic driving of the TLC5940 chip for comparison. Or does anyone know what could be happening.

Regards

Baldave

  • You should be able to see the difference between dot correction and grayscale by looking at the diode voltage and current on an oscilloscope.  Grayscale dimming turns the LED on for some percentage of the display frame.  Example, if you program the grayscale register with 2048, the LED will be on for 2048/4096 grayscale clock pulses, or half the time.  If you adjust the dot correction to something less than 63, the peak LED current becomes the dot correction value divided by 63.  If you program both the grayscale and dot correction to half of their maximum values, the LED brightness will be 1/4th full brightness.  Note that the human eye may not detect this as exactly half the brightness.  Neither DC or PWM grayscale values are programmed at startup.  You must program them prior to enabling the outputs.  Your explanation on how you program dot correction values looks correct.  Please verify that it matches the datasheet timing diagram and setup and hold times.  From the symptoms you describe, it looks like you may have timing problems.

    The following application note is in the TLC5940 tool folder and provides some sample MSP430 code that you can review and adapt for your needs.

    http://focus.ti.com/lit/an/slva267a/slva267a.pdf

  • Hi Michael

                      I have resolved my problems. I was misinterpreting the data sheet,  I understand  now that the dot correction varies the pwm slope as opposed to being an offset to the pwm data. when I was setting the dot correction to zero I was expecting something on the display but I now understand that a dot correction value of zero shuts the led off completely. I also had a problem with latching the data on the EK-LM3S3748 evaluation board. Since I am using the uDMA to transmit the data through the SSI, I was latching it too quickly. However everything works perfectly now. Thanks for the reply.

    Kind Regards,

    Baldave