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驱动不太一样。

相关推荐
又见情义2 天前
RK3568 + RTL8211F 网络唤醒(WOL)功能适配全记录
android·网络·驱动开发
DYWorker0012 天前
基于RK3568的Linux驱动开发:实战——WDT
linux·驱动开发
sukalot2 天前
windows 驱动实例分析系列: libusb驱动分析-应用层源码篇(三)
windows·驱动开发
智购科技无人售货机工厂2 天前
2026自动售货机防拆机物理安全设计:从安全螺丝到结构互锁的工程实践~YH
android·网络·驱动开发·python·单片机·安全·云原生
Jaixln_HRF5 天前
率能SS8837T 单通道1.8A/12V H桥电机驱动芯片,低功耗睡眠模式120nA,用于摄像机/玩具/机器人
驱动开发·嵌入式硬件·机器人·硬件工程
bingcheby5 天前
PS通过AXI总线控制PL的LED灯实验之四---编程下载调试
驱动开发·fpga开发·iar
xu_wenming5 天前
嵌入式软件架构中的6种解耦艺术
c语言·驱动开发·嵌入式硬件·架构
DevHub5 天前
CANopen 教程:STM32 实现 CANopen 从站,3 个回调替代手写对象字典
c语言·驱动开发·stm32·单片机·嵌入式硬件·mcu
Jaixln_HRF5 天前
率能SS6216 单通道1.4A/7.2V直流电机驱动芯片,支持正反转/停止/刹车,用于玩具/智能锁/车载夹
驱动开发·嵌入式硬件·硬件工程
sukalot5 天前
windows 驱动实例分析系列: wireguard-nt驱动分析-driver篇(一)
windows·驱动开发