你(们)好
我们在读卡器应用中使用 TLC5928芯片来控制2组 RGB LED。
每组 RGB LED 使用 TLC5928芯片的3个输出引脚、每种颜色一个引脚。
原理图显示了更多正在使用的输出、但它们实际上是 RFU 而未连接。
RGB LED 阴极通过一些小电阻器(~ 68欧姆)连接到 OUT0、OUT1和 OUT2
RGB LED 阳极连接到 VDD3V3。
为了使每组颜色超过8种、一些硬件不断更新芯片输出
通过对16位数据计时、锁存、再次对16位数据计时、锁存等等。
频率不是很高、新的16位值每1.3毫秒锁存一次。
SCLK 频率约为13.9kHz:
我们正面临一种奇怪的芯片行为。
当我们尝试更改 RGB LED 颜色并因此从状态{OUT0有效、OUT1有效、OUT2无效}切换到状态{OUT0无效、OUT1有效、OUT2无效}时、
然后芯片将关闭其所有输出!
这种情况如下:
在<1>中、时钟值的最后两位都为1、要求 OUT1激活、OUT0激活。
在锁存脉冲之后、绿色信号(OUT1)仍然为低电平=按预期激活。
然后发生颜色变化、并为新的16位值计时。
对于这种新颜色、我需要禁用 OUT0并保持 OUT1启用。
在<2>中、时钟值的最后两位为1和0、要求 OUT1激活和 OUT0无效。
OUT1按预期保持激活状态、OUT0可能变为未激活状态(我的屏幕截图中未显示 OUT0)。
在<3>中,与在<2>中相同的16位值被计时到芯片:时钟值的最后两位为1和0,再次要求 OUT1激活和 OUT0未激活(无变化)。
但出于某种未知原因、OUT1变为高电平(禁用)、并且所有其他输出也会变为高电平!
我仔细阅读了芯片数据表、我认为所有时序都得到了尊重。
生成信号 SIN 和 CLK 的硬件会在 CLK 的下降沿更新 SIN、并在 CLK 的下一个上升沿期间保持稳定。
此外、CLK 在锁存脉冲期间保持低电平。
正如我说过的、时序相当缓慢:在 SIN 更新后、CLK 的上升沿~ 36微秒出现、这远远超过请求的值
数据表中。
我知道芯片的内部开/关控制移位寄存器被锁存器上升沿上的 LOD/PTW 诊断位所取代、
但我始终仅锁存一次、并且在下一个锁存脉冲之前始终有16个 CLK。
因此、我认为不会出现 LOD /PTW 诊断位被错误锁存到开/关控制数据寄存器的不良情况。
绝对无法从这种情况中恢复、无论将任何值计时并锁存到芯片中。
只有断电和上电才能使芯片再次正常运行。
可能不涉及芯片温度。 使用冷冻喷雾测试:无变化。
项目可以运行数小时而不会出现任何问题、问题仅在某些颜色转换(并非所有转换)上出现。
另请注意、空引脚未使用并保持低电平。
如果有任何帮助/提示,我们将不胜感激!
此致、
Fabrice Girardot / DDM Hopt + Schuler / Germany