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.

[参考译文] TDA4VM:两个不同解串器的摄像头连接(分辨率相同)

Guru**** 2478765 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1459013/tda4vm-camera-connection-of-two-different-de-serializers-the-same-resolution

器件型号:TDA4VM

工具与软件:

我们有两个摄像头分别连接到 MAX96719 (CIS 端口0)和 MAX96714 (CSI 端口1)、并且这些摄像头通过内置 ISP 分别作为 vc0 (RGB)和 vc1 (IR)输出到 YUV422。
它使用单个捕获节点正常运行。

但是、如果将两个摄像头连接到 MAX96719和 MAX96714、请选择"sensorObj->num_camera_enabled = 4;//添加摄像头数量"并按如下所示进行设置、数据不会从捕获节点中流出。

params.instId[0]= 0
params.instId[1]= 1.
captureObj->params.numDataLane = 4
captureObj->params.dataLanesMap[0]= 1
captureObj->params.dataLanesMap[1]= 2
captureObj->params.dataLanesMap[2]= 3.
captureObj->params.dataLanesMap[3]= 4

captureObj->params.chVcNum[0]= 0;// port0
CaptureObj->params.chInstMap[0]= 0;

CaptureObj->params.chVcNum[1]= 1;
CaptureObj->params.chInstMap[1]= 0;

CaptureObj->params.chVcNum[2]= 2;
CaptureObj->params.chInstMap[2]= 1;

CaptureObj->params.chVcNum[3]= 3;
CaptureObj->params.chInstMap[3]= 1;

在 EVM 板中、即使连接了多个摄像头、VC 通道也能正常工作。
请给我一个解决方案。

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

    尊敬的 Yang:

    您是否意味着两个摄像机在两个 CSIRX 实例上都独立工作?

    此致、

    Brijesh

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

    尊敬的 Yang:

    [报价 userid="607253" url="~/support/processors-group/processors/f/processors-forum/1459013/tda4vm-camera-connection-of-two-different-de-serializers-the-same-resolution 我们有两台摄像机连接到 MAX96719 (CIS port0)和 MAX96714 (CSI port1)[/报价]

    这2个摄像头是否相同(即、使用相同的传感器驱动程序)?

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

    您好、Brijesh Jadav

    是的、这两个图形是独立组织的、因此它们运行良好、如下图所示。

    但是、如果您使用一个图形配置一个捕获节点并运行多摄像头(CSI0和 CSI1)、则该节点将无法正常工作。
    摄像头是同一个摄像头和同一个传感器。

    据我所知、它可以通过一个图形和一个捕获节点与 CSI 0和 CSI1摄像头配合使用、其 EVM 板也运行良好。

    是否可以使 DDS 输出从两个图形中变为一个?

    Alren Yang

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

    您好、Gang Hua

    摄像头是同一个传感器并且使用相同的驱动器。

    此致

    Alren Yang

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

    您好、Yang、

    嗯、在 EVM 上、在多摄像头示例中、假设从 CSI RX instance0捕获前4个虚拟 通道、从 CSIRX instance1捕获接下来的4个通道(尽管虚拟通道相同)可依此类推。 这是在传感器框架中定义通道掩码和配置传感器的方式。  

    看看下面的配置、您似乎在 CSIRX instance0上使用 virtual0和1、在 CSIRX instance1上使用 virtual2和3。 哪一项意味着您正在尝试采集4个通道/摄像头、不是吗? 此外、您能否检查并确认两个传感器均已正确配置? 所有 CSI 参数(通道速度、通道数等)是否都在这两个 CSI 实例之间?  

    captureObj->params.chVcNum[0]= 0;// port0
    CaptureObj->params.chInstMap[0]= 0;

    CaptureObj->params.chVcNum[1]= 1;
    CaptureObj->params.chInstMap[1]= 0;

    CaptureObj->params.chVcNum[2]= 2;
    CaptureObj->params.chInstMap[2]= 1;

    CaptureObj->params.chVcNum[3]= 3;
    CaptureObj->params.chInstMap[3]= 1;

    此致、

    Brijesh

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

    您好、Brijesh Jadav。

    除了您提到的检查点之外、是否有任何其他修改? 我检查了您说的部分。


    F=icmuOD_configure_capture_params,L=76 capture_params ch mask = 0x[f]....
    F=icmuOD_configure_capture_params,L=91 captureObj->params.numInst = [2]
    F=icmuOD_configure_capture_params,L=93 captureObj->params.numCh = [4]
    F=icmuOD_configure_capture_params,L=98 params.instId[0] = 0
    F=icmuOD_configure_capture_params,L=101 captureObj->params.numDataLanes = 4
    F=icmuOD_configure_capture_params,L=109 captureObj->params.dataLanesMap[0] = 1
    F=icmuOD_configure_capture_params,L=109 captureObj->params.dataLanesMap[1] = 2
    F=icmuOD_configure_capture_params,L=109 captureObj->params.dataLanesMap[2] = 3
    F=icmuOD_configure_capture_params,L=109 captureObj->params.dataLanesMap[3] = 4
    F=icmuOD_configure_capture_params,L=98 params.instId[1] = 1
    F=icmuOD_configure_capture_params,L=101 captureObj->params.numDataLanes = 4
    F=icmuOD_configure_capture_params,L=109 captureObj->params.dataLanesMap[0] = 1
    F=icmuOD_configure_capture_params,L=109 captureObj->params.dataLanesMap[1] = 2
    F=icmuOD_configure_capture_params,L=109 captureObj->params.dataLanesMap[2] = 3
    F=icmuOD_configure_capture_params,L=109 captureObj->params.dataLanesMap[3] = 4
    F=icmuOD_configure_capture_params,L=115 captureObj->params.chVcNum[0] = 0....
    F=icmuOD_configure_capture_params,L=116 captureObj->params.chInstMap[0] = 0....
    F=icmuOD_configure_capture_params,L=120 captureObj->params.chVcNum[1] = 1....
    F=icmuOD_configure_capture_params,L=121 captureObj->params.chInstMap[1] = 0....
    F=icmuOD_configure_capture_params,L=126 captureObj->params.chVcNum[2] = 2....
    F=icmuOD_configure_capture_params,L=127 captureObj->params.chInstMap[2] = 1....
    F=icmuOD_configure_capture_params,L=131 captureObj->params.chVcNum[3] = 3....
    F=icmuOD_configure_capture_params,L=132 captureObj->params.chInstMap[3] = 1....


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

    尊敬的 Yang:

    两个问题、  

    -通过 CSIRX Instance1连接的摄像机的虚拟通道 ID 是否正确? 您使用的是虚拟通道 ID 为2和3、但它很可能从0开始。 因此、请检查您的单摄像机应用程序、这两款摄像机的虚拟通道 ID 是多少?

    -传感器配置的传感器框架中是否正确处理了0xF 值的通道掩码? 您能检查一下吗?

    此致、

    Brijesh

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

    您好!

    加上以上内容、

    当在任何端口上提供了2个凸轮(例如、CH_MASK - 0x11)时、还必须对应用程序额外进行两项更改。
    1.在 API app_querry_sensor()之后手动将 ch_mask 更改为0x11
    2.修改 app_init_aewb ()中的起始通道参数,将相应的端口作为起始通道。

    此致、

    Nikhil

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

    尊敬的 Yang:

    2. 修改 APP_INIT_Aewb ()中的起始通道参数,将相应的端口作为起始通道。

    我们为视觉应用中的起始渠道提供了补丁。

    请参阅此提交

    https://git.ti.com/cgit/processor-sdk/vision_apps/commit/?h=main&id=8cc9845dd1d18a468f59f67c102a72c6408a19c1

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

    您好、Brijesh Jadav。

    -通过 CSIRX Instance1连接的摄像机的虚拟通道 ID 是否正确? 您使用的是虚拟通道 ID 为2和3、但它很可能从0开始。 因此、请检查您的单摄像机应用程序、这两款摄像机的虚拟通道 ID 是多少?

    => 使用的传感器有一个内置 ISP、所以 vc0和 vc1是固定的。

    它的连接方式如下。

    -传感器配置的传感器框架中是否正确处理了0xF 值的通道掩码? 您能检查一下吗?

    =>是。 我检查了通道掩码值。

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

    尊敬的 Yang:

    但在下面的代码中、您将虚拟通道设置为2、   在实例1中、您能否在这种情况下将它们设置为0和1?  

    F=icmuOD_CONFIG_CAPTURE_PARAMS、L=126 captureObj->params.chVcNum[2]= 2...
    F= 54 muOD_configure_capture_params, L=127 captureObj->params.chInstMap[2]= 1...
    F= 54 muOD_configure_capture_params, L=131 captureObj->params.chVcNum[3]= 3...
    F= 54 muOD_configure_capture_params, L=132 captureObj->params.chInstMap[3]= 1...

    此致、

    Brijesh

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

    您好、Brijesh Jadav。

    谢谢你。