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.

[参考译文] DS90UB941AS-Q1:DS90UB941AS-Q1连接到 DS90UB948-Q1EVM、ALP 工具无法检测到 DS90UB941AS-Q1器件

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1484582/ds90ub941as-q1-ds90ub941as-q1-connect-to-ds90ub948-q1evm-alp-tool-fails-to-detect-the-ds90ub941as-q1-device

器件型号:DS90UB941AS-Q1
主题中讨论的其他器件: DS90UB948-Q1EVMALP、TDA4VM

工具与软件:

大家好、团队

当我将 DS90UB941AS-Q1连接到 DS90UB948-Q1EVM 时、

ALP 工具无法检测到 DS90UB941AS-Q1器件。

这是948EVM 的照片:

941的寄存器状态和配置如下:

{0x16、0x01、0x0A}、// Reset
{0x16、0x03、0x9A}、//直通 I2C
{0x16、0x5B、0x01}、//强制单通道
{0x16、0x1E、0x01}//选择 FPD-Link III 端口0
{0x16、0x66、0x1A}、
{0x16、0x67、0x01}、//M=1
{0x16、0x66、0x03}、
{0x16、0x67、0x03}、//N=2
{0x16、0x66、0x04}、
{0x16、0x67、0x70}、//总 水平帧大小的至少8位
{0x16、0x66、0x05}、
{0x16、0x67、0xE6}、//最少4位电视+最多4位电视
{0x16、0x66、0x06}、
{0x16、0x67、0x2E}//总垂直帧大小的最多8位
{0x16、0x66、0x07}、
{0x16、0x67、0x00}、//至少8位有效水平帧大小
{0x16、0x66、0x08}、
{0x16、0x67、0x05}、//最少4位 AV +最多4位 AH
{0x16、0x66、0x09}、
{0x16、0x67、0x2D}、//当前垂直帧大小的最多8位
{0x16、0x66、0x0A}、
{0x16、0x67、0x50}、//水平同步宽度
{0x16、0x66、0x0B}、
{0x16、0x67、0x05}、//垂直同步宽度
{0x16、0x66、0x0C}、
{0x16、0x67、0xD8}、//水平后沿
{0x16、0x66、0x0D}、
{0x16、0x67、0x16}、//垂直后沿
{0x16、0x65、0x04}、//使用内部时序和内部时钟
{0x16、0x64、0x15}、//启用 PG /色条
{0x16、0x1E、0x01}//选择 FPD-Link III 端口0
{0x16、0x07、0x58}、//0x07、0x58
{0x16、0x08、0x5C}、//0x08、0x5c
{0x16、0x03、0x9A}、//0x03、0x9A 启用 I2C_PASS、FPD-Link III 端口0
{0x16、0x01、0x00}、//释放 DSI

打印的寄存器0x0C 和寄存器0x03的值分别为0x00和0x9a。  

ALP 软件的连接状态如下:

请帮我解决设备连接问题。

此致、

FuGuojia

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

    您好!

    很乐意就此事提供支持。 0x0C = 0x00的寄存器回读表明未检测到 SER 和 DES 之间的电缆链路。  

    您能否提供有关如何将941连接到948的更多详细信息? 941AS 是否也是像948一样的 EVM?

    此致!

    Nikolas

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

    你好、 Nikolas

    941不是一个 EVM。 下面是它的电路图:

    941和948 EVM 之间的连接如下:

    此致、

    FuGuojia

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

    您好!

    感谢您提供原理图。 请允许我多花1-2个工作日来进一步调查此问题。

    此致!

    Nikolas

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

    您好!

    您能在盒装红色部分图片 EVM 的背面吗? 我想看看 EVM 是针对同轴电缆还是 STP 连接器进行布线。

    此致!

    Nikolas

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

    你好

    我已经标记了图片如下:

    此致、

    FuGuojia

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

    您好!

     EVM 上的电流电容器配置路由到 HSD 连接器、而不是 SMA 连接器。 这就是948 ALP 选项卡无法识别到941AS 的连接的原因- 948 IC 和同轴电缆连接器之间目前没有物理连接。

    若要为同轴电缆连接器配置电路板、您必须重新确定电容器的方向、以便它们完成948 IC 和 SMA 连接器之间的路径(随后断开 HSD 连接器)。 为此、 请使用0欧姆0402电阻器组装 R37、R38、R63和 R64。

    此致!

    Nikolas

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

    你好

    非常感谢您、我添加了 具有0欧姆0402电阻器的 R37、R38、R63和 R64、UB941可连接到948 EVM。

    但当我读取 UB941的寄存器0x5a 和0x5F 时。 这些寄存器的值如下:0x5a 的值为0x02、0x5f 的值为0x00。  TDA4似乎 没有向941发送 DSI 信号。

    我使用  TDA4VM_SDK_10.05的 SDK 版本。   在 app_common_mcu2_0.h 头文件中将输出设置为 DSI、如下所示:

    我如何修改 SDK、以便 UB941可以检测 DSI 输入?

    此致、

    FuGuojia

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

    您好!

    很高兴听到您能够检测到 UB941和 UB948之间的连接!

    遗憾的是、我只熟悉 TI 的 FPD-Link 组件(即 UB941AS、UB948)。  我将把该线程重新路由至负责 TDA4VM 的团队-他们会为您提供所需的支持。

    此致!

    Nikolas

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

    尊敬的 FuGuojia:

    我是来自 Jacinto 团队的 Takuma、用于处理 TDA4VM 问题。 我有一位印度同事、他对我们正在使用的 RTOS 驱动程序了解更多、我即将通知大家。

    同时、您是否可以打印出 SoC 上该地址处的 DSI_VID_MODE_STS_FLAG 寄存器中的值、以查看是否设置了任何错误位:

    • 0x04800180

    devmem2工具(如果正在使用 Linux)或 CCS (如果未使用 Linux)应该能够转储寄存器内容。

    此致、

    Takuma

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

    你好、 Takuma  

    我已经按如下方式读取寄存器0x04800180的值:

    root@j721e-EVM:~# devmem2 0x04800180 /dev/mem 已打开。
    存储器映射在地址0xff87caa000处。
    在地址0x04800180 (0xff87caa180)处读取:0x00000005
    寄存器0x04800180的值 为 0x00000005

    此致、

    FuGuojia

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

    尊敬的  FuGuojia:

    您能否多次读取此寄存器并确认其保持在值0x5? 如果是这种情况、DSI 已经在流式传输数据。  

    此致、

    Brijesh

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

    你好、 Takuma

    我已经确认 它始终保持在值0x5。  

    但当我读取 UB941的寄存器0x5a 和0x5F 时。 这些寄存器的值如下:0x5a 的值为0x02、0x5f 的值为0x00

    我应该读取 UB941的哪个寄存器来确认 UB941中有 DSI 输入?

    此致、

    FuGuojia

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

    尊敬的  FuGuojia:

    我不确定从 UB941的角度来看、正如我们在另一个主题中所讨论的、你能先用1280 x 800分辨率来检查一下、然后确认 ub941正在检测输入分辨率?

    此致、

    Brijesh

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

    尊敬的 FuGuojia:

    我将补充 Brijesh 在另一主题中的内容: https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1463407/ds90ub948-q1-ds90ub941-q1-how-do-i-set-register-for-dsi0-input-dout0-output/5725668?tisearch=e2e-sitesearch&keymatch=%20user%3A638859#5725668

    如果  DSI_VID_MODE_STS_FLAG 报告0x1、这意味着 DSI 正在运行。 0x5表示 还设置了 ERR_MISSING_HSYNC_FLAG、因此1920x1080分辨率很可能会出现时序问题。

    正如 Brijesh 所说、您应使用1280x800进行检查、以查看 ub941是否正在检测输入分辨率、因为从 TDA4VM 角度来看、该分辨率的误差较少。

    此致、

    Takuma

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

    你好、  Takuma

     我现在已将分辨率配置为1280*800。 DSI_VID_MODE_STS_FLAG 和 DSI_VID_MODE_STS 寄存器的值为1。

    但 当我读取 UB941的寄存器0x5a 和0x5f 时、0x5a 的值是0x02、而0x5f 的值是0x00。

    另外、我测量了 DSI0_CLKP 引脚、发现输出电压恒定在0.2V。 当我使用示波器进行检查时、电压仍然是0.2V、并且没有时钟波形。  

    此致、

    FuGuojia

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

    尊敬的 FuGuojia:

    您是否能够确保941是使用任何值进行编程的? 也许 I2C 通道和地址对于您的设置是不同的、没有任何编程内容?

    我看到这里有一些用于设置 UB941的代码: https://git.ti.com/cgit/processor-sdk/vision_apps/tree/utils/dss/UB/APP_DSS_SoC.c?h=MAIN#n384、但我 也看到 这里有一些用于 src 地址的硬编码值: https://git.ti.com/cgit/processor-sdk/pdk/tree/packages/ti/board/src devices/fpd/ds90ub941.c#4597. 

    此致、

    Takuma

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

    你好、  Takuma

    是的、我确定  941正在使用设置值进行编程、我更改了   Ub941Ub925Config buff with my value.

    I2Caddress 是正确的、 我读取的 ub941和948evm 值 如下所示:

    [MCU2_0] 40.609076 s:appDssConfigureUB941ReadData:clientAddr 的读取成功为0x16 RegAddr 0x66值0xd!
    [MCU2_0] 40.614076 s:appDssConfigureUB941ReadData:clientAddr 的读取成功为0x16 RegAddr 0x67值0x16!
    [MCU2_0] 50.383594 s:appDssConfigureUB941ReadData:clientAddr 的读取成功为0x16 RegAddr 0x3值0x9a!
    [MCU2_0] 50.388594 s:appDssConfigureUB941ReadData:clientAddr 的读取成功为0x16 RegAddr 0xc 值0x7!
    [MCU2_0] 50.393596 s:appDssConfigureUB941ReadData:clientAddr 的读取成功为0x16 RegAddr 0xf0值0x5f!
    [MCU2_0] 50.398596 s:appDssConfigureUB941ReadData:clientAddr 的读取成功为0x16 RegAddr 0xF1值0x55!
    [MCU2_0] 50.403594 s:appDssConfigureUB941ReadData:clientAddr 的读取成功是0x16 RegAddr 0xf2值0x42!
    [MCU2_0] 50.408596 s:appDssConfigureUB941ReadData:clientAddr 的读取成功为0x16 RegAddr 0xf3值0x39!
    [MCU2_0] 50.413596 s:appDssConfigureUB941ReadData:clientAddr 的读取成功为0x16 RegAddr 0xf4值0x34!
    [MCU2_0] 50.418595 s:appDssConfigureUB941ReadData:clientAddr 的读取成功为0x16 RegAddr 0xf5值0x31!
    [MCU2_0] 50.423595 s:appDssConfigureUB941ReadData948:clientAddr 的读取成功为0x2C RegAddr 0x1c 值0x23!
    [MCU2_0] 50.428596 s:appDssConfigureUB941ReadData948:clientAddr 的读取成功为0x2C RegAddr 0xf0值0x5f!
    [MCU2_0] 50.433594 s:appDssConfigureUB941ReadData948:clientAddr 的读取成功为0x2C RegAddr 0xF1值0x55!
    [MCU2_0] 50.438594 s:appDssConfigureUB941ReadData948:clientAddr 的读取成功为0x2C RegAddr 0xf2值0x42!
    [MCU2_0] 50.443595 s:appDssConfigureUB941ReadData948:clientAddr 的读取成功为0x2C RegAddr 0xf3值0x39!
    [MCU2_0] 50.448594 s:appDssConfigureUB941ReadData948:clientAddr 的读取成功为0x2C RegAddr 0xf4值0x34!
    [MCU2_0] 50.453595 s:appDssConfigureUB941ReadData948:clientAddr 的读取成功为0x2C RegAddr 0xf5值0x38!
    此外、DSI 的器件树位于何处? 是否需要修改?

    此致、

    FuGuojia

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

    尊敬的 FuGuojia:

    是的、我确信  941是使用设置值进行编程的、我更改了  Ub941Ub925Config buff with my value.

    好的、明白

    此外、DSI 的设备树在哪里? 是否需要修改?

    这将取决于所使用的显示驱动程序。 从 您提供的 app_common_mcu2_0.h 屏幕截图中可以看出、我假设在 ARM R5F 上运行的 RTOS 驱动程序正在使用中、在本例中、将不会使用 devicetre。 如果您正在查看 PSDK RTOS 中的视觉应用演示示例、则很可能正在使用 RTOS 驱动程序。

    Devicetree 主要用于 Linux、如果在 ARM A72上运行的 Linux 驱动程序正在使用、则应设置此类驱动程序。 如果您想要运行基于 Linux KMS 的应用程序(例如 kmstest 和 kmscube)、或者想要使用诸如 Wayland/Weston 之类的合成器、那么应该使用 Linux 驱动程序、RTOS 不应触碰显示配置。

    您能否说明一下您尝试运行以测试显示输出的用例/示例是什么?

    此致、

    Takuma