linux 如何查看fb中分辨率_Linux的lcd驱动中fb参数计算详解

本文详细解释了Linux系统中LCD驱动的fb_videomode参数,包括刷新频率、像素时钟、行宽、高度等,并介绍了LCD抽象模型。通过分析ARM AMBA LCD控制器的数据结构clcd_panel,探讨了时钟源、同步信号极性和像素数据输出。以16BPP的TFT屏为例,展示了如何从LCD数据手册中计算相关参数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

先看一个例子:http://lxr.linux.no/linux+v2.6.37.4/arch/arm/mach-lpc32xx/phy3250.c

fb_videomode各个参数的意义

Linux对LCD的抽象如下图所示:

下面研究一下fb_videomode各个成员的意义:

名称 在数据手册中的简称 中文名 意义 备注

name No 名字 液晶屏名字(可选) No

refresh No 刷新频率 刷新频率(内核中很多例子都赋值为60) No

xres No 行宽 每行的像素个数 No

yres No 屏幕高度 屏幕的行数 No

pixclock No 像素时钟 每个像素时钟周期的长度,单位是皮秒(10的负12次方分之1秒) No

left_margin HBP  (Horizontal Back Porch) 水平后沿

在每行或每列的象素数据开始输出时要插入的象

素时钟周期数 No

right_margin HFP (Horizontal Front Porch ) 水平前沿

在每行或每列的象素结束到LCD 行时钟输出脉冲

之间的象素时钟数 No

upper_margin VBP (Vertical Back Porch) 垂直后沿 在垂直同步周期之后帧开头时的无效行数

No

lower_margin VFP (Vertical Front Porch) 垂直前沿

本帧数据输出结束到下一帧垂直同步周期开始之

前的无效行数 No

hsync_len HPW  (HSYNC plus width) 行同步脉宽

单位:像素时钟周期 也有手册简称为HWH(HSYNC width)

vsync_len VPW (VSYNC width) 垂直同步脉宽 单位:显示一行的时间th

也有手册简称为VWH(VSYNC width)

sync No 同步极性设置

可以根据需要设置FB_SYNC_HOR_HIGH_ACT(水平同步高电平有效)和FB_SYNC_VERT_HIGH_ACT(垂直同步高电平有效)

No

vmode No No

在内核中的大多数示例都直接置为FB_VMODE_NONINTERLACED。interlaced的意思是交错[隔行]扫描,电视中使用2:1的交错率,

即每帧分两场,垂直扫描两次,一场扫描奇数行,另一场扫描偶数行。很显然LCD目前不是这种模式。 No

flag No No 目前没有看到用法 No

说明

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值