嵌入式系统中触摸屏交互功能模块设计

时间:2022-03-17来源:佚名

1引言

嵌入式系统拉近了人与计算机的距离,形成一个人机和谐的工作与生活环境。从某一个角度来看,触摸屏作为嵌入式计算机系统中一体化的输入输出设备,在制造工业、过程控制、通讯、仪器、仪表、汽车、船舶、航空、航天、军事装备、消费类产品等方面均得到广泛应用,影响到人类工作与生活的各个领域并极具应用前景,它与嵌入式系统的交互功能的程序设计是整个系统设计的关键。本文描述的这样的设计过程,对其中的技术问题给出了详细的解释。功能设计基于ARM920T内核的S3C2410芯片,以GX开发板为硬件平台,是以Windows CE为操作系统实现的图文交互界面模块。

2系统交互功能的设计

2.1 系统构架

通常嵌入式系统的构架可以分成四个部分:处理器、存储器、输入输出(I/O)和软件部分。由于多数嵌入式设备的应用软件和操作系统都是紧密结合的,在这里我们对其不加区分,这也是嵌入式系统和通用PC系统的最大区别。触摸屏嵌入式设计框图见图一。

2.2 Windows CE的主要功能

它是一个全新开发的模块化的图形用户界面的多任务操作系统,是一个支持多种CPU,拥有良好通信能力的高性能、高效率的实时操作系统。OEM厂家可以加入自己所需要的任何模块,或者除去不需要的。系统中一个应用程序的故障不会引起整个系统失效。

图一 触摸屏嵌入式设计框图

2.3 操作系统对触摸屏的支持

操作系统对触摸屏的支持是按分层的思想进行的。首先是应用层,编写的应用程序调用触摸屏/鼠标事件API(在牵引层有相关的API函数);其次,在驱动层有支持触摸屏的驱动程序。通过统一接口来调用操作系统内核的触摸屏设备驱动程序完成最终的设备控制。从中取出触摸屏的实际坐标值,把该值记录在初始化程序中,当下次有应用程序需要调用触摸屏驱动程序时,触摸屏驱动程序就会去检查初始化程序,读取其中的校正值,并把经过校正,影射后相对坐标值返回该应用程序。

2.4 触摸屏电路

GX开发板为硬件平台,板载SHARP 3.5〞TFT液晶屏LQ035Q7DB02,320×240,262,144色,White LED背光,带触摸屏。SHARP液晶自带四线电阻式触摸屏,可以直接和2410的触摸屏驱动电路连接,触摸位置直接用CPU内置的ADC电路采样而得。

图二 板载触摸屏电路

2.5 触摸屏的控制电路

触摸屏的控制是使用FM7843芯片完成的。FM7843是4线电阻触摸屏转换接口芯片。它具有同步串行接口的12位取样模数转换器。在125kHz吞吐速率和2.7V电压下的功耗为750μW,而在关闭模式下的功耗仅为0.5μW。

因此,ADS7843以其低功耗和高速率等特性,被广泛应用在采用电池供电的小型手持设备上。FM7843采用SSOP-16引脚封装形式,温度范围是-40~85℃。为了完成一次电极电压切换和A/D转换,需要先通过串口往FM 7843发送控制字,转换完成后再通过串口读出电压转换值。标准的一次转换需要24个时钟周期。由于串口支持双向同时进行传送,并且在一次读数与下一次发控制字之间可以重叠,所以转换速率可以提高到每次16个时钟周期。如果条件允许,CPU可以产生15个CLK的话(比如FPGAs和ASICs),转换速率还可以提高到每次15个时钟周期。FM 7843通过同步串口与ARM通讯,可通过SendSIOData()函数(uhal.c)向FM 7843发送数据;通过ReadSIOData()函数(uhal.c)从FM 7843读出数据。将F端口的第6位置0和1,可以打开、关闭FM7843,F端口的数据寄存器为PDATF(44b.h)。通过外部中断5可以判断是否有触摸动作,查询方式通过宏TCHSCR_IsPenNotDown()(tchscr.h)判断是否有触摸动作。

3.设计中的几个关键问题

3.1 定制Windows CE平台

Windows CE是一个多平台的、可裁减的32位嵌入式操作系统。他既适用于工业设备的嵌入式控智模块,也适用于消费类电子产品的开发。针对不同的目标设备硬件环境,在其内核基础上添加各种模块,从而形成一个定制的嵌入式操作系统。它包括了定制设备所需的一切,例如:联网能力、实时性和小内存占用以及多媒体和Web浏览功能等。

3.2 Windows CE`的驱动模式

Windows CE`设备的驱动模型有两种形式:流接口驱动(Stream Interface Driver)和本地设备驱动(Native Device Driver)从实现方式来看,无论那种驱动都可以采用单层和分层两种方式,多层设备驱动中实现的代码分两层:MDD(Model Device Driver,模型设备驱动)和PDD(Platform Dependent Driver,平台相关驱动)。MDD层中向GWES模块提供了DDI(Device Driver Interface,设备驱动接口)函数接口,实现了对于同一类设备的驱动程序所公用的功能,而PDD则实现了与平台的具体硬件设备相关的代码。MDD通过调用特殊的PDD函数来访问硬件。

3.3 触摸屏与显示器的配合算法

FM 7843送回控制器的X与Y值仅是对当前触摸点的电压值的A/D转换值,它不具有实用价值。这个值的大小不但与触摸屏的分辨率有关,而且也与触摸屏与LCD贴合的情况有关。而且,LCD分辨率与触摸屏的分辨率一般来说是不一样,坐标也不一样,因此,如果想得到体现LCD坐标的触摸屏位置,还需要在程序中进行转换。转换公式如下:

x=(x-TchScr_Xmin)*LCDWIDTH/(TchScr_Xmax-TchScr_Xmin)

y=(y-TchScr_Ymin)*LCDHEIGHT/(TchScr_Ymax-TchScr_Ymin)

其中,TchScr_Xmax、TchScr_Xmin、TchScr_Ymax和TchScr_Ymin是触摸屏返回电压值x、y轴的范围,LCDWIDTH、LCDHEIGHT是液晶屏的宽度与高度。

3.4 操作系统对触摸屏的支持

操作系统对触摸屏的支持是按分层的思想进行的。首先是应用层,编写的应用程序调用触摸屏/鼠标事件API(在牵引层有相关的API函数);其次,在驱动层有支持触摸屏的驱动程序。通过统一接口来调用操作系统内核的触摸屏设备驱动程序完成最终的设备控制。从中取出触摸屏的实际坐标值,把该值记录在初始化程序中,当下次有应用程序需要调用触摸屏驱动程序时,触摸屏驱动程序就会去检查初始化程序,读取其中的校正值,并把经过校正,影射后相对坐标值返回该应用程序。

3.5 触摸屏的坐标的确认

通过上述方式采集的坐标是相对于触摸屏的坐标,需要转换成为LCD坐标,这个过程之前需要进行两种坐标的校准工作,这里采用取平均值法。首先从触摸屏的4个顶角得到2个最大值和2个最小值,分别计为x_min,y_min和x_max,y_max。X,Y方向的确定如表1所示。

表1 X,Y方向的确定

当系统处于休眠状态时,Q1,Q3和Q4处于截止状态,Q2导通。当触摸屏被按下时,首先导通MOS管组Q1和Q4,X 与X-回路加上 3.3V电源,同时将MOS管组Q2和Q3关闭,断开Y 和Y-,再启动处理器的A/D转换通道1(AIN1),电路电阻与触摸屏按下产生的电阻输出分量电压,并由A/D转换器将电压值数字化,计算X轴的坐标。接着先导通MOS管组Q2和Q3,Y 与Y-回路加上 3.3V电源,同时将MOS管组Q1和Q4关闭,断开X 和X-,再启动处理器的A/D转换通道0(AIN0),电路电阻与触摸屏按下产生的电阻输出分量电压,并由A/D转换器将电压值数字化,计算Y轴的坐标。系统读到坐标值后,关闭Q1、Q3和Q4,打开Q2,回到初始状态,等待下一次笔触。

确定X,Y方向后,坐标值的计算公式如下:

X=(x_max-Xa)×320/(x_max-x_min)

Y=(y_max-Ya)×240/(y_max-y_min)

式中:

Xa=(X1 X2 ... Xn)/n

Ya=(Y1 Y2 ... Yn)/n

一般触摸屏将触摸时的X、Y方向的电压值送到A/D转换接口,经过A/D转换后的X与Y值仅是对当前触摸点的电压值的A/D转换值,它不具有实用价值。这个值的大小不但与触摸屏的分辨率有关,而且与触摸屏与LCD贴合的情况有关。如果想得到体现LCD坐标的触摸屏位置,还需要在程序中进行转换。

4.结论

嵌入式系统的PDA越来越多的使用触摸屏做输入输出设备。本文以ARM920T内核的S3C2410芯片GX开发板为硬件平台,设计了嵌入式系统触摸屏交互功能模块,在全国大学生嵌入式系统竞赛的产品和作品中已多次应用。文中并对设计中的关键技术问题做了详细的分析与讨论。软件设计流程图和源代码及其它辅助程序等限于篇幅另文介绍。

    相关阅读

    城市亮化工程如何设计才能具有层次感?

    城市亮化工程 的主要目地是为夜间带来一体化照明,考虑基础的视觉识别规定,自然环境照明的光层级与光线总数的多少相关,假如空间中的自然环境照明比工作照明低许多 ,在工作...
    2022-10-11
    城市亮化工程如何设计才能具有层次感?

    城市道路照明工程主要有哪些?

    在城市建设中,道路照明 是必不可少的基础设施,也是城市夜景的重要组成部分。在某种程度上,它还反映了城市的经济实力,社会进步和现代化的标志。它为夜间在城市中的车辆和行...
    2022-07-12
    城市道路照明工程主要有哪些?

    安全出口指示标志灯为什么是绿色而不是红色?

    对于安全出口指示标志灯相信大家都不陌生,我们在日常生活中在任何公众场所的紧急疏散的安全出口都可以看到这个安全出口指示标志灯,大家有没有想过安全出口的指示标志为什么...
    2022-05-21
    安全出口指示标志灯为什么是绿色而不是红色?

    路灯照明合理的布置方式

    路灯的布置方式主要有单侧布置、双侧交错布置、双侧对称布置、中心对称布置、横向悬索布置五种形式,随着城市道路的不断拓宽,平交路口转弯半径越来越大,根据《城市道路亮化...
    2022-07-15

    泛光照明工程是什么?应用范围有哪些?

    很多人提及 泛光照明工程 会有一些生疏,不理解泛光照明包含哪些,也不知道 泛光照明工程 跟普通照明工程有哪些不一样。 实际上泛光照明工程便是归属于城市景观照明工程或环境...
    2022-10-17
    泛光照明工程是什么?应用范围有哪些?

    消防应急灯的寿命有多长?一般可以使用多长时间?

    对于消防应急灯的使用寿命相信很多人都想了解这个问题,因为消防应急灯安装了就不需要时时刻刻盯着,这需要定时检查就可以了,但是很多人都不知道消防应急灯的寿命有多长,不...
    2022-05-21
    消防应急灯的寿命有多长?一般可以使用多长时间?

    快投派智能无线投屏器,让无线互联更加简单便捷

    没有WiFi的情况下可以进行无线投屏吗? 长期使用投屏功能的人,或多或少都知道自己的手机可以通过【无线投屏】【屏幕镜像】功能,直接连接到智能电视或无线投屏器,下意识地认...
    2022-05-11
    快投派智能无线投屏器,让无线互联更加简单便捷

    广场照明的设计技巧

    广场照明设计 主要包括休闲广场、集会活动广场、商业广场的照明设计。 1)休闲广场。主要是为人们提供休息、社交和举行小型文化娱乐活动的地方,由于人们活动方式不同,有些区...
    2022-07-15

    网站栏目