当前位置:首页 > 嵌入式 > 嵌入式软件
[导读]LCD驱动软硬件设计

OMAP5910内部具有独立的LCD控制模块,其功能如图1所示。从图中可以看出LCD控制模块的核心单元是控制器,负责和其他各个部分的控制以及和外设的连接。控制器连接两个外设,一个是到OMAP5910的DMA请求,一个是到外设的LCD的中断请求。这样,0MAP5910作为主设备,可以在CPU不参与的情况下实现对LCD的显示核控制。LCD作为被动设备,有少量需要返回的状态,发送中断到OMAP5910,由OMAP5910安排时间读取LCD状态。这样,使得整个LCD的显示和控制占用较少的CPU资源。
 

图1 LCD控制器的功能框图

LCD控制模块的数据通道由调色板RAM、灰度/串行器和输出FIFO这3个部分组成。这3个部分支持12或16位STN方式,由控制器控制输出数据到LCD的数据总线上。而对于16位薄膜工艺学(TFT,Thin ̄Film Technology)方式,数据直接传输到LCD的总线,提供2(16)=64K的彩色信号。

LCD控制模块的寄存器单元用于对模块的设置,寄存器包括一个控制寄存器、3个时间寄存器和一个状态寄存器。主要用来设置LCD的宽度和高度、彩色或单色选择、被动或主动显示选择、引脚的极性选择、帧时钟的脉冲宽度、像素时钟和偏转频率以及各种状态值等。控制器可以根据寄存器的内容对各种时钟信号进行控制和复位。

LCD控制模块和TFT-LCD之间的控制信号有PCLK(像素时钟信号)、HS(水平同步信号)、VS(垂直同步信号)以及AC(输出使能信号)等4个信号,这些信号均由LCD控制模块输出到LCD。

LCD驱动电路和0MAP5910的迕接如图2所示。使用OMAP5910的LCD控制器接口连接LZ9FC22。LZ9FC22是Sharp公司专门配合LQ035Q7D型号LCD的驱动芯片,可以和LQ035Q7D进行无缝连接。

LZ9FC22和OMAP5910的LCD控制器连接,由于LZ9FC22是18位控制器(RGB信号各有6位),而OMAP5910的LCD控制器的输出只有16位数据,为此必须损失两位数据,将LZ9FC22的R0和BO接地,或者将R0和R5、BO和B5连接在一起。

LCD的像素同步时钟信号、水平同步信号、垂直同步信号和输出使能直接连接到LZ9FC22上。LZ9FC22有两个水平和垂直刷新设置信号,分别为HRVE和VRVE引脚,使用OMAP5910的两个GPIO引脚控制,通过改变GPIO引脚的状态设置LCD的刷新方式。为了保证LZ9FC22正常工作,OMAP5910提供复位信号到LZ9FC22,一旦LQ035Q7D显示不正常或者响应异常,OMAP5910通过复位引脚控制LZ9FC22恢复到初始状态。
 

图2 LCD驱动电路的连接

LZ9FC22和0MAP5910的引脚连接如表所示。
 

表 LZ9FC22和OMAP5910的引脚连接

LQ035Q7D面板显示需要15V的高压,而LQ035Q7D的逻辑电平需要3.3V电源。图3实现从3.3V转换到15V和3.3V的电源原理。其中3.3V到3.3V使用TI公司的TPS79333,是为了保证输出到LCD的3.3V稳定可靠,如果TPS79333的输入3.3V足够稳定,满足LQ035Q7D的要求,也可以直接将该电源连接到LCD。

LQ035Q7D的背光电路如图4所示。使用TI公司的TPS61042驱动4个LED灯管,同时使用PWM信号控制电压的输出,以调节4个LED灯管的亮度。PWM信号的控制频率在100~50kHz之间,频率过低,会产生闪烁。如果不使用PWM信号,可以直接连接一个GPIO引脚,设置高低电平控制LED灯的开关。

图3 LCD的电源电路设计

图4 LCD的背光电路设计

OMAP59 10对LCD驱动的软件设计包括触摸屏的驱动、LCD的驱动、背光的驱动以及LCD亮度的驱动等4个部分。其中,LCD亮度的驱动较为简单,设置OMAP59l0内部的LCD Brt寄存器就可以控制LCD的亮度,该寄存器为32位数据格式,设置OxOFFFF FFFF为最大亮度,OxOOOO OOOO为最小亮度。此外,还可以在OMAP5910内部的StLED-Gm和StLED-Red寄存器调整输出的黄色和红色像素的宽度,从而改变LCD的亮度和颜色。

LCD背光的控制由OMAP5910的PWM信号完成,设置OMAP5910内部的PWT FRO寄存器就可以控制输出脉冲的频率,置OMAP5910内部的PWT-VCR寄存器就可以控制输出脉冲的高电平宽度,从而实现对背光的控制。

LCD触摸屏的控制由OMAP5910的Touc廴Screen寄存器完成。该寄存器主要设置触摸屏和OMAP5910的SPI接口协议。包括触摸中断的响应、SPI双向数据的传输以及SPI时钟等信息。此外,也可以设置SPI的CS片选信号打开或关闭触摸屏,这种功能在触摸屏和键盘同时存在的系统非常有用。当OMAP5910检测到键盘中断时,可以屏蔽触摸屏的中断,从而可以避免多种输人信息的冲突。

在Linux下驱动LCD的设计主要包括帧缓冲设各设计、主要结构体定义、内核配置和编译等几个部分。

帧缓冲设备为图像硬件设备提供了一种抽象化处理。它代表了一些视频硬件设各,允许应用软件通过定义明确的界面来访问图像硬件设各。这样软件无需了解任何涉及硬件底层驱动的东西(如硬件寄存器)。它允许上层应用程序在图形模式下直接对显示缓冲区进行读写和I/O控制等操作。通过专门的设备节点可对该设备进行访问,如/dev/fb*。

在LCD控制器操作中,帧缓冲器用于存放全部屏幕的所有编码像素数据。在它的最低位地址处是32或512字节的缓冲器,用来存放调色板数据表。32位缓冲器用于4、12或16位像素编码的16项调色板;512字节缓冲器用于装入8位像素编码的256项调色板。在12或16位像素编码时,不使用调色板,此时的帧缓冲器的起始32字节必须填入全零。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

物联网控制模块作为连接物理世界与数字世界的桥梁,在现代科技领域扮演着至关重要的角色。本文将详细探讨物联网控制模块的定义、功能、应用领域以及未来发展趋势,旨在为读者提供全面而深入的了解,并展望其在未来物联网产业中的广阔前景...

关键字: 物联网 控制模块 嵌入式系统

网络上配套STM32开发板有很多LCD例程,主要是TFTLCD跟OLED的。从这些例程,大家都能学会如何点亮一个LCD。但这代码都有下面问题:分层不清晰,通俗讲就是模块化太差。接口乱。只要接口不乱,分层就会好很多了。可移...

关键字: C语言 LCD驱动

今天,小编将在这篇文章中为大家带来智能家居的有关报道,通过阅读这篇文章,大家可以对智能家居集成平台以及智能家居新生态具备清晰的认识,主要内容如下。

关键字: 智能家居 控制模块 智能模块

今天看到大佬肖遥兄分享的一篇文章:【架构篇】嵌入式编程中如何给代码的结构分层提到了高内聚,低耦合,软件分层等等的概念。之前又有小伙伴在后台留言说让我分享一篇这样的文章,所以今天它来了!废话不多说,理论讲太多没啥感觉,这些...

关键字: LCD驱动

关注「嵌入式大杂烩」,选择「星标公众号」一起进步!来源|屋脊雀网络上配套STM32开发板有很多LCD例程,主要是TFTLCD跟OLED的。从这些例程,大家都能学会如何点亮一个LCD。但这代码都有下面这些问题:分层不清晰,...

关键字: 代码 LCD驱动

本课件来自专栏课程:《视频课程|雷达反干扰设计》,需要查看视频讲解,并且下载本文课件、程序、和参考资料的请到文末查看详情。每周更新一节视频课,每课约50分钟。本课程有专属的微信交流群,订阅专栏后即可联系小编(Zang_l...

关键字: 抗干扰 软硬件设计

随着人们生活水平的提高,对汽车座椅的舒适性要求也越来越高,要求对汽车座椅地调节能够更加简单、方便、快捷。目前,汽车座椅位置的调节多采用基于手动调节方式的机械和电动控制两种方式。汽车座椅位置的调节主要有三个方向,即高度调节...

关键字: C51单片机 汽车座椅 自动控制系统 软硬件设计

随着人工智能的发展,语音识别技术在智能家居的应用可谓风生水起。智能音箱、智能摄像头、智能门铃等企业无不将语音识别控制技术作为关键应用技术。可是,在语音识别领域,特别是离线语音识别控制领域,相关的

关键字: 智能家居 语音识别技术 声学 控制模块

(文章来源:轻生活科技) 时光荏苒,如白驹过隙。弹指一挥,2019年就这样结束了。送走2019年,我们迎来了2020年。在过去的一年里,智能语音行业的发展如火如荼。展望2020年,在科技

关键字: 智能语音 控制模块 电器 模块技术

在智能家居领域,一直有人讨论诸如“不稳定的通信协议”,“设备之间的断开连接”,“产品之间的不兼容性”,“安全性”等问题。也正式因为这些问题影响了智能家居的快速普及。 然而,随着国内外智能

关键字: 智能家居 语音识别 控制模块 语音控制
关闭
关闭