公告

大中华汽车电子生态圈社区并入开发者社区- 更多资讯点击此

Tip / 登入 to post questions, reply, level up, and achieve exciting badges. Know more

cross mob

CX3 视频时间参数解析 – KBA226779 (ZH)

CX3 视频时间参数解析 – KBA226779 (ZH)

ChaitanyaV_61
Employee
Employee
50 questions asked 25 likes received 25 sign-ins

Version: **

通常,CX3 MIPI配置工具包含众多各具含义的视频时间参数。本篇KBAMIPI模块中这些时间相关的参数做一解析。

pastedImage_0.png

Fig 1: CX3满帧时序图

为了理解时间参数,需要在这里引入一个虚拟参数 (像素时钟)。视频流中,像素数据按照此时钟的速率进行传输。像素时钟的值取决于视频分辨率和帧率 (FPS)

按照如下的方式计算像素时钟:

FPS为每秒帧数并且视频分辨率为 (H-active x V-active)H-blankV-blank是对应的消隐时间。

完成一帧的时间 (对于分辨率 (H-Total x V-Total)) = 1 ÷ FPS

完成一行的时间   (1 ÷ FPS) ÷  V-Total (行数)

完成一个像素的时间 = (1 ÷ FPS) ÷ V-Total (行数) ÷ H-Total (像素数)

像素时钟 (MHz) = (FPS x V-Total x H-Total) ÷  10^6

计算 H-Total ( μs) (1 ÷ 像素时钟) x H-Total (以像素计)

计算最小CSI时钟值:

视频数据按照CSI时钟速率传输至MIPI模块。因为MIPI CSI时钟支持DDR模式,所以数据在时钟的上升沿和下降沿都被传输。在每个时钟边沿,传输数据的bit数等于选用的MIPI Data lane的数量。

为了计算最小的MIPI CSI的值,用户需要按照如下的规则找到每个bit所需要的最小时间:

一行总的bit = H-active x 像素深度

bit所需要的时间 = (H-active (像素数) x Pixel Depth) ÷ H-Total (  s)

由于上述提到的CSI时钟的DDR模式,因此时间减半 = (H-active (像素数) x Pixel Depth) ÷ H-Total (μs) ÷ 2

每个时钟边沿传输的bit = Data lane的数量

因此,需要的CSI时钟最小值 = (H-active (像素数) x Pixel Depth) ÷ H-Total ( μs) ÷ 2  ÷ Data lanes

计算CSI接口的H-Active时间:

MIPI接口在一行时间内能够传输的总bit = H-Active (像素数) x Pixel Depth

每个CSI时钟边沿传输的bit = Data lanes

CSI clockDDR模式,因此,等效时钟为2 x CSI_Clock

传输一行的bit所需要的时间 (H-Active时间 (  μs 为单位)) = [1  ÷ (2 x CSI_Clock x Data lanes)] x Pixel Depth x H-Active (像素)

计算PHY时延:

PHY时延近似等于 THSPREPARE + (THSZERO / 2) 的时间对应到 CSI RX LP←→ HS时钟的时钟数。这个时延用来控制从LPHS状态的跳转。工具会计算这个时延值 (查看MIPI receiver Configuration的右下角)。用户需要调用 CyU3PMipicsiSetPhyTimeDelay()来进行设置。

PHY时延值 = {[THS_Prepare (单位:ns) + THS_Zero (单位:ns) / 2] ÷   [1  ÷ (CSI RX LP←→ HS 时钟 (MHz) ×1000)]} - 1

因此时钟数不包含小数,所以对上面的结果向上取整。这里-1是因为起始范围为0

0 点赞
1105 次查看
贡献者