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

Version 4

    Version: **

     

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

    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