qq718248821

qq718248821

0个粉丝

2

问答

0

专栏

0

资料

qq718248821  发布于  2016-07-13 11:00:04
采纳率 0%
2个问答
21949

Hi3516A----MIPI-----BT656问题

 
小弟在使用Hi3516A,通过mipi口接了adv7180,adv7180输出是BT656 YUV422。
目前问题是:
                配置为BT656的时候,HI_MPI_VI_SetDevAttr failed with 0xa0108003!
(1)硬件设计如下:

                硬件设计使用mipi口,当然小弟知道软件上要将mipi复用为并行cmos方式才可以实现BT656。
(2)软件上
                参考sample_vio.c 使用的是case 8 ,BT1120输入方式,进行的代码修改。
                简要的代码流程如下;
               
                执行,case 8 ,修改为VI_MODE_D1方式,这是因为,这样设置海思代码,后面可以进入BT656的设置分支做准备。
               
               
                进入BT656分支。
               
                此处设置mpi模式为BT1120,如下
               
                之所以,设置为模式为INPUT_BT1120,是因为头文件中的选项中没有BT656,如下
               
                关于这个input设置,海思这个比较扯,datasheet是这么写的:
               
                但现在上面那个头文件,却是出来那么多,都不知道,设置之后,与mipi_phy_mode是如何对应的???小弟怀疑这个地方是否自己理解不正确,配置错了导致?请大神赐教
                接下来就是设置VI_DEV_ATTR了,设置为BT656
               
                BT656具体配置,使用的是海思sample_common_vi。里面自带的参数
               
                最后设置参数:
               
                然后就报错了:
                        HI_MPI_VI_SetDevAttr failed with 0xa0108003!

                求大神赐教,小弟属否哪里理解不正确,导致配置流程或者参数有问题?
                小弟还有一事不明,就是mipid引脚,海思说可以复用为单端vi模式,是否通过mipi_phy_mode 配置为cmos:也就是01X:cmos模式就可以了,海思底层驱动会自己去做单端复用方式?
                                       
               
我来回答
回答16个
时间排序
认可量排序

qq718248821

0个粉丝

2

问答

0

专栏

0

资料

qq718248821 2016-07-13 11:10:46
认可0
小弟已经求教过代理和技术支持,总之,给我的感觉是我什么都不想说了,他们最后只能说,他们其实也没用过这个功能。。。。。有的还说,你把mipi配置屏蔽掉!
我明明用的就是mipi接口,还有复用才能使用单端接bt656,电路图都给他了,你让我屏蔽掉配置,难道默认是单端模式吗??简直是无语。。。。小弟不想发牢骚了,毕竟人人水平参差不齐嘛,还希望哪位大神,不吝赐教,指指点迷津~小弟先谢过了~

望坛友多多帮顶吧~

qq718248821

0个粉丝

2

问答

0

专栏

0

资料

qq718248821 2016-07-15 11:29:53
认可0
自己顶一下!

helphel

0个粉丝

4

问答

0

专栏

0

资料

helphel 2016-07-15 12:02:26
认可0
0xA0108003 HI_ERR_VI_INVALID_PARA 视频输入参数设置无效

qq718248821

0个粉丝

2

问答

0

专栏

0

资料

qq718248821 2016-07-17 20:29:57
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=34039&ptid=11931]helphel 发表于 2016-7-15 12:02[/url]
0xA0108003 HI_ERR_VI_INVALID_PARA 视频输入参数设置无效[/quote]

参数是海思代码自带的?难道也会有问题?

csuzhsh

1个粉丝

14

问答

0

专栏

0

资料

csuzhsh 2016-07-17 21:29:01
认可0
你要增加一个BT656配置,感觉你的配置基本是正确的,得看下VI出来的信息,看哪里不对

qq718248821

0个粉丝

2

问答

0

专栏

0

资料

qq718248821 2016-07-18 09:07:29
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=34129&ptid=11931]csuzhsh 发表于 2016-7-17 21:29[/url]
你要增加一个BT656配置,感觉你的配置基本是正确的,得看下VI出来的信息,看哪里不对[/quote]

好的 谢谢 在proc里面看一下是吧?

csuzhsh

1个粉丝

14

问答

0

专栏

0

资料

csuzhsh 2016-07-18 09:21:04
认可0
不过你为什么要用3516D,用3516C就行了啊

cym016

0个粉丝

0

问答

0

专栏

0

资料

cym016 2016-07-23 09:29:57
认可0
本帖最后由 cym016 于 2016-7-23 09:32 编辑

不是有个加载驱动的脚本嘛,那里有寄存器选择复用的,你要复用为VI接口,然后用海思提供的DEMO,你改改选择BT656。我之前调过BT1120,656也应该差不多的。代理的技术支持,挺多是自己搞不清楚,还来支持,扯蛋扯天上去了,容易给误导,还不如自己细心看文档,慢慢调出来。

qqq306922360

0个粉丝

16

问答

0

专栏

0

资料

qqq306922360 2016-12-12 18:03:30
认可0
楼主。此问题解决了吗?我也在调试此问题,步骤和你的基本差不多。我现在调试的480P60输入!
现在720P与1080P是OK的了!
在此基础上来调试HDMI输入D1的,软件修改的基本和楼主差不多,只是我不明白的楼主说的“”硬件设计使用mipi口,当然小弟知道软件上要将mipi复用为并行cmos方式才可以实现BT656。“”这个是什么意思?
需要说明的是现在高清的采用BT1120是可以采集编码了,需要在此基础上采用bt656采集D1等等,目前在ITE6604上设置了输出为8位


有没有做过的大虾?
原理图如下:

qqq306922360

0个粉丝

16

问答

0

专栏

0

资料

qqq306922360 2016-12-12 18:14:01
认可0
需要补充下,在调试BT1120的时候,由于硬件的的问题,把BT1120的8位和高8位搞反了。也就是此处和ITE6604的HDMI芯片相连的是上面原理图的高八位。
希望有做过的朋友来指点下!


        else if(g_enPicSize == PIC_D1)
        {
                printf("%s******%s*******%d\n", __FILE__, __func__, __LINE__);
                g_stViChnConfig.enViMode = SAMPLE_VI_MODE_1_D1;
        }
    s32Ret = SAMPLE_COMM_VI_StartVi(&g_stViChnConfig);
    if(HI_SUCCESS != s32Ret)
    {
        printf("SAMPLE_COMM_VI_StartVi failed! s32Ret: 0x%x.\n", s32Ret);
        return s32Ret;
    }




第二部分代码:
HI_S32 SAMPLE_COMM_VI_StartMIPI_BT1120(SAMPLE_VI_MODE_E enViMode)
{
        HI_S32 fd;
        combo_dev_attr_t *pstcomboDevAttr;
       
        fd = open("/dev/hi_mipi", O_RDWR);
        if (fd < 0)
        {
           printf("warning: open hi_mipi dev failed\n");
           return -1;
        }

        if((enViMode == SAMPLE_VI_MODE_BT1120_1080I)
                ||(enViMode == SAMPLE_VI_MODE_BT1120_720P)
                ||(enViMode == SAMPLE_VI_MODE_BT1120_1080P))
        {
                pstcomboDevAttr = &MIPI_BT1120_ATTR;
        }
        else if((enViMode == SAMPLE_VI_MODE_1_D1))
        {
                printf("%s**********%s*********%d\n", __FILE__, __func__, __LINE__);
                pstcomboDevAttr = &MIPI_BT656_ATTR;
        }
       
        if (ioctl(fd, HI_MIPI_SET_DEV_ATTR, pstcomboDevAttr))
        {
                printf("set mipi attr failed\n");
                close(fd);
                return -1;
        }
        close(fd);
        return HI_SUCCESS;
}

在此函数遇到和楼主一样问题,就是pstcomboDevAttr = &MIPI_BT1120_ATTR;
这个地方BT656到底填写哪个枚举类型,联想到我现在BT1120是可以采集的了,而BT656只是采用低八位,于是我还是和楼主一样做了个MIPI_BT656_ATTR,但是里面的具体参数类型还是MIPI_BT1120_ATTR.

接下类的代码就是在设置属性的时候,进入到海思的
HI_S32 SAMPLE_COMM_VI_StartDev(VI_DEV ViDev, SAMPLE_VI_MODE_E enViMode)
{
    HI_S32 s32Ret;
    HI_S32 s32IspDev = 0;
    ISP_WDR_MODE_S stWdrMode;
    VI_DEV_ATTR_S  stViDevAttr;
   
    memset(&stViDevAttr,0,sizeof(stViDevAttr));

    switch (enViMode)
    {
        case SAMPLE_VI_MODE_1_D1:
            memcpy(&stViDevAttr,&DEV_ATTR_BT656D1_1MUX,sizeof(stViDevAttr));
            break;
       case xxx

    }


    s32Ret = HI_MPI_VI_SetDevAttr(ViDev, &stViDevAttr);
    if (s32Ret != HI_SUCCESS)
    {
        SAMPLE_PRT("HI_MPI_VI_SetDevAttr failed with %#x!\n", s32Ret);
        return HI_FAILURE;
    }

在此处报错!


[SAMPLE_COMM_VI_StartDev]-1400: HI_MPI_VI_SetDevAttr failed with 0xa0108003!
[SAMPLE_COMM_VI_StartBT656]-1556: SAMPLE_COMM_VI_StartBT656: start vi dev[0] fai
led!
SAMPLE_COMM_VI_StartVi failed! s32Ret: 0xffffffff.

zltkf

0个粉丝

1

问答

0

专栏

0

资料

zltkf 2017-02-27 11:09:35
认可0
请问楼主是怎样解决的呢?

dq16087

0个粉丝

4

问答

0

专栏

0

资料

dq16087 2017-03-05 11:50:20
认可0
楼主,我和你的问题是一模一样的,能否告诉一下这个问题解决方法吗?调试了很长时间,没发现问题在什么地方。

小飞侠_fq

0个粉丝

8

问答

0

专栏

0

资料

小飞侠_fq 2017-08-05 15:46:27
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=34137&ptid=11931]qq718248821 发表于 2016-7-18 09:07[/url]
好的 谢谢 在proc里面看一下是吧?[/quote]

你的bt656调试出来了吗?

13915426184

0个粉丝

15

问答

0

专栏

0

资料

13915426184 2017-08-14 09:42:41
认可0
可惜啊,都是问题解决了以后不结贴

qn1564110202

0个粉丝

10

问答

0

专栏

0

资料

qn1564110202 2019-10-29 20:14:54
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=57456&ptid=11931]13915426184 发表于 2017-8-14 09:42[/url]
可惜啊,都是问题解决了以后不结贴[/quote]

草你妈类个臭逼

qn1561965602

0个粉丝

0

问答

0

专栏

0

资料

qn1561965602 2020-04-18 11:33:10
认可0
报0xa0108003!错误吧BT656的扫描模式改为逐行模式就行了   开发包里面的是隔行扫描
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
+ 添加网盘链接/附件

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
相关问答
更多相似问答
举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

易百纳技术社区