LCD开发之汉字显示

本文介绍了LCD显示原理,重点讨论了TFT屏的时序和Linux帧缓冲在LCD驱动中的作用。Linux帧缓冲提供了一个接口,允许应用程序直接操作显示缓冲区,支持汉字显示。通过帧缓冲设备的读写、映射和I/O控制,可以实现屏幕内容的更新和汉字显示。
摘要由CSDN通过智能技术生成

一、LCD显示原理

利用液晶制成的显示器称为LCD,依据驱动方式可分为静态驱动、简单矩阵驱动以及主动矩阵驱动3种。其中,简单矩阵型又可再细分扭转向列型(TN)和超扭转式向列型(STN)两种,而主动矩阵型则以薄膜式晶体管型(TFT)为主流。

一块LCD 屏显示图像不但需要LCD驱动器,还需要有相应的LCD控制器。通常 LCD 驱动器会以 COF/COG的形式与LCD 玻璃基板制作在一起,而 LCD 控制器则由外部电路来实现。许多MCU 内部直接集成了LCD 控制器,通过LCD控制器可以方便地控制 STN 和 TFT 屏。

TFT屏是目前入式系统应用的主流,下图给出了TFT屏的典型时序。时序图中的VCLK、HSYNC 和 VSYNC 分别为像素时钟信号(用于锁存图像数据的像素时钟)、行同步信号和帧同步信号,VDEN 为数据有效标志信号,VD 为图像的数据信号。


作为帧同步信号的 VSYNC,每发出一个脉冲,都意味着新的一屏图像数据开始发送。而作为行同步信号的 HSYNC,每发出一个脉冲都表明新的一行图像资料开始发送。在帧同步以及行同步的头尾都必须留有回扫时间。

下图给出了 LCD 控制器中应该设置的 TFT屏的参数,其中的上边界和下边界即为帧切换的回扫时间,左边界和右边界即为行切换的回扫时间,水平同步和垂直同步分别是行和帧同步本身需要的时间。 xres 和 yres 则分别是屏幕的水平和垂直分辨率,常见的嵌入式设备的 LCD 分辨率主要为 320*240、640*480 等。


二、帧缓冲

1、基本概念

帧缓冲(framebuffer)是 Linux 系统为显示设备提供的一个接口,它将显示缓冲区抽象,屏蔽图像硬件的底层差异,允许上层应用程序在图形模式下直接对显示缓冲区进行读写操作。用户不必关心物理显示缓冲区的具体位置及存放方式,这些都由帧缓冲设备驱动本身来完成。对于帧缓冲设备而言,只要在显示缓冲区中与显示点对应的区域写入颜色值,对应的颜色会自动在屏幕上显示。

帧缓冲设备为标准字符设备,主设备号为29,对应于/dev/fb%d 设备文件。帧缓冲驱动的应用非常广泛,在Linux的桌面系统中,X window服务器就是利用帧缓冲进行窗口的绘制。嵌入式系统中的Qt/Embedded

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值