EP7212处理器的LCD控制及触摸屏接口设计

2006-05-07 15:50:15来源: 互联网

嵌入式处理器上LCD控制器的结构和功能;深入探讨ADS7843触摸屏接口芯片的模式选择才应用技巧;基于该系统给出一个与彩色LCD触摸屏相接的实际使用方案。

嵌入式处理器 LCD 触摸屏控制器

引言

EP7212是Cirrus Logic公司生产的单片嵌入式高集成度的处理器芯片,所有必需的接口逻辑都集成在芯片上,一个低功耗的系统方案只须增加一些存储器和外围器件就可以完成。它的处理器为ARM720T,核为ARM7TDMI CPU。时钟速率可动态编程为18 MHz、36MHz、49MHz、74MHz,其稳定处理能力达到66MIPS(百万条指令每针)(Dhrystone 2.1),峰值处理能力达到74MIPS,近似等同于一个100MHz奔腾处理器。EP7212主要为超低功耗所设计,内核在2.5V工作电压下,功耗最大不超过90mW。通过嵌入其上的内存管理单元(MMU),允许使用像Microsoft Windows CE或Linux等一样的高级操作系统。EP7212主要应用于PDA、GPS、手机等超低功耗和低成本场合。

随着生活中类似于PDA的手持设备的增多,彩色LCD触摸屏也越来越普及。本文除了简单介绍EP7212的特性以外,主要讨论EP7212上的LCD控制器如何驱动彩色LCD,以及触摸屏控制器的使用技巧,并且给出具体的连接图和逻辑图。

1 EP7212特性

*具有先进的音频解码/解压缩能力,支持多种音频解压缩算法,可以提供与ADCs、DACs和CODECs相连的数字音频接口(DAI)。

*内置LCD控制器,可以直接与一个单面板单色LCD接口。面板大小可编程,以16像素为增量,可置为32~1024像素的任何宽度(线长度)。视频制缓冲可最高编程到128KB(字节)。每个像素可编程为1、2或4位。

*支持EDO DRAM(仅在13MHz和18MHz下支持快速页模式)。可最高支持2条,每条256MB的DRAM。DRAM接口可编程为16或32位宽。

*存储器可以和最高6个独立的256 MB的扩展段接口,且处于可编程等状态。

*LCD控制器和通用应用可以共享片上的38 400(0x9600)字节的片上SRAM。

*所有的外部存储器和外围器件与32位数据总线和28位地址总线相连,并且使用一些控制信号。

*两个同步串行接口,支持类似于ADCs等Micro-wire或SPI外围器件。其中一个接口支持主从模式,另一个仅支持主模式。

*使用已固化的片上引导ROM,用于串行加载引导程序到系统的FLASH存储器。

*27位通用I/O(3个8位和1个3位GPIO口),支持多路复用,以提供必要的附加功能,且支持扫描键盘矩阵。

*内置2个全双工UART(16550类型),可支持最高位速率到115.2kb/s,拥有2个16字节的FIFO用于TX和RX,其中UART1支持调解调器控制信号。

*具有最高速率为115.2kb/s的红外数据SIR协议控制器。

*具有直流—直流转换接口(PWM),可提供两个编程占空比(从1-in-16到15-in-16)的96kHz时钟输出,可以驱动一个直流—直流的转换器。

*拥有2个16位通用目的定时计数器

*1个32位实时时钟(RTC)和比较器

*1个用于与1个或2个Cirrus Logic CL-PS6700 PC卡控制器相连的接口,可支持2个PC卡插槽。

*RTC驱动专用的LED内烁引脚。

*先进的系统状态控制器和电源管理

*具有208pin LQFP和256-Ball PBGA两种封装

*带有ROM、图表、样码和设计库的仿真工具。

*支持全JTAG边界扫描和嵌入式ICE。

2 EP7212 LCD控制器

EP7212的LCD控制器可以提供所有必需的控制信号,以便直接与一个单面板多像素LCD接口。EP7212使用通用内存结构(UMA)存储视频帧缓冲,与内核处理器(ARM720T)一起共享主内存总线,总视频帧缓存器大小可编程最高达128KB。该面板大小可编程,可以16像素为增量,置为32~1024像素的任何宽度(线长度)。总的线数(行)由总的帧缓冲器大小除以面板宽度和颜色深度决定。控制器还可编程提供1、2或4位每像素彩色深度,支持单色灰度显示或是彩色显示。

为了支持各种颜色和灰度级,LCD控制器有2个32位调色板寄存器,被分成8个可设定地址的半字节(nibble),共16个半字节,每个半字节被帧缓冲器中的数据寻址。当LCD控制器配置成像素点4位时,帧缓冲器中4位数据被用于代表1个像素,2个调色板寄存器中的半字节用该数据寻址,对应要显示的像素。该寻址结构被用于将帧缓冲器中的数据映射到实际的灰度值,该值提供给显示接口。当配置成4 bpp模式时,在调色板寄存器中的所有16个半字节被用于映射,这是因为每4个位可以提供16个不同的值。同理,2 bpp模式用最低的4个半字节;1 bpp模式用最低的2个半字节。

每个调色板寄存器半字节可以编程为0~15。这16个值对应16个不同的颜色深度级。当寄存器与灰度级相对应;当不匹配时,能产生一些有趣的显示模式。例如,若想去触发正常和翻转两种图像,通过简单的转换调色板寄存器中的半字节值就可以实现,这比在帧缓冲器中转换所有数据更快更容易。

LCD控制器有1个9字深的FIFO,被用作帧数据的过渡存储缓冲。DMA控制器被用于从帧缓冲内存中取显示数据并且填充到FIFO中。这样,旦LCD控制器被配置和帧缓冲数据被存储,EP7212就可以接着执行其它任务,而不必服务LCD控制器。

(1)灰度显示原理

实际上,LCD显示屏并不是设置成不同的亮度去驱动每一像素的。它对象素要么显示,要么关闭。LCD显示屏的一个常用指标是它的反应时间,反应时间指的是一个像素从显示到关闭所花费的时间,典型的是几百ms。一种调制技术被用于驱动每个像素,即用整个固定时间周期的一部分驱动每个像素。

LCD控制器内部有1个16周期计数器,用于产生16周期的间隔。当驱动像素时,它读帧缓冲数据所指的,在调色板寄存器中的半字节数据。该数据确定在16周期间隔里像素显示的次数。例如该值等于4,则该像素每隔4个时钟周期显示1次,等于整个16周期间隔的4/16。裸眠认为该像素以最大亮度的1/4进行显示。

(2)彩色显示原理

彩色显示时,每个像素点有3个子彩色像素(红、绿、蓝)。灰度显示的技术应用到彩色显示中,每个子彩色像素有15种浓度的感觉效果。可用红、绿、蓝3种颜色的15种浓度中的一种去驱动1个像素点。如果LCD控制器编程为4 bpp模式,可支持最高15×15×15=3 375种不同的颜色;2 bpp模式时,可支持64种不同的颜色;1 bpp模式时,可支持8种不同的颜色。对于一个1/4VGA显示屏,实际像的数量等于320×400×4=921 600位或115 200字节,小于上面提到的最大帧缓冲的限制(128KB)。

另外一个显示特性是刷新率,指的是整个数据帧被重新写到显示屏的频率。如果数据写得太慢,将影响显示质量;太快则显示器的反应时间跟不上像素驱动状态的改变。大部分显示屏推荐的速率是70~80Hz。

当EP7212使用PLL时,则1个36.864MHz的时钟提供给LCD控制器。当使用1个13MHz的外部时钟时,则1个13MHz的时钟提供给LCD控制器。固定时钟源限制了像素写到显示屏的最大速率,即导致了最大刷新率的限制。

(3)LCD显示接口

LCD显示接口内置于EP7212之中,有如下信号:DD[0:3]、FRM、CL1、CL2、M。

①DD[0:3]是4条数据线。LCD控制器输出数据就意味着这些线在同一时刻输出4个像素。每条数据线的高或低对应每个像素值的高或低。

②FRM是帧同步信号。它在一帧所有的像素数据全部写出接口后触发为高,用于强迫复位线(行)计数器为0。这样显示屏将驱动下一个半字节数据到显示屏的第一行。

③CL1是行选通信号。它在一行所有的像素数据写出接口后触发为高。

④CL2是像素数据时钟。它被显示屏用于在每个像素数据的半字节定时,它的周期是实际像素速率的1/4。当CL1触发时,CL2置低。

⑤M是交流偏压信号。M的值由所使用的显示屏确定,可从显示屏的数字手册中得到。

(4)彩色显示接口

图1是EP7212LCD控制器与夏普LM057QC1T03 1/4VGA彩色非触屏LCD显示模块的接口连接逻辑图(如是触摸屏可加后面所述的触摸屏转换接口)。该显示屏是8位数据接口。该逻辑的主要目的是将4位接口转换成8位,对应2个半字节。该逻辑不影响LCD控制寄存器的编程,并且有同样的刷新率和像素彩色深度。图1的左边是LCD控制器的所有信号,右边与显示屏相连。由于EP7212要输出2组数据,为了支持8位数据,时钟必须是原来速率的一半,这意味着CL2必须减半。通过用D触发器,CL2作为输入时钟,则在它的Q端就变成输入时钟的1/2。CL1直接连接到显示屏,它也被用于复位D触发器,使Q端在开始时为低。用74LCX174寄存器存储8位数据的低4位。当高4位来到时2个半字节一起提供给显示屏,LCD_EN可用1根EP7212的通和I/O引脚控制。

表1为部分兼容的显示屏。

表1 部分LCD显示模块

Sharp LM057QC1T01 8bit,6.1',320×240,彩色,非触屏
Sharp LM057QC1T03 8bit,6.1',320×240,Color Transmissive,CCTF背光,触屏
Sharp LM038QC1R10 8bit,3.8',320×240,Clolor Reflective,无背光,非触屏
Sharp LM038QC1S10 8bit,3.8',320×240,Clolor Transflective,背光,非触屏
Sharp LM038QC1TS10 8bit,3.8',320×240,Color Transflective,背光,触屏

3 触摸屏控制器

触摸屏分电阻、电容、表面表波、红外线扫描和矢量压力传感等几种类型,其中使用最多的是四线或五线电阻触摸屏。四线电阻触摸屏由2个透明电阻膜构成,在它的水平和垂直电阻网上施加电压,A/D转换面板在触摸点测量出电压,人而对应出坐标值。

ADS7843是TI公司生产的四线电阻触摸屏转换接口芯片。它是一款具有同步串行接口的12位取样模数转换器。在125kHz吞吐速率和2.7V电压下,功耗为750μW。在关闭模式下,功耗仅为0.5μW。由于具有低功耗和高速等特性,被广泛应用在用电池供电的小型手持设备上。

ADS7843的连结关系如图2所示。工作电压Vcc为2.7~5.25V之间,基准电压Vref介于1V到+Vcc之间。其准电压确定了转换器输入范围,输入数据每个数字位代表的模拟电压等于基准电压除以4096。平均基准输入电流由ADS7843的转换率确定。转换器的模拟输入(X+、Y+、X-、Y-)是一个4通道多路器;DCLK是外部时钟输入引脚;CS是片选;DIN是串行输入,控制数据通过该引脚输入;DOUT是串行数据输出,用于输出转换后的触摸位置数据,最大数为二进制的4095;IN3和IN4是辅助引脚;PENIRQ是PEN中断;用于触摸显示屏后引发一个中断。

通过连接触摸屏X+输入到A/D转换器,同时打开Y+和Y-驱动,然后数字化X+的电压,从得到当前Y位置的测量结果。同理也可得到X方向的坐标。

具体设置和使用方法见ADS7843数据手册。下面主要讨论一下ADS7843的模式设置、PEN中断引脚使用、软件编程等。

(1)模式设置

ADS7843有差分(differential)和单端(singleended mode)两种工作模式。这两种模式对转换后的精度和可靠性有一些影响。如果将A/D转换器配置为读绝对电压(单端模式)方式,则驱动(driver)电压的下降将导致转换输入数据的错误;如果配置为差分模式,可以避免上述错误。当触摸屏被按下时,有两种情况影响接触点的电压:一种是当触摸显示屏时,导致触摸屏外层震动;一种是触摸屏顶屏和低层之间寄存器电容引起的电流震荡,以及在ADS7843输入引脚上引起电压震荡。这两种情况都导致了触摸屏上的电压发生震荡以及增加DC值稳定的时间。

在单端模式中,一旦在触摸屏上检测到一次触摸事件,EP7212就发送一串控制字节给ADS7843,要求它进行一次转换。然后,ADS7843在获取周期的起始点,通过内部FET开关提供电压给面板,并导致触摸点电压的升高。正如上面所介绍的,上升的电压在最终稳定之前会震荡一段时间。获取周期结束后,所有FET开关将关闭,A/D转换器将进入转换周期。如果在当前转换周期间,没有发出下一个控制字节,ADS7843将进入低功耗模式并等待下一条指令。由于面板上分布大量电容,特别是滤波噪声,应该注意设置对应于X坐标或Y坐标上的电压。在单端模式中,输入电压必须在Data In word的最后三个时钟周期期间设置,否则将产生错误。

除了内部FET开关从获取周期开始到转换周期结束期间一直保持开发外,差分模式的操作类似于单端模式。加在面板上的电压将成为对A/D转换器的基准电压,提供一个度量比的操作。这意味着如果加在面板上的电压发生变化(由于电源、驱动电阻、温度或触摸屏电阻等改变导致),则A/D转换器的度量比操作可以对这种变化进行补偿。如果在当前转换周期,发向ADS7843的下一个控制字节所选择的通道与前一个控制字节相同,则在当前转换完成后开关仍然不会关闭。

在这两模式中,ADS7843只有3个时钟周期可以从触摸屏上获取(取样)输入模拟电压,因此为了ADS7843可以获正确的电压,输入电压必须在3个时钟周期的时间范围内设置好。打开驱动将引起触摸屏的电压快速升高,然后设置到最终值。为了得到转换的正确数据。获取必须在触摸屏完全设置好时完成。有两种获取的方式:一是采用单端模式,用相对较慢的时钟,这样扩展了获取时间(3个时钟周期);二是采用差分械,用相对较快的时钟,在第一个转换周期设置电压,第二个转换周期获取准确的电压。第二种方式的两个控制字节相同,内部X/Y开关在首次转换后不会关闭,由于首次转换期间电压还不稳定,因此要求丢弃首次转换的结果。使用第二种方式的另一个优点是降低功耗,在全部转换后,ADS7843进入低功耗模式并且等待下一次取样周期。对于慢时钟这种情况,下一次取样可能在当前转换结束后立即进入取样周期,没有时间进入低功耗模式。

在单端模式下不能使用快速时钟。

差分模式具有以下特点:①能够在不扩展转换器获取时间的条件下,用很长的设置时间处理触摸展,即触摸屏电压可以有足够的时间稳定下来。②通过用快速时间,ADS7843可以进入低功耗模式,从而可以节约电池能量。建议使用差分模式。

(2)PEN中断引脚使用

    该引脚的主要作用是让设计者可以完全控制ADS7843的低功耗模式操作。如图3所示,I/O1和I/O2是引自EP7212的通用目的输入/输出口。当电源加入系统且转换器被设置(PD1、PD0=00)之后,转换器进入低功耗模式。当未触摸面板时,ADS7833内部的二极管没有偏正,因此没有电流流过(忽略漏流);当触摸面板时,Y-提供了一条电流(I)通路;X+、X-和Y+处于高阻状态,电流经过100kΩ电阻和中断二极管。PENIRQ被拉低,通过I/O2上一个不超过0.65V的电压唤醒CPU,然后EP7212拉低I/O1和I/O2上的电位,并且对ADS7843控制寄存器写一个字节,进行转换初始化。为了转换PENIRQ二极管上的偏置电压,EP7212必须拉低I/O1和I/O2上的电压。否则,如果在转换期间二极管上有一个前向偏压,附加的电流将引起输入数据不准确。

(3)差分模式下的软件流程

下面两种算法假设ADS7843配置成差分模式,每次转换为16个时钟,X轴坐标的结果在DATA X中,Y轴的坐标在DATA Y中。流程如图4所示。

图4(a)中的例子采用判断两次的方法来克服触摸屏信号的抖动。DATA 1存储当前转换的结果,DATA 2存储上一次转换的结果,当两次结果相同时转换数据有效。但是当输入电压的震动频率和取样频率相近时,可能会漏掉正确结果。

图4(b)中的例子采用最后的转换结果(第n次)作为有效转换。该方式更加简单,但是只对某一类触摸屏有效。"n"的具体值依赖于ADS7843输入电压的设置时间,在确定"n"值以前需要对一些触摸屏进行测试。

(4)错误触发

由于X+输入引脚与PEN中断输出相连接,因此,在X+上的噪声可能引起触摸屏错误触发。可对在PEN中断输出引脚上连接1个RC滤波器。例如,对地连接1个1Ω电阻和1个0.01μF的电容,可以过滤噪声脉冲和避免错误触发。

结束语

本文主要介绍EP7212的LCD控制器的工作原理和设计逻辑,并且探讨了触摸屏控制器的使用技巧,适用于EP7212XX系列嵌入式处理器与单色、非触摸屏连接的设计。触摸屏部分也适用于与其它处理器的连接。

关键字:处理器  控制  触摸屏  接口

编辑: 引用地址:http://www.eeworld.com.cn/gykz/cgqyb/200605/1205.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
处理器
控制
触摸屏
接口

小广播

独家专题更多

富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
走,跟Molex一起去看《中国电子消费品趋势》!
走,跟Molex一起去看《中国电子消费品趋势》!
 
带你走进LED王国——Microchip LED应用专题
带你走进LED王国——Microchip LED应用专题
 
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved