尊敬的 TI 团队:
我们使用的是 TLC5957 LED 驱动器。 下面我提供了我们希望如何使用 LED 驱动器。
我们将获取模式和子模式详细信息作为 FPGA 的输入、我们希望根据模式和子模式驱动每个 LED (总共16个 LED)。 它包括以下功能
- 更改每个 LED 的颜色
- 根据模式和子模式切换每个 LED
模式 |
子模式 |
颜色 |
颜色值 (48位-{B、G、R}) |
切换 |
A |
1 |
绿色 |
{0000、FFFF、0000} |
|
2. |
红色 |
{0000,0000,0000,FFFF} |
0.2 Hz |
|
3. |
蓝色 |
{FFFF、00000000} |
|
|
4. |
橙色 |
{0000.7FFF、FFFF} |
|
|
5. |
紫色 |
{FFFF、FFFF、0000} |
|
|
6. |
黄色 |
{0000、FFFF、FFFF} |
0.2 Hz |
|
B |
1 |
绿色 |
{0000、FFFF、0000} |
|
2. |
红色 |
{0000,0000,0000,FFFF} |
1.0 Hz |
|
3. |
蓝色 |
{FFFF、00000000} |
|
|
4. |
橙色 |
{0000.7FFF、FFFF} |
|
|
5. |
紫色 |
{FFFF、FFFF、0000} |
|
|
6. |
黄色 |
{0000、FFFF、FFFF} |
0.2 Hz |
|
C |
1 |
绿色 |
{0000、FFFF、0000} |
|
2. |
红色 |
{0000,0000,0000,FFFF} |
1.5 Hz |
|
3. |
蓝色 |
{FFFF、00000000} |
|
|
4. |
橙色 |
{0000.7FFF、FFFF} |
|
|
5. |
紫色 |
{FFFF、FFFF、0000} |
|
|
6. |
黄色 |
{0000、FFFF、FFFF} |
|
请查找以下问题、
- 全局亮度控制(BC):3位 à 它用于同时控制所有 LED 的亮度。 请确认?
- 全局亮度控制(CC):9位 à 它用于表示所有 LED 每种颜色的亮度。 请确认?
- FCWRTEN 命令和 WRTFC 命令之间保持30个 SCLK 周期(空闲时钟周期)。 我们认为这不会是问题,请确认吗?
- “在步骤4的同一期间,下一行的 GS 数据应写入 GS 数据锁存器。 使用 LATGS 命令加载48位 GS 数据。” à 我们了解 GCLK 用于设置亮度。 因此、在 GS 数据写入(768位写入操作)期间、我们需要提供从0到65536上升沿的 GCLK 边沿。 到那时应用 LATGS 命令时、无论提供的 GCLK 边沿计数器值是多少、该值都设置为亮度级别。
- 加载新的 GS 数据(768位)时、我们是否需要再次提供 GCLK?(针对每个新的 GS 数据)。
请确认我们对第4点的理解是否正确?
- 当提供 LATGS 命令时、我们了解 GCLK 边沿计数器将被重置。 请确认?
- 我们需要更清楚地了解 XREFRESH 位。 根据用户指南、我们了解以下几点
- XREFRESH = 0、GCLK 必须达到65536、那么只有来自锁存器1的 GS 数据才会移动到锁存器2。
- XREFRESH = 1、在提供 LATGS 的最后一行期间、来自锁存器1的 GS 数据将移至锁存器2。 在此运行模式期间,我们是否需要提供 GCLK?
当 XREFERSH = 0且 XREFERSH = 1时、GCLK 有何差异?
- 我们不使用 Poker 模式、在这种情况下、我们是否需要使用 LINERESET 命令? 何时是正常模式所需的?
- 为了使 LED 闪烁、我们了解可以使用以下方法
- 将 GS 数据更改为零(将 GS 数据锁存寄存器中相应组的48位数据更改为零)
- 将 FC 寄存器中的 BC 值更改为零
- 将 FC 寄存器中 R、G、B 的 CC 值更改为零
请确认我们的理解是否正确?
此致、
Jagan