kernel|lcd:mipi各种clock计算

kernel|lcd:mipi各种clock计算
文章图片

数字视频的基本概念源自于模拟视频。对于模拟视频我们可以这样理解:视频可以分解为若干个基本视点(像素),每个像素都有独立的色彩信息,在屏幕上依次将 这些点用电子枪按照行和列打出来,就形成了一幅完整画面,连续的打出画面,利用人眼的延迟特点就可以“显示”动态的图像了。

水平消隐:电子枪从左到右画出象素,它每次只能画一条扫描线,画下一条之前要先回到左边并做好画下一条扫描线的准备,这之间有一段时间叫做水平消隐(HBlank)。
垂直消隐:在画完全部256条扫描线之后它又回到屏幕左上角准备下一次画屏幕(帧),这之间的一段时间就是垂直消隐(VBlank)。电子枪就是在不断的走‘之’字形。

LCD驱动程序中的pixclock的计算方法:

pixclock/pixelclock/dotclock = (x向分辨率+左空边+右空边+HSYNC长度)* (y向分辨率+上空边+下空边+YSYNC长度)*整屏的刷新率[一秒钟多少张图片] pixclock/pixelclock/dotclock = fframe × (X + HBP + HFP+HSPW) × (Y + VBP + VFP+VSPW)(单位:MHz) pixclock/pixelclock/dotclock = 10的12次方/dotclock= 10的12次方/(fframe × (X + HBP + HFP+HSPW) × (Y + VBP + VFP+VSPW)) (单位:皮秒) pixclock/pixelclock/dotclock = 10的12次方/dotclock其中dotclock是视频硬件在显示器上绘制像素的速率 [[[单位不同的时候注意单位.换算起来不一样]]]


"mipi"
? H-total = HorizontalActive + HorizontalFrontPorch + HorizontalBackPorch + HorizontalSyncPulse + HorizontalSyncSkew ? V-total = VerticalActive + VerticalFrontPorch + VerticalBackPorch + VerticalSyncPulse + VerticalSyncSkew ? Total pixel = H-total x V-total x 60 (Hz) ? Bitclk = Total pixel x bpp (byte) x 8/lane number ? Byteclk = bitclk/8 ? Dsiclk = Byteclk x lane number ? Dsipclk(Dsi pixel clock) = dsiclk/bpp (byte)


1、DSI vdo mode下的数据速率data_rate的大致计算公式为:
[Bitclk]Data rate= (Height+VSA+VBP+VFP) * (Width+HSA+HBP+HFP) * total_bit_per_pixel * frame_per_second / total_lane_num 888:24 666:18一秒钟多少帧几路数据


2、DSI cmd mode下的数据速率data_rate的大致计算公式为:
[Bitclk]Data rate= width*height*1.2* total_bit_per_pixel*frame_per_second/total_lane_num

NOTE:
http://read.pudn.com/downloads222/doc/1046129/CEA861D.pdf
【kernel|lcd:mipi各种clock计算】附带一份关于timing的行业标准,异常重要

    推荐阅读