微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于ARM的LCD触摸屏系统设计

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

时间:02-17 来源:互联网 点击:

引言

随着嵌入式系统技术的飞速发展,工业设备产品也越来越现代化,普遍要求可视化操作。LCD触摸屏低耗能.散热小,成本低,纤薄轻巧,外形尺寸小,安装容易。使用LCD触摸屏作为工业设备的输入输出设备既能达到可视化的要求,方便现场操作,又能降低产品的成本。而在产品的整体设计过程中,人机交互界面的设计往往占据着很大一部分工作,这样,不但极大地增加了产品的开发成本瓶且延长了产品的上市周期。本文设计的基于S3C44BOX的人机交互界面是一种可定制、简单易用、性能优良的通用型人机交互界面,能很好地解决上述问题。

1 系统结构

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

图1 系统结构框图

本系统为基于S3C44BOX的工业设备提供交互接口,通过该系统可以给工业设备提供一个可视化的人机界面。来自PC机的定制好的界面信息存储在ARM的FLASH存储器内。在应用当中,当微处理器接收到触摸屏按键信息时,对工业设备进行控制。同时微处理器也对LCD进行界面的刷新,这样以完成人机交互。

2 系统硬件设计

系统硬件电路原理如图2所示。其中S3C4480X为CPU内核,320x240点阵LCD触摸屏为主要的输入输出设备。

图2 系统硬件电路原理图

2.1 LCD触摸屏模块OCMJ15x20D介绍

本系统显示部分采用的是OCMJ15x20D (320x240点阵)D系列中文液晶湿示模块,其中OCMJ表示奥可拉中文集成模块。这是一个中英文文字与绘图模式的点阵液晶屁示模块,内建512KByte的ROM字形码,可以显示中文字型、数字符号、英日欧文等字母,并且内建双图层(Two Page)的显爪内存。在文字模式中,可接收标准中文文字内码直接显示中文,而不需要进入绘图模式以绘图方式描绘中文,提升液晶显示中文之效率。该模块整合了多项的实用界面,包含内建的10-Bit ADC.提供触控屏接口。OCMJ15X20D(V3.2)的触摸屏是用FM7843控制的,该控制器已集成在模块上,模块已留出FM7843的控制线供客户使用(OCMJ15X20D上的J5脚),可直接使用3V供电而不需外接负电压。

模块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 系统的工作原理

OCMJ15x20D模块内置LCD控制器,并将触摸屏安装在LCD液品屏上,设计相应的控制电路对LCD和触摸屏控制。当用户操作触摸屏时,模块FM7843控制芯片对触摸点进行检测,并把检测到的信息送出转换为相应的坐标,以供S3C44BOX处理器读取。

3 系统软件设计及实现

3.1 系统软件介绍

用户可以根据实际应用中的控制系统的需要及控制系统与人机交互界面的约定,通过PC机上的可视化人机界面定制软件,定制好整个界面信息。然后把定制好的界面信息下载到ARM的Flash中,就可以轻松地实现人机界面的定制。在应用中,ARM处理器通过直接操作I/O口与人机交互界面系统进行交互,读取触摸屏信息。然后根据读取的信息执行相应的操作。系统的软件部分由用户引导程序和应用程序组成。系统运行后,由用户引导程序决定是执行界面信息的更新还是正常运行。若执行界面信息的更新,则系统通过相关函数接收界面定制信息并保存在Flash中,然后通过本地读取新的界面定制信息建立链表网络;若正常运行,则直接从本地渎取旧的界面定制信息建立链表网络。应用程序实现的功能则包括触摸屏输入处理及界面的显示。用户通过本系统可以对工业设备所有与软件相关的参数进行配置。

3.2 程序设计

3.2.1 界面的定制与显示

界面的定制足通过建立网络链表的方式实现的。构建好链表网络后就进入应用程序阶段,即系统进入正常运行状态。通过系统中设定当前屏指针、当前项指针及已构建的链表网络等来实现人机交互界面的操作。

同一屏幕的项构成双向循环链表、链接屏幕构成单向循环链表。实现方法:先以屏为单位建立每屏的横向双向循环链表; 再遍历各屏的双向链表,为各屏的项建立链接关系,进而构成一个链表网络。通过遍历当前屏幕的横向双向循环链表来逐一显示屏幕的项。其巾对各类项的处理如下:①当屏幕项是文本时,直接读取并显示。②当屏幕项为

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top