Linux camera驱动开发(mipi、d/cphy、dsi和csi2)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】

说到camera,除了i2c之外,还有一个概念有必要了解下,那就是mipi。当然不仅是mipi,还有d/cphy、dsi、csi。这些概念也有必要了解清楚,这样在后续的开发中才会游刃有余。

1、mipi bus

mipi是一个总线的概念,它和485、usb、pcie这些总线其实是一回事。只不过像485总线,它只有一对差分线,而mipi差分线的数量要多一点。而且,为了实现数据的高速传输,mipi差分线的电压也要低不少。

2、dphy和cphy

dphy和cphy,都是实现mipi的物理协议。**两者最大的区别,就是dphy比cphy多一份clk差分,cphy没有独立的时钟总线,因为它把时钟编码到了数据里面去了。**实际应用中,我们遇到的大多数mipi接口都是使用dphy协议。如果想记得简单一点,可以直接记住dphy,忽视cphy。

本身dphy类似于tcp/ip里面的数据传输层,为上面的应用协议提供数据传输的方法。所以,它不光支持数据的输出,也支持数据的输入。

3、csi2

csi,也就是camera serial interface的意思。csi早期有版本csi1,不过现在几乎不使用了。目前用的最多的这个版本是csi2。大部分camera sensor支持的csi版本,也是csi2。所以,从传输方向上说,csi主要负责的是数据输入,整体结构就是csi2 over dphy。

4、dsi

dsi,全称为display serial interface。它一般用作是数据的输出。前面我们说过,目前使用的dsi协议,底层依赖的物理层都是dphy,也就是说大部分mipi屏幕底层支持的物理层都是dphy。所以就显示这一部分来说,dsi over dphy就是事实上的标准。

5、mipi-d/cphy0-dsi0 & mipi-dcphy0-csi0

很多soc芯片上面,都可以看到类似标题这样的描述。对于我们使用者来说,要学会理解里面的意思。首先,mipi代表mipi协议栈,这点可以pass。接下来是d/cphy,这说明对应接口本身同时支持dphy和cphy,虽然我们不怎么用cphy,但soc自身是支持这个协议的。最后就是dsi0、csi0,很多时候phy只有一套,但是它是用来做屏幕输出,还是camera输入,这个取决于我们自己。也就是说,dsi0和csi0是互斥使用的,你用了dsi0,就不能用csi0,反之亦然。

实际使用的时候,接口做dsi用,还是csi用很容易看出来的,csi通常都是接camera sensor,基本上都会多一个i2c接口。

6、mipi-dphy0-dsi0

除了上面说的第5种,还有一种就是mipi-dphy0-dsi0这种。相对而言,这就比较简单了,意思就是说,当前接口只支持dhpy,不支持cphy,很多cost down的soc都会这么干。

7、mipi驱动部分

mipi驱动和平台相关,大部分都是平台写好的,我们会改、会配置即可,一般不需要自己独立写驱动代码。这一点和camera sensor驱动不太一样。

相关推荐
sukalot1 天前
windows网络适配器驱动开发-为多个 Windows 版本生成 WiFiCx 驱动程序
windows·驱动开发
TE-茶叶蛋2 天前
Spec-Driven Development(规范驱动开发)
驱动开发
云栖梦泽3 天前
Camera驱动开发与应用开发中的零拷贝与DMA
linux·驱动开发·嵌入式硬件
脱胎换骨-军哥3 天前
C++ 嵌入式编程实例:从寄存器操作到底层驱动开发
开发语言·c++·驱动开发
智者知已应修善业3 天前
【使用D触发器74HC175实现0001 0011 0111 1111 1110 1100 1000的循环彩灯电路。】2025-4-28
驱动开发·经验分享·笔记·硬件架构·硬件工程
新元代码4 天前
SDD+TDD 双驱动开发模式实战指南
驱动开发
mk0155 天前
20V输入,12V 3A输出 效率96%DCDC降压芯片
驱动开发·单片机·硬件工程·智能硬件·pcb工艺
mounter6255 天前
跨越鸿沟:从内核驱动开发到超大规模云端生产环境的思考
linux·驱动开发·linux kernel·kernel
Saniffer_SH6 天前
NAND技术(二):从 Channel、Die/LUN、P/E Cycle 到 LDPC,一次讲透 NAND 里那些最容易误解的概念
人工智能·驱动开发·嵌入式硬件·测试工具·fpga开发·计算机外设·压力测试
2401_854151556 天前
嵌入式传感器驱动开发深度解析——从 I2C/SPI 驱动到数据融合算法
驱动开发·算法