Linux显示设备的软硬件设计2.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Linux显示设备的软硬件设计2

Linux显示设备的软硬件设计 刘淼 threewater@ 2006.3.21 LCD接口设计 LCD显示模块 液晶显示是一种被动的显示,它不能发光,只能使用周围环境的光。它显示图案或字符只需很小能量。液晶显示所用的液晶材料是一种兼有液态和固体双重性质的有机物,它的棒状结构在液晶盒内一般平行排列,但在电场作用下能改变其排列方向。 LCD的背光: EL(场致发光):2000-3000小时 LED光源:50000小时 新CCFL:60000小时 LCD的显示方式 反射型LCD:底偏光片后面加了一块反射板,它一般在户外和光线良好的办公室使用。 透射型LCD:底偏光片是透射偏光片,它需要连续使用背光源,一般在光线差的环境使用。 透反射型LCD:是处于以上两者之间,底偏光片能部分反光,一般也带背光源,光线好的时候,可关掉背光源;光线差时,可点亮背光源使用LCD。 LCD的驱动方式 LCD通常由两种方式 一种是带有LCD扫描芯片的LCD模块 一种是通过LCD控制器,直接扫描LCD屏。 比如:S3C2410处理器,带有LCD控制器,显示缓存和系统内存公用。可以支持STN(彩色/灰度)和TFT两种模式的LCD TFT模式下最多支持18位色,800x600分辨率。 嵌入式处理器的分类 面向手持设备的处理器:S3C44B0、 S3C2410、 PXA255、PXA270、HMS30C7202、AU1200… 网络处理器:IXP425、IXP1200、AT91RM9200、AU1500… 兼有:EP9312/5、AU1100… 嵌入式处理器与LCD的连接 S3C2410的LCD扫描模式 4/8位,单/双扫描模式,CSTN 最多256级灰度 显示缓冲区支持15、16、24位TFT模式 支持RGB格式 典型的LCD模式信号线 LDD17:0,数据线 L_PCLK,点时钟 L_LCLK,行频 L_FCLK,帧频 L_BIAS,CSTN的AC信号,TFT的开启信号 4位单扫描STN模式 4位单扫描显示缓冲的对应关系 1个字节存储两个点的信息 16级灰度 8位CSTN屏幕点阵:320x240 8位单扫描CSTN模式 8位单扫描显示缓冲的对应关系 1个字节存储1个点的信息 可以是用调色板 16位单扫描TFT模式 16/15位显示缓冲的对应关系 VGA接口标准 广泛应用于PC的显示接口 VGA-SVGA-XVGA等标准 VGA的扫描过程和TFT LCD类似 逐点、逐行扫描 对于扫描频率要求高 模拟RGB通道 VGA接口的定义 DB15接口 PXA270扩展VGA接口 VGA接口时序和TFT类似 TFT LCD模式为数字接口;VGA的RGB通道是模拟量,需要DA转换 DA选择考虑的问题 精度:8位 速度:27MHz 通道数:3 视频处理的DA芯片 TI公司 THS8133B、 THS8134B THS8135B AD公司 ADV7170、 ADV7171 其他 FS453/FS454 THS8133B组成的VGA接口 THS8133B的配置 THS8133B支持RGB、YPbPr等模式 如何配置? M1=L、M2_INT=L M2_INT是内部信号,需要在SYNC的上升沿配置 THS8133B的配置原理图 VGA接口行频、帧频 系统最低总线负担比较 前后台双重显示缓存的显示模块结构 Framebuffer的结构 在Linux系统下,把显示缓冲区映射给用户空间 应用程序直接操作显示缓冲区(mmap) Linux中,有对framebuffer的专门支持,提供系统的ioctl X86下就有支持,软件容易移植 Linux的framebuffer驱动程序 S3C2410的framebuffer驱动在drivers/video/s3c2410fb.c中 s3c2410fb_init_fbinfo函数负责结构体struct s3c2410fb_info的初始化 内核可以把Framebuffer作为控制台 framebuffer驱动程序的典型例子: drivers/video/vfb.c Framebuffer的应用 Linux的framebuffer接口提供给用户访问显示设备的通用接口 通过mmap映射显示缓冲给用户 不包括任何绘图接口 Framebuffer示例(1) 获得framebuffer信息的ioctl: FBIOGET_VSCREENINFO FBIOGET_FSCREENINFO if (ioctl(fb, FBIOGET_VSCREENINFO, fb_vinfo)) { printf(Cant get VSCREENINFO: %s\nstrerror(errno)); close(fb); return -1; }

文档评论(0)

yaocen + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档