当前位置:首页 > 工业控制 > 电路设计项目集锦
[导读]MIPI(移动产业处理器接口):由ARM、诺基亚、ST和TI等公司于2003年成立的联盟制定的一种接口标准。其目的是标准化移动设备内部接口(如摄像头、显示屏、射频/基带接口),从而降低移动设备的设计复杂度,提高设计灵活性。

1. MIPI相机概述

1.1 MIPI CSI2 接口简介

MIPI(移动产业处理器接口):由ARM、诺基亚、ST和TI等公司于2003年成立的联盟制定的一种接口标准。其目的是标准化移动设备内部接口(如摄像头显示屏、射频/基带接口),从而降低移动设备的设计复杂度,提高设计灵活性。

工作组:MIPI联盟包含多个工作组,每个工作组负责定义相应设备的标准。这些工作组包括相机工作组、显示工作组和高速多链路工作组等十余个小组。

MIPI CSI-2 接口是 MIPI 联盟下相机工作组制定的 CSI(相机串行接口)标准的第二版。

•硬件层:支持最多4个虚拟通道(信道)进行数据传输。每个信道在物理上实现为一对差分信号线(见下图原理图),每条信道的最大通信速率可达2.0 Gbps。

•软件层:MIPI CSI-2协议栈主要由应用层、协议层和物理层组成。协议层进一步分为:像素/字节分组/非分组层、下层协议层以及通道管理层。

1.2 硬件接口资源简介

EASY EAI Nano-TB 开发板配备两个 MIPI CSI-2 接口,每个接口均带有 4 条通道输出。其位置定义如下所示。

EASY EAI Nano-TB 默认配备 IMX415 单目摄像头,以及一根 40 针 FPC 反向线缆,间距为 0.5 毫米。

•反向电缆:两端的蓝色标记位于相对的两侧。

•前向电缆:两端的蓝色标记位于同一侧。

1.3 线路连接说明

•必须在断电时进行接线。

•使用反向线缆将IMX415摄像头连接到Camera1接口。(注意:使用错误的线缆可能会损坏摄像头或主板,因此接线时务必格外小心。)

•FPC电缆上的连接器锁扣和蓝色塑料标记必须位于同一侧,如图所示。

1.4 检查设备状态

您可以使用 dmesg 命令来验证 MIPI-CSI2 接口模块是否正常工作:

相机的正常安装状态如下(示例输出):

•一个搭载imx415传感器的摄像头连接到dphy0接口,MIPI-CSI2地址为1-0036;

•一个搭载imx415传感器的摄像头连接到dphy3接口,MIPI-CSI2地址为4-0036。

如果目标相机节点未显示,请检查FPC线缆连接,确保其符合“1.3 线缆连接说明”。

1.5 查找可用的设备节点

在Rockchip平台上,一个MIPI-CSI接口对应超过20个视频节点(如设备树中定义的那样),如下图所示。

注意:CSI0 不一定映射到 video0~24,这取决于实际的设备树配置。

此外,当修改内核设备树时,对应MIPI-CSI摄像头的节点是固定的(即MIPI-CSI摄像头的数量在内核中已配置,且视频节点配置不会根据是否连接MIPI-CSI摄像头而动态变化)。

因此,用户需要查找这些节点的描述信息。Linux 的 v4l2 框架将这些节点的描述信息统一存放在 /sys/class/video4linux/ 目录中,如下图所示。

跳转到任意描述(例如:video22):

使用 cat 命令查看名称文件的内容。Rockchip 芯片定义:如果名称为 mainpath 或 selfpath,则 "video22" 是一个可用节点。

在任意终端目录中执行以下命令,可快速扫描所有节点的“name”描述:

在此示例中,/dev/video22 和 /dev/video23 是 MIPI-CSI0 可用的节点。

2. 快速入门

2.1 开发环境准备

如果您是首次阅读本文,请参考《入门指南/开发环境准备/简易EAI编译环境准备与更新》,并按照相关操作部署编译环境。

在电脑上的Ubuntu系统中运行脚本,以进入EASY-EAI编译环境:

2.2 源代码下载与示例编译

首先,在虚拟机的后台终端中,执行以下命令以创建一个用于管理外设单例源代码的目录:

例如,将单例程序下载到:此电脑\D:\BaiduNetdisk(无固定规则;用户可自由选择),如下图所示。

然后将下载的单例程序复制到虚拟机的文件系统中。

最后,输入相应的示例目录并执行编译命令:

备注:

由于依赖库已部署在板上,因此在交叉编译过程中必须保持 /mnt 的挂载。

2.3 示例执行

通过串口调试或SSH调试访问板子的后台,并导航至示例的部署位置:

运行示例的命令如下:

2.4 执行效果

执行效果如下。

示例运行完成后,将在 /tmp 目录中生成一张图片文件。返回虚拟机,打开一个新的终端窗口,使用 scp 命令将该图像复制回去:

然后使用 mplayer 命令播放照片:

示例的默认分辨率为1920x1080,因此请将w和h参数分别填入1920和1080。如果图像显示异常,可能是分辨率与所用相机不匹配——请在mipicamera_init()中调整分辨率(例如1280x720),然后重新运行命令。

3. MIPI相机测试用例

示例代码路径为:02_camera/test-mipiCam/main.c。MIPI相机API测试用例代码的逻辑流程如下:

本文编译自hackster.io

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读

这是一个快速且多功能的平台,专为基于MIPI-DSI和MIPI-CSI的显示屏和摄像头人机界面(HMI)应用而设计。它同样适用于边缘AI工作负载、传感器处理应用以及需要CM4/CM5载板灵活性的同时保持微控制器确定性行为...

关键字: 微控制器 显示屏 人机界面 SCINTIX P4板

作为一名创作者和开发者,每天不断查看 AdMob、Cults3D、Google Console 和 YouTube Analytics 的数据会耗费大量时间。我不喜欢日复一日地记录新数据——这对创作者来说实在不现实。为了...

关键字: 显示屏 蜂鸣器 稳压器 ESP32-C3

在后台,reCamera 负责完成所有复杂的协调工作:它在设备上运行 YOLO11n Pose 实时检测您的手势,然后通过 Node-RED 协调完整的 STT → LLM → TTS 流程。而实际的“思考”过程——语音...

关键字: 摄像头 边缘AI Node-RED

在本项目中,将ESP32-S3智能显示屏与多个传感器结合,构建了一个紧凑型气象站,可测量温度、湿度、大气压力、海拔高度、降雨状况以及环境光照强度。

关键字: 传感器 显示屏 ESP32-S3

现代数字实验室和教室不仅需要智能设备,还需要实时的环境感知。噪音过大会降低注意力,干扰学习活动,并影响整体工作效率。在本项目中,我们使用两块ESP32板、一个MAX4466麦克风放大器和一个MAX7219 LED矩阵显示...

关键字: LED矩阵 显示屏 放大器 MAX4466

~从产品开发到量产导入为客户提供全流程支持~ 天线一体化毫米波雷达模块AK5816AIM开始量产 无需佩戴设备即可检测跌倒、生命体征、姿势、位置 适用于浴室、卧室、适老住宅等注重隐私保护的空间的看护需求...

关键字: 微电子 摄像头 毫米波雷达 AI

一个月前,我手里拿着一个GNSS模块,心里在想:我可以开发一个导航设备,只要输入目的地的坐标,设备就能在我不走路时持续显示到目标的距离和方向吗?那个简单的问题成为了这个项目开始的起点。

关键字: GNSS模块 显示屏 ESP32-C6

本项目的目标是使用 Buildroot 为树莓派 Zero W 开发一个定制的嵌入式 Linux 发行版。系统设计仅包含应用程序所需的基本组件,例如 Wi-Fi 连接、SSH 和 SCP 访问、I2C 支持以及 Pyth...

关键字: Linux 树莓派 显示屏 SSD1306

EASY-EAI编译环境是一款由广州灵眸科技自主研发的在线编译环境(开发板在线),建立了PC端与板卡端实时同步的映射关系,保障PC端进行交叉编译时能实时链接开发板的依赖库。具有以下优点:

关键字: 串口调试 开发板 RV1126B

从小时候起,GTA就是我玩过的最早的游戏之一,从那一刻起我就成了它的忠实粉丝。一直让我着迷的一点是屏幕角落里那个小小的圆形地图,它会显示你的位置以及你在游戏世界中的移动方向。它的运作方式与谷歌地图这样的真实导航系统非常相...

关键字: GTA 谷歌地图 ESP32-S3 显示屏
关闭