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和AS%&&&&&%s),转化速率还能够提高到每次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开发板为硬件渠道,规划了嵌入式体系接触屏交互功用模块,在全国大学生嵌入式体系比赛的产品和著作中已屡次运用。文中并对规划中的要害技术问题做了具体的剖析与评论。软件规划流程图和源代码及其它辅佐程序等限于篇幅另文介绍。