欢迎来到天天文库
浏览记录
ID:40414205
大小:564.10 KB
页数:24页
时间:2019-08-02
《嵌入式LinuxLCD驱动程序开发》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第7章嵌入式Linux驱动程序开发嵌入式LinuxLCD驱动程序开发实例197LCD显示原理LCD驱动程序的设计LCD驱动设计步骤BMP文件显示198LCD显示原理液晶显示器(LiquidCrystalDisplay)的物理特性:通电时液晶排列的有秩序,光线容易通过;不通电时液晶排列混乱,阻止光线通过。工作时使用外部光线,本身并不发光。LCD分类:TFT、DSTN两种照明方式:传送式、反射式。实验用教学平台参数及技术EP7312驱动LCD工作原理图(p263)第六章123嵌入式Linux的设备管理设备驱动程序开发过程应用实例199LCD显示原理灰
2、度显示原理LCD显示屏的一个常用指标是它的反应时间。反应时间指的是一个像素从显示到关闭所花费的时间。LCD控制器内部有1个16周期计数器,用于产生16周期的间隔。当驱动像素时,它读帧缓冲数据所指的调色板寄存器中的半字节数据。该数据确定在16周期间隔里像素显示的次数。例如该值等于4,即认为该像素以最大亮度的1/4进行显示。第六章123嵌入式Linux的设备管理设备驱动程序开发过程应用实例200LCD显示原理彩色显示原理:彩色显示时,每个像素点有3个子彩色像素(红、绿、蓝)。灰度显示的技术应用到彩色显示中,每个子彩色像素有15种浓度的感觉效果。可用红
3、、绿、蓝3种颜色的15种浓度中的一种去驱动1个像素点。另外一个显示特性是刷新率,指的是整个数据帧被重新写到显示屏的频率。如果数据写得太慢,将影响显示质量;太快,则显示器的反应时间跟不上像素驱动状态的改变。推荐的大部分显示屏的速率是70~80Hz。第六章123嵌入式Linux的设备管理设备驱动程序开发过程应用实例201LCD显示原理EP7312对液晶屏幕的支持:EP7312的LCD接口部分为单板多像素,其接口特性为:1-2-4bpp;可编程屏幕面板尺寸,在4bpp时最大值为1024×256;可编程刷新率;16级灰度值;彩色屏幕接口能力。第六章123
4、嵌入式Linux的设备管理设备驱动程序开发过程应用实例202LCD显示原理LCDDMA控制器DMA带宽计算公式:VGA比例×分辨率×刷新率×每像素点位数DMA延迟时间计算公式(字深数×位宽)/DMA带宽DMA延迟时间表示在最差的情况下,从DMA发出请求到可获取第一个DMA数据字,或者说DMA数据送到FIFO的延迟时间或总周期数。第六章123嵌入式Linux的设备管理设备驱动程序开发过程应用实例203LCD显示原理LCD控制寄存器:视频缓冲区大小[0:12],对应视频显示缓冲区总位数。视频缓冲区=(缓冲区总位数/128)-1线长度[13:18]:对
5、应于一整行中的像素数。线长度=(像素数/16)-1像素预订标[19:24]:像素预定标=CPU频率/(刷新率×像素总数)-1;像素数=CPU频率/(像素预定标+1)AC预定标[25:29]:设置LCDAC偏移频率GSEN[30]:灰度使能位GSMD[31]:灰度级模式位第六章123嵌入式Linux的设备管理设备驱动程序开发过程应用实例204LCD显示原理LCD调色板寄存器:为了支持各种颜色和灰度级,LCD控制器有2个32位调色板寄存器(PALLSW和PALMSW)。每个调色板寄存器被分成8个4位的半字节(nibble),每个半字节被帧缓冲区中的数
6、据寻址,其格式如下:第六章123嵌入式Linux的设备管理设备驱动程序开发过程应用实例205LCD显示原理LCD调色板寄存器:当LCD控制器配置成每像素点4位时,帧缓冲区中4位数据代表1个像素,2个调色板寄存器中的半字节用该数据寻址,对应显示的像素。寻址结构用于将帧缓冲区中的数据映射到实际的灰度值,该值提供给显示接口。当配置成每像素4位模式时,在调色板寄存器中的所有16个半字节都被用于映射。同理,每像素2位模式只用编程调色板寄存器低位有效字,每像素1位模式只用编程低位有效寄存器的前2个半字节。两个调色板寄存器半字节可以编程为0~15。这16个值对
7、应16种不同的颜色深度级。第六章123嵌入式Linux的设备管理设备驱动程序开发过程应用实例206LCD显示原理LCD调色板寄存器:内存中像素值和灰度级的映射第六章123嵌入式Linux的设备管理设备驱动程序开发过程应用实例207LCD显示原理通过以上了解,在lcd.c中定义下面几个寄存器:#defineLCDCON*(unsignedlong*)0xff0002c0#definePALLSW*(unsignedlong*)0xff000580#definePALMSW*(unsignedlong*)0xff000540#defineFBADDR
8、*(unsignedlong*)0xff001000#defineSYSCON1*(unsignedlong*)0xff000100第六
此文档下载收益归作者所有