我是靠谱客的博主 老实大米,最近开发中收集的这篇文章主要介绍Panel重要参数解析,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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

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

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

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

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

先看一张图:

Kernel 源码中Documentation/fb/framebuffer.txt 目录有描述panel中framebuffer的抽象图示:

各参数的意义为:

- 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中常用术语意义备注
refreshFrame Rate / FPS每秒刷新的帧率常被设为60
xresx resolution行像素值 
yresy resolution列像素值 
pixclockpixel clock像素 clock单位可为HZ或时间
left_marginHBP (Horizontal Back Porch)从Hsync信号enable起,到行有效像素数据输出时,中间需要插入的时钟周期数 
right_marginHFP (Horizontal Front Porch )从行有效数据输出完毕,到Hsync信号再次disable间,中途需要插入的时钟周期数 
upper_marginVFP (Vertical Front Porch)从Vsync信号enable起(垂直同步信号开始)到有效的帧数据首行间的无效行数 
lower_marginVBP (Vertical Back Porch)本帧数据输出结束到下一帧Vsync信号enable(垂直同步信号)前的无效行数 
hsync_lenHsync WidthHsync信号从非使能状态到enable状态间需要保持非使能状态电平的clock数个人这么理解
vsync_lenVsync WidthVsync信号从非使能状态到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需要的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重要参数解析的全部内容,希望文章能够帮你解决Panel重要参数解析所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(30)

评论列表共有 0 条评论

立即
投稿
返回
顶部