基于嵌入式LCD触摸屏设计.docx
《基于嵌入式LCD触摸屏设计.docx》由会员分享,可在线阅读,更多相关《基于嵌入式LCD触摸屏设计.docx(16页珍藏版)》请在冰豆网上搜索。
基于嵌入式LCD触摸屏设计
成绩:
基于嵌入式LCD触摸屏的设计与研究
班级:
应电112
学号:
110415109
姓名:
申帅民
日期:
2013-10-8
摘要
零前言
1.1LCD触摸屏简介
1.2LCD触摸屏的应用及发展前景
1.3AEM嵌入式处理器
一系统整体方案设计
2.1系统硬件组成及整体功能
2.2系统软件设计方案的选择
二硬件实现
3.1处理器的选择
3.2外围芯片的选用
3.3硬件原理图
三LCDC触摸屏软件设计
4.1界面的定制与显示
4.2触摸屏信息的处理
四结论
参考文献
基于嵌入式LCD的触摸屏的设计
摘要:
如今LCD触摸屏应用已成为生活中很常见的现象,通过利用这种装置,改变了传统的较为复杂呆板的机械人机交互方式。
使得人际之间信息的交互变得简单,快捷,而且更具形象化。
本文针对基于ARM系统LCD触摸屏设计的介绍,分析LCD触摸屏的工作原理及硬件结构,然后进一步开发除了触摸屏的驱动程序。
通过软硬件的结合,可以实现利用触摸屏完成人际之间信息的交互,同时也可以将该设计运用到同类人机交互系统中缩短产品的开发周期,降低产品的开发成本。
关键词:
LCD触摸屏;ARM;人机交换系统
零前言
随着嵌进式系统技术的飞速发展,产业设备产品也越来越现代化,普遍要求可视化,LCD
触摸屏低耗能.散热小,本钱低,纤薄轻巧,外形尺寸小,安装轻易。
使用LCD触摸屏作为产业设备的输进输出设备既能达到可视化的要求,方便现场操纵,又能降低产品的本钱。
而在产品的整体设计过程中,人机交互界面的设计往往占据着很大一部分工作,这样,不但极大地增加了产品的开发本钱并且延长了产品的上市周期。
本文设计的基于S3C44BOX的人机交互界面是一种可定制、简单易用、性能优良的通用型人机交互界面,能很好地解决上述问题。
0.1触摸屏简介
触摸屏起源于20世纪70年代,早期多被装于工控计算机、POS机终端等工业或商用设备之中。
2007年Phone手机的推出,成为触控行业发展的一个里程碑。
苹果公司把一部至少需要20个按键的移动电话,设计得仅需三四个键就能搞定,剩余操作则全部交由触控屏幕完成。
除赋予了使用者更加直接、便捷的操作体验之外,还使手机的外形变得更加时尚轻薄,增加了人机直接互动的亲切感,引发消费者的热烈追捧,同时也开启了触摸屏向主流操控界面迈进的征程。
触摸屏(touchscreen)又称为“触控屏”“触控面板”,是一种可接收触头等输入讯号的感应式液晶显示装置,当接触了屏幕上的图形按钮时,屏幕上的触觉反馈系统可根据预先编程的程式驱动各种连结装置,可用以取代机械式的按钮面板,并借由液晶显示画面制造出生动的影音效果。
触摸屏作为一种最新的电脑输入设备,它是目前最简单、方便、自然的一种人机交互方式。
它赋予了多媒体以崭新的面貌,是极富吸引力的全新多媒体交互设备。
0.2LCD触摸屏的应用及发展前景
目前,触摸屏应用范围正在变得越来越广泛,从工业用途的工厂设备的控制/操作系统、公共信息查询的电子查询设施、商业用途的提款机,到消费性电子的移动电话、PDA、数码相机等都可看到触控屏幕的身影。
当然,这其中应用最为广泛的仍是手机。
2008年采用触控式屏幕的手机出货量将超过1亿部,如今,安装触控界面的手机出货量已超过5亿部。
而且有迹象表明,触摸屏在消费电子产品中的应用范围正从手机屏幕等小尺寸领域向具有更大屏脑拓展。
目前,戴尔、惠普、富士通、华硕等一线笔记本电脑品牌厂商都计划推出具备触摸屏的笔记本电脑或UMPC。
由此可以看出,触摸屏市场未来的发展前景也十分诱人。
根据市场调研机构的预测,到2017年触摸屏产值将达到239亿美元。
0.3A\RM嵌入式处理器
RISC嵌入式处理器是目前高中端嵌入式设计和应用的主流,现今比较流行的RISC
处理器有PowerPC、MIPS和ARM。
其中ARM嵌入式处理器以其小体积、低功耗、低成本和高性能等特点占据了业界领先地位,已经成为一种事实上的标准。
目前市场上常用的基于ARM体系结构的通用嵌入式处理器系列有ARM7和ARM9系列。
ARM7系列处理器包括ARM7TDMI、ARM7TDMI-S、ARM720T、ARM7EJ等几种类核是低功耗的32位RISC架构处理器,三级流水线,主频达到66MHz。
ARM9系列处理器包括
ARM920TDMI、ARM922T、ARM940T等几种类型的核,采用五级流水线,主频达到533MHz。
此外,ARM系列处理器还包括ARM9E、ARM10E和ARM11等几个系列。
SAMSUNG公司推出的一系列采用ARM处理器和微控制器的产品,性能良好,数据手册丰富,配套应用方案完善,因此迅速在通信产品民用市场上获得了广泛的应用,在ARM处理器产品中极具代表性。
本文的设计将基于SAMSUNG公司的一款ARM7芯片:
S3C44B0X。
一系统整体方案设计
本系统采用LCD触摸屏模块OCMJ15x20D,配以相应的外围硬件,通过ARM芯片S3C44B0X对触摸屏从外界采集的信息的处理,然后据此控制受控系统,并给与触摸屏信息确认及输出。
1.1系统硬件及整体功能
系统硬件组成及整体功能系统主要包括三个部分,分别为PC机、S3C4480X微处理器和LCD触摸屏模块。
系统模块。
系统结构框图如图1-1所示;
该系统有三部分组成:
PC机,用于定制人机交互界面信息;S3C4480X处理器,用于控制触摸模块接收到的外界信息;LCD触摸屏模块,是直接参与人机交互的层面,通过它可以显示出虚拟按键,人们可以对其操作,然后配以处理器及外围硬件的协同工作,达到完成对一起的控制目的。
通过该系统可以给产业设备提供一个可视化的人机界面。
来自PC机的定制好的界面信息存储在ARM的FLASH存储器内。
在应用当中,当微处理器接收到触摸屏按键信息时,对产业设备进行控制。
同时微处理器也对LCD进行界面的刷新,这样以完成人机交互。
1.2系统软件设计方案的选择
为增强系统的稳定性和可靠性,在软件设计中将进行操作系统(OperatingSystem,OS)的移植,进而对应用程序进行设计。
嵌入式OS负责嵌入式系统全部软、硬件资源的分配、调度,控制和协调各部件的工作,与普通OS相比,嵌入式OS在系统实时高效性、硬件依赖性、软件固化及应用的专用性方面具有较为突出的特点。
嵌入式OS种类繁多,大体上分为商用型和免费型两大块,其中商用型功能稳定、可靠,有完善的技术支持和售后服务,但价格昂贵,典型的有VxWorks、WinCE等。
免费型的源代码公开,性能也较良好,主要有嵌入式Linux和μC/OS。
随着开源软件的迅速发展,Linux和μC/OS已经具有非常广泛的应用。
基于良好的性价比,本文将采用uClinux作为触摸屏终端的操作系统。
uClinux是一种优秀的嵌入式Linux版本,它秉承了标准Linux的优良特性,是经过各方面的小型化改造,形成的一个高度优化的、代码紧凑的嵌入式Linux。
虽然它的体积很小,但性能稳定,有良好的移植性。
在操作系统移植完成后,本文将结合触摸屏终端所需实现的功能,给出其整体的软件设计方案。
二硬件实现
2.1处理器的选择
本系统选择三星公司基于ARM7TDMI的16/32位微处理器S3C44B0X。
该芯片为手持设备以及一般嵌入式应用提供了一个成本低廉、功能强大的微控制器解决方案。
有丰富的内置部件,包括:
8KBcache,内部SRAM,LCD控制器,带自动握手的2通道UART,4通道DMA,系统管理器(片选辑,FP/EDO/SDRAM控制器),代用PWM功能的5通道定制器,
I/O端口,RTC8通道10位ADC,IIC-BUS接口,IIS-BUS接口,PLL倍频器。
S3C44B0X内部结构图
S3C44B0X内部结构如图2-1-1所示:
,
S3C44B0X引脚图
S3C44B0X引脚情况如图2-1-2所示:
由于S3C44B0X引脚数量众多,此处不再对其详细说明,有关各引脚功能可以参阅相关资料。
2.2外围芯片的选择
根据功能要求,该系统还需配置其他外围芯片,用于辅助完成要求功能。
此处选用的外围芯片为FM7843,不过它已被集成在触摸屏模块OCMJ15x20D中,它主要用来对触摸点进行检测,并把检测到的信息送出转换为相应的坐标,以供S3C44BOX处理器读取。
下面对该芯片结构及原理作简要介绍
FM7843简介
模块FM7843是四线电阻式触摸屏输进控制芯片。
它是一款具有同步串行接口的12位采样模数转换器。
在125kHz吞吐速率和2.7V电压下的功耗为750μW.而在封闭模式下的功耗仅为0.5μW。
它具有低功耗和高速等特性,因此被广泛应用。
引脚X+、Y+、X-、Y-是转换器模拟输进端,DCLK是外部时钟输进;CS是片选端:
DIN是串行输进,其控制数据通过该引脚输进;DOUT是串行数据输出.用于输出转换后的触摸位置数据。
最大数为二进制的4095;IN3、IN4是辅助输进;PENIRQ是PEN中断引脚。
其中,S3C44BOX共使用6条与FM7843接口相连。
其结构如图2-2-1所示:
FM7843有关引脚介绍列表如下;
2.3硬件原理图
下面对触屏模块OCMJ15x20D进行具体描述。
上图为触屏模块OCMJ15x20D的实体图和外形尺寸图本系统显示部分采用的正是该模块系列中文液晶湿示模块,其中OCMJ表示奥可拉中文集成模块。
这是一个中英文文字与绘图模式的点阵液晶屁示模块,内建512KByte的ROM字形码,可以显示中文字型、数字符号、英日欧文等字母,并且内建双图层(TwoPage)的显爪内存。
在文字模式中,可接收标准中文文字内码直接显示中文,而不需要进进绘图模式以绘图方式描绘中文,提升液晶显示中文之效率。
该模块整合了多项的实用界面,包含内建的10-BitADC.提供触控屏接口。
OCMJ15X20D(V3.2)的触摸屏是用FM7843控制的,该控制器已集成在模块上,模块已留出FM7843的控制线供客户使用(OCMJ15X20D上的J5脚),可直接使用3V供电而不需外接负电压。
该模块同时支持支持文字与绘图两种混和显示模式。
支持2Page显示模式(And,Or,Nor,Xor),内建两个4.8K/9.6K(15x20D)Byte的显示RAM(DisplayDataRAM)共9.6K/19.2K(15x20D)ByteRAM并且可做成4阶的显示效果。
内建512KByteROM,控制IC分带繁体字库IC和带简体字库IC,其中标准繁体中文BIG5码,包含13,094个常用与次常用字型、408个特殊字与两组ASCIICODE,简体字库储存7602个标准GB码的简体中文。
提供全角(16x16)与半角(8x16)文字显示模式。
支持4/8位之6800/8080MCU接口。
内建8x8键盘扫瞄界面(KeyScan)。
带光标、反白、闪烁功能,且光标高度与宽度可调。
支持屏幕水平卷动及垂直卷动功能。
内建512ByteSRAM可自行造字。
提供中/英文文字对齐功能。
显示字型可放大到32x32、48x48或64x64,以及混合显示模式。
支持可将字型由ROM直接读出使用。
内建粗体字形与行距设定。
内建10-BitADC支持触控屏幕应用(OCMJ4X15D和OCMJ5X10D屏蔽了此功能)。
OCMJ4X15D和OCMJ5X10D当为黄绿屏而不使用背光时,或者为蓝屏使用背光时,可使用3V供电而。
不需外接负电压。
OCMJ8X10D和OCMJ8X15D也可使用3V供电但需外接负电压,除OCMJ8X10D的蓝屏背光可使用。
3V供电外,其他背光都要4.1V以上供电。
OCMJ15X20D可直接使用3V供电而不需外接负电压,但其背光为CCFL背光,需另外供电,一般要4~5V。
对于触摸屏模块OCMJ15X20D其直接参与人机交互的结构为电阻式触摸面板。
电阻式触摸面板是由两层极薄的电阻面板组成,如图2-3-3所示,两层面板之间有一个很小的间距,当有外力在面板上的某一点压下去时,会在施力点造成两层电阻接触,也就是短路(Short),而两层电阻面板的端点都各有电极,如图2-3-4所示YU,YD,XL,XR因此配合一些开关就可侦测出面板上哪一相对位置被Touch。
在图2-3-5中,设定开关SW2SW3是OFF(Open)SW0与SW1是ON(Close),当有外力在面板上的某一点压下去时,由于点取得电压接到ADC(AnalogtoDigitalConverter),就可以得到被Touch点的X坐标相对位置。
在图2-3-5中,因为开关SW2与SW3是OFF,因此YD点是Floating,所以当有外力在面板上的某一点压下去时,YU上的电压事实上就是X的Panel(也就是电阻)上的分压结果,压在面板上的不同一点,就会得到不同的分压结果,如图2-3-6所示。
同理,在图2-3-7中,设定开关SW0与SW1是OFF(Open),SW2与SW3是ON(Close),当有外力在面板上的某一点压下去时,由XL点取得电压接到ADC(AnalogtoDigitalConverter),就可以得到被Touch点的Y坐标相对位置。
一般说来许多触摸面板都是贴在LCD面板上面,因此在程序设计上如果重复图2-3-5与2-3-7的读取步骤就可以顺利得知被touTouch的点是在屏幕上的哪一位置。
在图2-3-7中,因为开关SW0与SW1是OFF,因此XR点是Floating,所以当有外力在面板上的某一点压下去时,XL上的电压事实上就是Y的Panel(也就是电阻)上的分压果,压在面板上的不同一点,就会得到不同的分压值,如图2-3-8所示。
三LCD触摸屏软件设计
3.1界面的定制与显示
界面的定制是通过建立网络链表的方式实现的。
构建好链表网络后就进进应用程序阶段,即系统进进正常运行状态。
通过系统中设定当前屏指针、当前项指针及已构建的链表网络等来实现人机交互界面的操纵。
同一屏幕的项构成双向循环链表、链接屏幕构成单向循环链表。
实现方法:
先以屏为单位建立每屏的横向双向循环链表;再遍历各屏的双向链表,为各屏的项建立链接关系,进而构成一个链表网络。
通过遍历当前屏幕的横向双向循环链表来逐一显示屏幕的项。
其巾对各类项的处理如下:
①当屏幕项是文本时,直接读取并显示。
②当屏幕项为整型、浮点时.通过向控制系统索取其值并显示。
③当屏幕项为枚举时,通过向控制系统索取其值,再按值读取对应的字符串并显示。
3.2触摸屏信息的处理
触摸屏按键分为数字键、换屏键、确认键和选择键。
数字键用于键进所按的数字。
换屏键用于切换屏幕内容,进进所选中项的链接屏幕,若当前屏幕没有选中项,则进进首项链接的屏幕。
选择键主要是使下拉菜单的内容显示到屏幕上来。
确认键是用于选择下拉菜单内容。
结论
本设计充分利用OCMJ15x20D以及S3C44BOX内置资源FM7843,设计了ARM处理器控制LCD触摸屏的软硬件系统,该系统具有可定制特性。
它不仅仅能够方便用户的对机床等其它设备的操纵,而且也使得开发职员对界面的修改即对产品的升级变得简单、快捷。
本设计只是人机交互技术运用之一,同样其设计理念及相关理论同样也可以应用其它嵌入式开发系统中。
参考文献
【1】王田苗,嵌入式系统设计与实例开,北京:
清华大学出版社
【2】S3C44B0X中文数据手册(v0.1),三星公司
【3】金鹏液晶模块OCMJ15x20D说明,肇庆金鹏实业有限公司
【4】马忠梅,李善平等,ARM&Linux嵌入式系统教程,北京航空航天出版社
【5】吴春华,基于ARM和uClinux的嵌入式系统的构建研究,浙江大学