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.

[参考译文] TLC59116:不需要的指示灯闪烁

Guru**** 2492385 points
Other Parts Discussed in Thread: TLC59116, TIDA-03026

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/701235/tlc59116-unwanted-light-flashes

器件型号:TLC59116
主题中讨论的其他器件: TIDA-03026

如果通过 GRPPWM 寄存器动态调暗 LED、则会出现一些 LED 的未通电短闪。

背景:
我们希望显示某种"呼吸效果"、即连接到三个 TLC59116的16个 RGB-LED 的缓慢持续调光。

VLED 为5V;Vcc 为3.3V
Rext 为1k69

这是 IC 的初始化:

setChipRegister (I2C_ADR_LED_DRIVER_1、MODE1、1);
setChipRegister (I2C_ADR_LED_DRIVER_2、MODE1、1);
setChipRegister (I2C_ADR_LED_DRIVER_3、MODE1、1);

/* LED 驱动器芯片内部的振荡器需要大约0.5ms 的启动时间*/
CyDelay (1);//延迟1ms

setChipRegister (I2C_ADR_LED_DRIVER_ALL、MODE2、0);
setChipRegister (I2C_ADR_LED_DRIVER_ALL、GRPPWM、0);
setChipRegister (I2C_ADR_LED_DRIVER_ALL、LEDOUT0、0xFF);
setChipRegister (I2C_ADR_LED_DRIVER_ALL、LEDOUT1、0xFF);
setChipRegister (I2C_ADR_LED_DRIVER_ALL、LEDOUT2、0xFF);
setChipRegister (I2C_ADR_LED_DRIVER_ALL、LEDOUT3、0xFF);
setChipRegister (I2C_ADR_LED_DRIVER_ALL、IREF、0x3F);

使用的 I2C 地址如下:
#define I2C_ADR_LED_DRIVER_1 (0xC0)
#define I2C_ADR_LED_DRIVER_2 (0xC2)
#define I2C_ADR_LED_DRIVER_3 (0xC4)
#define I2C_ADR_LED_DRIVER_ALL (0xD0)

在将各个亮度寄存器 PWM0设置为 PWM15后、
我们每30ms 发送一次以下命令、其中亮度从0增加到最大值(即0x40)、然后以1的步长再次恢复到零:
setChipRegister (I2C_ADR_LED_DRIVER_ALL、GRPPWM、亮度);

但是、亮度会发生不必要的间歇性(非常短)变化、看起来像短暂闪烁。
如有必要、我可以准备一个视频。

我们检查了 I2C 通信、命令都正确发送。
测试是在100kBit 和400kBit 上完成的。
没有区别、I2C 线路上也没有错误。

我们的行为是否有问题?
是否有其他方法可以实现所需的效果?

提前感谢、致以诚挚的问候、
Martin

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    细微更正:
    VCC 连接到 VLED、因此 Vcc 也是5V
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    没人能帮忙吗?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Martin、

    很抱歉耽误你的时间。

    这应该是实现呼吸效果的方法。

    您能为此提供一个快速视频吗?

    让我再仔细检查一下代码。

    谢谢。
    此致、
    Kenneth
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    肯尼思、您好!

    感谢您的帮助。

    我制作了一个视频来展示该问题。

    把录音作为一部手机比预期的要多一些,但我觉得还可以。

    第一个错误发生的时间正好在1秒后。

    然后每隔几秒执行几次。

    如果您需要更多信息、请告诉我。

    此致、

    Martin

    e2e.ti.com/.../VID_5F00_20180625_5F00_121909Trim_2D00_1.mp4

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Martin、

    这很奇怪。

    让我仔细检查一下电路板上的代码。

    谢谢。
    此致、
    Kenneth
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    肯尼思、您好!

    事实上,这是奇怪的。

    我进行了一些进一步的测试、发现没有必要像视频中所示那样调暗 LED。

    如果 GRPPWM 寄存器在两个值之间切换、例如每30ms 切换一次0x1A 和0x1B、则会产生相同的效果。
    这是否有可能与内部190Hz PWM 发生某种同步效应?
    为了进行双次检查、我还每次发送相同的值。 这不显示错误。
    因此、这不是对 GRPPWM 寄存器本身的写入命令、而是对 GRPPWM 寄存器的更改。

    我真的希望我们可以通过软件解决这个问题、因为这是一个已经完成的设计。
    我们在这里有30个原型板、可以将设计投入生产、只是这种效果现在使我们无法工作了。

    此致、
    Martin

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Martin、

    这应该是可以的、我建议您参考 TIDA-03026。
    www.ti.com/.../watch.tsp
    在以下用户指南中、它提到"每个 TLC59116 LED 驱动器都有一个内部振荡器、该振荡器可能会因工艺变化而变化。
    因此、当使用多个 TLC59116器件来控制一个 RGB LED 时、可以直观地注意到每个 LED 驱动器之间的时序差异。 要解决此问题、需要定期复位 LED 驱动器、以便所有器件保持同步。 复位和重新初始化发生得非常快、以至于在视觉上无法检测到。"
    www.ti.com/.../tiduc95.pdf

    这将对您有所帮助。

    谢谢。
    此致、
    Kenneth
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    肯尼思、您好!

    感谢您的提示。

    在呼吸效果期间、每次亮度变为零时、我都会执行软件复位和重新初始化。

    但不幸的是、这没有帮助。

    TIDA-03026的源代码是否可用?

    也许我仍在做一些错误的事情?

    我可以看到 RESET 命令正在工作、因为如果我在 RESET 命令之后禁用重新初始化、LED 将保持关闭状态。

    是否有建议的 intervall、应在其中发送 RESET 命令?

    此致、

    Martin

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    肯尼思、您好!

    您对此问题有什么新消息吗?

    您提到您会尝试在评估板上重现此情况、您有机会这样做吗?

    我尝试下载 TIDA-03026的设计文件、但遇到文件不可用的错误。
    如我宝贵的帖子中所述、向驱动程序发送重置命令不起作用。

    在没有 TI 帮助的情况下、我真的很坚持这一点。

    此致、
    Martin

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Martin、

    很抱歉耽误你的时间。

    您是否会尝试在代码中插入一些"重置"以尝试它是否能解决您的问题?

    在当前软件中插入一些 SWRST 和启动代码应该很容易、并且可以根据结果调整周期。

    请告诉我这是否能解决您的问题。
    谢谢。
    此致、
    Kenneth
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    肯尼思、您好!

    请看我6月27日的消息。

    如上所述、我执行了软件复位和重新初始化 命令。

    但这并没有改变行为。 此问题不受此措施影响。

    此致、

    Martin