augus

augus

4个粉丝

3

问答

0

专栏

0

资料

augus  发布于  2024-01-31 12:03:01
采纳率 0%
3个问答
1808

hi3519av100接入bt1120的问题

   

因为项目上的需要,楼主目前在调试3519的bt1120,我是参考官方手册配置按照3559配置了combo_dev_attr_t、VI_DEV_ATTR_S、VI_PIPE_ATTR_S、VI_CHN_ATTR_S这四个结构体,但是程序运行起来后提示vi属性配置不下去,只有将VI_DEV_ATTR_S的输入模式改为mipi模式后才能配置下去,我的配置如下:
combo_dev_attr_t MIPI_BT120_ATTR =
{
.devno = 1,
.input_mode = INPUT_MODE_BT1120,
.data_rate = MIPI_DATA_RATE_X1,
.img_rect = {0, 0, 1280, 720},
/
{
.mipi_attr =
{
DATA_TYPE_RAW_10BIT,
HI_MIPI_WDR_MODE_NONE,
{0, -1, -1, -1, -1, -1, -1, -1}
}
} /
};
VI_DEV_ATTR_S DEV_ATTR_BT1120_BASE =
{
VI_MODE_BT1120_STANDARD,
VI_WORK_MODE_1Multiplex,
{0xFF000000, 0x00FF0000},
VI_SCAN_PROGRESSIVE,
{-1, -1, -1, -1},
VI_DATA_SEQ_YUYV,

{
/*port_vsync   port_vsync_neg     port_hsync        port_hsync_neg        */
VI_VSYNC_PULSE, VI_VSYNC_NEG_LOW, VI_HSYNC_VALID_SINGNAL,VI_HSYNC_NEG_HIGH, VI_VSYNC_VALID_SINGAL, VI_VSYNC_VALID_NEG_HIGH,

/*hsync_hfb    hsync_act    hsync_hhb*/
{0,            1280,        0,
/*vsync0_vhb vsync0_act vsync0_hhb*/
 0,            720,        0,
/*vsync1_vhb vsync1_act vsync1_hhb*/
 0,            0,            0}
},

VI_DATA_TYPE_YUV,
HI_FALSE,
{1280, 720},
{
    {
        {1280 , 720},
    },
    {
        VI_REPHASE_MODE_NONE,
        VI_REPHASE_MODE_NONE
    }
},
{
    WDR_MODE_NONE,
    720
},
DATA_RATE_X1

};
VI_PIPE_ATTR_S PIPE_ATTR_BT1120_RFR =
{
VI_PIPE_BYPASS_NONE, HI_FALSE,HI_FALSE,
1280, 720,
PIXEL_FORMAT_RGB_BAYER_12BPP,
COMPRESS_MODE_LINE,
DATA_BITWIDTH_10,
HI_TRUE,
{
PIXEL_FORMAT_YVU_SEMIPLANAR_420,
DATA_BITWIDTH_8,
VI_NR_REF_FROM_RFR,
COMPRESS_MODE_NONE
},
HI_FALSE,
{ -1, -1}
};
VI_CHN_ATTR_S CHN_ATTR_BT1120_LINEAR =
{
{1280, 720},
PIXEL_FORMAT_YVU_SEMIPLANAR_420,
DYNAMIC_RANGE_SDR8,
VIDEO_FORMAT_LINEAR,
COMPRESS_MODE_NONE,
0, 0,
0,
{ -1, -1}
};
原理图如下,用的是D0-D9:


还有一事楼主不太明白,手册中说cmos0绑定videv3,我在sample中指定了videv=3,但是却提示无效的devno,实在想不明白,加载驱动的脚本中也修改了管脚复用,查看寄存器值是正常的,sample中还有s32WorkSnsId,这个要怎么改呢,直接改成sensor1会有段错误,论坛中有3516的例子,试过但貌似不适用,论坛中应该有大神,求指点一二,感激不尽!!

我来回答
回答4个
时间排序
认可量排序

UncleRoderick

32个粉丝

14

问答

1

专栏

14

资料

UncleRoderick 2024-01-31 16:19:57
认可0

你先把sample代码看一遍流程吧,感觉你改了参数都不知道影响了哪些参数的配置,先熟悉下Sample再去调会清晰很多

紫晓龙吟

11个粉丝

8

问答

0

专栏

0

资料

紫晓龙吟 2024-02-01 08:57:41
认可0

{0, -1, -1, -1, -1, -1, -1, -1} 这个不对,需要改成对应的lan

augus
augus   回复   紫晓龙吟  2024-02-01 14:57:39
0

这个lane也试过了,我用的是lane3-lane11,还是不行

augus

4个粉丝

3

问答

0

专栏

0

资料

augus 2024-02-01 16:11:33
认可0

此问题已解决,vi属性可以顺利配置下去了,这个平台以后用的人估计很少了,但是也在这里说一下该注意的点,希望可以帮助后面的人:

管脚复用:复用成CMOS0模式,通过驱动加载脚本走cmos分支 ,./loadhi3519av100 -sensor1 bt1120,sysconfig.ko中会报错,不用管,可以查看寄存器值是否正确,手册搜PERI_CRG65,有详细说明

相关属性修改:mipi、vi、pipe、chnl,参考官方手册3559的修改,vi属性中注意隔行扫描,逐行扫描,bt1120只支持逐行扫描,另外注意输入格式,我用的是VI_DATA_SEQ_UVUV。pipe属性中isp_bypass应该为HI_FALSE

绑定关系确认,参考官方手册,cmos0绑定videv3,videv的值在samplpe中指定,注意SAMPLE_COMM_VI_SetMipiAttr这个接口中的stcomboDevAttr.devno = pstViInfo->stSnsInfo.MipiDev这行代码要注掉,因为这个是mipi的接口绑定

sensorID确认:第几个sensor工作,加载驱动脚本的时候要指定

Lane_mode确认:这个要根据自己的电路设计看用的是多少bit,我用的是10bit,采用LANE_DIVIDE_MODE_3(两组lane分配,两个sensor),我用了两个sensor,一款是是sensor0,使用lane0-lane3,另一款是sensor1,使用lane4-lane11
其他没什么了,如果有问题可以留言,我看到会回复的
另外感谢给我回复的两个小伙伴,谢谢你们!

或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

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

Markdown 语法

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

举报类型

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

详细说明

易百纳技术社区