fuzidage
专注嵌入式、linux驱动 、arm裸机研究

导航

 

一 mipi-rx硬件

1.1.mipi-rx概念

•  DSI (Display serial interface)定义了一个位于处理器和显示模组之间的高速串行接口,对应MIPI-TX.
•  CSI(Camera Serial Interface)定义了一个位于处理器和摄像模组之间的高速串行接口,也就是接下来要讲的MIPI-RX

MIPI Rx (Mobile Industry Processor Interface Receiver) 模塊主要功能為接收由 CMOS sensor 所傳送的視頻數據, 支持 MIPI D-PHY、 sub-LVDS (Low-Voltage Differential Signal)、 HiSPi (High-Speed Serial Pixel Interface) 等不同的串行視頻信號輸入, 並將其處理轉化為內部視頻時序,傳遞給下一級的視頻處理模塊 (ISP)。MIPI Rx 模塊中可細分為 PHY 和 Controller 兩部分,其中 PHY 模塊集成了模擬和數字兩個部分,主要將串行信號轉換為並行信號,而 Controller 模塊則負責解碼不同的視頻數據格式,傳送給後端的視頻處理模塊 (ISP)。功能框圖及在系統中的位置如下图所示

 

 

1.2 MIPI vs DVP:

  • DVP:

并口传输数据需要帧同步信号(Vsync)、行同步信号(Hsync)和八条数据线,共十根数据线, DVP 接口在信号完整性方面受限制,速率也受限制。

 

  • MIPI:

而 MIPI 传输只需要clk lane和data lane. 对比MIPI 接口比 DVP 的接口信号线少,由于是低压差分信号,产生的干扰小,抗干扰能力也强。

 

 

1.3. 特点

• 可同時支持 2 路 sensor 輸入(2组D-PHY, 每组5对差分线(1C4D))

• sensor 0 最大支持 4K2K @60fps HDR or @30fps 線性輸入

• sensor 1 最大支持 3M(2304x1296) @60fps HDR or linear 輸入

• 單路最多支持 4-Lane MIPI D-PHY 接口,最大支持 2.5Gbps/Lane

• 單路最多支持 4-Lane sub-LVDS/ HiSPi 接口,最大支持 1.5Gbps/Lane

• 支持 RAW8/ RAW10/ RAW12 數據類型的解析

• 支持 YUV422 8-bit/ YUV422 10-bit 數據類型的解析

• 最多支持 2 幀 WDR,支持多種 WDR 時序

• 支持 sub-LVDS/ HiSPi 模式像素/同步碼大小端配置

• 支持 Lane 數和 Lane 順序可配置

MIPI Rx 的帶寬有兩部分限制: PHY 的接口數據率和內部處理速度。

輸入接口最大支持 2.5Gbps/Lane,內部處理速度最大為 600M*1pixels/s(MAC clk)。

1.4. MIPI Rx 支持接口類型

Common mode

voltage

Differential mode

voltage

Maximum clock

frequency

Maximum data

rate per lane

MIPI DPHY 200mV 

 200mV

  1.25GHz

  2.5Gbps

Sub-LVDS 900mV 

 150mV

  750MHz

  1.5Gbps

HiSPi(HiVCM) 900mV

 280mV

  750MHz 

 1.5Gbps

HiSPi(SLVDS) 200mV

 200mV

  750MHz 

 1.5Gbps

 

1.5 硬件引脚及接线

常用的电脑摄像头是USB接口, 主流的智能手机摄像头是MIPI接口, 下面讲解常用的智能手机 camera MIPI接口。

MIPI CSI一般会有1对I2C通信引脚,1对MIPI差分时钟引脚和1~4对MIPI差分数据信号引脚, 也就是1CD4(1 clk lane & 4 data lane)。

1.5.1 sensor引脚描述

信号名

引脚类型

描述

DOVDD

电源

1.8V IO 电源

DVDD

电源

1.2V 数字电源

AVDD

电源

2.8V 模拟电源

SCL

输入

I2C 时钟线

SDA

输入/输出

I2C 数据线(open drain)

SID0

输入

I2C Device ID 的选择 0 (内置下拉电阻,默认

Device ID 是 7’h30)

SID1

输入

I2C Device ID 的选择 1 (内置下拉电阻,默认

Device ID 是 7’h30)

XSHUTDN (RST)

输入

复位信号输入(内置上拉电阻,低电位有效)

EXTCLK

输入

时钟输入

PWDNB

输入

Power Down 信号输入(内置上拉电阻, 低电位有

效)

D<3>(MD3P)

输出

DVP 输出 bit[3]/MIPI 数据 3 正极信号

D<5>(MD1P)

输出

DVP 输出 bit[5]/MIPI 数据 1 正极信号

D<7>(MCP)

输出

DVP 输出 bit[7]/MIPI 时钟正极信号

D<8>(MD0P)

输出

DVP 输出 bit[8]/MIPI 数据 0 正极信号

D<10>(MD2P)

输出

DVP 输出 bit[10]/MIPI 数据 2 正极信号

D<4>(MD3N)

输出

DVP 输出 bit[4]/MIPI 数据 3 负极信号

D<6>(MD1N)

输出

DVP 输出 bit[6]/MIPI 数据 1 负极信号

PCLK(MCN)

输出

DVP 输出时钟/MIPI 时钟负极信号

D<9>(MD0N)

输出

DVP 输出 bit[9]/MIPI 数据 0 负极信号

D<11>(MD2N)

输出

DVP 输出 bit[11]/MIPI 数据 2 负极信号

1.5.2 电路图线路结构

 

一般mipi接口的sensor支持4 lane,2 lane,1 lane等数据传输方式。上图硬件上的连接了1组clk lane, 4组data lane。这幅图只连接了i2c和lane总线,还有EXTCLK ,PWDN, RST, VDD等引脚的连线需要外部soc去提供。这里就需要驱动人员会看原理图,知道lane id和pn swap的接线。clk lane, data lane等。

1.6. 差分信号

  我们用一个方法对差分信号做一下比喻,差分信号就好比是跷跷板上的两个人,当一个人被跷上去的时候,另一个人被跷下来了 - 但是他们的平均位置是不变的。继续跷跷板的类推,正值可以表示左边的人比右边的人高,而负值表示右边的人比左边的人高。0 表示两个人都是同一水平。

 

下图,应用到电学上,这两个跷跷板用一对标识为V+和V-的导线来表示。当V+ > V-时,信号定义成正极信号,V+ < V-时,信号定义成负极信号。 差分对的平均电压设置成 2.5V。

 

 

1.7. MIPI sensor的 power on时序(放在sensor专题)

Sony imx334

 

 

Sc4210

 

这里列举了sony imx334和格科微gc2093, sc4210的上电时序,现在市面上大部分的mipi接口sensor都可以让VDD,PWDN, RST,EXTCLK讯号同时发出,然后过一段时间后就可以进行I2c通信了。

在HW交接到SW后,要确保最基本的power on时序是ok的,最好是用示波器对VDD,PWDN, RST,EXTCLK,I2c等波形进行测量无误后再porting到SW手上。

 

logo
posted on 2020-12-08 18:02  fuzidage  阅读(8511)  评论(0编辑  收藏  举报