好的,我们来详细解释一下 STM32 中的 CSI 接口。
在 STM32 的语境下,CSI 通常指的是 Camera Serial Interface(摄像头串行接口)。这是一个用于连接图像传感器(摄像头模块)的接口标准。
然而,需要特别注意一个关键点:
-
STM32 的 CSI 接口实现:
- STM32 不直接实现 MIPI CSI-2 (Mobile Industry Processor Interface Camera Serial Interface 2) 或 SMIA CCP2 (Standard Mobile Imaging Architecture Compact Camera Port 2) 等常见的标准高速串行 CSI 接口。
- 取而代之的是,STM32 通常提供一个称为 DCMI (Digital Camera Interface) 的并行接口。
- 因此,在 STM32 的文档和上下文中,“CSI” 经常作为 “DCMI” 的同义词或泛指其摄像头接口功能。这是一个需要注意的术语混用现象。
- 只有 STM32H7 系列的部分型号 才开始集成真正的 MIPI DSI/CSI 收发器(例如 STM32H747/757)。对于绝大多数其他系列(如 F4, F7, G4, L4 等),其“摄像头接口”就是指 DCMI。
-
STM32 DCMI (Digital Camera Interface) - STM32 的主要“CSI”接口:
- 类型: 这是一个 并行 数字接口,而不是串行接口。
- 功能: 设计用于接收来自外部并行输出图像传感器(通常是 CMOS 传感器,如 OV2640, OV5640 等)的图像数据流。
- 主要信号线组成:
- 数据线 (
D[0:13]): 传输实际的像素数据。宽度可以是 8、10、12 或 14 位(具体取决于传感器和配置)。常用的有 8 位 (D0-D7) 或 10 位 (D0-D9)。 - 像素时钟 (
PIXCLK): 由传感器提供,用于同步数据传输。每个时钟周期传输一个像素数据(或部分数据,取决于数据宽度)。 - 水平同步 (
HSYNC): 指示一行像素数据的开始。 - 垂直同步 (
VSYNC): 指示一帧图像数据的开始。 - 数据使能 (
DATA_EN): (可选,取决于传感器) 指示当前数据线上的数据是否有效。在 DCMI 中,有时可以用 HSYNC/VSYNC 的特定组合替代其功能。
- 数据线 (
- 工作原理:
- 传感器配置:通过 I2C 或 SPI 配置摄像头模块的参数(分辨率、格式、输出时序等)。
- 时序同步:传感器开始输出 PIXCLK、HSYNC、VSYNC (以及可能的 DATA_EN) 信号。
- 数据捕获:在每个有效的 PIXCLK 边沿(可配置上升沿或下降沿捕获),DCMI 读取并行数据线上的值。
- 帧同步:DCMI 根据 HSYNC 和 VSYNC 信号识别行和帧的边界。
- 数据传输:捕获到的图像数据可以通过以下方式传输到内存:
- DMA (推荐方式): 最常见和高效的方式。DCMI 触发 DMA 请求,直接将像素数据流写入指定的内存缓冲区(通常是 SRAM 中的数组)。这是避免 CPU 中断开销的关键。
- 中断: DCMI 在帧结束、行结束或同步出错时产生中断。CPU 可以通过读取数据寄存器获取像素数据,但这效率很低,只适合小图像或调试。
- 支持的格式:
- YCbCr: (如 YUV/YUYV/YCbCr422)
- RGB: (如 RGB565, RGB888)
- CMOS 传感器原始数据 (Bayer 格式): (如 8 位、10 位原始数据)
- 压缩数据: (如 JPEG),此时 DCMI 主要作为字节流传输接口,需要后续 JPEG 解码。
- STM32 型号支持:
- 主要存在于性能较高的 STM32 系列中,例如:
- STM32F4 系列 (如 F407, F429, F446)
- STM32F7 系列 (如 F746, F767)
- STM32H7 系列 (如 H743, H747 - H747 还有 MIPI CSI-2)
- STM32L4+ 系列 (如 L4R9, L4S9)
- STM32G4 系列 (部分型号)
- 主要存在于性能较高的 STM32 系列中,例如:
-
STM32H7 中的 MIPI CSI-2 (真·串行 CSI):
- 类型: 这是真正的 高速差分串行 接口标准(属于 MIPI Alliance 规范)。
- 特点: 带宽更高、引脚数更少、抗干扰能力更强,是现代中高端手机和嵌入式设备摄像头的主流接口。
- STM32 支持: 目前只有 STM32H7 系列的部分双核型号(如 STM32H747/757) 集成了 MIPI D-PHY 接收器和 CSI-2 控制器。
- 信号: 使用差分数据对 (
MIPI_Dn_P/MIPI_Dn_N) 和差分时钟对 (MIPI_CLK_P/MIPI_CLK_N)。数据通过数据包传输。 - 使用: 需要连接支持 MIPI CSI-2 输出的摄像头传感器。配置和管理也比 DCMI 更复杂。
总结与关键点:
- STM32 中的 "CSI" 主要指 DCMI (并行接口): 当你看到 STM32 文档或讨论中提到 CSI 时,绝大多数情况下指的是 DCMI (Digital Camera Interface) 这个并行摄像头接口。
- DCMI 是并行接口: 使用 HSYNC, VSYNC, PIXCLK 和并行数据线传输像素数据。
- 核心是 DMA + 内存缓冲区: 高效捕获图像数据的关键是利用 DMA 将数据直接写入内存。
- 真·CSI-2 (串行) 仅限部分 H7: 只有 STM32H747/757 等少数型号才具备标准的 MIPI CSI-2 接口。
- 配置要点:
- 正确初始化所有涉及的 GPIO 引脚(DCMI 数据线、控制线)。
- 配置 DCMI 外设的参数:数据宽度(8/10/12/14 bit)、捕获极性(PIXCLK 边沿,HSYNC/VSYNC 有效电平)、数据格式(RGB/YUV/Raw)。
- 配置 DMA 通道,将 DCMI 数据寄存器的内容传输到内存缓冲区(通常是一个二维数组)。
- 通过 I2C/SPI 配置摄像头传感器(分辨率、帧率、输出格式、时序等)。摄像头模块的初始化代码通常由其供应商提供或参考其数据手册编写。
- 启用 DCMI 捕获。
如何使用 (以 DCMI 为例,通用步骤):
- 硬件连接: 将摄像头模块的并行数据线 (DATA0-DATA7/9/13)、PIXCLK、HSYNC、VSYNC 连接到 STM32 指定的 DCMI 引脚。连接 I2C/SPI 用于配置摄像头。提供合适的电源和时钟给摄像头。
- CubeMX 配置 (推荐):
- 启用 DCMI 外设。
- 配置 DCMI 参数(数据宽度、极性)。
- 配置相关 GPIO 为 DCMI 复用模式。
- 配置一个 DMA 通道 (Memory to Peripheral 通常不对,应该是 Peripheral to Memory),关联到 DCMI。设置数据宽度、内存地址自增、循环模式或非循环模式。
- 配置 I2C/SPI 用于控制摄像头。
- 生成初始化代码。
- 编写代码:
- 摄像头初始化: 使用 HAL 库的 I2C/SPI 函数,按照摄像头模块的数据手册发送初始化序列(设置分辨率、格式、亮度对比度等寄存器)。通常有现成的驱动库(如 OV2640 的驱动)。
- DCMI & DMA 初始化: 调用
HAL_DCMI_Init()和 CubeMX 生成的 DMA 初始化函数。 - 启动捕获: 调用
HAL_DCMI_Start_DMA(&hdcmi, DCMI_MODE_CONTINUOUS, (uint32_t)&image_buffer, buffer_size);启动连续 DMA 捕获到image_buffer。 - 处理图像: 当捕获完一帧(通常 DMA 传输完成产生中断或使用帧中断),
image_buffer中就存储了图像数据,可以用于显示(通过 LTDC 送屏)、存储(SD卡)、压缩(JPEG)、图像处理(OpenMV)或传输(网络)。 - 中断处理: 实现
HAL_DCMI_FrameEventCallback()等回调函数,在帧捕获完成时进行相应处理(如切换双缓冲、通知任务处理图像)。
检查您的 STM32 型号:
- 查阅您使用的 STM32 型号的官方数据手册 (Datasheet) 和 参考手册 (Reference Manual)。
- 在文档中搜索 "DCMI" (Digital Camera Interface) 或 "MIPI"。
- 这将明确告诉您该型号是否支持摄像头接口,以及是 DCMI 还是 CSI-2。
希望这个详细的中文解释对您理解 STM32 的 CSI (DCMI) 接口有所帮助!
STM32MP1序列产品连接MIPI®CSI-2摄像头
本应用笔记提供关于如何连接 STM32MP1 系列产品与 MIPI CSI-2 摄像头的信息。STM32MP1 系列产品(如 STM32 高性能MCU)可通过其 DCMI(数码相机模块接口)并行接口
2023-03-15 15:03:02
如何连接STM32MP1系列产品与MIPI CSI-2摄像头的信息
本应用笔记提供关于如何连接 STM32MP1 系列产品与 MIPI CSI-2 摄像头的信息。STM32MP1 系列产品(如 STM32 高性能MCU)可通过其 DCMI(数码相机模块接口)并行接口
发生的方式
2023-09-07 08:16:41
hd-sdi接口转u***/csi接口
HD-SDI接口的视频如何转换成u***/csi接口输出,求大佬指点一下,有电路图更好,实在没思路,网上也搜不到。
冰夜哈
2020-04-17 18:56:37
移动行业处理器接口MIPI CSI-2接收桥参考设计
MIPI CSI-2接收桥参考设计。灵活的MIPI(移动行业处理器接口)CSI-2接收桥 - 允许移动CSI-2(摄像机串行接口)图像传感器连接到嵌入式图像信号处理器ISP。经过测试,在HDR-60
njnqn
2020-04-29 09:39:43
英创信息技术CSI摄像头接口及在英创主板上的应用简介
Sensor Interface)信号接口。ESM6800V的其它系统及接口配置与ESM6800完全相同。CSI是一个标准的视频输出接口,视频处理芯片可以直接输出,不需要涉及到USB接口摄像头所需
2020-02-06 11:13:06
AWR2243 CSI2接口和外部处理器CSI2的信号连接
AWR2243是TI第二代毫米波传感器,使用了TI第二代毫米波射频前端,射频性能比第一代产品有了大幅提升,其中的AWR2243P还支持多片级联。AWR2243可以通过CSI2接口将采集到的毫米波原始
2022-07-01 11:34:18
AWR2243 CSI2接口详解
AWR2243是TI第二代毫米波传感器,使用了TI第二代毫米波射频前端,射频性能比第一代产品有了大幅提升,其中的AWR2243P还支持多片级联。AWR2243可以通过CSI2接口将采集到的毫米波原始
2023-03-16 10:15:20
基于MIPI的移动行业处理器接口CSI-2发送桥
MIPI CSI-2发送桥参考设计。基于MIPI(移动行业处理器接口)的应用处理器(AP)可用于消费者移动市场之外的众多设计,因为它们提供了巨大的集成,低功耗和低成本。但是,如果AP需要连接到不是为
60user148
2020-05-01 11:56:40
一文详解AWR2243 CSI2接口
AWR2243是TI第二代毫米波传感器,使用了TI第二代毫米波射频前端,射频性能比第一代产品有了大幅提升,其中的AWR2243P还支持多片级联。AWR2243可以通过CSI2接口将采集到的毫米波原始
2022-07-11 16:09:40
实测52.4MB/s!全国产ARM+FPGA的CSI通信案例分享!
CSI总线介绍与优势 CSI(CMOS sensor parallel interfaces)总线是一种用于连接图像传感器和处理器的并行通信接口,应用于工业自动化、能源电力、智慧医疗等领域,CSI
2024-03-28 09:03:30
移动产业处理器接口联盟、MIPI-DSI、MIPI-CSI等接口介绍
接口CSI、显示器接口DSI、射频接口DigRF、麦克风/喇叭接口SLIMBUS等,优点:更低功耗,更高数据
2021-07-26 11:45:21
平头哥RVB2601板子上手-ADC采集与CSI简析
依据有限的资料知道CH2601的内部是有ADC的。但是引脚通过“ARDUINO”接口引出来的。 CH2601的adc驱动是在YOC开发包中提供的既CSI接口,CSI 是针对嵌入式系统,定义了CPU
王伟01
2022-03-09 07:26:47
基于Microchip MIPI CSI-2 Transmitter FMC卡的技术解析与应用实践
。VIDEO-DC-MIPITX支持收发器,允许基于GPIO的IP解决方案支持高达每通道2.5Gbps的数据速率,并有助于4K视频数据传输。移动产业处理器接口 (MIPI) CSI-2(相机串行接口)发射器
2025-09-29 10:10:26
请教一下芯片FETT4418的DSI、CSI支持的是什么格式
我司现有一产品 开发 ,需要用FETT4418的MIPI 的DSI /CSI 接口 分别于另一安卓模块的MIPI 的CSI/DSI 接口对接,分别将本端的DSI输出经过一个桥接芯片后送给对端的CSI
njlbdz
2022-01-06 06:53:06
ST系列-米尔STM32MP257核心板开发板-高性能+多接口+边缘算力
2024-09-20 17:54:48
MIPI CSI-2 相机规格增加了先进的始终在线成像解决方案
MIPI 联盟更新了 MIPI CSI-2 嵌入式图像传感器接口,可实现始终开启的低功耗机器视觉应用
2022-08-19 10:32:56
MIPI-CSI像素时钟限制是否与CSI块限制相同?
相机输入到 MIPI-CSI。然后,MIPI-CSI 将数据转换为并行 CSI。所以,我的问题是,MIPI-CSI 像素时钟限制是否与 CSI 块限制相同,即 80MHz?或者,我可以输入 1080p 摄像头吗?像素时钟约为 125MHz。
h1654155275.6372
2023-03-17 07:09:07
请问i.MX8M Plus的MIPI-CSI2接口是否支持非连续时钟?
你好社区, 请问i.MX8M Plus的MIPI-CSI2接口是否支持非连续时钟?我可以在哪个文件中找到它的信息?
神之小风
2023-03-21 07:07:46
国产ARM + FPGA的CSI通信案例介绍
CSI总线是一项用于将图像传感器与处理器连接的并行通信接口,在工业自动化、能源电力、智慧医疗等领域得到广泛应用,具备了高带宽,开发难度低和低成本优点。
2024-04-26 11:41:12
MIPI CSI-2 v2.0:物联网、无人机和汽车领域的新兴应用
MIPI相机串行接口(CSI-2)在移动行业中被广泛用作相机接口。MIPI联盟一直致力于提供解决方案,以满足对1080p、4K和8K等更高带宽和高清视频日益增长的需求。MIPI工作组发布了CSI
2023-05-26 14:24:26
CM8870CSI
CM8870CSI - CMOS Integrated DTMF Receiver - California Micro Devices Corp
2022-11-04 17:22:44
MIPI协议中的DSI和CSI是什么?
议,MIPI协议中包含了很多部件接口的协议规范。 今天我们所说的MIPI CSI 和 MIPI DSI就是MIPI协议中的一种,这两个协议是MIPI协议中比较成熟的接口协议,DSI是显示接口,承载的是针对于
明德扬吴老师
2022-01-13 16:55:08
i.MX RT1170 csi_hckl和CSI_CLK_ROOT是一样的吗?
你好我们在 RT1170 MCU 上使用 Onsemi 并行相机(BW 原始图像),并且有一些关于 CSI 时钟的问题。根据参考手册,CSI 模块的最大时钟频率为 66MHz。它还声明
飞雪9366
2023-03-24 08:23:26
NR CSI是什么?与SINR有和关系?
CSI 信道状态信息(Channel State Information,CSI)是什么? CSI是用于反馈无线信道特征的信息。 下行无线信道CSI,由UE进行测量(测量对象为
新星之火12138
2023-05-10 15:59:42
安捷伦推出了用于CSI-3接口及联盟标准组织协议的全新分析仪
MIPI 联盟主席Joel Huloux 表示:“M-PHY 是下一代移动计算产品实现的关键,包括智能手机、平板电脑和笔记本电脑。测试和验证MIPI 联盟规范的实施是确保成员交付高质量产品的重要环节。我们十分高兴地看到安捷伦推出用于CSI-3 接口及联盟标准组织协议的全新分析工具。”
2019-07-04 15:25:42