Panel重要参数解析

panel的从显示类型上分,主要可分为LCD和LED两种。

前者是由背光模块加上对液晶的控制来显示图像,最大的特点是背光不会闪烁,相对而言对眼睛更好。

后者是相对比较新的技术,“像素”颗粒可以各自独立地进行发光,从而省去了LCD的背光模块,可以做的更轻薄且不再需要很大的边框防止漏光,故也是超窄边框的首选。LED的动态比更好,理论上的显示效果也会强于LED,但像素颗粒中的蓝色发光材料衰减快,所以LED屏的调节难度会远高于LED,且无论怎样爱惜,从其点亮开始,使用寿命就已开始了倒计时。若长时间显示同样的图像,可能出现“烧屏”现象,将图像深深烙印在背景图像中。

从接口方式上讲:从最早的LCD接口(每bit数据一根data线,传入数据为raw data),到后来的HDMI和MIPI接口多种多样。

但无论使用何种接口,panel需要的关键参数及相应配置方式都是相通的。

先看一张图:

Kernel 源码中Documentation/fb/framebuffer.txt 目录有描述panel中framebuffer的抽象图示:
Panel重要参数解析_第1张图片

各参数的意义为:

- pixclock: pixel clock in ps (pico seconds)
- left_margin: time from sync to picture
- right_margin: time from picture to sync
- upper_margin: time from sync to picture
- lower_margin: time from picture to sync
- hsync_len: length of horizontal sync
- vsync_len: length of vertical sync

 

从上图linux系统进行的frame抽象,比较容易对比出porting panel过程中需要用到的及spec中比较重要的配置参数:

参数 Spec中常用术语 意义 备注
refresh Frame Rate / FPS 每秒刷新的帧率 常被设为60
xres x resolution 行像素值  
yres y resolution 列像素值  
pixclock pixel clock 像素 clock 单位可为HZ或时间
left_margin HBP (Horizontal Back Porch) 从Hsync信号enable起,到行有效像素数据输出时,中间需要插入的时钟周期数  
right_margin HFP (Horizontal Front Porch ) 从行有效数据输出完毕,到Hsync信号再次disable间,中途需要插入的时钟周期数  
upper_margin VFP (Vertical Front Porch) 从Vsync信号enable起(垂直同步信号开始)到有效的帧数据首行间的无效行数  
lower_margin VBP (Vertical Back Porch) 本帧数据输出结束到下一帧Vsync信号enable(垂直同步信号)前的无效行数  
hsync_len Hsync Width Hsync信号从非使能状态到enable状态间需要保持非使能状态电平的clock数 个人这么理解
vsync_len Vsync Width Vsync信号从非使能状态到enable状态间需要保持非使能状态电平的clock数 个人也是这么理解

 

PS:对于MIPI pane,还需要有panel的接口lane参数,其指的就是panel接的lane个数。

为了更好的理解上表的参数,引用另一篇<博客>中很清楚的图片(抱歉未找到其转载的博客源):

引用:

下面以天马的3.5寸TFT液晶屏 TM035KDH03为例进行讲解。

参数计算:

可以看到LCD时钟是28M,所以pixclock=1000000/28

行同步脉冲宽度是一个时钟周期,所以,hsync_len=1

场同步脉冲的宽度是一个行周期,所以vsync_len = 1

上图是一帧图像的显示时序图。的上图显示,up_margin = 13-1=12,, yres= 240,

整个场周期为263,所以lower_margin= 263-13-240 = 10

同时看到,列同步信号高电平有效,行同步信号也是高电平有效。

上图是一行的时序图。

可以看到,left_margin = 69, xres = 320, right_margin = 408 -320 - 70 = 18

数据在上升沿有效,输出使能是高电平有效。

 

这样一来,各个参数就很清楚了。

划重点:场信号的频率等于frame rate,行信号的频率等于出现的信号行数(这里的行数包含有效行数和VFP VBP及Vsync wide)

 

问题又来了,MIPI panel打的MIPI信号与上面所讲的这些参数是如何联系上的呢?

下面是panel ic内部的部分接口图,由图可见,mipi协议传来的mipi信息会通过内部芯片转换为内部可识别的vsnc hsync等信号。

Panel重要参数解析_第2张图片

 

所以我们需要将panel需要的HFP/HBP/FPS等参数,通过mipi控制器正常传输到芯片端,芯片就会处理这些参数。

 

从<转载来源>里可以看到:

 

我们先来看一个公式:Mipiclock = [ (width+hsync+hfp+hbp) x (height+vsync+vfp+vbp) ] x(bus_width) x fps/ (lane_num)/2

即mipi 屏的传输时钟频率(CLKN,CLKP)等于(屏幕分辨率宽width+hsync+hfp+hbp)x ( 屏幕分辨率高height+vsync+vfp+vbp) x(RGB显示数据宽度) x 帧率/ (lane_num)/2

 

简单解释下:

      一帧画面需要的数据量为(单位bit):FRAME_BIT = (屏幕有效显示宽度+hsync+hfp+hbp) x ( 屏幕有效显示高度+vsync+vfp+vbp) x(RGB显示数据宽度24)

     一秒钟内需要传输的数据量为(单位bps):FRAME_BIT  x  fps(帧率)。

     那为何要除以lane_num----因为mipi通讯协议中,一个CLOCK几个lane是可以同时传输数据的。

     为何又要除以2----因为根据mipi通讯协议,CLK_N、CLK_P这两根时钟线的上升沿/下降沿可以获取到数据。

 

因此我们可以得出如下结论:

1.在相同的时钟频率下,lane数越多,则单位时间内可以传输的数据越多。若显示帧率固定不变,则可以支持的更大的分辨率;而分辨率固定不变的情况下,则我们可以考虑支持更高的帧率显示。

2.在lane数固定的情况下,提高传输的时钟频率,则单位时间内也可以传输更多的显示数据。进而我们可以考虑是提高帧率还是提高分辨率,或两者做出平衡。

 

由此可大致了解相关原理。

你可能感兴趣的:(Panel重要参数解析)