news 2026/5/22 11:08:33

瑞芯微(EASY EAI)RV1126B AHD摄像头

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
瑞芯微(EASY EAI)RV1126B AHD摄像头

1. AHD摄像头硬件介绍

1.1 AHD信号转接板介绍

EASY EAI Nano-TB默认没有AHD信号接口,因此需要通过一块信号转接板把AHD信号转换成MIPI-CSI信号进行接入:

* 一块转接板能接4路AHD

* 转接板需要独立的外部供电,功率需要视AHD摄像头的实际情况而定

1.2 开发板MIPI接口资源介绍

EASY EAI Nano-TB开发板具有2路MIPI CSI-2接口。每路引出了4个Lane。位置定义如下所示。

采购AHD转接板,同时会配有一根0.5mm间距的40pin FPC反向线

反向线:两端的蓝色标识不在同一侧面。

同向线:两端的蓝色标识处于同一侧面。

1.3 硬件接线说明

* 接线必须在断电时进行操作。

* 采用反向线连接AHD转接板与MIPI-CSI接口。(注意:用错线会烧坏转接板或者核心板,因此在接线时务必要小心。)

* 接线端子卡扣与FPC线的蓝色塑料标识必须位于同一侧。如下图所示。

2. 系统层支持

由于默认固件MIPI-CSI支持IMX415摄像头,若需要系统支持AHD转接板,则需要修改内核镜像并替换。设计如下几步操作。

2.1 升级到最新固件

固件的下载和具体烧录步骤,若不熟练,可查阅《固件烧录与更新》一文。

2.2 下载ubuntu系统SDK源码

ubuntu_sdk源码(主要是kernel源代码)的下载,可以参考《嵌入式底层开发/ubuntu系统SDK/编译说明》一文。

2.3 修改内核设备树

根据《嵌入式底层开发/ubuntu系统SDK/kernel》中的说明,用户按需构建和管理【内核源码开发仓库】。

并按照下图说明,修改【内核源码开发仓库】中的设备树文件:

EASY-EAI-Nano-TB设备树入口:arch/arm64/boot/dts/rockchip/rv1126b-nano.dts

编译后,生成新的boot.img。

2.4 更新内核镜像

拷贝上一步生成出来的boot.img到固件的rockdev目录中,替换掉原来的boot.img,然后把boot.img烧录进开发板即可。

3. 应用方法

可通过串口调试,在开发板终端执行Linux shell命令。

3.1 查看设备情况

首先通过dmesg命令,检查MIPI-CSI2接口模块是否正常工作。

dmesg | grep -i "nvp6188"

转接板正常挂载的情况如下所示。可以看到:

在dphy0接口上有一个型号为:nvp6188的转接芯片,MIPI-CSI2地址为:1-0033;

在dphy3接口上有一个型号为:nvp6188的转接芯片,MIPI-CSI2地址为:4-0033。

当没能出现转接板的I2C节点时,就需要检查:

1-转接板是否已经独立供电

2-转接板与开发板是否按照“1.3硬件接线说明”章节描述接线

3-内核设备树是否修改正确,并且确实已经更新kernel.img

3.2 寻找可用的设备节点

再执行下方命令,寻找AHD摄像头通道对应的/dev/video节点:

grep "" /sys/class/video4linux/*/name

其中/dev/video1、/dev/video2、/dev/video3、/dev/video4接口是MIPI-CSI0对应的可用节点。/dev/video12、/dev/video13、/dev/video14、/dev/video15接口是MIPI-CSI1对应的可用节点。

chn1:stream_cif_mipi-id0对应转接板D1接口。

chn2:stream_cif_mipi-id1对应转接板D2接口。

chn3:stream_cif_mipi-id2对应转接板D3接口。

chn4:stream_cif_mipi-id3对应转接板D4接口。

3.3 测试命令

最后执行下方命令,即可在8寸显示屏上显示AHD摄像头抓取的画面。

gst-launch-1.0 \ v4l2src device=/dev/video1 ! video/x-raw,width=320,height=400,format=NV12,framerate=30/1 ! queue ! compositor.sink_0 \ v4l2src device=/dev/video2 ! video/x-raw,width=320,height=400,format=NV12,framerate=30/1 ! queue ! compositor.sink_1 \ v4l2src device=/dev/video3 ! video/x-raw,width=320,height=400,format=NV12,framerate=30/1 ! queue ! compositor.sink_2 \ v4l2src device=/dev/video4 ! video/x-raw,width=320,height=400,format=NV12,framerate=30/1 ! queue ! compositor.sink_3 \ v4l2src device=/dev/video12 ! video/x-raw,width=320,height=400,format=NV12,framerate=30/1 ! queue ! compositor.sink_4 \ v4l2src device=/dev/video13 ! video/x-raw,width=320,height=400,format=NV12,framerate=30/1 ! queue ! compositor.sink_5 \ v4l2src device=/dev/video14 ! video/x-raw,width=320,height=400,format=NV12,framerate=30/1 ! queue ! compositor.sink_6 \ v4l2src device=/dev/video15 ! video/x-raw,width=320,height=400,format=NV12,framerate=30/1 ! queue ! compositor.sink_7 \ compositor name=compositor \ sink_0::xpos=0 sink_0::ypos=0 \ sink_1::xpos=320 sink_1::ypos=0 \ sink_2::xpos=640 sink_2::ypos=0 \ sink_3::xpos=960 sink_3::ypos=0 \ sink_4::xpos=0 sink_4::ypos=400 \ sink_5::xpos=320 sink_5::ypos=400 \ sink_6::xpos=640 sink_6::ypos=400 \ sink_7::xpos=960 sink_7::ypos=400 \ ! video/x-raw,width=1280,height=800,format=NV12 ! \ videoflip method=1 ! videoconvert ! kmssink

画面效果如下所示:

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/22 1:58:00

业务链很长怎么办

固定生命周期固定、添加很多钩子函数,降低认知成本链式校验:每个节点增加校验,确保准确后再往下流转 就能全局准确 降低焦虑分成多个阶段,完成一个阶段就行存档,逐步全部完成最终一致性学习大厂 分布式 高并发经验

作者头像 李华
网站建设 2026/5/9 0:07:20

JetBrains Runtime 终极配置与问题排查完整教程

想要顺畅运行JetBrains IDE产品却总是遇到各种问题?本指南将为你提供从零开始的JetBrains Runtime配置方案和常见问题的一键解决方案。无论你是刚接触JBR的新手还是遇到棘手问题的高级用户,这里都有你需要的答案。 【免费下载链接】JetBrainsRuntime Run…

作者头像 李华
网站建设 2026/5/20 10:45:45

EmotiVoice是否支持中文方言?实测粤语、川渝话合成效果

EmotiVoice是否支持中文方言?实测粤语、川渝话合成效果 在粤港澳的清晨,广播里传来一句“早晨!今日天气真好呀~”,语调轻快,尾音微微上扬;而在成都的茶馆中,AI主播用一口地道的川普调…

作者头像 李华
网站建设 2026/5/5 0:35:22

JavaScript 变量声明最佳实践

使用const 作为变量赋值,这是一个非常好的习惯!在现代前端开发(尤其是 Vue/React 项目)中,“默认使用 const,只有必须修改时才用 let” 是公认的最佳实践。 不仅没有问题,反而是在遵循行业标准。…

作者头像 李华
网站建设 2026/5/21 9:38:32

LINUX源码分析之进程和系统调用

概述 GLIBC(GNU C Library)是 GNU 项目提供的 C 标准库实现,作为 Linux 系统的核心组件之一。它为应用程序提供基础的系统调用封装、内存管理、字符串处理等接口,是大多数 Linux 发行版的默认 C 库。 本文主要分析Linux下的进程…

作者头像 李华
网站建设 2026/5/22 12:19:06

别找了,本地部署大模型工具全面推荐指南

随着大语言模型(LLM)技术的快速发展,越来越多的开发者和企业希望将AI能力部署到本地环境中。本地部署不仅能够保护数据隐私、降低API调用成本,还能实现离线使用和深度定制。本文将详细介绍当前主流的本地部署大模型工具,帮助读者根据自身需求选择最合适的解决方案。 第一…

作者头像 李华