平顶山学院信息工程学院 张亚峰 王 冠
基于ARM的LCD显示液晶屏驱动的开发
平顶山学院信息工程学院张亚峰王冠
通过对LCD控制器各个子模块的研究,并对FrameBuffer在LCD的作用进行详细的分析,对于硬件引脚、驱动的端口及寄存器等进行设置,将驱动添加到内核,最终实现了基于ARM的LCD液晶屏驱动,使内核的启动信息在显示器上显示出来。
嵌入式系统;LCD液晶屏驱动;Exynos 4412处理器
随着信息技术的高速发展,人们使用的设备的智能化,与嵌入式系统在其中发挥的重要作用密不可分。虽然嵌入式系统的交互性比较强,液晶屏作为输出设备也被广泛应用,但关于液晶屏的深层次应用开发方面的研究却不多。本文通过对LCD显示液晶屏驱动的研究,加深对其认识,对其相关研究、开发材料加以补充。
本次开发使用的环境为ADS1.2,其具有强大的实时调试跟踪功能。使用的开发平台为Tiny4412。它是一款高性能的四核Cortex-A9核心板,处理器为Exynos 4412,具有极高的灵活性,三星Galaxy部分机型就采用该CPU设计。
Exynos4412的LCD 控制器由REGBANK、LCDCDMA、VIDPRCS、TIMEGEN组成,并有专门的端口来传送控制信号和其它数据。
REGBANK 有许多可编程寄存器组,它们用来配置LCD 控制器的调色板存储器。LCDCDMA 是一个专用DMA,并且是FIFO(First-In First-Out, 先入先出)存储器,它会自动传送帧数据到LCD 驱动器。TIMEGEN 由可编程逻辑组成,支持各种常见LCD 驱动器的定时与速率界面的不同要求。TIMEGEN 模块产生FRAME, VLINE, VCLK, VM 等信号。
3.1FrameBuffer的介绍
Framebuffer在LCD的驱动实现中起着中间层的作用,它将内存数据映射到进程地址空间之后,就可以直接进行读写操作,并立即反应在屏幕上[1]。……