• Join
  • Sign In with my.TI Login
Texas Instruments
  • Products
  • Applications
  • Tools & Software
  • Support & Community
  • Sample & Buy
  • About TI
Sample & Purchase Cart Sample & Purchase Cart
  • Search
  • Advanced
TI E2E™ Community
  • Support Forums
  • Blogs
  • Groups
  • Videos
  • 简体中文
  • More ...
TI Home » TI E2E Community » Support Forums » Power Management » LED Drivers/LCD Bias » LED Drivers/LCD Bias Forum » TLC 5951 Hello World
Share
LED Drivers/LCD Bias
  • Forum
  • Announcements
  • E2E Wiki
Options
  • Subscribe via RSS

Forums

TLC 5951 Hello World

This question is not answered
Benjamin Zaitlen
Posted by Benjamin Zaitlen
on Jun 05 2012 15:23 PM
Prodigy10 points

Hi All,

A friend and I are trying to get the TLC5951 up and running with a single flashing LED and we are having a bit of hard time.  We're using a timer interrupt on an Arduino to appropriately set the various registers and while we've had flickering, we haven't had a consistent on/off flashing.  Before we further go down rabbit hole or debugging, I wanted to post the the CLKs, Latches, and other parameters to see if we are setting everything correctly.

You can view the plots here:
http://129.79.59.42/TLC_5951_Plots/

TCL5951
Report Abuse
  • Reply
You have posted to a forum that requires a moderator to approve posts before they are publicly available.
All Replies
  • Brigitte
    Posted by Brigitte
    on Jun 18 2012 04:19 AM
    Genius14085 points

    Hello Benjamin,

    It seems that there are issues with the plots you attached in your post. Could you please send them again?

    If you define the problems you observe a little more in detail, it would be easier to help, I think.

    Please make sure that you have a good GND connection of the IC and that the IC and the LED is on the same GND. In addition the connection of the bypass capacitor on the IC is critical, so please place it close to the pins.

    Best regards,
    Brigitte

    TLC5951 flicker communication
    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Shiva Sinha
    Posted by Shiva Sinha
    on Jun 28 2012 15:04 PM
    Prodigy120 points

    Hi Brigitte,

    I'm taking over for Benjamin, so apologies for the lag in responding to you. I'll upload new plots for you (and others) to look at with all the relevant signals labelled. Till then, could you tell me the value of the bypass capacitor you are suggesting? I have not used one, and overlooked the one shown on the first page of the user manual.

    Thanks,

    Shiva

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Shiva Sinha
    Posted by Shiva Sinha
    on Jun 28 2012 16:58 PM
    Prodigy120 points

    Hi,

    To recap my set-up:

    1. I am generating my command sequences with an Adruino UNO (Atmega 328 MCU).

    2. My laptop powers the Arduino, and a separate regulated power supply provides 5V to the TLC. The ground for the Arduino and TLC are connected.

    3. Currently I am sending GSSIN signals first, then latching them, and playing them out, and repeating the same GSSIN signals. Therefore, I alternate sending signals and playing them out.

    4. The DC/BC/FC/UD signals are generated using a DCSCK clock. They are sent out simultaneously with the first GSSIN signals, and not updated.

    5. My issue is that the single LED (R0) that I am trying to drive at near full intensity is _not_ lighting up.

    Below is a snapshot from my oscilloscope showing three of the signals (GSLAT, GSSIN, and GSSCK) I'm sending from my Arduino. I'm monitoring (GSSOUT) on the bottom trace. My understanding is that GSSOUT is the same as GSSIN with a delay. However, it clearly looks different. The timing in the signals seem reasonable, as can be seen in the second and third snapshots (zoomed in versions of the start and end of the first figure). 

    Any suggestions on how to proceed in debugging are very much appreciated. [PS I added a second 0.1uF capacitor between the Vcc and GND pins as close to the chips leads as possible; didn't help the problem).

    Thanks

     

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Brigitte
    Posted by Brigitte
    on Jul 02 2012 04:21 AM
    Genius14085 points

    Hello Shiva,

    It seems that the timing is ok, I just would test if anything changes when GSSIN or GSLAT are going high exactly when GSSCK is going low.

    Maybe below information from the datasheet helps to solve the issue:
    The PWM operation for each color group is controlled by a 12-bit GS counter. Three GS counters are implemented to control each of the three color outputs, OUTR0-OUTR7, OUTG0-OUTG7, and OUTB0-OUTB7. Each counter increments on each rising edge of the grayscale reference clock (GSCKR, GSCKG, or GSCKB). The falling edge of XBLNK resets the three counter values to '0'. The grayscale counter values are held at '0' while XBLNK is low, even if the GS clock input is toggled high and low. Pulling XBLNK high enables the GS clock. The first rising edge of a GS clock after XBLNK goes high increments the corresponding grayscale counter by one and switches on all outputs with a non-zero GS value programmed into the GS latch. Each additional rising edge on a GS clock increases the corresponding GS counter by one.

    What are you doing with XBLNK?

    The data shifted out on GSSOUT after GSLAT pulse is the status information data, not the old GS data, see below part of the datasheet:
    The SID are shifted out onto GSSOUT with the GSSCK rising edge after GSLAT is input for a GS data write. These SID are loaded into the 288-bit common shift register after data in the 288-bit common shift register are copied to the data latch.

    Best regards,
    Brigitte

    TLC5951
    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Shiva Sinha
    Posted by Shiva Sinha
    on Jul 02 2012 12:29 PM
    Prodigy120 points

    Hi Brigitte,

    Thanks for the pointers. With regards to your question about XBLNK I have include a few additional figures below. These figures include the XBLNK and GSCKR signals relative to GSLAT and GSSCK. The later two are expanded timescales to better show timing with respect to GSLAT, and timing between XBLNK being pulled low and the start of GSSCK. I should note that I produce a single GSCK clock signal from the Arduino and tie pins 4,5, and 6 to this single line to drive the separate TLC counters.

    Eager to resolve this,

    Thanks for your help,

    Shiva

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Brigitte
    Posted by Brigitte
    on Jul 05 2012 06:20 AM
    Genius14085 points

    Hello Shiva,

    What did you write into the DC and BC registers? These registers are random when the IC turns on.

    Best regards,
    Brigitte

    TLC5951
    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Shiva Sinha
    Posted by Shiva Sinha
    on Jul 05 2012 09:47 AM
    Prodigy120 points

    Hi Brigitte,

    For dot correction (DC) I am transmitting: [1, 0, 0, 0, 0, 0, 1] along with 161 additional zeros.

    For brightness control (BC) I am transmitting: [1, 1, 1, 1, 1, 1, 1, 1] and with 16 additional zeros

    For function control (FC) I am transmitting: [1, 1, 1, 0, 0, 0, 0]. This sequence I assume based on the manual will set: 

     A). Dot correction adjustment range for the RED, GREEN, and BLUE color output to the high range.

     B). Auto display repeat mode to the disabled state.

     C). Display timing reset mode to the disabled state. 

     D). Grayscale counter mode select to 12-bit counter mode.

    Last, the UD bits are all set to zero. I set all these values only once by generating a DCSCK clock sequence at start-up.

    Thanks in advance,

    Shiva

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Kiyoshi Narisawa
    Posted by Kiyoshi Narisawa
    on Jul 23 2012 06:38 AM
    Intellectual980 points

    Hello Shiva-san,

    I checked attached waveform and it seems no problem for input.But GSSOUT is send out SID data after latched.

    So I'd like to check again between input data and output data whether it's same or not.

    I attached a file how to check output data.  

    1565.TLC5951check.pdf

    If input data and output data are same, maybe we have to check input pattern again.

    If it's possible, I'd like to see picture for your issue.

    Best Regards

    K.narisawa 

     

     

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Shiva Sinha
    Posted by Shiva Sinha
    on Jul 23 2012 18:43 PM
    Prodigy120 points

    Hello Narisawa-san,

    I have included four oscilloscope screen images below. The second and third are zoomed in version of the first. The first one shows GSSOUT in the case where I did not generate a GSLAT signal.

    A) As I am trying to produce a ~50% duty cycle signal on only LED R0, it is odd that the GSSOUT remains high.

    B) In the zoomed in plots the GSSOUT seems to start early and end late!

    C) In the fourth image I have included the GSCKR clock signal on one channel. My understanding is that the GSSOUT should be output with each GSCKR clock pulse, but the GSSOUT seems starts before and ends after the pulses.

    I'll forward the DC Signals in a next post.

    Thanks for your assistance,

    Shiva

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Kiyoshi Narisawa
    Posted by Kiyoshi Narisawa
    on Jul 24 2012 09:57 AM
    Intellectual980 points

    Hello Shiva-san,

    Thank you for your waveform.

    I checked your waveform and I couldn't see any issue, and also I checked with your condition in our lab and I got same waveforms for yours.

    Please see attaching file.

    I think GSDATA is no problem.

    7345.TLC5951_waveform.pdf

    If it's possible, could you please show me timing to input DCdata.

    DC data is latched automatically by internal latch pulse during 3ms to 7ms.

    And that data is generated at latch timing. If internal latch works in blanking time, DC data is changed at that timng.

    Please check this.

     

    Best Regards

    K.Narisawa    

       

     

     

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Shiva Sinha
    Posted by Shiva Sinha
    on Jul 25 2012 18:58 PM
    Prodigy120 points

    Narisawa-san,

    Here are figures showing the timing of DCdata. In my current program I use a clock period of 200us. As a result it takes 57.6ms to clock in the 288 bits of GS data. I chose to have my XBLNK low for this period of time plus remain low till after GSLAT. Since the DCSIN data is only 216 bits in length, and I use a 200us clock period for DCSCK, DC data should be clocked in well ahead of the GS data.  

    6471.DC Timing.pdf

    Hopefully the figures helping in diagnosing my difficulties.

    Thanks for your continued assistance,

    Shiva

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Kiyoshi Narisawa
    Posted by Kiyoshi Narisawa
    on Jul 26 2012 07:29 AM
    Intellectual980 points

    Hello Shiva-san,

    I checked your waveform. Data communication is no problem, but input data is wrong,

    Especially, MSB and LSB were opposite.

    Could you please try to input attaching data?

    7115.CheckWaveform_TLC5951.pdf

    0601.TLC5951_Data_MAP.xls

    Thank you & Best Regards

    K.Narisawa

      

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Shiva Sinha
    Posted by Shiva Sinha
    on Aug 03 2012 09:40 AM
    Prodigy120 points

    Hi Narisawa-san,

    My apologies for the delayed response. As you suggested I flipped the order of my DC/BC/FC/UD sequence. I did not get the anticipated LED activation. But then I _also_ flipped the GS bit pattern, and the LED behavior was correct! Perhaps I was sending all the signals in reverse order.

    Thank you for your valuable assistance, informative plots, and steady feedback. I'll keep testing the system, and feel confident I'm on the right track.

    Best Regards,

    Shiva

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Kiyoshi Narisawa
    Posted by Kiyoshi Narisawa
    on Aug 06 2012 10:26 AM
    Intellectual980 points

    Hi Shiva-san,

    If you need any help, please let me know any time.

    I'll support you until you succeed.

    Best  regards

    K.Narisawa

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
TI E2E™ Community
  • Support Forums
  • Blogs
  • Videos
  • Groups
  • Site Support & Feedback
  • Settings
TI E2E™ Community Groups
  • TI University Program
  • Make the Switch
  • Microcontroller Projects
  • Motor Drive & Control
Other Communities
  • Deyisupport
  • Designsomething.org
  • beagleboard.org
  • TI on Element 14
  • TI on TechXchangeSM
Other Technical & Support Resources
  • WEBENCH® Design Center
  • Product Information Centers
  • Technical Documents
  • TI Design Network
  • TI Technical Articles
  • TI Training

All content and materials on this site are provided "as is". TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with regard to these materials, including but not limited to all implied warranties and conditions of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with respect to these materials. No license, either express or implied, by estoppel or otherwise, is granted by TI. Use of the information on this site may require a license from a third party, or a license from TI.

Content on this site may contain or be subject to specific guidelines or limitations on use. All postings and use of the content on this site are subject to the Terms of Use of the site; third parties using this content agree to abide by any limitations or guidelines and to comply with the Terms of Use of this site. TI, its suppliers and providers of content reserve the right to make corrections, deletions, modifications, enhancements, improvements and other changes to the content and materials, its products, programs and services at any time or to move or discontinue any content, products, programs, or services without notice.

Follow Us Texas Instruments on Facebook Texas Instruments on Twitter Texas Instruments on LinkedIn Texas Instruments on Google+
TI Worldwide | Contact Us | my.TI Login | Site Map | Corporate Citizenship | mobile m.ti.com (Mobile Version)

TI is a global semiconductor design and manufacturing company. Innovate with 100,000+ analog ICs and
embedded processors, along with software, tools and the industry’s largest sales/support staff.

© Copyright 1995-2013 Texas Instruments Incorporated. All rights reserved.
Trademarks | Privacy Policy | Terms of Use