LCD驱动中pixclock的计算

LCD基础概念(二):LCD 常用的计算 LCD 常用的计算 1.Pixelclock Pixelclock(Pclk),也称RGB clk ,单位常用 Mhz #此处直接使用Pclk,表示Pixelclock频率值 Pclk =(left_margin+xres+right_margin+hsync_len) x(upper_margin+yres+lower_margin+vsync_len)x Refresh Pclk =(HBP+xres+HFP+HSYNC) x(VBP+yres+VFP+VSYNC)x Refresh "这个推导可以参 阅读详情
在LCD驱动程序中,需要我们根据LCD datasheet来设置相应的参数,这些参数包括:pixclock,left_margin,right_margin,upper_margin,lower_margin,hsync_len,vsync_len,VBP,VFB,VSPW,HBP,HFP,HSPW。下图是典型的TFT LCD时序图:

 

   __u32 pixclock; /*像素时钟(皮秒)*/ 
  __u32 left_margin; /*行切换,从同步到绘图之间的延迟
*/ 
  __u32 right_margin; /*行切换,从绘图到同步之间的延迟
*/ 
  __u32 upper_margin; /*帧切换,从同步到绘图之间的延迟
*/ 
  __u32 lower_margin; /*帧切换,从绘图到同步之间的延迟
*/ 
  __u32 hsync_len; /*水平同步的长度
*/ 
  __u32 vsync_len; /*垂直同步的长度*/

 

VBP(vertical back porch):表示在一帧图像开始时,垂直同步信号以后的无效的行数,对应驱动中的upper_margin;

  VFB(vertical front porch):表示在一帧图像结束后,垂直同步信号以前的无效的行数,对应驱动中的lower_margin;

  VSPW(vertical sync pulse width):表示垂直同步脉冲的宽度,用行数计算,对应驱动中的vsync_len;

  HBP(horizontal back porch):表示从水平同步信号开始到一行的有效数据开始之间的VCLK的个数,对应驱动中的left_margin;

  HFP(horizontal front porth):表示一行的有效数据结束到下一个水平同步信号开始之间的VCLK的个数,对应驱动中的right_margin;

        HSPW(horizontal sync pulse width):表示水平同步信号的宽度,用VCLK计算,对应驱动中的hsync_len;

 

   之前老是搞不清楚LCD驱动程序中的pixclock的计算方法,闲杂清楚了,赶紧记录下来:

pixclock的计算:

DOTCLK = fframe × (X + HBP + HFP+HSPW) × (Y + VBP + VFP+VSPW)  (单位:MHz)

pixclock = 1012/ DOTCLK=1012/ (fframe × (X + HBP + HFP+HSPW) × (Y + VBP + VFP+VSPW)) (单位:皮秒)

 

在驱动中需要填充的结构为

  1. 例如:

     

    1. struct fb_videomode {
    2.  const char *name; /* optional */
    3.  u32 refresh; /* optional */
    4.  u32 xres;
    5.  u32 yres;
    6.  u32 pixclock; //单位为皮秒

    7.  u32 left_margin;
    8.  u32 right_margin;
    9.  u32 upper_margin;
    10.  u32 lower_margin;
    11.  u32 hsync_len;
    12.  u32 vsync_len;
    13.  u32 sync;
    14.  u32 vmode;
    15.  u32 flag;
    16. };
    17. struct fb_videomode mxcfb_modedb[] = 

    18. {

    19.     {

    20.      /* 240x320 @ 60 Hz */

    21.      "Sharp-QVGA", 60, 240, 320, 185925, 9, 16, 7, 9, 1, 1,

    22.      FB_SYNC_HOR_HIGH_ACT | FB_SYNC_SHARP_MODE |

    23.      FB_SYNC_DATA_INVERT | FB_SYNC_CLK_IDLE_EN,

    24.      FB_VMODE_NONINTERLACED,

    25.      0,}

    26. }

    在上述程序中,fframe  =60,X=240,Y=320,VBP=7, VFP=9,HBP=9, HFP=16,HSPW=1,VSPW=1。

    pixclock = 1012/ DOTCLK=1012/( fframe × (X + HBP + HFP+HSPW) × (Y + VBP + VFP+VSPW) )

               =1012/ (60*(240+9+16+1)*(320+7+9+1))

               = 1012/ 5378520

               =185924.75

    和程序中的185925一致。



分辨率 时钟频率 lane速率计算 3840x2160p/60hz YCC444为例,total pixel:4400,total line:2250,filed rate:60Hz,那么:PCLK = 4400*以1920x1080p/60hz为例,total pixel:2200,total line:1125,filed rate:60Hz,那么:PCLK = 2200*1280x720p/60hz为例,total pixel:1650,total line:750,filed rate:60Hz,那么:PCLK = 1650* 阅读详情

相关推荐

LCD中的pixclock的计算

在LCD驱动程序中,需要我们根据LCD datasheet来设置相应的参数,这些参数包括:pixclock,left_margin,right_margin,upper_margin,lower_margin,hsync_len,vsync_len,VBP,VFB,VSPW,HBP,HFP,HSPW。下图是典型的TFT LCD时序图:    __u32 pixclock; /*像素时

Change 3015

PIXCLOCK计算问题

LCD关于PIXCLOCK的计算公式 计算出来单位为(s)需要转换为皮秒(ps)为单位 所以实际计算公式为:pixclock=(1/dotclock)*10^12

JieZuoWangDao的专栏 1671

800*600屏的初始化VBP、VFP等参数设置

有一块800*600屏,看了厂家的手册,发现有误,每次都有一条缝,后来自己摸索出来的参数,一点问题没有,非常好

linux LCD驱动中的LCD参数

1.kernel版本:linux-2.6.34 开发板:PW2440 CPU:S3C3440 LCD:3.5 寸TFT(320×240),Model Name LQ035NC111 2.LCD的参数设定是需要根据LCD的手册来设定arch/arm/mach-s3c2440/mach-smdk2440.c里面的s3c2410fb_display smdk2440_lcd_cfg结构体 3.

zy_11162311的专栏 5806

版电力系统故障录波_故障录波识图与典型故障波形分析

1、设置故障录波的目的故障录波装置是对电力系统运行状况进行监控的一种自动化设备。系统正常运行时,录波装置不启动录波,当系统发生故障时,通过启动录波装置迅速启动录波器录波,直接记录反应故障装置安装处系统故障的电气量。2、故障录波的作用(1)正确评价继电保护和自动装置的工作。(2)正确分析事故的原因并研究防止对侧。(3)发现继电保护和自动装置缺陷。(4)发现一次设备缺陷,及时消除隐患。(5)帮助寻找故...

weixin_42495661的博客 1万+

Silvaco Atlas新手入门:从安装到第一个半导体器件仿真(附DeckBuild配置)

本文为Silvaco Atlas新手提供了一份从软件安装、DeckBuild环境配置到完成第一个半导体器件仿真的实战指南。通过构建一个经典的PN结二极管案例,详细讲解了Atlas仿真语句的语法、核心命令顺序以及结果调试与可视化方法,帮助初学者快速上手并理解TCAD仿真流程。

sql99的博客 333

关于LCD学习1

LCD驱动中pixclock的计算 2011年05月12日 星期四 18:40 在LCD驱动程序中,需要我们根据LCD datasheet来设置相应的参数,这些参数包括:pixclock,left_margin,right_margin,upper_ma...

weixin_34067980的博客 166

FastAPI + LLM 实战:5分钟搞定本地模型API服务部署(含避坑指南)

本文详细介绍了如何使用FastAPI和LLM(大语言模型)快速部署本地API服务,涵盖环境准备、模型集成、性能优化及避坑指南。通过实战示例,帮助开发者在5分钟内完成从零到生产的部署过程,提升AI应用开发效率。

weixin_29062963的博客 105

LCD:uboot/kernel时序的计算

在LCD驱动程序中,需要我们根据LCD datasheet来设置相应的参数,这些参数包括:pixclock,left_margin,right_margin,upper_margin,lower_margin,hsync_len,vsync_len,VBP,VFB,VSPW,HBP,HFP,HSPW VBP(vertical back porch):表示在一帧图像开始时,垂直同步信号以后的无效的行数,对应驱动中的upper_margin; VFB(vertical front porch):表示在一帧图像结

春风十里不如你 511

音视频从入门到精通——指数哥伦布码原理

在计算机中,一般数字的编码都为二进制,但是由于以相等长度来记录不同数字,因此会出现很多的。

mirana的专栏 1382

手把手教你用STM32CubeMX配置I3C通信(含动态地址分配实战)

本文提供了一份基于STM32CubeMX配置I3C通信的实战指南,重点讲解了动态地址分配的实现步骤。通过详细的工程配置、从设备枚举、CCC命令使用及数据读写示例,帮助开发者快速掌握这一高效通信协议,以替代传统的I2C或SPI接口,满足多传感器连接与低功耗设计需求。

c8d9e0f1的博客 544
上一篇: 经典推荐之嵌入式系统 Boot Loader 技术内幕(詹荣开)
下一篇: qualcomm platform camera porting
huber
博客等级 码龄15年 79粉丝 24原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值