HI3516DV300 图像输入
创始人
2024-01-31 13:22:45
0

HI3516DV300 图像输入

易百纳的一个开发板,以及GC2053的摄像头。
在这里插入图片描述

硬件

  1. 海思
    海思sensor接口如下,用的是差分信号,共4对数据线(或者说4条lane),两对差分时钟。
    在这里插入图片描述
  2. 连接器
    海思核心板和扩展板之间通过板件连接器相连,数据线和时钟线在之间连接。另外注意两个I2C也被接过去了,用于控制sensor。
    核心板:
    在这里插入图片描述
    扩展板:
    在这里插入图片描述
  3. 扩展板
    由于要对接两个摄像头,采用2lane+2lane的方式,一个时钟和2条lane对接一个摄像头,具体的可以参考海思手册。出了两个接口。对接的是MIPI CSI接口
    在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
4. 摄像头
GC2053 是一个遵循MIPI CSI标准的2 lane摄像头。通过I2C可以控制对其进行控制。

在这里插入图片描述
在这里插入图片描述

程序

没找到摄像头数据是怎么进来的资料,只能从板子里反推了。MIPI进的是RAW10的数据,到PIPE被转为RGB(有些PIPE不支持yuv),最后再在VI chn转为sp422出去。
在这里插入图片描述

在这里插入图片描述
基于VIO的第一个例子函数进行修改:
在这里插入图片描述

MIPI

MIPI模式,进RAW10的数据。
lane的划分模式用第二个,第一个设备就用0,2,第二个用1,3。

combo_dev_attr_t MIPI_GC2053_ATTR =
{/* input mode */.devno = 0,.input_mode = INPUT_MODE_MIPI,  .data_rate = MIPI_DATA_RATE_X1,.img_rect = {0, 0, 1920, 1080},{.mipi_attr = {DATA_TYPE_RAW_10BIT, HI_MIPI_WDR_MODE_NONE, {0, 2, -1, -1}}}
};

VI DEV

VI设备和MIPI好像差不多,由于是10bit的,掩码前10位为1,类型也是RGB。

VI_DEV_ATTR_S DEV_ATTR_GC2053_1080P_BASE ={/* interface mode */VI_MODE_MIPI,/* multiplex mode */VI_WORK_MODE_1Multiplex,/* r_mask    g_mask    b_mask*/{0xffc00000, 0x0000000},/* progessive or interleaving */VI_SCAN_PROGRESSIVE, /*逐行*//*AdChnId*/{-1, -1, -1, -1},/*enDataSeq, only support yuv*/VI_DATA_SEQ_UVUV,/* synchronization information */{/*port_vsync   port_vsync_neg     port_hsync        port_hsync_neg        */VI_VSYNC_PULSE,VI_VSYNC_NEG_HIGH,VI_HSYNC_VALID_SINGNAL,VI_HSYNC_NEG_HIGH,VI_VSYNC_NORM_PULSE,VI_VSYNC_VALID_NEG_HIGH,/*hsync_hfb    hsync_act    hsync_hhb*/{0, 0, 0,/*vsync0_vhb vsync0_act vsync0_hhb*/0, 0, 0,/*vsync1_vhb vsync1_act vsync1_hhb*/0, 0, 0}},/* input data type */VI_DATA_TYPE_RGB,/* bReverse */HI_FALSE,/* input size */{1920, 1080},{{{1920, 1080},},{VI_REPHASE_MODE_NONE, VI_REPHASE_MODE_NONE}},{WDR_MODE_NONE, 1080},DATA_RATE_X1};

PIPE

像素格式这里要选择bayer格式,是相机的原始数据格式。

VI_PIPE_ATTR_S PIPE_ATTR_GC2053_10800P_RGB = {/* bBindDev bYuvSkip */VI_PIPE_BYPASS_NONE,  HI_FALSE,  /*YUV skip enable */HI_FALSE,  /* ISP Bypass */1920,1080,PIXEL_FORMAT_RGB_BAYER_10BPP,COMPRESS_MODE_NONE,DATA_BITWIDTH_10,    /* bit_width width: 16 illegal, should be  when YUV!*/HI_FALSE,{PIXEL_FORMAT_RGB_BAYER_10BPP, DATA_BITWIDTH_10, VI_NR_REF_FROM_RFR,COMPRESS_MODE_NONE},HI_FALSE,{-1, -1}
};

ISP

这里的这一步主要是配置摄像头,输出RAW格式的数据,否则是没有数据输出或者输出的数据不是我们相要的(要看厂家的手册)。用的是卖家的代码,这里主要配置一个sensor类型就可以了。

在这里插入图片描述

总结

基于海思的一个VIO的例子,进行sensor配置信息的添加,完成了图像的输入。使用ISP配置GC2053输出10bit的RAW数据(Bayer),VI接收的时候是RGB。

其它

做了一半的时候发现是有GC2053的配置的,错怪了卖家。还有就是ISP获取结构体有一个函数没有传感器类型的枚举值,而是一个id,实际的传感器类型是通过Makfile传过来的。总之,看代码的时候还是要认真一点。

参考文章

  1. camera的mipi-csi接口简单理解
  2. 图像bayer格式介绍

相关内容

热门资讯

喜欢穿一身黑的男生性格(喜欢穿... 今天百科达人给各位分享喜欢穿一身黑的男生性格的知识,其中也会对喜欢穿一身黑衣服的男人人好相处吗进行解...
发春是什么意思(思春和发春是什... 本篇文章极速百科给大家谈谈发春是什么意思,以及思春和发春是什么意思对应的知识点,希望对各位有所帮助,...
网络用语zl是什么意思(zl是... 今天给各位分享网络用语zl是什么意思的知识,其中也会对zl是啥意思是什么网络用语进行解释,如果能碰巧...
为什么酷狗音乐自己唱的歌不能下... 本篇文章极速百科小编给大家谈谈为什么酷狗音乐自己唱的歌不能下载到本地?,以及为什么酷狗下载的歌曲不是...
华为下载未安装的文件去哪找(华... 今天百科达人给各位分享华为下载未安装的文件去哪找的知识,其中也会对华为下载未安装的文件去哪找到进行解...
怎么往应用助手里添加应用(应用... 今天百科达人给各位分享怎么往应用助手里添加应用的知识,其中也会对应用助手怎么添加微信进行解释,如果能...
家里可以做假山养金鱼吗(假山能... 今天百科达人给各位分享家里可以做假山养金鱼吗的知识,其中也会对假山能放鱼缸里吗进行解释,如果能碰巧解...
四分五裂是什么生肖什么动物(四... 本篇文章极速百科小编给大家谈谈四分五裂是什么生肖什么动物,以及四分五裂打一生肖是什么对应的知识点,希...
一帆风顺二龙腾飞三阳开泰祝福语... 本篇文章极速百科给大家谈谈一帆风顺二龙腾飞三阳开泰祝福语,以及一帆风顺二龙腾飞三阳开泰祝福语结婚对应...
美团联名卡审核成功待激活(美团... 今天百科达人给各位分享美团联名卡审核成功待激活的知识,其中也会对美团联名卡审核未通过进行解释,如果能...