12显示接口与Linux帧缓冲.ppt

上传人:本田雅阁 文档编号:2877723 上传时间:2019-05-31 格式:PPT 页数:40 大小:592.02KB
返回 下载 相关 举报
12显示接口与Linux帧缓冲.ppt_第1页
第1页 / 共40页
12显示接口与Linux帧缓冲.ppt_第2页
第2页 / 共40页
12显示接口与Linux帧缓冲.ppt_第3页
第3页 / 共40页
12显示接口与Linux帧缓冲.ppt_第4页
第4页 / 共40页
12显示接口与Linux帧缓冲.ppt_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《12显示接口与Linux帧缓冲.ppt》由会员分享,可在线阅读,更多相关《12显示接口与Linux帧缓冲.ppt(40页珍藏版)》请在三一文库上搜索。

1、1,Linux显示设备的软硬件设计,刘淼 threewaterup-,2,LCD接口设计,LCD显示模块 液晶显示是一种被动的显示,它不能发光,只能使用周围环境的光。它显示图案或字符只需很小能量。液晶显示所用的液晶材料是一种兼有液态和固体双重性质的有机物,它的棒状结构在液晶盒内一般平行排列,但在电场作用下能改变其排列方向。 LCD的背光: EL(场致发光):2000-3000小时 LED光源:50000小时 新CCFL:60000小时,3,LCD的显示方式,反射型LCD:底偏光片后面加了一块反射板,它一般在户外和光线良好的办公室使用。 透射型LCD:底偏光片是透射偏光片,它需要连续使用背光源,

2、一般在光线差的环境使用。 透反射型LCD:是处于以上两者之间,底偏光片能部分反光,一般也带背光源,光线好的时候,可关掉背光源;光线差时,可点亮背光源使用LCD。,4,常见的液晶显示器物理结构,扭曲向列型(TNTwisted Nematic) 超扭曲向列型(STNSuper TN) 双层超扭曲向列型(DSTNDual Scan Tortuosity Nomograph) 薄膜晶体管型(TFTThin Film Transistor) 其中TNLCD、STNLCD和DSYNLCD的基本显示原理都相同,只是液晶分子的扭曲角度不同而已。而TFTLCD则采用截然不同的显示方式。,5,LCD通常由两种方式

3、 一种是带有LCD扫描芯片的LCD模块 一种是通过LCD控制器,直接扫描LCD屏。 比如:S3C2410处理器,带有LCD控制器,显示缓存和系统内存公用。可以支持STN(彩色/灰度)和TFT两种模式的LCD TFT模式下最多支持24位色,800x600分辨率。,LCD的驱动方式,6,S3C2410的LCD扫描模式,4/8位,单/双扫描模式,CSTN 最多256级灰度 显示缓冲区支持15、16、24位TFT模式 支持RGB格式,7,典型的LCD模式信号线,LDD,数据线 L_PCLK,点时钟 L_LCLK,行频 L_FCLK,帧频 L_BIAS,CSTN的AC信号,TFT的开启信号,8,4位单扫

4、描STN模式,9,4位单扫描显示缓冲的对应关系,1个字节存储两个点的信息 16级灰度,10,8位CSTN屏幕点阵:320x240,11,8位单扫描CSTN模式,12,8位单扫描显示缓冲的对应关系,1个字节存储1个点的信息 可以是用调色板,标准映射:,13,16位单扫描TFT模式,14,16/15位显示缓冲的对应关系,15,VGA接口标准,广泛应用于PC的显示接口 VGA-SVGA-XVGA等标准 VGA的扫描过程和TFT LCD类似 逐点、逐行扫描 对于扫描频率要求高 模拟RGB通道,16,VGA接口的定义,DB15接口,17,VGA的扫描时序特点,VGA时序上,不“关心”分辨率 扫描是从屏幕

5、的左上角开始,沿水平方向,逐行扫描,一直到右下角结束,如此反复循环扫描 显示器只能根据帧同步和行同步信号来决定所显示图像的刷新频率,18,PXA270扩展VGA接口,VGA接口时序和TFT类似 TFT LCD模式为数字接口;VGA的RGB通道是模拟量,需要DA转换 DA选择考虑的问题 精度:8位 速度:27MHz 通道数:3,19,视频处理的DA芯片,TI公司 THS8133B、 THS8134B THS8135B AD公司 ADV7170、 ADV7171、ADV7123、 ADV7125 其他 FS453FS454,20,THS8133B组成的VGA接口,THS 8133B,RGB15:0

6、,配置M1:0,模拟RGB,VGA 接口,21,THS8133B的配置,THS8133B支持RGB、YPbPr等模式 如何配置? M1=L、M2_INT=L M2_INT是内部信号,需要在SYNC的上升沿配置,22,THS8133B的配置原理图,23,VGA接口行频、帧频,24,嵌入式处理器的分类,面向手持设备的处理器:S3C44B0、 S3C2410、 PXA255、PXA270、HMS30C7202、AU1200 网络处理器:IXP425、IXP1200、AT91RM9200、AU1500 兼有:EP9312/5、AU1100,25,嵌入式处理器与LCD的连接,26,集成了LCD控制器的嵌

7、入式处理器体系结构,27,系统最低总线负担比较,28,片外的LCD控制器,29,前后台双重显示缓存的显示模块结构,30,Framebuffer设备驱动程序,提供给用户程序的就是一个直接面向显示缓冲区的统一接口 应用程序只和Framebuffer驱动程序抽象出来的接口打交道,而不需要知道底层硬件的任何信息 Framebuffer使得有GUI的程序移植起来很容易 内核的Framebuffer驱动程序中还包括了控制台字符显示的代码,31,Framebuffer的结构,在Linux系统下,把显示缓冲区映射给用户空间 应用程序直接操作显示缓冲区(mmap) Linux中,有对framebuffer的专门

8、支持,提供系统的ioctl X86下有支持,软件容易移植,32,Linux下Framebuffer举例vfb,vfb驱动程序是很好的例子 vfb在系统内存中开辟一块空间作为虚拟显示缓存,模拟Framebuffer的行为,因此,vfb也不依赖于任何硬件 vfb的源码在drivers/video/vfb.c文件 分析源码 从vfb派生的PXA270的LCD驱动程序,33,PXA270的LCD控制器,LCD控制器扫描对象由表中结构体描述,34,PXA270的LCD控制器的多缓冲结构,35,PXA270的LCD控制器的上的单缓冲,36,S3C2410的framebuffer驱动程序,S3C2410的f

9、ramebuffer驱动在drivers/video/s3c2410fb.c中 s3c2410fb_init_fbinfo函数负责结构体struct s3c2410fb_info的初始化 内核可以把Framebuffer作为控制台,37,Framebuffer的应用,Linux的framebuffer接口提供给用户访问显示设备的通用接口 通过mmap映射显示缓冲给用户 不包括任何绘图接口,38,Framebuffer示例(1),获得framebuffer信息的ioctl: FBIOGET_VSCREENINFO FBIOGET_FSCREENINFO,39,if (ioctl(fb, FBIOGET_VSCREENINFO, ,40,Framebuffer示例(2),mmap调用,映射显示缓冲到用户空间 fbdev.fb_mem = mmap (NULL, fbdev.fb_size, PROT_READ|PROT_WRITE,MAP_SHARED,fb,0); if(fbdev.fb_mem=NULL | (int)fbdev.fb_mem=-1) fbdev.fb_mem=NULL; printf(“mmap failedn“); close(fb); return -1; memset (fbdev.fb_mem, 0x0, fbdev.fb_size);,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1