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.

[参考译文] PROCESSOR-SDK-TDAX:从 TDA2x VOUT 向 TDA2x VIN 发送24位数据

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/647571/processor-sdk-tdax-sending-24-bit-data-from-tda2x-vout-to-tda2x-vin

器件型号:PROCESSOR-SDK-TDAX

大家好、

是否可以将采用3个 PCLK 的 RGB24_888视频格式从 TDA2x VOUT 发送到其他 TDA2x 上的 VIN? 当我将 VIDEO IfWidth 设定为24位、将 dataFormat 设定为 RGB24_888时、我在第二个 TDA2x 上获得的 VIN 上获得的所有内容都是蓝色视频。

此致、

Bosko

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

    我已将您的问题转交给 ISS 专家。

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

    您是否收到 VIP 的回叫? 如果是、
    我希望您已经考虑了引脚复用和极性(尤其是 vsync)。
    此外、您是否正在使用 TI 评估板?

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

    我们使用配备 TDA2x 芯片的电路板。 TX 芯片上的 VOUT1连接到 RX 芯片上的 VIN1A、TX 应发送24位数据。 问题是 TX 芯片只发送8位数据、这是蓝色分量。 在 RX 端、pInstPrm->videoIfWidth 被设定为 SYSTEM_VIFW_24位。 我在屏幕上看到的图片很好、但它只有蓝色的组件。 在 bsp_boardTda2xx.c 中、pinmux 已通过 bsp_platformSetPinmuxRegs ()进行设置。 第一个参数设置为0、第二个参数是寄存器名称、第三个参数是 BSP_platform_IOPAD_CFG_DEFAULT。 这似乎是好的。

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

    您好、Bosko、

    发生这种情况的原因只有两个、

    1、对于 TX 或 RX 侧、PINMUX 未正确设置。 由于您检查了 TX 侧是否正常、您是否也可以检查 RX 侧?

    2、由于您正在获取蓝色组件、因此 DSS 配置正确。 是否可以是 VIP 仅配置为在低8位时接收数据,是否可以检查 VIP 寄存器?

    此致、

    Brijesh

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

    您好、Brijesh、

    我使用 bsp_platformSetPinmuxRegs()函数在用例中设置引脚多路复用器。 在 TX 侧、作为第一个参数我设置0、第二个参数是寄存器名称、第三个参数是 BSP_platform_IOPAD_CFG_DEFAULT。 在 RX 侧、第一个参数为0、第二个参数是寄存器名称、第三个参数是 BSP_platform_IOPAD_CFG_INPUTENABLE_BI。 在我设置 RX 侧的引脚多路复用器之前、寄存 器中的值对于 CLK、FLD、DE、HSYNC、VSYNC 为0x40000、数据寄存器中的值从 D0到 D7、而对于 D8到 D23为0x4000f。 现在、在为 VIN 设置引脚多路复用器后、数据寄存器中的所有值均为0x40000。 在 TX 端、所有寄存器都已设置为0x40000、但我仍然具有相同的行为。

    此致、

    Bosko

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

    您可以转储 VIP 寄存器并与我共享吗? 我想它从0x48975500开始。 您能否从该地址转储50个寄存器?

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

    您好、Brijesh、

    这里是寄存器及其值。

    TX 侧:
    0x48975500 0x0
    0x48975504 0x0
    0x48975508 0x0
    0x4897550C 0x0
    0x48975510 0x0
    0x48975514 0x3ffedf
    0x48975518 0x3ffedf
    0x4897551C 0x0
    0x48975520 0xFFFF
    0x48975524 0xFFFF
    0x48975528 0xFFFF
    0x4897552C 0xFFFF
    0x48975530 0x0
    0x48975534 0x0
    0x48975538 0x0
    0x4897553C 0x0
    0x48975540 0x0
    0x48975544 0x0
    0x48975548 0x0
    0x4897554C 0x0
    0x48975550 0x0
    0x48975554 0x0
    0x48975558 0x0
    0x4897555C 0x0
    0x48975560 0x0
    0x48975564 0x0
    0x48975568 0x0
    0x4897556C 0x0
    0x48975570 0x0
    0x4897557 0x0
    0x48975578 0x0
    0x4897557C 0x0
    0x48975580 0x0
    0x48975584 0x0
    0x48975588 0x0
    0x4897558C 0x0
    0x48975590 0x0
    0x48975594 0x0
    0x48975598 0x0
    0x4897559C 0x0
    0x489755A0 0x0
    0x489755A4 0x0
    0x489755A8 0x0
    0x489755AC 0x0
    0x489755B0 0x0
    0x489755B4 0x0
    0x489755B8 0x0
    0x489755BC 0x0
    0x489755C0 0x0
    0x489755C4 0x0
    0x489755C8 0x0

    RX 侧:
    0x48975500 0x0
    0x48975504 0x40b904
    0x48975508 0x5000320
    0x4897550C 0x0
    0x48975510 0x0
    0x48975514 0x3ffedf
    0x48975518 0x3ffedf
    0x4897551C 0x0
    0x48975520 0xFFFF
    0x48975524 0xFFFF
    0x48975528 0xFFFF
    0x4897552C 0xFFFF
    0x48975530 0x5000000
    0x48975534 0x0
    0x48975538 0x0
    0x4897553C 0x0
    0x48975540 0x0
    0x48975544 0x0
    0x48975548 0x0
    0x4897554C 0x0
    0x48975550 0x0
    0x48975554 0x0
    0x48975558 0x0
    0x4897555C 0x0
    0x48975560 0x0
    0x48975564 0x0
    0x48975568 0x0
    0x4897556C 0x0
    0x48975570 0x0
    0x48975574 0x0
    0x48975578 0x0
    0x4897557C 0x0
    0x48975580 0x0
    0x48975584 0x0
    0x48975588 0x0
    0x4897558C 0x0
    0x48975590 0x0
    0x48975594 0x0
    0x48975598 0x0
    0x4897559C 0x0
    0x489755A0 0x0
    0x489755A4 0x0
    0x489755A8 0x0
    0x489755AC 0x0
    0x489755B0 0x0
    0x489755B4 0x0
    0x489755B8 0x0
    0x489755BC 0x0
    0x489755C0 0x5008000
    0x489755C4 0x3200000
    0x489755C8 0x0

    此致、

    Bosko

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

    输入正常、但接口类型在寄存器0x48975504 0x40b904中设置为离散同步单路4:2:2 YUV 流、最后半字节中的值为4、但对于离散同步单通道24位 RGB 输入、应设置为0xA。 请尝试一下吗?

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

    您好、Brijesh、

    调用 controlFxn 函数后、我尝试在 Fvid2_drvmgr.c 文件的 Fvid2_control 函数中将0x48975504寄存器设置为0x40b90A。 当我在之后读取寄存器值时、该值设置为0x40b90A、不变。 但是、在寄存器中写入该值后、我会在 HDMI 上看到一幅黑白图像。

    此致、

    Bosko

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

    但是、在更改该寄存器值后、是否在0x48975530寄存器偏移中看到正确的帧大小? 如果是、则 VIP 正在检测正确的流。 您可以尝试转储捕获的帧之一、看看它是否看起来正确?

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

    设置寄存器0x48975504的值后、我在0x48975530中得到0x0、但在设置该值之前、我得到0x5000000。 我认为问题可能出在发送端、就像它仅发送前8位一样。 我设置24位数据 pVInfo->vencOutputInfo.videoIfWidth = System_VIFW_24位、如 ChainCommon_DualDisplay_StartDisplayCtrl 函数中所示。 是否还有其他地方需要设置它?

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

    您好、Bosko、

    是的、这应该足够了。 在任何情况下、您都可以检查寄存器0x48975500的值、如果该寄存器的低两位设置为0、则 VIP 配置为通过24位接口接收帧。  

    即使 VIP 检测到某种情况、它也仅检测帧的宽度、但仍无法检测到高度。 似乎只有 HSYNC 信号出现在 VIP 上、VSYNC 不出现。 这就是没有帧捕获的原因。

    此外、您能否验证两侧的引脚多路复用器并确保在应用运行时引脚多路复用器是正确的?  

    此致、

    Brijesh

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

    我以这种方式设置用例主函数中的引脚多路复用器:bsp_platformSetPinmuxRegs ((uint32) 0、(uint32) CTRL_core_pad_VIN1A_VSYNC0、bsp_platform_IOPAD_CFG_DEFAULT)、在第一个 SoC 的输出上相同、只是更改了函数的第二个参数。 当我在调用 bsp_platformSetPinmuxRegs 函数之前打印0x4A0034F0寄存器的值时、我得到0x40000f 值、并且在调用函数之后、它被设置为0x400000。 对我来说似乎可以。 我们可以通过 TeamViewer 进行会话吗?

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

    您好、Bosko、

    您不仅可以检查一个引脚、还可以检查所有引脚多路复用值吗? 您能否从 DSS 中探测信号并查看信号是否发出?  

    还要探测 VIP 端口上的同步信号、看看它们是否传入?

    此致、

    Brijesh

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

    在设置引脚多路复用器之前、VOUT1_CLK、VOUT1_DE、VOUT1_FLD、VOUT1_HSYNC、VOUT1_VSYNC 和 VOUT1_Dx 的值为0x4000f、 对于 VIN1A_CLK0、VINA1_DE0、VIN1A_FLD0、VIN1A_HSYNC0、VIN1A_VSYNC0和 VIN1A_Dx、 在设置引脚多路复用之后、它是0x40000。 在 DSS 上探测信号、只有前8条线处于活动状态、其他16条线未处于活动状态。 同样的情况。 输出端口直接连接到输入端口。

    我们是否可以有 TeamViewer 会话、如果您只想看看已经完成了哪些工作、我将准备好环境?

    此致、

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

    哦、这意味着 DSS 并不是在所有24条线路上输出、这与 DSS 配置有关。 您是否检查了 VOUT1_D0至 VOUT_D24数据线的引脚多路复用器? 还可以在 DSS 寄存器运行时共享该转储吗?

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

    是的、我检查了 VOUT1_D0至 VOUT_D24的引脚多路复用器、对我来说似乎可以。 这些寄存器的值为0x40000。 我在0x58000000地址找到寄存器、两侧的值都为0x61、两侧的值都为0x58000014、发送侧的值为0x58000040、接收侧的值为0x10001、发送侧的值为0x5800005C、发送侧的值为0x1408a82、接收侧的值为0x1408a81。 这是可以的吗?

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

    您好、Bosko、

    很抱歉耽误你的回答。 如果 pinmux 看起来正确、并且探测表明只有低8位具有有效数据、则意味着 DSS 配置不正确。 是否可以共享 DSS 寄存器转储?

    此致、

    Brijesh

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


    0x58000000地址的寄存器在接收和发送端的值为0x61、寄存器0x58000014在两侧的值为0x1、在发送端的值为0x58000040、在接收端的值为0x10000、在发送端的值为0x5800005C、在接收端的值为0x1408a82。

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

    Bosko、

    DISPC 基址为 0x58001000、我需要 VP 输出的寄存器值、即 DPSPC 的控制/配置/大小/时序/ POL_FREQ//DATA_CYCLE 寄存器。

    Rgds、

    Brijesh

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

    发送端寄存器的值为:
    0x58001040 CONTROL1 0x90034b
    0x58001238 CONTROL2 0x300
    0x58001848 Control3 0x300
    0x58001044 CONFGI1 0x3c04
    0x58001044 CONFGI2 0x0
    0x58001044 CONFGI3 0x0
    0x58001064 Timing_H1 0x9f05f7b
    0x58001068 Timing_V1 0xc00622
    0x58001064时序_H2 0x0
    0x58001068 Timing_V2 0x0
    0x58001064 Timing_H3 0x0
    0x58001068 Timing_V3 0x0
    0x5800107C 大小 LCD1 0x31f04ff
    0x5800106C POL FREQ1 0x7000
    0x58001408 POL FREQ2 0x0
    0x5800183C POL FREQ3 0x0
    0x580011D4 Data1循环1 0x8
    0x580011D8 Data1 CYCLE2 0x8
    0x580011Dc 数据1 CYCLE3 0x8
    0x580013c0 DATA2循环1 0x0
    0x580013c4 DATA2 CYCLE2 0x0
    0x580013c8 DATA2 CYCLE3 0x0
    0x58001828 DATA3循环1 0x0
    0x5800182c DATA3 CYCLE2 0x0
    0x58001830 DATA3 CYCLE3 0x0
    0x580010C8 VID1大小0x31f04ff
    0x58001158 VID2大小0x31f04ff
    0x580013A8 VID3大小0x0

    在接收端是:

    0x58001040 CONTROL1 0x342
    0x58001238 CONTROL2 0x300
    0x58001848 Control3 0x300
    0x58001044 CONFGI1 0x3004
    0x58001044 CONFGI2 0x0
    0x58001044 CONFGI3 0x0
    0x58001064时序_H1 0x0
    0x58001068 Timing_V1 0x0
    0x58001064时序_H2 0x0
    0x58001068 Timing_V2 0x0
    0x58001064 Timing_H3 0x0
    0x58001068 Timing_V3 0x0
    0x5800107C 大小 LCD1 0x0
    0x5800106C POL FREQ1 0x0
    0x58001408 POL FREQ2 0x0
    0x5800183C POL FREQ3 0x0
    0x580011D4 Data1循环1 0x0
    0x580011D8 Data1 CYCLE2 0x0
    0x580011Dc 数据1 CYCLE3 0x0
    0x580013c0 DATA2循环1 0x0
    0x580013c4 DATA2 CYCLE2 0x0
    0x580013c8 DATA2 CYCLE3 0x0
    0x58001828 DATA3循环1 0x0
    0x5800182c DATA3 CYCLE2 0x0
    0x58001830 DATA3 CYCLE3 0x0
    0x580010C8 VID1大小0x31f04ff
    0x58001158 VID2大小0x0
    0x580013A8 VID3大小0x0

    根据数据的 VOUT 值、clk、de、fld HSYNC 和 vsync 寄存器为0x40000。

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

    在 TX 侧、
    查看寄存器转储、您好像在 LCd1输出上使用 HDMI 输出、并且 LCD2和 LCD2输出被禁用。
    在 LCD1上、您已启用 TDM 模式、其中 TDM 的输出接口设置为8位输出。 是否确实要启用 TDM?
    我想您希望发送24位输出、因此实际上不需要 TDM。 您可以在0x58001040 CONTROL1中将第20位设置为0。 这可能是您仅在低8位上看到数据的原因。

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

    TDM 是问题所在。 现在、我获得24位输出。 非常感谢。

    此致、
    Bosko