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:数据 CSI 摄像头

Guru**** 2416110 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1530934/tda4vm-data-csi-cam

器件型号:TDA4VM

工具/软件:

您好 TI

SDK8.6

中有 2 种类型的摄像头 CSI1 接口、

640x480_raw12 * 4 -> Capture 应用程序是 CAM1_APP

1920x1080 UYVY * 2 -> Capture 应用程序是 CAM2_APP

运行 CAM1_APP 或 CAM2_APP 时 要求 、则与应用程序对应的 Capture 数据为 OK。

但在什么时候 应用程序正在运行 同时、 捕获无法获取数据。 (我发现当稍后的应用程序运行时,正在捕获的上一个应用程序将停止捕获)。

我们的要求是、当同时运行 CAM1_APP 和 CAM2_APP 时、它们的 Capture 数据可以正常工作。

我们应该修改什么?应该如何修改? 您是否可以向我们发送类似的主题?

期待您的答复。

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

    尊敬的 Barry:

    您能否确认 cap_app 的实例配置相同、且所有摄像头都具有唯一的虚拟通道?

    您能否共享这两个应用程序中正在使用的 local_capture_config 参数。

    有一个常见问题解答在同一应用中使用了 2 个捕获节点、您可以参考它扩展到 2 个不同的应用、因为使用了 2 个捕获节点、

    https://e2e.ti.com/f/791/t/1302098

    此致、
    Gokul

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

    感谢您的答复。

    1.所有摄像机均已连接至 CSI1 接口,并确认已连接 对于 RAW12、VC = 0 摄像头和 UYVY 的 VC= 1 进行讨论。 当其中一个应用独立运行时、它始终工作。

    2.由于我们正在使用 app_multi_cam 演示进行 Capture ,您能告诉我如何修改吗 APP_MULTI_cam 要收集的应用程序 2 种类型的摄像头数据

    如问题如何修改 app_multi_cam app 所述。 是否有相应的主题?

    期待您的答复。

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

    尊敬的 Barry:

    1.您有 4 台摄像机提供 RAW12、因此每个摄像机应提供 VC 为 (0.1,2,3)、而 2 台摄像机提供 UYVY 的 VC 应为 (4,5)、如果您在同一 csi1 实例中进行连接。 您能对此进行一次检查吗?

    2.我们没有任何 multi_cam_app 线程,  

    您能否共享您的捕获节点配置参数。

    此致、
    Gokul

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

    尊敬的 Gokul:

    是的、每个摄像头的 VC ID 值不同。

    我们使用 multi_cam_demo'app 进行调试、raw12 和 yuyv 对应于各自的 Capture 应用:

    capture node config params:
    
    RAW12:
    typedef struct
    {
        uint32_t enableCsiv2p0Support;
        uint32_t numDataLanes;		:4
        uint32_t dataLanesMap[4];		:1234
        uint32_t laneBandSpeed;		:0x12
        
        tivx_raw_image_format_t.format[0].msb = 11U;
        tivx_raw_image_format_t.format[0].pixel_container = TIVX_RAW_IMAGE_16_BIT;
    } tivx_capture_inst_params_t;		
    
    
    typedef struct
    {
        tivx_capture_inst_params_t instCfg[TIVX_CAPTURE_MAX_INST];
        uint32_t instId[TIVX_CAPTURE_MAX_INST]; 		:1
        uint32_t numInst; 					:2	
        uint32_t numCh; 					:1
        uint32_t chVcNum[TIVX_CAPTURE_MAX_CH];		:0[0]
        uint32_t chInstMap[TIVX_CAPTURE_MAX_CH];		:1[0]
    	
    } tivx_capture_params_t;
    
    
    typedef struct
    {
        tivx_capture_inst_params_t instCfg[TIVX_CAPTURE_MAX_INST];
        uint32_t instId[TIVX_CAPTURE_MAX_INST]; 		:1
        uint32_t numInst; 					:2	
        uint32_t numCh; 					:1
        uint32_t chVcNum[TIVX_CAPTURE_MAX_CH];		:1[0]
        uint32_t chInstMap[TIVX_CAPTURE_MAX_CH];		:1[0]
    		
    } tivx_capture_params_t;

    我们应该做些什么来实现 同时捕获 RAW12 摄像头和 YuYV 摄像头 (使用 app_cam_demo 应用)上的 CSI1 接口?
    您能否向我们发送补丁或相应的线程? 谢谢你

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

    尊敬的 Barry:

    https://e2e.ti.com/f/791/t/1302098

     首先、此常见问题解答将是一个很好的参考。此处创建了 2 个捕获节点、使用相同的 CSI 实例获取 raw12 和 YUV 图像。
    也似乎你在开始尝试使用 2 个摄像头。 此常见问题解答应符合您的要求。

    但这是在单个应用中完成的、可以扩展为在 2 个不同应用中分隔 2 个捕获节点。

    您捕获的配置似乎是正确的、当您同时运行 2 个应用程序时、是否可以共享日志。 如果可能、您可以缩小应用程序中挂起的节点范围。