TI中文支持网
TI专业的中文技术问题搜集分享网站

dm8168 双路采集不能同时工作问题

Hi all,

      我们项目使用VIP0的portA和portB采集两路标清输入,应用程序如果是单路采集portA或者portB端口输入是完全正常的,但如果应用程序想同时采集两个端口的输入,在运行到第二路采集时,系统打印出下面的错误,第二路采集程序中断:

VPSS_FVID2: create handle is NULL
ti81xxvin ti81xxvin: ti81xxvin_vps_create failed
ti81xxvin ti81xxvin: Vps create failed

请问可能是什么原因造成的?

下面是arch/arm/mach-omap2/ti81xx_vpss.c中protA、protB的配置:

static struct ti81xxvin_subdev_info hdvpss_capture_sdev_info[] = {

//下面配置是接在了VIP0的protA

{
        .name = "tvp5147",
        .board_info = {
                 /* TODO Find the correct address
                    of the TVP7002 connected */
                I2C_BOARD_INFO("tvp5147", 0x5c),
                .platform_data = &tvp7002_pdata,
         },
         .vip_port_cfg = {
                .ctrlChanSel = VPS_VIP_CTRL_CHAN_SEL_7_0,
                .ancChSel8b = VPS_VIP_ANC_CH_SEL_DONT_CARE,
                .pixClkEdgePol = VPS_VIP_PIX_CLK_EDGE_POL_RISING,
                .invertFidPol = 0,
                .embConfig = {
                     .errCorrEnable = 1,
                     .srcNumPos = VPS_VIP_SRC_NUM_POS_DONT_CARE,
                     .isMaxChan3Bits = 0,
                 },
                .disConfig = {
                .fidSkewPostCnt = 0,
                .fidSkewPreCnt = 0,
                .lineCaptureStyle =
                    VPS_VIP_LINE_CAPTURE_STYLE_DONT_CARE,
                .fidDetectMode =
                    VPS_VIP_FID_DETECT_MODE_DONT_CARE,
                .actvidPol = VPS_VIP_POLARITY_DONT_CARE,
                .vsyncPol = VPS_VIP_POLARITY_DONT_CARE,
                .hsyncPol = VPS_VIP_POLARITY_DONT_CARE,
          }
      },
      .video_capture_mode =
             VPS_CAPT_VIDEO_CAPTURE_MODE_SINGLE_CH_NON_MUX_EMBEDDED_SYNC,
      .video_if_mode = VPS_CAPT_VIDEO_IF_MODE_8BIT,
      .input_data_format = FVID2_DF_YUV422P,
  },

//下面配置是接在了VIP0的protB

  {
        .name = "tvp5147_portB",
        .board_info = {
                 /* TODO Find the correct address
                    of the TVP7002 connected */
                I2C_BOARD_INFO("tvp5147", 0x5d),
                .platform_data = &tvp7002_pdata,
         },
         .vip_port_cfg = {
                .ctrlChanSel = VPS_VIP_CTRL_CHAN_SEL_15_8,
                .ancChSel8b = VPS_VIP_ANC_CH_SEL_DONT_CARE,
                .pixClkEdgePol = VPS_VIP_PIX_CLK_EDGE_POL_RISING,
                .invertFidPol = 0,
                .embConfig = {
                     .errCorrEnable = 1,
                     .srcNumPos = VPS_VIP_SRC_NUM_POS_DONT_CARE,
                     .isMaxChan3Bits = 0,
                 },
                .disConfig = {
                .fidSkewPostCnt = 0,
                .fidSkewPreCnt = 0,
                .lineCaptureStyle =
                    VPS_VIP_LINE_CAPTURE_STYLE_DONT_CARE,
                .fidDetectMode =
                    VPS_VIP_FID_DETECT_MODE_DONT_CARE,
                .actvidPol = VPS_VIP_POLARITY_DONT_CARE,
                .vsyncPol = VPS_VIP_POLARITY_DONT_CARE,
                .hsyncPol = VPS_VIP_POLARITY_DONT_CARE,
          }
      },
      .video_capture_mode =
             VPS_CAPT_VIDEO_CAPTURE_MODE_SINGLE_CH_NON_MUX_EMBEDDED_SYNC,
      .video_if_mode = VPS_CAPT_VIDEO_IF_MODE_8BIT,
      .input_data_format = FVID2_DF_YUV422P,
   },

}

会不会是两个端口的配置有冲突呢?

Louis:

请问你使用的是什么软件?

zhouzhuan2008 zhouzhuan2008:

回复 Louis:

Hi Louis,

      采集程序是我自己编写的两个测试,通过video0和video1两个设备节点分别来采集VIP0的portA、portB标清输入。附件是两个应用程序

其中saLoopBackFbdev_portA.c为采集VIP0的portA口输入,saLoopBackFbdev_portB.c为采集VIP0的portB口输入。

两个程序都能单独运行,而且采集到的图像数据是正确的,但如果其中某个程序运行了,再运行另外一个程序,就会报我上面提到的错误。

Sichang Luo:

回复 zhouzhuan2008 zhouzhuan2008:

您好  你这个问题解决了吗 ? 我们现在也遇见了类似的问题。 我们编解码时,单通道是没问题的,多通道的时候一跑就死机。现在还不知道原因呢。如果你已经解决了这个问题,能不能告诉我一下,谢谢啊。

zhouzhuan2008 zhouzhuan2008:

回复 Sichang Luo:

你的联系方式?QQ或者邮箱 沟通

Sichang Luo:

回复 zhouzhuan2008 zhouzhuan2008:

QQ 55513649

赞(0)
未经允许不得转载:TI中文支持网 » dm8168 双路采集不能同时工作问题
分享到: 更多 (0)