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.

[参考译文] DLPC3470:内部图形流和启动界面模式中的行为不一致

Guru**** 1649650 points
Other Parts Discussed in Thread: DLPC3470, DLPA2005, DLP2010LC
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/dlp-products-group/dlp/f/dlp-products-forum/1348202/dlpc3470-inconsistent-behavior-in-internal-pattern-streaming-and-splash-screen-mode

器件型号:DLPC3470
主题中讨论的其他器件: DLPA2005DLP2010LC

我们拥有一组定制电路板、包括 DLPC3470、DLPA2005和 DLP2010LC。 我们从外部 MCU 通过 I2C 接口控制 DLPC3470。 我们使用从 DLP Pico FW 选择器下载的固件 v8.1.0 (我已尝试最新的 v9.1.0、但无法解决此处所述的问题)、并已通过 DLP EVM GUI (v3.2.0.6)将我们自己的自定义图形表加载到其中。 在我们的应用中、我们将 DLPC3470置于两种工作模式:启动界面模式和内部图形流模式。 我在这两种模式下都观察到不一致的行为、我将在下文中进行介绍。

启动界面模式

在我们的应用中、我们需要定期调整用于启动界面的 LED 驱动强度。 此调整在1s 内部时进行。 为了进行调整、我们按如下方式写入 RGB LED 使能(0x52)和 RB LED 电流(0x54)寄存器:

0x52 = 0x1
0x54 = 0x94 0x01 0x01 0x00 0x01 0x00

在上面的示例中、我们只在驱动强度为1000mA 时使用蓝色 LED。 我观察到的行为是、这些事务之一不可避免地会触发 DLPC3470上的复位、此时我观察到 HOST_IRQ 拉至高电平、然后在几百毫秒后返回低电平。 此时 、投影会损坏、通常会显示一个全蓝色矩形、而不是配置的启动界面。 无论我们进行更新的速率(我已经尝试了从1Hz 到20Hz 的许多不同间隔)、我们设置的 LED 电流或我们选择启用/禁用的 LED 如何、都会发生此行为。

内部图形流模式

内部图形流模式是我们应用的主要工作模式。 当我们进入该工作模式时、我们将 DLPC3470置于内部图形流模式、通过 I2C 接口将图形序列表推送到控制器、并使用外部输入触发器触发控制器。 下面显示了通过 I2C 的配置序列示例:

0x52 = 0x07
0x54 = 0xFA 0x01 0xFA 0x01 0xFA 0x01
0x9D = 0x01 0x00 0x98 0x08 0x00 0x00
0x9D = 0x01 0x00 0x82 0x08 0x00 0x00
0x9D = 0x01 0x00 0x6D 0x08 0x00 0x00
0x9D = 0x01 0x00 0x58 0x08 0x00 0x00
0x9D = 0x01 0x00 0x43 0x08 0x00 0x00
0x9D = 0x01 0x00 0x2E 0x08 0x00 0x00
0x9D = 0x01 0x00 0x1A 0x08 0x00 0x00
0x9D = 0x01 0x00 0x06 0x08 0x00 0x00
0x9D = 0x01 0x00 0xF2 0x07 0x00 0x00
0x9D = 0x01 0x00 0xDE 0x07 0x00 0x00
0x9D = 0x01 0x00 0xCA 0x07 0x00 0x00
0x9D = 0x01 0x00 0x66 0x07 0x00 0x00
0x98 = 0x01 0x02 0x08 0x01 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x66 0x07 0x00 0x00 0xB3 0x00 0x00 0x00 0x20 0x00 0x00 0x00
0x9D = 0x01 0x00 0x66 0x07 0x00 0x00
0x98 = 0x00 0x00 0x01 0x01 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x66 0x07 0x00 0x00 0xB3 0x00 0x00 0x00 0x20 0x00 0x00 0x00
0x9D = 0x01 0x00 0x66 0x07 0x00 0x00
0x98 = 0x00 0x00 0x01 0x02 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x66 0x07 0x00 0x00 0xB3 0x00 0x00 0x00 0x20 0x00 0x00 0x00
0x9D = 0x01 0x00 0x66 0x07 0x00 0x00
0x98 = 0x00 0x00 0x01 0x04 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x66 0x07 0x00 0x00 0xB3 0x00 0x00 0x00 0x20 0x00 0x00 0x00
0x92 = 0x00 0x00 0x00 0x00 0x00
0x90 = 0x03
0x94 = 0x01
0x05 = 0x04

0x9E = 0x00 0xFF

此过程包括:

  • RGB LED 电流调节
  • 大量照明时间验证(照明时间会动态变化、因此可能有多个不同的值、因此我们可以使用验证命令来确定图形序列表的最终照明时间值)。
  • 许多内部图形表序列写入。
  • 触发输入/输出配置。
  • 激活内部图形流模式。

我观察到的不一致行为是内部图形序列有时会完全错误地出现。 大多数时间它都能正常工作,但有时这些图案不会被播放(我看到完全发光的矩形而不是与我的1D 图案位图匹配的列),或者看起来比平时更暗, 或者模式中的某些列将缺失、而其他列没问题。 其他时候我也看到过非常奇怪的行为、例如序列中其他工作模式的启动界面。

有问题的行为可能在每十次工作模式转换中发生一次、 每次它保持一致、直到控制器重新置于相反的模式(启动界面与内部图形流)、然后返回到原始模式、在该过程中会将上述所有 I2C 寄存器写入再次推送到控制器。

我们在进行任何看起来有问题的配置操作吗?

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

    我还注意到 v8.1.0固件版本说明将"Idle Mode"列为不受支持的功能。 我们使用的是 DLPC3470的软件开发人员指南中列出的"待机"模式、但我没有看到任何提到"空闲模式"(大概是因为它不受支持)。 什么是"空闲模式"?

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

    Matthew 您好!

    欢迎回到 E2E 论坛、我们希望能帮助您解决您的问题。  

    您是否以光控制模式运行? 如果是这样、对于内部图形流模式和启动界面图形模式、会使用一些命令来确保您已发送。  

    对于启动界面模式问题、您是否要确保仅在自动初始化完成且 HOST_IRQ 变为低电平后发送 I2C 命令? 在 HOST_IRQ 变为低电平之前、不允许使用 I2C 命令或活动。   

    您是否看到每次发送命令 RGB Enable 和 Write RGB LED Current 时、主机 IRQ 上的 DLPC3470/activity 都会复位? 如果您更改通过 RGB Enable 和 Write RGB LED 电流发送的内容、如降低电流、问题是否仍然存在?

    您能否检查来自 DLPA2005的 RESETZ 信号是否正在切换以触发 DLPC3470上的此复位事件?

    请给我们的团队更多时间来研究内部图形流模式的问题。  

    此致、

    亚历克斯·陈

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

    您好、Mathew:

    针对您的内部图形模式问题、您可以执行以下操作吗?

    • 重新启动系统、跟踪发送的命令、记录/拍摄存在的问题。

    这将帮助我们更好地了解导致该问题的原因、并能够调试其原因。

    此致!

    马克西姆

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

    您好!

    是否仍有此问题? 如果是、请回复此主题或打开新主题。 现在、我将关闭该主题。

    此致!

    马克西姆