《电子技术应用》
您所在的位置:首页 > 嵌入式技术 > 设计应用 > 基于StellarisWare的电梯轿内TFT LCD显示及触屏设计
基于StellarisWare的电梯轿内TFT LCD显示及触屏设计
来源:微型机与应用2013年第24期
吴华连,陈小平
(苏州大学 电子信息学院,江苏 苏州215000)
摘要: 应用StellarisWare图形库技术实现图形显示,以LPC2478 ARM7微处理器为控制核心,设计了一种由TFT-LCD显示及触摸屏组成的电梯轿内人机交互界面显示控制器。介绍了LVDS通信接口的TFT-LCD显示、触摸及外部存储器SDRAM的硬件设计和软件设计。测试结果表明,系统实现了触摸功能,获得清晰稳定的显示效果,性能可靠。
Abstract:
Key words :

摘  要: 应用StellarisWare图形库技术实现图形显示,以LPC2478 ARM7微处理器为控制核心,设计了一种由TFT-LCD显示及触摸屏组成的电梯轿内人机交互界面显示控制器。介绍了LVDS通信接口的TFT-LCD显示、触摸及外部存储器SDRAM的硬件设计和软件设计。测试结果表明,系统实现了触摸功能,获得清晰稳定的显示效果,性能可靠。
关键词: ARM7;TFT-LCD;触摸屏技术;SDRAM;StellarisWare

    随着触摸屏的出现和触摸屏技术的飞速发展及日益成熟,触摸屏技术广泛应用于公共服务领域和电子产品设备,触摸屏技术也日益受到人们的青睐。触摸屏正在取代鼠标、键盘等传统输入设备,成为电子产品的重要组成部分。薄膜晶体管液晶显示器(TFT-LCD)是数字终端显示最理想的显示器件之一,触摸屏附在显示器表面,可根据对应触摸点字符获知触摸者的意图来显示内容,使得图形化的人机交互变得更加简单、直观和人性化[1]。带有触摸屏的TFT-LCD以其方便、大容量、高清晰和全彩色视频等优点被广泛应用于嵌入式系统设计中[2]。
    电梯轿厢内显示系统是电梯乘坐人与电梯进行信息交流的重要渠道,为乘坐人提供电梯运行信息,使乘坐人可以方便、全面地了解电梯的运行状态。目前大部分电梯轿厢内显示电梯信息多采用传统LED显示,显示内容单调、有限,而电梯轿厢内楼宇广告,显示系统多采用独立广告机,成本高。所以设计和开发一套集显示和触摸式楼层选择一体的电梯轿内显示系统很有必要,可以播放彩色图片、数字等综合信息,可以改善封闭轿厢内环境,降低成本。对于图形显示,StellarisWare图形库提供了一套比较完整、快速的MCU图形显示方案,该方案移植方便,其强大的绘图功能可以根据具体的应用场合设计内容多样的人机交互界面,界面美观大方,可应用于高档电梯。
1 轿内显示器硬件设计
    轿内显示器主要以微处理器为核心,根据触摸者意图处理并显示信息,并控制CAN通信模块与电梯主控器进行数据发送和接收,外部存储器是为了满足大量图像数据存储的需要,轿内显示器的功能模块框图如图1所示。

1.1 液晶显示器
    LPC2478内部集成LCD控制器,支持薄膜晶体管TFT(Thin-Film Transistors)显示器,并且提供TFT-LCD控制信号HSYNV(水平同步信号)、VSYNC(垂直同步信号)、VDEN(数据使能信号)及LCDCLK(LCD时钟信号)的接口,简化了硬件设计。
    轿内显示器使用了三菱公司的10.4寸LVDS(Low Voltage Differential Signaling)接口TFT-LCD AA104SG01,液晶背面驱动电路集成了LVDS接收器。因此需要差分信号发送器将LPC2478主控器输出TTL信号转为LVDS信号,传送到液晶面板侧的LVDS接收器以驱动TFT-LCD,其中差分信号发送器是用视频接口转换芯片DS90C383。DS90C383可以在一个时钟周期内结合控制信号将16 bit TTL数据转换成混合的3组LVDS数据流来驱动LCD,即TxOUT0、TxOUT1、TxOUT2,一组数据流包含7 bit数据。DS90C383输入输出信号映射关系以及LPC2478内置LCD控制器在RGB(R[4:0]G[5:0]B[4:0])模式下与DS90C383管脚连接如表1所示。


1.2 触摸屏接口设计
    从工作原理上可以把触摸屏分为电阻式、电容式、红外线式、声表面波式等,这里采用目前最为普遍的四线电阻式触摸屏[3]。液晶显示器背面附有触摸屏驱动电路,是一个电阻式四线触摸屏,四线分别是X+(TSXP)、X-(TSXM)、Y+(TSYP)、Y-(TSYM),即X电极和Y电极的正负极,也是触摸屏接触点坐标数据输入端。
    四线电阻式触摸板由两块透明的电阻层组成,分别是X板和Y板[4]。如有外力使得上下两层在某一点接触,则在电极未加电压的一层根据电压梯度可以测得接触点的电压,经过A/D转换便可知道接触点的坐标。由微处理器输出4个控制信号控制4 个MOS 管的通断,进而控制触摸屏4个电极Y+、Y-、X+、X-的通断。
1.3 外扩同步动态随机存储器
      针对LCD高速图像显示过程中大量数据暂时存储的需要,采用了一种高速的图像存储方案,即中间缓存。SDRAM(Synchronous Dynamic RAM)作为数据中间缓存具有容量大、速度高、价格便宜和功耗低等优势[5],是一种非常有效的方法,真正满足了高速、实时显示图像的要求。
    LPC2478内置SDRAM控制器,可以实现SDRAM的逻辑控制[6],主要信号有片选信号(SCS)、时钟信号(SCLK)、时钟使能信号(SCKE)、读写信号(WE)、页地址选择信号(BA[1:0])、行地址选择信号(A0~A12)、列地址选择信号(A0~A8),采用分时复用的寻址方式,通过RAS和CAS信号来决定是行地址还是列地址,当RAS有效时,A0~A12是行地址;当CAS有效时,A0~A8是列地址信号。数据信号DATA[15:0],其使能受DQM信号控制。SDRAM的地址范围为0xA000 0000~0xA200 0000(32 MB)。
2 软件设计
2.1 StellarisWare图形库移植

    对于图形显示,StellarisWare图形库提供了快速的软件开发解决方案,既可以进行基本图形、文字绘制,也可以轻松实现常见的消息控件(Widget)的绘制。
2.1.1 按钮控件图形生成及图形预处理
    StellarisWare软件包含了两个工具:LMI-button和pnmtoc,图形的生成及预处理可以通过这两个工具来完成。
    (1)LMI-button工具可以把其他格式的图像保存为图形库可以识别的pnm格式,并且结合GIMP图像处理程序可以生成各种类型控件。
    (2)pnmtoc工具压缩图像为C文件,主要是把pnm格式图像转换为图形库可以识别的C文件。运行Windows服务管理器并且输入命令:pnmtoc Image.pnm>Image.c,即可把Image.pnm图像生成图形库可以识别的C数组文件,默认名字为const unsigned char g_pucImage[],在主函数中调用函数GrImageDraw(&MyContext,g_pucImage,0,0)就是从(0,0)点绘制g_pucImage图像。
2.1.2 控件定义及绘制
    Stellaris图形库可以实现很多控件,其中包括画布和按钮控件。画布控件是一个简单的绘图面板,用户可以在上面进行图形、文字绘制,也支持显示图片。每一个控件都有3个属性,分别是父控件(Parent)、下一个控件(Next)、子控件(Child)。为了方便管理,图形库将众多控件以树状的形式管理,每个控件树都有一个虚拟的WIDGET_ROOT控件作为最顶层的控件,其他控件都作为它的子节点或者更下层的子节点[7]。
    (1)定义画布控件函数Canvas()和按钮控件函数Rec-
tangularButtonStruct()。定义控件时用户根据实际情况配置各参数,同时要定义事件响应函数。
    (2)绘制控件树函数。使用WidgetAdd()添加控件到控件树WIDGET_ROOT,然后调用函数WidgetPaint(WIDGET_ROOT)绘制整个控件树。
    (3)消息添加函数WidgetMessageQueueAdd()可以添加消息到消息队列,以便进行后续处理。
2.2 LCD显示的软件设计
    对LPC2478内置LCD控制器的软件操作主要是对各种寄存器进行正确的设置。首先要初始化LCD,LCD初始化包括设置LCD寄存器、LCD工作模式为BGR 5:6:5、显示数据缓冲区地址为SDRAM地址、LCD背光等,LCD显示的过程也就是控件定义、添加、绘制和消息处理的过程。LCD显示的软件设计流程如图2所示,函数Widget-MessageQueueProcess()处理控件树信息队列,刷新LCD。

2.3 触摸屏的软件设计
    触摸屏附在显示器表面,利用微处理器实现对液晶屏和触摸屏的控制,只要测量出触摸点的位置,就可以根据对应坐标点上的显示内容或字符获知触摸者的意图,进而处理信息。触摸屏回调函数TouchScreenCallbackSet(WidgetPointerMessage)的作用是将用户动作事件与用户定义的事件响应函数连接在一起,当用户动作时,用户输入驱动可以调用WidgetPointerMessage()函数,传入动作的信息(如动作的x、y坐标、动作方式等)。图形输出驱动则响应用户输入事件,刷新显示画面,触摸屏软件设计流程如图3所示。

2.4 CAN通信软件设计
    电梯轿厢控制器与主控制器之间通过CAN总线实现数据传输,CAN总线是轿厢与主控制器之间进行通信的桥梁,可以同时支持多主节点,数据传输速度快,通信距离长。
    轿内显示器消息的格式:目的ID号+命令字节+数据字节1+数据字节2+…+数据字节6。ID号是为主控制器、轿厢控制器、外呼楼层指示器分配的标志符。命令字节是协议的核心,通常与数据字节配合使用,有开关门命令、楼层显示命令、到站提示命令、登记楼层命令等。数据字节主要有所到楼层号、电梯运行状态及登记楼层信息。
3 测试结果与分析
    将轿厢显示控制器与电梯主控器连接,进行现场调试,图4为电梯从10楼到5楼、再到1楼的LCD显示过程,从图中看到,按钮控件有开关门和楼层按钮,按钮控件有按下和未按下两种不同颜色状态属性,当用户按下目的楼层号按钮时,按钮控件外观颜色状态发生变化,LCD显示所到楼层号和电梯运行状态;当电梯到达用户选通的目的楼层时,所到楼层按钮将返回未按下状态,同时开门按钮显示开门状态,关门时关门按钮控件也会显示相应的状态。

 

 

    本着高效、方便的目的,本文利用StellarisWare图形库,简化了软件设计难度,提高了开发效率。经过多次现场测试,轿厢显示控制器与电梯主控制器之间通信可靠、稳定,显示界面清晰、效果良好。带有触摸功能的电梯轿内TFT-LCD显示器是一种简单、方便、自然的人机交互方式,界面美观大方,可以更好地提高电梯品质,具备很好的应用前景。
参考文献
[1] 郭本振,李声晋,卢刚,等.基于DSP和LCD触摸屏的车载信息系统设计[J].液晶与显示,2011,26(1):83-87.
[2] 郭瑞玲,邹向阳,黑锐.基于触摸屏的某型雷达干扰机的人机接口设计[J].电测与仪表,2010,47(536A):149-141.
[3] 宋成,孙广富.触摸屏在S3C2410 上的应用实例[J].单片机与嵌入式系统应用,2005(1):35-38.
[4] 陈世利,孙墨杰,栗大超,等.触摸屏的工作原理及典型应用[J].单片机与嵌入式系统应用,2002(2):11-13.
[5] 潘光荣,王沁,齐悦.面向逻辑设计的SDRAM 控制器性能度量模型[J].计算机应用研究,2009,26(9):3432-3435.
[6] 刘妍妍,李国宁,金龙旭.遥感图像采集中的SDRAM图像缓存技术[J].电视技术,2012,36(17):52-54.
[7] Texas Instruments.StellarisWare?誖graphics library user′s  Guide[S].[2013-03-01].

此内容为AET网站原创,未经授权禁止转载。