




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、LCD控制器缓存传送到LCD驱动器将图像数据从位于系统内存的集成在44B0 x中LCD驱动器和LCD屏在这里 是一个整体,被封装在一起。20112LCD控制器系统内存LCD驱动器液晶显示屏(LCD)S3C44B0X的LCD控制器特点支持彩色/灰度/单色液晶屏支持3种LCD驱动类型: 4位单扫描、4支持多种虚拟显示扫描、8位单扫描将系统内存用作显存DMA:直取系统内存中的数据支持多种屏幕规格:640 x480,320 x240,160 x160支持单色/4级灰度/16级灰度级支持256色彩色STN液晶屏支持省电模式20113液晶显示屏的像素只有亮/灭两种状态1像素1一个液晶就是一个象素。原理同数
2、码管。一个像素有三个像点,每个像点只有亮/灭两种状态1像素2每个象素由红、绿、蓝三个液晶共同。为了区别,称它为“像点”这里,不考虑液晶显示屏的发光原理,权把每个像点看成是具有开关的小灯即可201141像点彩色液晶不过这样一来,似乎只能显示8种颜色了。 Puzzled!单色液晶液晶屏像素(点)的显示按行显示,从左到右,从上到下,逐个像素显示(行扫描)1 2 3 4 5 6 7 8 9 20115彩色液晶12345678单色液晶扫描方式为每个象素都配备一个物理的寄存器是不现实的,实际上只配备一行的寄存器VD7:0,这些寄存器轮流连接到每一行象素并装入该行内容,将所有象素行都驱动一遍就显示一个完整的
3、画面(Frame).4位单扫描(VD3:0)4扫描(VD3:0,VD7:4)8位单扫描(VD7:0)并行数据线包括LCD像素输出端口:VD7:020116扫描方式:4位单扫描利用4位并行数据线将数据送到显示屏1个像点VD3:01像素行20117VD3VD2VD1VD0VD3VD2VD1VD0VD3VD2VD1VD0VD3:0VD3:0VD3:0扫描方式:4扫描利用8位并行数据线将半屏的VD3:0数据送到显示屏,但这8位是分上半屏和下VD20118VD3VD2VD1VD0VD3VD2VD1VD0VD3VD2VD1VD07:4VD7VD6VD5VD4VD7VD6VD5VD4VD7VD6VD5VD4
4、扫描方式:8位单扫描利用8位并行数据线将数据送到显示屏VD7:020119VD7VD6VD5VD4VD3VD2VD1VD0VD7VD6VD5VD4VD7:0LCD控制器逻辑结构图18个可编程寄存器,用于配置 LCD控制器: LCDCON1,LCDCON2,LCDCON3,LCD SADDR1,LCDSADDR2,LCDSADDR3,R EDLUT,GREENLUT,BLUELUT,DP1_2, DP4_7,DP3_5,DP2_3,DP5_7,DP3_4,D P4_5,DP6_7,DITHMODE产生 VFRAME、 VLINE、 VCLK、VM等信号从DMA接收数据,并作相应转化后输出给 LC
5、D驱动。DMA,可以自动将显示数据从帧内存 中传送到LCD驱动器 中。可实现不需CPU介入情况下显示数据。201110外部接口信号VFRAME: 帧同步信号。VLINE: 水平同步脉冲信号。VCLK:像素时钟信号。VM: 交流信号。VD: 像素数据输出端口。201111VFRAME时序图该信号告知LCD屏开始显示新一帧,LCD控制器在一个完整帧显示后发出VFRAME信号,开始新一帧的显示。VFRAME在每一帧开始的第1行扫描周期内,处于;其余周期处于低电平。 一个帧周期包括多个行扫描周期,数量还跟扫描方式有关(单扫描/双扫描)VMSTN液晶屏需要在电极翻转过程中才能显示201112VFRAME
6、时序图STN液晶屏需要在电极翻转过程中才能显示 因此需要设置VM翻转频率MMODE用于确定VM的改变速度and MVAL=2201113MMODE=1时,VM翻转频率为VLINE Rate/(2*MVAL)MMODE=0时,VM翻转频率同VFRAMEVLINE、VCLK和VD时序图1个行扫描周期包括: WLH:行起始时的 WDLY:WLH后的低电平VCLK周期:VD端口1次输出周期(4位单扫描时为4个像点)LINEBL:写完1行像素点后的调节时间201114内存中颜色的设置(终端用户使用的颜色)单色液晶1位 1/0表示亮/灭4级灰度2位 00/01/10/11分别表示4个不同灰度级16级灰度4
7、位.分别表示不同灰度级256彩色8位其中:3位红度,3位绿度,2位蓝度201115查找表实际系统中: 灰度可支持16级 彩色可支持16r*16g*16b=4096色对于4级灰度:从16个灰度级中选取4个对于16级灰度: 对应16个灰度级对于彩色:从16个红度中选取8个从16个绿度中选取8个从16个蓝度中选取4个共256种201116查找表 - 举例实际系统中: 灰度可支持16级对于4级灰度:从个灰度级中选取个级灰度的话,从16级中挑选4个液晶屏实际显示能力为级灰度201117这4级灰度是通过查找表来自定义的,甚至可以将它们设置成相同的颜色。例如,查找表可以把00、01、10和11级灰度都设置成
8、0级灰度级级级级09ABCDEF抖动实际系统中:灯只有亮/灭两种状态灰度可支持16级如何来的呢?通过不同策略的闪烁液晶屏实际显示能力为16级灰度2011180123456789ABCDEF内存数据如何显示到屏幕(单色)4位单扫描0000HA31 VD3A30 VD2A29 VD1A28 VD0A27 VD34扫描0000HA31 VD3A30 VD2A29 VD1A28 VD0A27 VD31000HB31 VD7B30 VD6B29 VD5B28 VD4B27 VD7201119VD3VD2VD1VD0VD3VD2VD1VD0VD3VD2VD1VD0VD7VD6VD5VD4VD7VD6VD5
9、VD4VD7VD6VD5VD4VD3VD2VD1VD0VD3VD2VD1VD0VD3VD2VD1VD0内存数据如何显示到屏幕(256彩色)4位单扫描0000HA31:29 VD3rA28:26 VD2gA25:24 VD1bA23:21 VD0rA20:18 VD3g4扫描0000HA31:29 VD3rA28:26 VD2gA25:24 VD1bA23:21 VD0rA20:18 VD3g1000HA31:29 VD7rA28:26 VD6gA25:24 VD5bA23:21 VD4rA20:18 VD7gVD只有一位,RGB三元色都有多个级别,如何反映红/绿/蓝程度?例如:A31:29有1
10、6个级别,对应到VD3r后只剩1位了?201120VD3VD2VD1VD0VD3VD2VD1VD0VD3VD2VD1VD0VD7VD6VD5VD4VD7VD6VD5VD4VD7VD6VD5VD4VD3VD2VD1VD0VD3VD2VD1VD0VD3VD2VD1VD0多况下,内存数据如何到屏幕A31:29 VD3rA28:26 VD2gA25:24 VD1b201121控制VD3的显示:VD3只能取0或1,但某一时刻其值是不确定的通过闪烁(亮/灭)来模拟亮的程度抖动策略可以获得红色的实际级别查找表可以获得红色的用户级别A31:29内存数据显示到屏幕的过程终端用户写屏幕时,实际上将颜色写到了区域,
11、并不直接对VD操作内存中LCD控制器会将用户数据,根据查找表和抖动策略来模拟不同的颜色亮度级别LCD驱动器内存内存中区域201122VD7:0图像数据第1帧图像数据第2帧图像数据第N帧图像数据虚拟屏幕举例:规格1600*1200数码显示器分辨率800*600在ACDSee中按实际大小全屏显示(不放大也不缩小)全景,只能显示一部分(1/4)的其他部分此时屏幕上不能显示可以通过鼠标拖动,查看800*600的显示器屏幕为实际屏幕1600*1200是虚拟屏幕201123虚拟屏幕中的几个参数LCDBASEL=LCDBASEU+(PAGEWIDTH+OFFSIZE)*(LINEVAL+1)OFFSIZE=
12、OFFSIZE1+OFFSIZE2OFFSIZE1OFFSIZE2?如何拖动屏幕?201124LCDBASELLCDBASEUPAGEWIDTHAL+1LINEVLCD控制器的寄存器LCDCON1 LCDCON2 LCDCON3 LCDSADDR1 LCDSADDR2 LCDSADDR3 REDLUT GREENLUT BLUELUT DP1_2 DP4_7 DP3_5 DP2_3 DP5_7 DP3_4 DP4_5 DP6_7DITHMODE控制:3个地址:3个查找表:3个抖动:9个201125LCD控制器的寄存器LCDCON1T(readonly)行扫描时当前扫描行序号CLKVAL WLH
13、 WDLY MMODE DISMODE INVCLK INVLINE INVFRAME INVVDENVID用于确定VCLK。VCLK=MCLK/(CLKVAL*2)行信号行信号低电平VM频率模式选择扫描方式(x位单/双扫描)201126LCD控制器的寄存器LCDCON2LINEBL1个行扫描周期中数据显示完后空闲时间HOZVAL行规格(1行像素需要LINEVALVD的次数)决定行数201127LCD控制器的寄存器LCDSADDR1MODESEL选择色彩模式:单色/4级灰度/16级灰度/彩色LCDB显示缓存的27:22位,所有显示缓存必须在些范围内,该空间包含4M空间LCDBASEU帧起始地址
14、(高)的21:1位201128LCD控制器的寄存器LCDSADDR2BSWPMVAL决定VM频率LCDBASEL帧起始地址(低)的21:1位LCDBASEL=LCDBASEU+(PAGEWIDTH+OFFSIZE)*(LINEVAL+1)201129LCD控制器的寄存器LCDSADDR3OFFSIZE数值上虚拟屏宽实际屏宽用半字表示(offsize=4,表示有4个半字)PAGEWIDTH实际屏宽 用半字表示201130LCD控制器的寄存器REDLUTREDVAL31:0红度0红度1红度2,直到红度7000=REDVAL3:0001=REDVAL7:4010=REDVAL11:8例:REDVAL
15、31:0=0 x0表示:红度0(000)采用16个灰度级中的0000(最淡的一种)红度1(001)采用16个灰度级中的0000(最淡的一种)因此,8个红度全部采用0000最淡的一种,实际上是没有显示201131LCD控制器的寄存器DP1_2(亮占总数比例为1/2,同理,DP4_7表示亮占总数的比例为 4/7)DP1_215:0参考值:1010 0101 1010 0101这里:亮的次数为8,总数为16201132虚拟屏幕的例子:用于设置相应控制寄存器IFLCD panel = 320*240, 16级灰度, 单扫描帧起始地址:frame start address = 0 xc500000 o
16、ffset dot number = 2048 dotsTHEN行数LCDCON2LINEVAL = 240-1 = 0 xefLCD宽LCDSADDR3PAGEWIDTH = 320点*(4位/点)/(16位/半字) = 0 x50LCDSADDR3OFFSIZE = 2048点*(4位/点)/(16位/半字)=512半字= 0 x200LCDSADDR1LCDB = 0 xc500000 22 = 0 x31LCDSADDR1LCDBASEU = 0 xc50000021:11 = 0 x100000 1 = 0 x80000LCDSADDR2LCDBASEL= 0 x80000 + (
17、0 x50 + 0 x200 ) * ( 0 xef + 1 ) = 0 xa2b00201133屏幕上点的改写:#define LCD_PutPixel(x, y, c)/ 将屏幕坐标(x,y)像素改为c颜色g_unLcdActiveBuffer(y)(x)/4= (1(2 g_unLcdActiveBufferyx/4 &(3(40 xff000000(5x%4)5*8)4)3 )2| (6 c和的优先级低于乘号*5:坐标x处在字对齐元素的第某个字节(03)4:将5对应的字节各位全取1,其余各位全取03:将5对应的字节各位全取0,其余各位全取12:将坐标x对应的字中,x对应的字节清06:将
18、色彩值c(1字节)放入字对齐元素的相应位置(字节)1:将x处的色彩值放入字对齐元素的对应字节,而不影响其他字节201134英文字符、汉字和图像的显示原理同数码管,预先设置了点阵请参考C:EmbestIDEExlescommonfont_lib目录下的几个文件:ascii6x8.c ascii8x16.chzk16.c201135附录:LCD初始化说明void lcd_init(void)rDITHMODE = 0 x12210; / 抖动模式,只能取0或0 x12210rDP1_2 = 0 xa5a5;/ 抖动设定/ disable,8B_SNGL_SCAN,WDLY=16clk,WLH=16clk,rLCDCON1 = (0 x0)|(25)/ 8位单扫描|(MVAL_USED7) / 计时频率为MVAL_USED,如果该值为0,则每帧|(0 x38)|(0 x310)/ VCLK:刷新时钟;VLINE:水平同步脉冲;这里两位表示VLINE和VCLK之间延时的系统时钟数,0 x3表示16个系统时钟/ VLINE保持的系统时钟数,0 x3表示16个系统时钟/|(CLKVAL_COLOR12);/ LINEBL=10 (without any c
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度班轮运输合同模板(含供应链金融)
- 2025版大型企业仓储物流全面承包合作协议书
- 2025版波形护栏安装及道路桥梁安全防护合同
- 二零二五年度保健食品电商平台广告位租赁及合作合同
- 2025版按揭中二手房买卖合同范本:按揭贷款优化服务版
- 2025版车辆保险理赔服务合同
- 二零二五年度板材新产品研发及生产合作合同
- 2025年内蒙古太仆寺旗宝昌第一中学物理高二第二学期期末联考试题含解析
- 四川省成都市高中2025年高一物理第二学期期末联考试题含解析
- 2025年按揭购房合同范本:保障买卖双方合法权益
- 辣椒种植和养护知识讲座
- 空中交通管理基础-电子课件 第一章概论
- 养老护理员睡眠照料课件
- 建设工程质量检测中心检测范围及标准
- (译林版)六年级英语完形填空100篇(含答案和讲解)
- 程控电话交换系统课件
- 文献检索与毕业论文写作PPT完整全套教学课件
- 电焊工安全操作教育培训内容培训必备
- 皮肤性病学(第9版)教学课件:第十六章 药疹
- WS 444.2-2014医疗机构患者活动场所及坐卧设施安全要求第2部分:坐卧设施
- GB/Z 40637-2021古籍印刷通用字规范字形表
评论
0/150
提交评论