Line 5: |
Line 5: |
| | | |
| ===硬件准备及安装=== | | ===硬件准备及安装=== |
− | 原材料:NanoPi M4板,HDMI显示器,网线,Micro SD卡,FFC异面线,NanoPi M4电源线,镜头,摄像头主板,Nano Pi转接板(转接板包括树莓派转接板以及Nano Pi转接板,具体说明请见[[链接]]) | + | 原材料:NanoPi M4板,HDMI显示器,网线,Micro SD卡,FFC异面线,NanoPi M4电源线,镜头,摄像头主板,NanoPi转接板(转接板包括树莓派转接板以及Nano Pi转接板,具体说明请见[[链接]]) |
| | | |
− | 如图所示,摄像头主板加Nano Pi转接板构成摄像头模组,摄像头模组通过FFC异面线连接到NanoPi M4板上,Micro SD卡插入卡槽,HDMI显示器接入NanoPi M4板,网线插入网线接口,NanoPi M4电源线插入电源接口为NanoPi M4板提供电源。 | + | 如图所示,摄像头主板加Nano Pi转接板构成摄像头模组,摄像头模组通过FFC异面线连接到NanoPi M4板上MIPI CSI-2接口,Micro SD卡插入卡槽,HDMI显示器接入NanoPi M4板,网线插入网线接口,NanoPi M4电源线插入电源接口为NanoPi M4板提供电源。 |
− | [[File:Veye nanopi m4.jpg|center|thumb|463x463px|VEYE-MIPI-290/327 摄像头模组连接NanoPi M4示意图]] | + | [[File:Veye nanopi m4.jpg|center|thumb|599x599px|VEYE-MIPI-290/327 摄像头模组连接NanoPi M4示意图]]注:NanoPi M4 的MIPI-CSI2口说明 |
| + | {| class="wikitable" |
| + | !接口 |
| + | !I2C |
| + | !DPHY |
| + | !facing |
| + | !复用 |
| + | |- |
| + | |MIPI-CSI1 |
| + | |1 |
| + | |RX0 |
| + | |back |
| + | |NA |
| + | |- |
| + | |MIPI-CSI2 |
| + | |2 |
| + | |RX1 |
| + | |front |
| + | |TX1<br /> |
| + | |} |
| | | |
| ===Ubuntu系统安装=== | | ===Ubuntu系统安装=== |
Line 28: |
Line 47: |
| ===视频控制接口软件包使用=== | | ===视频控制接口软件包使用=== |
| | | |
− | ==== 下载及传输软件包 ==== | + | ====下载及传输软件包==== |
| | | |
− | * 执行命令行 | + | *执行命令行 |
| | | |
| <code>git clone <nowiki>https://github.com/veyeimaging/nanopi4.git</nowiki></code> | | <code>git clone <nowiki>https://github.com/veyeimaging/nanopi4.git</nowiki></code> |
Line 36: |
Line 55: |
| 直接将文件复制到Ubuntu系统中。 | | 直接将文件复制到Ubuntu系统中。 |
| | | |
− | * 点击[https://github.com/veyeimaging/nanopi4 链接]下载视频控制接口软件包 | + | *点击[https://github.com/veyeimaging/nanopi4 链接]下载视频控制接口软件包 |
| | | |
| [[File:Veye nanopi i2cruanjianbaojietu.png|center|thumb|531x531px|i2c为视频控制接口软件包]] | | [[File:Veye nanopi i2cruanjianbaojietu.png|center|thumb|531x531px|i2c为视频控制接口软件包]] |
| 利用samba将软件包文件传输至Ubuntu系统中,也可用U盘将软件包文件拷贝至Ubuntu系统中。 | | 利用samba将软件包文件传输至Ubuntu系统中,也可用U盘将软件包文件拷贝至Ubuntu系统中。 |
| | | |
− | ==== 使用视频控制接口软件包 ==== | + | ====使用视频控制接口软件包==== |
| 首先检测硬件连接是否正常,Ubuntu系统用户登陆切换到root账户,执行命令行<code>i2cdetect [value]</code> | | 首先检测硬件连接是否正常,Ubuntu系统用户登陆切换到root账户,执行命令行<code>i2cdetect [value]</code> |
| {| class="wikitable" | | {| class="wikitable" |
Line 55: |
Line 74: |
| 确定硬件连接正常后,视频控制接口软件包具体使用操作详见:[http://www.veye.cc/?p=288 I2C脚本使用说明]。 | | 确定硬件连接正常后,视频控制接口软件包具体使用操作详见:[http://www.veye.cc/?p=288 I2C脚本使用说明]。 |
| | | |
− | === 源代码及使用 === | + | ===源代码及使用=== |
| | | |
− | ==== kernel驱动源代码 ==== | + | ====kernel驱动源代码==== |
| | | |
− | # 共三个文件,包括:veye_camera_module.c veye_camera_module.h veye290_v4l2-i2c-subdev.c 放置到linux源码的drivers/media/i2c/soc_camera/rockchip目录下。 注:VEYE327的驱动源码与290完全一致。 | + | #共三个文件,包括:veye_camera_module.c veye_camera_module.h veye290_v4l2-i2c-subdev.c 放置到linux源码的drivers/media/i2c/soc_camera/rockchip目录下。 注:VEYE327的驱动源码与290完全一致。 |
− | # Kconfig drivers/media/i2c/soc_camera/rockchip/Kconfig,增加veye产品类型——VIDEO_VEYE290。 在make menuconfig中选中VEYE290。 路径:> Device Drivers > Multimedia support > Sensors used on soc_camera driver 。 | + | #Kconfig drivers/media/i2c/soc_camera/rockchip/Kconfig,增加veye产品类型——VIDEO_VEYE290。 在make menuconfig中选中VEYE290。 路径:> Device Drivers > Multimedia support > Sensors used on soc_camera driver 。 |
− | # Makefile drivers/media/i2c/soc_camera/rockchip/Makefile obj-$(CONFIG_VIDEO_VEYE290) += veye_camera_module.o rk_camera_module.o veye290_v4l2-i2c-subdev.o | + | #Makefile drivers/media/i2c/soc_camera/rockchip/Makefile obj-$(CONFIG_VIDEO_VEYE290) += veye_camera_module.o rk_camera_module.o veye290_v4l2-i2c-subdev.o |
| | | |
− | ==== DTS文件 ==== | + | ====DTS文件==== |
| 只需修改一个dit文件——rk3399-nanopi4-cifisp.dtsi。 | | 只需修改一个dit文件——rk3399-nanopi4-cifisp.dtsi。 |
| | | |
Line 72: |
Line 91: |
| 文件请放到/etc/cam_iq下。 | | 文件请放到/etc/cam_iq下。 |
| | | |
− | === 参考资料 === | + | ===参考资料=== |
− | <br />
| |
| | | |
| ==== RK3399介绍 ==== | | ==== RK3399介绍 ==== |
Line 88: |
Line 106: |
| 采用RK3399的主板也非常丰富,可供选择。各家软件均为基于瑞芯微资料制作,所以本文的内容也具有一定的普适性,不局限于NanoPi4系列。 | | 采用RK3399的主板也非常丰富,可供选择。各家软件均为基于瑞芯微资料制作,所以本文的内容也具有一定的普适性,不局限于NanoPi4系列。 |
| | | |
− | ==== NanoPi M4介绍 ==== | + | ====NanoPi M4介绍==== |
| NanoPi M4是[https://www.friendlyarm.com/ 友善之臂]出品的基于RK3399的开发板。在爱好者和行业内拥趸极多。其资料开放,易于开发,[http://wiki.friendlyarm.com/wiki/index.php/NanoPi_M4/zh wiki]详细周到。 | | NanoPi M4是[https://www.friendlyarm.com/ 友善之臂]出品的基于RK3399的开发板。在爱好者和行业内拥趸极多。其资料开放,易于开发,[http://wiki.friendlyarm.com/wiki/index.php/NanoPi_M4/zh wiki]详细周到。 |
| | | |
Line 97: |
Line 115: |
| Nanopi的4系列均采用RK3399芯片,本文均可适用。 | | Nanopi的4系列均采用RK3399芯片,本文均可适用。 |
| | | |
− | ==== RK3399 ISP简介(Linux) ==== | + | ====RK3399 ISP简介(Linux)==== |
| Rk3399和RK3288采用同样的ISP硬件和驱动。由于linux和Android平台的软件框架差异很大,所以对接VEYE模组的过程也不同。'''Linux平台下,瑞芯微有两种ISP驱动,isp1为新版本,官方推荐使用;isp10为老版本。NanoPi选择isp10版本作为默认驱动。为了保持与原系统兼容性,我们也采用isp10版本进行开发。''' | | Rk3399和RK3288采用同样的ISP硬件和驱动。由于linux和Android平台的软件框架差异很大,所以对接VEYE模组的过程也不同。'''Linux平台下,瑞芯微有两种ISP驱动,isp1为新版本,官方推荐使用;isp10为老版本。NanoPi选择isp10版本作为默认驱动。为了保持与原系统兼容性,我们也采用isp10版本进行开发。''' |
| | | |
− | ==== linux平台 ==== | + | ====linux平台==== |
| 在linux平台下,isp10驱动和sensor的驱动均编译到kernel中,此外需要配置好DTS文件。下文将展开详述。 | | 在linux平台下,isp10驱动和sensor的驱动均编译到kernel中,此外需要配置好DTS文件。下文将展开详述。 |
| | | |
− | ==== 主要参考文档: ==== | + | ====主要参考文档:==== |
| [http://opensource.rock-chips.com/wiki_Rockchip-isp1 瑞芯微官方ISP介绍]。 | | [http://opensource.rock-chips.com/wiki_Rockchip-isp1 瑞芯微官方ISP介绍]。 |
| | | |
| 《RK_ISP10_Camera_User_Manual_v2.2.pdf》 | | 《RK_ISP10_Camera_User_Manual_v2.2.pdf》 |