基于ARM控制器的LCD驱动原理及设计

合集下载

基于ARM的LCD显示设计与实现

基于ARM的LCD显示设计与实现

西安工业大学北方信息工程学院本科毕业设计(论文)题目:基于ARM的LCD显示设计与实现系别:电子信息系专业:通信工程班级:B090310学生:杨海竹学号:B09031044指导教师:任安虎2013年06月毕业设计(论文)任务书系别电子信息系专业通信工程班级B090310 姓名杨海竹学号B090310441.毕业设计(论文)题目:基于ARM的LCD显示设计与实现2.题目背景和意义:随着科技的发展,ARM在社会各个方面的应用越来越广。

液晶显示是嵌入式系统中反映系统输入/输出的人机交互界面,液晶显示以其微功耗、体积小、显示内容丰富、模块化,接口电路简单等诸多优点得到广泛应用。

因此,研究基于ARM的LCD 显示有其实际应用意义。

3.设计(论文)的主要内容(理工科含技术指标):基于LPC2000系列的ARM处理器实现控制液晶屏LCD显示。

进行ARM处理器最小系统设计,ARM与LCD接口、控制按键电路设计,并进行软件设计完成输入数据的显示。

4.设计的基本要求及进度安排:基本要求:①查阅国内外相关文献,了解系统的工作原理;②进行系统方案设计;③进行系统硬件原理图设计;④编写程序并调试;⑤完成毕业设计论文及答辩。

进度安排:第16-17周:学习相关参考文献,对课题做初步了解;第18-19周:整理思路,构思开题报告,准备开题答辩;第1-3周:查阅相关资料,完成硬件模块框图;第4-8周:搭建硬件环境;第9-11周:完成LCD液晶屏驱动程序设计及调试;第12-13周:系统调试,实现所有编程,达到设计功能要求;第14-15周:撰写论文,定稿、打印、准备毕业答辩。

5.毕业设计(论文)的工作量要求①实验(时数)*或实习(天数):不少于200学时②图纸(幅面和张数)*:2张③其他要求:完成与课题相关的3000字左右的英文文献资料翻译。

指导教师签名:年月日学生签名:年月日系主任审批:年月日目录1 绪论 (1)1.1前言 (1)1.2课题研究背景 (1)1.3课题研究意义 (1)1.4国内外相关研究情况 (2)1.5论文结构安排 (3)2 相关技术及系统方案设计 (4)2.1 ARM技术简介 (4)2.2 硬件设计原理 (4)2.2.1 系统设计方案 (4)2.2.2 硬件设计原理框图 (4)3 单元电路设计 (6)3.1 LPC2103 (6)3.1.1 LPC2103介绍 (6)3.1.2 LPC2103 电路设计图 (6)3.2 外围电路设计 (7)3.2.1电源电路 (7)3.2.2 系统时钟电路 (7)3.2.3 复位电路 (8)3.2.4 JTAG 接口电路 (8)3.3 LCD 显示电路设计 (9)3.3.1 LCD12864液晶显示屏简介 (9)3.3.2 显示模块的设计 (9)3.4按键控制接口电路设计 (9)3.5 DS18B20温度采集模块 (10)3.5.1数字温度传感器DS18B20的介绍 (10)3.5.2 温度采集电路的设计 (11)4 软件设计 (12)4.1 软件开发环境 (12)4.1.1 ADS集成开发环境简介 (12)4.1.2 ADS1.2开发环境搭建 (12)4.2主程序流程图设计 (16)4.3子程序流程图设计 (20)4.3.1 DS18B20程序流程图设计 (20)4.3.2 LCD12864程序流程图设计 (21)4.3.3 KEY程序流程图设计 (30)5 系统调试 (24)5.1硬件调试 (30)5.1.1 Protel99简介 (30)5.1.2原理图调试 (31)5.2软件调试 (31)6结论 (34)6.1 总结 (34)6.2 体会 (34)致谢 (35)参考文献 (36)毕业设计(论文)知识产权声明 (37)毕业设计(论文)独创性声明 (38)附录1硬件原理图 (39)附录2源程序设计 (40)基于ARM的LCD显示设计与实现摘要在当前的数字信息技术和网络技术高速发展的后PC时代,嵌入式系统技术已经广泛地渗透到人们生活的各个方面。

MCU内置LCD控制驱动器工作原理

MCU内置LCD控制驱动器工作原理

随着智能化的普及,现在很多应用场景下可能需要使用段码式液晶显示屏L C D,如:家用电器、工业设备、仪器仪表、楼宇自动化设备、医用仪器、穿戴设备等等。

这不仅是因为段码式液晶显示屏L C D具有显示美观、成本优势、功耗低等优点,而且现在很多MC U都集成了L C D驱动模块,使得开发变得更容易。

今天我们结合瑞萨M C U给大家讲述一下M C U内置L C D控制/驱动器工作原理。

段码式液晶显示屏LC D结构和显示原理段码式液晶显示屏LC D内部晶体在静电场的功效下,晶体的排列方向会发生偏转,因而改变其透光性,从而可以看到显示的内容。

L C D有一个偏转阀值,当L C D两端的电压高于该阀值时,则显示内容;而低于该阀值时,则不显示。

一般段码式液晶显示屏L C D有三个主要参数:工作中电压、D u t y (相匹配C O M数)和B I A S(偏压,相匹配阀值),例如,3.0V、1/4D u t y、1/3B I A S表明L C D的工作中电压为3.0V,有4个C O M,阀值大概是1.1V (3.0/3=1.0)。

当加在某段L C D两端的电压大于 1.0V时显示,反之,不显示。

但是,L C D对于驱动电压的反应不是很明显,例如加 1.0V电压的时候,可能会微弱显示,这就是通常说的“鬼影”。

因此,要保证驱动L C D 显示的时候,加在L C D两端的电压要比阀值电压大得比较多,而不显示的时候,则要比阀值电压小得比较多。

需要注意的是,L C D的两端是不能加直流电压的,否则时间稍长会危害段码式液晶显示屏L C D晶体分子结构的电化学特点,造成显示实际效果模糊不清,使用期限降低的不良影响,其毁灭性不能修复,这就要求保证加在L C D两端的驱动电压的平均电压为0。

所以,L C D 使用分割扫描法,在任何时候只有一个C O M扫描有效,其余的C O M 处于无效状态。

一个好的段码式液晶显示屏L C D控制器/驱动器,应该满足:•能提供不同数量的COM、Duty(相匹配COM数)和BIAS(偏压,相匹配阀值),满足不同规格LCD屏的驱动•能够提供多种分压方式,提供内部分压,减少外围电路分压的元器件•能够提供内部Boost升压,满足一些电池供电,电池电压下降时,亮度还可以保持•能够提供内部基准电压稳压,避免分压不准导致显示出现“鬼影”•能够提供多个不同的基准电压选择,可以调整对比度•能够提供多种不同分割扫描法、驱动波形,满足灵活选择•能够不同的时钟源和不同分割扫描帧率的选择,满足不同应用低功耗的要求瑞萨M C U内置的L C D控制器/驱动器不但满足上面的规格,而且还提供其他优点功能:•提供不同的时钟源选择,可选择外部副时钟32.768KHz,也可选择MCU内部低速或高速时钟•提供显示数据寄存器,能通过自动读取显示数据寄存器进行段信号SEG和公共信号COM的自动输出•提供时间间隔闪烁功能,方便易用瑞萨MC U内置的LC D控制器/驱动器1LCD控制器/驱动器框图图1为集成到瑞萨自有16bits RL78系列核MCU中的LCD控制器/驱动器,图2集成瑞萨32bits RA4M1系列Arm核MCU中的LCD控制器/驱动器,两者主要区别是LCD 控制器/驱动器的工作时钟选择不同,RA4M1系列还可支持选择内部高速时钟。

ARM的LCD 的驱动控制实验

ARM的LCD 的驱动控制实验
ARM 的 LCD 的驱动控制实验
一、 实验目的 1.了解 LCD 基本概念与原理。 2.理解 LCD 的驱动控制。 3.熟悉用总线方式驱动 LCD 模块。 4.熟悉用 ARM 内置的 LCD 控制器驱动 LCD。 二、 实验内容 学习 LCD 显示器的基本原理,理解其驱动控制方法。掌握两种 LCD 驱动方式的基本 原理和方法。并用编程实现。 1.用总线方式直接驱动带有驱动模块的 LCD。 2.用 ARM 内置的 LCD 控制器来驱动 LCD。 三、 预备知识 1.用 ARM SDT 2.5 集成开发环境,编写和调试程序的基本过程。 2.ARM 应用程序的框架结构。 3.会使用 Source Insight 3 编辑 C 语言源程序。 四、 实验设备及工具 硬件:ARM 嵌入式开发板、用于 ARM7TDMI 的 JTAG 仿真器、PC 机 Pentumn100 以 上 软件:PC 机操作系统 win98、ARM SDT 2.51 集成开发环境、仿真器驱动程序、Source Insight 3.0 五、 实验原理及说明 1.LCD(Liquid Crystal Display)原理 液晶得名于其物理特性:它的分子晶体,不过以液态存在而非固态。这些晶体分子的液 体特性使得它具有两种非常有用的特点:1、如果让电流通过液晶层,这些分子将会以电流 的流向方向进行排列,如果没有电流,它们将会彼此平行排列。2、如果提供了带有细小沟 槽的外层,将液晶倒入后,液晶分子会顺着槽排列,并且内层与外层以同样的方式进行排列。 液晶的第三个特性是很神奇的:液晶层能够使光线发生扭转。液晶层表现的有些类似偏光器, 这就意味着它能够过滤掉除了那些从特殊方向射入之外的所有光线。此外,如果液晶层发生 了扭转,光线将会随之扭转,以不同的方向从另外一个面中射出。 液晶的这些特点使得它可以被用来当作一种开关——即可以阻碍光线,也可以允许光线 通过。液晶单元的底层是由细小的脊构成的,这些脊的作用是让分子呈平行排列。上表面也 是如此,在这两侧之间的分子平行排列,不过当上下两个表面之间呈一定的角度时,液晶成 了随着两个不同方向的表面进行排列,就会发生扭曲。结果便是这个扭曲了的螺旋层使通过 的光线也发生扭曲。如果电流通过液晶,所有的分子将会按照电流的方向进行排列,这样就 会消除光线的扭转。如果将一个偏振滤光器放置在液晶层的上表面,扭转的光线通过了(如 图 A),而没有发生扭转的光线(如图 B)将被阻碍。因此可以通过电流的通断改变 LCD 中的 液晶排列,使光线在加电时射出,而不加电时被阻断。也有某些设计了省电的需要,有电流 时,光线不能通过,没有电流时,光线通过。

ARM的LCD控制寄存器和原理(抖动算法和FRC)

ARM的LCD控制寄存器和原理(抖动算法和FRC)

ARM的LCD控制寄存器和原理(抖动算法和FRC)S3C44B0X内置的LCD控制器的作⽤是将显⽰缓存(在系统存储器中)的LCD数据传输到外部LCD驱动器,并产⽣必须的LCD控制信号。

它⽀持灰度LCD和彩⾊LCD。

在灰度LCD上,使⽤基于时间抖动算法(time-basedditheringalgorithm)和FRC(FrameRateControl)⽅法,可以⽀持单⾊、4级灰度和16级灰度模式的灰度LCD。

在彩⾊LCD上,可以⽀持256种⾊彩。

不同尺⼨的LCD具有不同数量的垂直和⽔平象素、数据接⼝、数据宽度、接⼝时间和刷新率。

LCD控制器可以进⾏编程控制相应的寄存器值,以适应不同的LCD显⽰板。

LCD控制器逻辑框图图1为LCD控制器的逻辑框图。

从框图可以看出LCD控制器是⽤来实现传输显⽰数据及产⽣必要的控制信号,如VFRAME、VLINE、VCLK 和VM。

除了控制信号,还有显⽰数据的数据端⼝VD[7:0]。

LCD控制器包括REGBANK、LCDDMA、VIDPRCS和TIMEGEN。

REGBANK有18个可编程寄存器,⽤于配置LCD控制器。

LCDDMA为专⽤DMA,可以⾃动地将显⽰数据从帧内存传送到LCD驱动器中。

通过专⽤DMA,可以实现在不需要CPU介⼊的情况下显⽰数据。

VIDPRCS从LCDDMA接收数据,将相应格式的数据通过TIMEGEN(包含可编程逻辑),以⽀持常见的LCD驱动器所需要的不同接⼝时间和速率的要求。

TIMEGEN部分产⽣VFRAME,VLINE,VCLK和VM等信号。

LCD控制器提供下列外部接⼝信号:VFRAME:LCD控制器和驱动器之间的帧同步信号。

通知LCD屏新的⼀帧显⽰,LCD控制器在⼀个完整帧显⽰后发出VFRAME信号。

VLINE:LCD控制器和驱动器间同步脉冲信号。

LCD驱动器通过它将⽔平移位寄存器的内容显⽰到LCD屏上。

LCD控制器在⼀整⾏数据全部传输到LCD驱动器后发出VLINE信号。

基于ARM与FPGA的LCD控制器设计.

基于ARM与FPGA的LCD控制器设计.

基于ARM与FPGA的LCD控制器设计随着显示屏技术的不断发展,真彩液晶显示屏以其高分辨率、高对比度及高清晰度等优势逐渐在嵌入式显示系统中占据重要地位。

目前,基于嵌入式平台的LCD显控技术的实现主要有两种方式:ARM内嵌LCD控制器和独立的控制器件。

但是这两种实现方式都存在着不足之处,内嵌控制器的使用可能增大处理器的负担和限制显示帧率,而外部控制器件不仅成本高,而且专用性比较强,很难适应不同类型的液晶屏。

据此存在的问题,这里提出一种基于ARM与FP随着显示屏技术的不断发展,真彩液晶显示屏以其高分辨率、高对比度及高清晰度等优势逐渐在嵌入式显示系统中占据重要地位。

目前,基于嵌入式平台的LCD显控技术的实现主要有两种方式:ARM内嵌LCD控制器和独立的控制器件。

但是这两种实现方式都存在着不足之处,内嵌控制器的使用可能增大处理器的负担和限制显示帧率,而外部控制器件不仅成本高,而且专用性比较强,很难适应不同类型的液晶屏。

据此存在的问题,这里提出一种基于ARM与FPGA的LCD控制器设计方案,该设计方案一方面能够通过操作LINUX OS下的Framebuffer设备提高显存的写入速率及减轻处理器的负担,另一方面用FPGA来实现LCD控制器的设计,开发周期短、功耗低,同时具有灵活的移植性,可应用于不同中小尺寸的液晶显示屏。

1 系统组成及工作原理系统主要有微控制器、FPGA(LCD控制器)、存储单元以及外设接口组成,系统组成框图如图1所示。

系统的工作流程:在FPGA内部的时序发生电路所产生的时序控制信号作用下,LCD控制器通过Framebuffer接口从微控制器读出显示所需的数据存入显示缓存SRAM中。

同时LCD显示屏从显存SRAM中读取显示数据,并通过数据格式转换电路直接将数据信息实时显示。

2 系统硬件设计2.1 LCD控制器LCD控制器是基于FPGA实现的。

本方案采用Altera公司的Cvclone(飓风)系列EPlC6Q240。

基于ARM的LCD触摸屏系统设计策

基于ARM的LCD触摸屏系统设计策

基于ARM的LCD触摸屏系统设计策
随着嵌入式系统技术的飞速发展,工业设备产品也越来越现代化,普遍要求可视化操作。

LCD触摸屏低耗能.散热小,成本低,纤薄轻巧,外形尺寸小,安装容易。

使用LCD触摸屏作为工业设备的输入输出设备既能达到可视化的要求,方便现场操作,又能降低产品的成本。

而在产品的整体设计过程中,人机交互界面的设计往往占据着很大一部分工作,这样,不但极大地增加了产品的开发成本瓶且延长了产品的上市周期。

本文设计的基于
S3C44BOX的人机交互界面是一种可定制、简单易用、性能优良的通用型人机交互界面,能很好地解决上述问题。

1 系统结构
系统主要包括三个部分,分别为PC机、S3C4480X微处理器和LCD 触摸屏模块。

系统结构框图如图1所示。

基于ARM的LCD触摸屏系统设计

基于ARM的LCD触摸屏系统设计

此设计为人机交互系统提供了一种实际的解决方案,也可应用
到其他嵌入式系统开发中。
创新点:
1、充分利用 S3C44B0X 的强大功能以及 OCMJ15x20D 内置
LCD 驱 动 器 资 源 , 完 成 了 LCD 触 摸 屏 的 驱 动 , 设 计 了
S3C44B0X 控制彩色显示屏及四线电阻式触摸屏组成的人机交
3.1 系统软件介绍 用户可以根据实际应用中的控制系统的需要及控制系统 与人机交互界面的约定,通过 PC 机上的可视化人机界面定制 软件,定制好整个界面信息。然后把定制好的界面信息下载到 ARM 的 Flash 中,就可以轻松地实现人机界面的定制。在应用 中,ARM 处理器通过直接操作 I/O 口与人机交互界面系统进行 交互,读取触摸屏信息。然后根据读取的信息执行相应的操作。 系统的软件部分由用户引导程序和应用程序组成。系统运行 后,由用户引导程序决定是执行界面信息的更新还是正常运 行。若执行界面信息的更新,则系统通过相关函数接收界面定 制信息并保存在 Flash 中,然后通过本地读取新的界面定制信 息建立链表网络;若正常运行,则直接从本地读取旧的界面定 制信息建立链表网络。应用程序实现的功能则包括触摸屏输入 处理及界面的显示。用户通过本系统可以对工业设备所有与软 件相关的参数进行配置。 3.2 程序设计 3.2.1 界面的定制与显示 界面的定制是通过建立网络链表的方式实现的。构建好链 表网络后就进入应用程序阶段,即系统进入正常运行状态。通 过系统中设定当前屏指针、当前项指针及已构建的链表网络等 来实现人机交互界面的操作。 同一屏幕的项构成双向循环链表、链接屏幕构成单向循环 链表。实现方法:先以屏为单位建立每屏的横向双向循环链表; 再遍历各屏的双向链表,为各屏的项建立链接关系,进而构成 一个链表网络。通过遍历当前屏幕的横向双向循环链表来逐一 显示屏幕的项。其中对各类项的处理如下:① 当屏幕项是文本 时,直接读取并显示。② 当屏幕项为整型、浮点时,通过向控制 系统索取其值并显示。③ 当屏幕项为枚举时,通过向控制系统 索取其值,再按值读取对应的字符串并显示。 3.2.2 触摸屏信息的处理 触摸屏按键分为数字键、换屏键、确认键和选择键。数字键 用于键入所按的数字。换屏键用于切换屏幕内容,进入所选中 项的链接屏幕,若当前屏幕没有选中项,则进入首项链接的屏 幕。选择键主要是使下拉菜单的内容显示到屏幕上来。确认键 是用于选择下拉菜单内容。 3.2.3 主函数及初始化 该软件系统主函数采用的是等待触摸键值的死循环结构。

基于ARM的LCD显示系统的设计

基于ARM的LCD显示系统的设计

目录摘要 (II)1设计目的 (1)2设计原理 (1)3设计容 (1)3.1S3C2440A最小系统 (1)3.2显示系统硬件电路 (2)3.2.1LCD控制电路 (2)3.2.2时序和数据匹配电路 (5)3.2.3多路电压产生电路 (6)3.2.3以太网通信模块 (9)3.2.4显示驱动和LQ035Q7DH01的接口电路 (7)3.2.5 显示系统整体结构框图 (8)3.3显示系统软件编写 (8)总结与致 (10)参考文献 (11)摘要嵌入式系统是嵌入到对象体系中的专用计算机系统。

以嵌入式计算机为核心的嵌入式系统是继IT网络技术之后,又一个新的技术发展方向。

本文介绍和设计了一款基于ARM嵌入式系统的LCD显示系统。

该系统在功耗,体积,集成度,成本等都有较好的优势,具有一定的实用意义。

关键词:嵌入式;LCD;S3C2440A;LQ035Q7DH01;1 设计目的以三星公司的嵌入式微处理器S3C2440A和夏普公司3.5inLCD屏LQ035Q7DH01为基础,设计了显示硬件电路,不论是显示硬件电路还是软件驱动程序,都有很强的可移植性,可以方便地移植到不同的平台。

2 设计要求设计要现一个能把采集和处理的数据,图像显示在LCD上的系统。

该系统可以把采集来的数据经过ARM的处理后显示在LCD上。

采集数据和处理数据可以自己根据具体情况自己设定(如键盘输入,ARM计算等)。

根据设计题目的要求,选择确定ARM芯片型号、LCD型号、LCD控制器芯片型号,完成系统硬件设计。

3 设计容3.1 S3C2440A最小系统为确保S3C2440A的基本运行需求,对ARM主芯片的基本硬件设计,包括电源,时钟以及复位的设计图1 时钟以及复位的设计3.2显示系统硬件电路3.2.1LCD控制器电路LCD控制器用来传输图像数据并产生相应的控制信号,S3C2440A LCD控制器能支持高达4K色STN屏和256K色TFT屏,支持1024×768分辨率下的各种液晶屏, 具有LCD专用DMA。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
# define PAL ET T E 0x4d000400 Pa lette sta rt address p a lette= (U 32 3 ) PAL ET T E; 3 p a lette+ + = 0; b lack fo r (cda ta= 1; cda ta< 255; cda ta+ + ) { p red= (cda ta & 0xe0) ; p green= (cda ta & 0x1c) ; p b lue= (cda ta & 0x03) ; 3 p a lette+ + = ( (U 32) ( (p red< < 8) (p green < < 6) (p b lue< < 3) ) ) ; } 3 p a lette= 0xffff; w h ite } 4. 2. 5 移动观察窗口 1 函数 vo id L cd M oveV iew Po rt (in t vx, in t vy) 4. 2. 6 移动观察窗口 2 函数 vo id M oveV iew Po rt (vo id) 4. 2. 7 单个象素的显示数据输出函数 vo id Pu tP ixel (U 32 x, U 32 y, U 32 c) 4. 2. 8 全屏填充特定颜色单元或清屏函数 vo id L cd C lea rScr (U 16 c) vo id G lib L ine (in t x1, in t y1, in t x2, in t y2, in t co lo r) 4. 3 设计功能模块初始化函数 在对 S3C2410 的L CD 编写模块化驱动程序前, 首先要从内 核中去除L CD 驱动, 并进行相应改动。 在编写模块化驱动程序
vo id L cd EnvidO nO ff (in t onoff) { if (onoff= = 1) rL CDCON 1 = 1; ENV ID = ON e lse rL CDCON 1 = rL CDCON 1 & 0x3fffe; ENV ID O ff } 4. 2. 3 电源控制引脚使能函数及代码 vo id L cd Pow erEnab le (in t invpw ren, in t pw ren) {
示内存的一个映像, 将其映射到进程地址空间之后, 就可以进行 读写操作, 而读写操作可以反映到L CD。
4 L CD 驱动开发的主要工作 4. 1 设计初始化函数 初始化函数首先初始化L CD 控制器, 通过写寄存器设置显 示模式和颜色数, 然后分配L CD 显示缓冲区。 在W IN CE 中可 以用km a lloc () 函数分配一段连续的空间[4]。缓冲区大小用代码 表示为: screen size= vinfo. x res3 vinfo. yres3 vinfo. b its p er p ixel 8; 即点阵行数×点阵列数×用于表示一个像素的比特 数 8。缓冲区通常分配在大容量的片外SDRAM 中, 起始地址保 存在L CD 控制寄存器中。 本文采用的L CD 显示方式为 320× 240, 16 位彩色, 则需要分配的显示缓冲区为 320×240×2= 150kb。使用语句 fbp = (U 16 3 ) mm ap (0, screen size, PRO T R EAD PRO T W R IT E,M A P SHA R ED. . . . . . ; 用mm ap 函数使用户空间的一段地址关联到设备内存 (F ram eB uffer) 上。 无论何时, 只要程序在分配的地址范围内进行读取或者写入, 实 际上就是对设备的访问, 使用 mm ap 可以既快速又简单地访问 显示卡的内存。对于象这样的性能要求比较严格的应用来说, 直 接访问能给我们提供很大不同。并调用L CD BU FER [SCR YS IZE T FT 240320 ] [SCR XS IZE T FT 240320 ]进 行内核登记。
科技信息Βιβλιοθήκη 博士·专家论坛基于A RM 控制器的L CD 驱动原理及设计
辽宁工程技术大学研究生学院 尹 航 李秀华
[ 摘 要 ]本文介绍嵌入式系统中L CD 显示原理及驱动设计, 以三星公司A RM 9 内核芯片 S3C2410 的L CD 接口为基 础, 采用W IN CE P la tfo rm B u ilder3. 0 平台编译器, 使用320×240 分辨率的T FT 彩色L CD , 通过对其W IN CE 系统下 驱动程序编写和修改, 实现对屏幕的驱动和显示。
W IN CE 在外围支持方面会提供部分驱动程序源代码模板 作 为开发者参考, 基本方法有所谓的N a tive D rivers 和 Stream D rivers。 两种方法在内存应用和数据流控制上有些不同, 前者 针对较初级内置硬件, 后者几乎可用于任何硬件。
W IN CE 的设备管理是和文件系统紧密结合的, 各种设备 都以文件的形式存放在特定目录下, 称为设备文件[3]。应用程序 可以打开、关闭和读写这些设备文件, 完成对设备的操作, 就像 操作普通的数据文件一样。为了管理这些设备, 系统为设备编了 号, 每个设备号又分为主设备号和次设备号。主设备号用来区分 不同种类的设备, 而次设备号用来区分同一类型的多个设备。对 于常用设备,W IN CE 会有约定俗成的编号。W IN CE 为所有的 设备文件都提供了统一的操作函数接口, 方法是使用数据结 Struct file op era tion s[4]。 这个数据结构中包括许多操作函数 的指针, 如op en ()、clo se ()、read () 和w rite () 等, 但由于外设的种 类较多, 操作方式各不相同。Struct file op era tion s 结构体中的 成员为一系列的接口函数, 如用于读 写的 read w rite 函数和用 于控制的ioctl 等。打开一个文件就是调用这个文件file op era2
PW R EN rL CDCON 5= rL CDCON 5& (~ (1< < 5) ) ( invpw ren < <
5) ; INV PW R EN } 4. 2. 4 颜色初始化函数及代码 vo id L cd Pa lette In it (vo id) { un signed cha r cda ta, p red, p green, p b lue; U 32 3 p a lette;
3 L CD 控制器 L CD 控制器的功能是接收计算机发来的指令和数据, 并向 计算机反馈所需的数据信息[1], 进而驱动显示。用户只需要通过 读写一系列的寄存器, 完成配置和显示驱动。 在驱动L CD 设计 的过程中首要的是配置L CD 控制器, 而在配置L CD 控制器中最 重要的一步则是帧缓冲区 (F ram eB uffer) 的指定。用户所要显示 的内容皆是从缓冲区中读出, 从而显示到屏幕上的。帧缓冲区的 大小由屏幕的分辨率和显示色彩数决定。 驱动帧缓冲的实现是
2 嵌入式驱动的概念 设备驱动程序是操作系统内核和机器硬件之间的接口, 设 备驱动程序为应用程序屏蔽了硬件的细节, 这样在应用程序看 来, 硬件设备只是一个设备文件, 应用程序可以像操作普通文件 一样对硬件设备进行操作。设备驱动程序是内核的一部分, 它主 要完成的功能有: 对设备进行初始化和释放; 把数据从内核传送 到硬件和从硬件读取数据; 读取应用程序传送给设备文件的数 据、回送应用程序请求的数据以及检测和处理设备出现的错误。 下面给出了完整的驱动系统示意框图[2] (图 1)
注: 李秀华, 女, 辽宁阜新人, 教授。 研究方向: 计算机硬件领域。
— 15 —
科技信息
博士·专家论坛
4. 2 设计部分成员函数 4. 2. 1 数据和控制端口初始化函数及代码 vo id L cd Po rt In it (vo id) {
rGPCU P = 0xffffffff; D isab le Pu ll- up register rGPCCON = 0xaaaa56a9; In itia lize VD [ 7: 0 ], L CDV F [ 2: 0 ], VM , V FRAM E , VL IN E, V CL K, L END rGPDU P = 0xffffffff; D isab le Pu ll- up register rGPDCON = 0xaaaaaaaa; In itia lize VD [ 15: 8 ] } 4. 2. 2 L CD 视频和控制信号输出或者停止, 1 开启视频输 出函数及代码
tion s 中的op en 操作。不同类型的文件有不同的file op era tion s 成员函数, 如普通的磁盘数据文件, 接口函数完成磁盘数据块读 写操作; 而对于各种设备文件, 则最终调用各自驱动程序中的 I O 函数进行具体设备的操作。这样, 应用程序根本不必考虑操作 的是设备还是普通文件, 可一律当作文件处理, 具有非常清晰统 一的 I O 接口。 所以 file op era tion s 是文件层次的 I O 接口。
整个驱动开发过程的重点。 S3C2410 中的L CD 控制器可支持 STN 和 T FT 两种液晶。 对于 STN 液晶平板, 该L CD 控制器可 支持 4 位双扫描、4 位单扫描和 8 位单扫描三种显示类型, 支持 4 级和 16 级灰度级单色显示模式, 支持 256 色和 4096 色显示, 可 接多种分辨率的L CD , 例如640×480、320×240 和160×160 等, 在 256 色显示模式时, 最大可支持 4096×1024、2048×2048 和 1024×4096 显示。T FT 液晶平板可支持 1- 2- 4- 8bpp (b its p er p ixel) 调色板显示模式和 16bpp 非调色板真彩显示。
[ 关键词 ]嵌入式系统 L CD S3C2410 W IN CE
相关文档
最新文档