LCD驱动架构.docxVIP

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
LCD设备驱动LCD硬件原理a、利益液晶制成的显示器称为LCD,嵌入式系统中主要用TFT屏。b、TFT屏工作时序图:VCLK,VSYNC,HSYNC都是像素时钟信号。VSYNC:帧同步信号HSYNC:行同步信号VDEN:数据有效标志位VD:图像数据信号每发一个行同步脉冲,表示开始传输一行新的数据,每发一个帧同步脉冲,意味着新的一屏数据信号开始发送。对于数据的传输可以理解为,一帧(即一整屏幕),一行,一点。数据的传输是一个震荡周期传输一个点,一个行周期传一行,然后是一个帧脉冲开始传一屏。C、回扫时间,行切换和帧切换的回扫时间。左右边界为行切换需要的回扫时间,上下边界为帧切换需要的回扫时间,水平同步和垂直同步为行和帧同步本身需要的时间。Xres,yres指屏幕的水平和垂直分辨率。水平同步垂直同步yresxresd、以我们TFT-LCD中需要了解到的硬件参数描述为例。分辨率:768*1024(256*3=768)Spec中的时序图。了解硬件参数需要根据具体不同的硬件设置参数。 帧缓冲(framebuffer)帧缓冲是linux系统为显示设备提供的借口,将显示缓冲区抽象。帧缓冲设备为标准的字符设备,因此我们可以参加一般字符设备驱动的架构来理解。上层应用程序只需要往帧缓冲设备的显示缓冲区中写入与显示点对应的区域的颜色值,对应的颜色就会显示在屏幕上。所以对于LCD驱动的理解,主要部分就是对帧缓冲设备的操作。帧缓冲设备驱动架构:LCD控制器fb_readfb_writefb_mmapfb_ioctl理解帧缓冲设备需要了解的几个重要结构体,也就是在注册驱动时需要用到的几个结构体fb_info结构体(简称FBI)FBI是帧缓冲设备中最关键的一个结构体,包括了帧缓冲设备属性和操作的完整性struct fb_info {int node;int flags;struct fb_var_screeninfo var;/* Current var *///可变参数struct fb_fix_screeninfo fix;/* Current fix *///固定参数struct fb_monspecs monspecs;/* Current Monitor specs */struct work_struct queue;/* Framebuffer event queue */struct fb_pixmap pixmap;/* Image hardware mapper */struct fb_pixmap sprite;/* Cursor hardware mapper */struct fb_cmap cmap;/* Current cmap */struct list_head modelist; /* mode list */struct fb_videomode *mode;/* current mode */#ifdef CONFIG_FB_BACKLIGHT/* assigned backlight device *//* set before framebuffer registration, remove after unregister */struct backlight_device *bl_dev;/* Backlight level curve */struct mutex bl_curve_mutex;u8 bl_curve[FB_BACKLIGHT_LEVELS];#endifstruct fb_ops *fbops;struct device *device;/* This is the parent */struct device *dev;/* This is this fb device */int class_flag; /* private sysfs flags */#ifdef CONFIG_FB_TILEBLITTINGstruct fb_tile_ops *tileops; /* Tile Blitting */#endifchar __iomem *screen_base;/* Virtual address */unsigned long screen_size;/* Amount of ioremapped VRAM or 0 */ void *pseudo_palette;/* Fake palette of 16 colors */ #define FBINFO_STATE_RUNNING0#define FBINFO_STATE_SUSPENDED1u32 state;/* Hardware state i.e suspend *

文档评论(0)

scuqiranh + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档