主题中讨论的其他器件: TLC5957
我使用2个 TLC5958芯片(多路复用)来控制32个 RGB LED (将 MAX_LINE 设置为00001b)。
当我为第一个 TLC5958的通道15设置值时、它们也会出现在第二个 TLC5958的通道0上。 之后、继续写入 GS 数据、设置第2个 TLC 的通道1至15。
除 MAX_LINE 从0更改为1之外、所有 FC 设置均为默认值。
有什么想法我做了什么错?
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.
我使用2个 TLC5958芯片(多路复用)来控制32个 RGB LED (将 MAX_LINE 设置为00001b)。
当我为第一个 TLC5958的通道15设置值时、它们也会出现在第二个 TLC5958的通道0上。 之后、继续写入 GS 数据、设置第2个 TLC 的通道1至15。
除 MAX_LINE 从0更改为1之外、所有 FC 设置均为默认值。
有什么想法我做了什么错?
大家好、David、
多路复用意味着使用开关 FET 来控制更多 LED。 通过多路复用,您可以使用2个 TLC5958来驱动32*N (N 为行号) RGB LED。
因此、在您的情况下、行号为1、MAX_LINE=00000b 应该正常。
您是否同时发送2个 TLC5958数据并按照应用报告 SLVA645中的5个步骤操作:
使用 TLC5958构建高密度、高刷新率、多路复用 LED 面板
此致、
Kenneth
肯尼思、您好!
是的、我遵循5个步骤(其中步骤5是输入 GCLK)。 我将第一个 TLC 的 SIN 连接到我的控制器(输入 GS 数据)、并将第一个 TLC 的 Sout 连接到第二个 TLC 的 SIN。 因此、通过菊花链连接、我总共需要发送32个 RGB 通道的 GS 数据。 将 MAX_LINE 设置为0不起作用(它只会最终设置16个通道、每个通道1个 TLC)、当我将 MAX_LINE 设置为1时、它会起作用、但存在 TLC 的通道15复制到第二个 TLC 的通道0的问题。 这可能是计时问题吗? 可能与 TD0设置有关? 我真的不明白 TD0的重要性、或者如果这是我也应该改变的。
我对 MAX_LINE (根据应用手册)的理解是、它应该被设定为1减去以菊花链方式连接在一起的 TLC5958的数量。 这是正确的理解、对吧?
谢谢、
David
大家好、David、
您对 MAX_LINE 的理解是不正确的。
从 SLVA645的表9中可以看出:
MAX_LINE 与扫描行号相关、扫描行意味着您使用 MOSFET 进行扫描。 虽然您使用2 个菊花链 TLC5958、但它们直接控制 LED、并且您不使用 MOSFET 进行扫描。 因此 MAX_LINE 为0、因为您的扫描行号为1。
TD0不应该是问题、您能提供更多信息让我识别问题、如下所示:
您的应用原理图
2.您在执行步骤1 -步骤4时是否输入 GCLK?
3.您的 GCLK 频率是多少?
谢谢。
此致、
Kenneth
肯尼思、您好!
我已经回答了下面的问题、并提供了一些额外的详细信息(包括在此附上一个包含原理图的 PDF。
[1.您的应用原理图
我的应用实际上使用16个以菊花链形式连接的 TLC5958。 我还使用8个双路 P 沟道 MOSFET 在16个 TLC5958之间切换电压。 我只使用2个 TLC5958进行了一些测试、以尝试缩小问题范围、但没有取得进展(这就是我最初仅用两个 TLC 测试案例向您发送邮件的原因)。 此处随附的是16 TLC5958设计、其中包含 MOSFET、DMUX (用于地址线解码)和 LED。
2.您在执行步骤1 -步骤4时是否输入 GCLK?
在我最初写入 GSData 时、GCLK 被禁用。 在 GS 数据写入和 VSYNC 后、我等待几毫秒、然后再启用 GCLK。
3.您的 GCLK 频率是多少?
8MHz
我还通过下拉框在文件中添加了一行: www.dropbox.com/.../HoloRGB_v24.pdf
如果您有任何新想法或问题、请告诉我。
此致、
David
肯尼思、您好!
我使用逻辑分析仪检查了代码并查看了信号(请参阅随附的屏幕截图)。 代码尝试向前18个 LED 写入颜色、然后将其余 LED 设置为关闭(RGB=0、0、0)。
它将前8个 LED 设置为红色、接下来7个 LED 设置为蓝色、接下来1个 LED 设置为绿色、接下来2个 LED 设置为蓝色、接下来236个 LED 设置为关闭。
结果为8红色、后跟7蓝色、后跟2绿色、后跟2蓝色。
您可以在逻辑分析仪中看到、绿色写入的完成方式与红色或蓝色写入方式没有任何不同(颜色无关紧要、即使我更改了所有颜色、效果也是一样的)。
似乎对于以菊花链形式连接的每个附加 TLC、"混叠"像素的数量增加1 (例如、第3个 TLC 显示蓝色然后绿色 LED、第4个显示蓝色、然后是绿色 LED 等)。
逻辑分析仪通道设置如下(在附加屏幕中)
棕色- SCLK
红色- SIN TLC 0
2.橙色- LAT
3.黄色- Sout TLC 0 (SIN TLC 1)
我的想法已过时。 如果您有任何其他想法、请告诉我。 此外、根据我的原理图、是否将 MAX_LINE 设置为15?
此致、
David
大家好、David、
首先、由于您的扫描行号为16、因此设置 MAX_LINE 15是正确的。
我要检查并确认的一点是、如图11所示、每个 WRTGS 命令写入48位数据、即 OUTBn/OUTGn/OUTRn (Bit15-Bit0)、因此您需要16条 WRTGS 命令才能写入一个 TLC5958所有通道 GS 数据。 由于您使用2个链式 TLC5958、您的 GS 数据应按如下方式进行写入:CHIP 2 OUTB15-OUTR15 (48位)+ CHIP 1 OUTB15-OUTR15 (48位)、然后是 WRTGS 命令; CHIP 2 OUTB14-OUTR14 (48位)+ CHIP 1 OUTB14-OUTR14 (48位) 、然后 是 WRT0 (48位)+ CHIP OUTB0 (48位)命令。
您需要在每次更改 GS 状态时将所有32个 LED GS 数据一起发送。
请检查您是否使用了上述代码。
谢谢。
Kenneth
大家好、David、
很抱歉、您现在遇到了问题。 让我们合作解决这个问题。
我检查您提供的所有信息、发现我们对当前应用有一些误解。
1、虽然使用8路双 P MOS、但不使用多路复用拓扑、芯片0不是线0、而芯片1不是线1。
如 数据表中的典型应用电路所示、多路复用是通过使用 MOSFET 来驱动每条线路的 VLED、所有 TLC5958驱动器都共享该 VLED:
您可以使用电路进行检查、只需使用 MOSFET 来控制16个 TLC5958的 Vled、这与上述情况不同。
换言之、我假设您总共控制16个16个=256个 RGB LED、如果您使用16个多路复用拓扑、则只需要一个 TLC5958 + 8个双路 P MOSFET。
您可以参阅以下电路、它使用一个 TLC5957 + 5个双路 P MOSFET 来驱动16*10=160 RGB LED。
e2e.ti.com/.../8765.TLC5957_5F00_10X16-RGB-LED-Matrix-Schematic.PDF
因此、由于扫描行号为1、因此 MAX_LINE 分段值为0。 您应该将所有 VLED 连接在一起、因为如果您不使用多路复用、则无需切换 VLED。
2. 如果您移除了 MOSFET 或简单的测试方法、则打开了所有 MOSFET、然后只有线路0。 下图中的行意味着您需要同时发送16 TLC5958的所有 GS 数据、因为它位于内部的移位寄存器。
3.如果您想使用2个 TLC5958检查 agin、请选择前两个 TLC5958、并为其余的驱动器关闭 Vcc。
然后、您需要按照我在上一篇文章中所述发送 GS 数据。 因此、这应该是可以的。
我将在 E2E 上与您建立友谊、以便您发送更多结果并获取我们的建议。
谢谢。
此致、
Kenneth
肯尼思、您好!
它现在确实起作用了。 关键是帮助我意识到、在 GSData 每48位后、我无需为单个脉冲升高 LAT、并且我可以/应该仅升高 LAT (即 WRTGS) 对于所有链 TLCS 的所有 GSData 之后的单脉冲、为单个通道写入了(即48 x 个 TLCS - 1个脉冲数)。 我在阅读的《应用手册》中对此并不清楚、因为我认为它更侧重于多路复用用用用用用用用用例。 再次感谢您帮助我找到解决方案。
此致、
David