CSI 定义了一个位于处理器和相机sensor之间的高速串行接口。
1.CSI(CameraSerialInterface)的分层结构
• PHY 定义了传输媒介,输入/输出电路和和时钟和信号机制。
• Lane Management层:发送和收集数据流到每条lane。
• Low Level Protocol层:定义了如何组帧和解析以及错误检测等。
• Application层:描述高层编码和解析数据流。
树莓派4b支持CSI-2 D-PHY 1.1相机接口。
2.D-PHY介绍
D-PHY 描述了一种同步、高速、低功耗、低代价的PHY,一个 PHY配置包括一个时钟lane和一个或多个数据lane,每个lane都采用差分信号,两个数据lane的 PHY配置如下图:
D-PHY的传输模式
• 低功耗(Low-Power)信号模式(用于控制):10MHz (max),电压0-1.2V。
• 高速(High-Speed)信号模式(用于高速数据传输):80Mbps ~ 1Gbps/Lane,电压100-300mV (200mV)。
数据Lane的三种操作模式
Escape mode, High-Speed(Burst) mode, Control mode,三种模式可以转换。详细信息可参考博客:https://blog.csdn.net/shen924/article/details/9140509
两个数据Lane高速传输示例:
3.Low Level Protocol
低级别协议(LLP)是面向字节、基于包的协议,它支持使用长、短数据包格式传输任意数据。LLP定义了长短包,每个包,都是从 LPS 退出,然后传输 SoT 信号表示数据包的开始,传输 EoT 信号,随后进入 LPS,表示数据包结束。例子如下:
长数据包主要用于传输图像数据,通常一个长包包含一行图像数据。由 3 个元素组成:32 位包头(PH),包数据和一个 16 位的包尾(PF)。包头由数据类型,数据长度和纠错码 ECC 组成;
短数据包主要用于行同步和帧同步。4 bytes (固定),包格式如下:
4.CCI (Camera Control Interface)
通常soc通过CCI (Camera Control Interface)对图像sensor进行控制 ,比如sensor复位,出流,控制曝光等等。CCI有着和IIC一样定义的传输协定,如START, REPEATED START, STOP等等,不仅可相容IIC的高速模式(400KHz),也定义了4种Read操作和2种Write操作。一般CCI Slave与系统IIC master连接。
5. 树莓派的硬件接口
树莓派4b的相机接口采用i2c0作为CCI接口,CSI接口有1个时钟lane和两个数据lane。CAM_GPIO应该是sensor的复位引脚。硬件设计图如下:
对硬件有个大致的了解之后,下一节将基于rt-smart使用树莓派的i2c控制器,为之后控制相机sensor做准备,see you。