全志平台N3模块调试(1)方案分析&驱动配置

free-jdx 2020-11-26 14:22:19 8407
1. 前言

由于需要在V5平台接四路相机用于环视使用;

普遍是有模拟相机和数字相机两种选择。

2. 相机优缺点分析

模拟相机:

便宜、接线方便可以长距离传输、方便支持多路视频采集

数字相机:

贵,常规mipi不支持长距离传输,调试ISP复杂
【其实也有长距离传输的数字相机,例如fpdlink和gmsl,只是整体方案价格比较贵】

最终选择模拟方案,这里用的是nextchip的N3芯片

3. 接口分析

N3 支持4路 CVBS/AHD 1.0 /AHD2.0 模拟相机输入,一路BT656 或 BT1120 YUV422输出;

V5平台正好支持两路BT656和BT1120接口输入。

4. 底层环境配置

底层环境主要包括camera驱动移植和sysconfig配置

(1)N3驱动适配

按照NVP原厂提供的配置表,根据全志平台通用驱动修改相应驱动
有几个关键的地方需要修改,如下:

a. 通道设置

通用驱动中查找sensor_g_mbus_config接口;
这里设置了两个CH通路

    cfg->type = V4L2_MBUS_BT656;
    cfg->flags = CLK_POL | CSI_CH_0 | CSI_CH_1;

b. 格式设置

这里YUV格式是根据N3的实际输出的图像格式来设置的

    .desc = "BT656 4CH",
    .mbus_code = MEDIA_BUS_FMT_YUYV8_2X8,
    .regs = NULL,
    .regs_size = 0,
    .bpp = 2,

c. 编译模块
添加驱动模块编译成驱动模块

obj-m                            += n3/
(2)sysconfig配置

pinmux配置如下:
低八位对齐

csi2_used               = 1
csi2_pck                = port:PE00<2><default><default><default>
csi2_hsync              = port:PE02<2><default><default><default>
csi2_vsync              = port:PE03<2><default><default><default>
csi2_d0                 = port:PE04<2><default><default><default>
csi2_d1                 = port:PE05<2><default><default><default>
csi2_d2                 = port:PE06<2><default><default><default>
csi2_d3                 = port:PE07<2><default><default><default>
csi2_d4                 = port:PE08<2><default><default><default>
csi2_d5                 = port:PE09<2><default><default><default>
csi2_d6                 = port:PE10<2><default><default><default>
csi2_d7                 = port:PE11<2><default><default><default>
;csi2_d8                 = port:PE12<2><default><default><default>
;csi2_d9                 = port:PE13<2><default><default><default>
;csi2_d10                = port:PE14<2><default><default><default>
;csi2_d11                = port:PE15<2><default><default><default>

I2C配置如下:
由于使用的是twi2,所以只需要开启twi2即可

[twi2]
twi2_used        = 1
twi2_scl         = port:PI01<5><default><default><default>
twi2_sda         = port:PI02<5><default><default><default>

sensor配置如下:

[vind0/sensor1]
sensor1_used          = 1
sensor1_mname         = "nvp6124"
;use twi 2 group
sensor1_twi_cci_id    = 0
sensor1_twi_addr      = 0x60
;use mclk 0 group
sensor1_mclk_id       = 2
sensor1_pos           = "rear"
sensor1_isp_used      = 0
sensor1_fmt           = 0
sensor1_vflip         = 0
sensor1_hflip         = 0
sensor1_iovdd         = "iovdd-csi"
sensor1_iovdd_vol     = 3300000
sensor1_avdd          = ""
sensor1_avdd_vol      = 
sensor1_dvdd          = "dvdd-csi"
sensor1_dvdd_vol      = 1800000
;AHD power
sensor1_power_en      = 
sensor1_reset         = port:PB05<1><0><1><0>
sensor1_pwdn          = port:PB08<1><0><1><1>

两路video通路配置如下:
实际只需要接入两路AHD相机,所以这里只配置了两路video通路

[vind0/vinc0]
vinc0_used      = 1
vinc0_csi_sel       = 0
vinc0_mipi_sel      = 0xff
vinc0_isp_sel       = 0
vinc0_isp_tx_ch     = 0
vinc0_rear_sensor_sel   = 0
vinc0_front_sensor_sel  = 0
vinc0_sensor_list   = 0

[vind0/vinc1]
vinc1_used      = 1
vinc1_csi_sel       = 0
vinc1_mipi_sel      = 0xff
vinc1_isp_sel       = 0
vinc1_isp_tx_ch     = 0
vinc1_rear_sensor_sel   = 0
vinc1_front_sensor_sel  = 0
vinc1_sensor_list   = 0
(3)加载驱动
insmod /lib/modules/4.4.55/videobuf2-dma-contig.ko
insmod /lib/modules/4.4.55/vin_io.ko
insmod /lib/modules/4.4.55/nvp6134.ko
insmod /lib/modules/4.4.55/vin_v4l2.ko

按照上面搭建好底层调试环境后,加载上述驱动后,会出现四个video设备;
分别为video0/1/2/3

声明:本文内容由易百纳平台入驻作者撰写,文章观点仅代表作者本人,不代表易百纳立场。如有内容侵权或者其他问题,请联系本站进行删除。
free-jdx
红包 241 33 评论 打赏
评论
0个
内容存在敏感词
手气红包
    易百纳技术社区暂无数据
相关专栏
置顶时间设置
结束时间
删除原因
  • 广告/SPAM
  • 恶意灌水
  • 违规内容
  • 文不对题
  • 重复发帖
打赏作者
易百纳技术社区
free-jdx
您的支持将鼓励我继续创作!
打赏金额:
¥1易百纳技术社区
¥5易百纳技术社区
¥10易百纳技术社区
¥50易百纳技术社区
¥100易百纳技术社区
支付方式:
微信支付
支付宝支付
易百纳技术社区微信支付
易百纳技术社区
打赏成功!

感谢您的打赏,如若您也想被打赏,可前往 发表专栏 哦~

举报反馈

举报类型

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

详细说明

审核成功

发布时间设置
发布时间:
是否关联周任务-专栏模块

审核失败

失败原因
备注
拼手气红包 红包规则
祝福语
恭喜发财,大吉大利!
红包金额
红包最小金额不能低于5元
红包数量
红包数量范围10~50个
余额支付
当前余额:
可前往问答、专栏板块获取收益 去获取
取 消 确 定

小包子的红包

恭喜发财,大吉大利

已领取20/40,共1.6元 红包规则

    易百纳技术社区