ARM嵌入式系统中触摸屏的中断控制方法- 电信- DoNews.com-IT社区-IT ...

随着嵌入式微处理器性能的提高,集成的外围接口设备越来越多,而外围设备与处理器之间多采用中断方式进行通信,即使在没有操作系统的情况下,也常需要对多个外围设备的中断处理例程进行动态加载,从而实现对多个外围设备的集中动态管理。同时,中断功能可以解决CPU内部运行速度远远快于外部总线速度而产生的等待延时问题。因此,嵌入式微处理器的应用设计中,中断处理通常是系统的核心任务之一。

1触摸屏

(1)触摸屏简介

随着多媒体信息查询的与日俱增,人们越来越xx触摸屏。触摸屏具有坚固耐用、反应速度快、节省空间、易于交流等许多优点,作为一种{zx1}的电脑输入设备,它是目前最简单、方便、自然的人机交互方式。它赋予多媒体崭新的面貌,是极富吸引力的全新多媒体交互设备。

触摸屏由触摸检测部件和触摸屏控制器组成。触摸检测部件安装在显示器屏幕前面,用于检测用户触摸位置,接收信息后送至触摸屏控制器;触摸屏控制器的主要作用是从触摸点检测装置上接收触摸信息,并将它转换成触点坐标后送给CPU,同时能接收CPU发来的命令并加以执行。

按照触摸屏的工作原理和传输信息的介质,触摸屏可以分为4种,即电阻式、电容感应式、红外线式以及表面声波式。这里采用的是四线电阻屏。

(2)S302410A触摸屏控制器

S3C2410A触摸屏的外接电路主要是控制上下两层导电层的通断情况以及取电压,取电压之后还需要将这个模拟量转换成数字量,这部分工作主要是靠S3C2410A芯片中的模数转换器来实现的。即触摸屏的功能实现实际上分两部分,分别是触摸屏的外接电路部分和S3C2410A芯片自带的A/D转换控制部分。

2 ARM嵌入式操作系统中断处理方法

在嵌入式系统中外部设备的功能主要是靠中断机制来实现的。因此,ARM作为嵌入式微处理器的典型代表,为保证系统的实时性和稳定性,建立了一套完整的异常处理机制。

2.1S3C2410A中断寄存器

S3C2410A的中断异常处理模块由以下寄存器构成:

SRCPND(source pending register),中断源挂起寄存器;

INTMOD(interrupt mode register),中断方式寄存器;

INTMSK(interrupt mask pegister),中断屏蔽寄存器;

PRIORITY(priority register),优先级寄存器;

INTPND(interrupt pending register),中断挂起寄存器;

INTOFFSET(interrupt offset register),中断偏移寄存器;

SUBSRCPND(interrupt sub source register),中断子源挂起寄存器;

INTSUBMSK(interrupt sub mask register),中断子屏蔽寄存器。

每个寄存器在中断处理流程中所扮演的角色是不同的,中断流程如图1所示。

2.2中断与中断服务程序

中断的硬件逻辑将检测到的中断,以某种方式指向中断服务程序的地址,该地址在头文件中以宏定义的形式出现。用户在自己的程序中,将中断服务程序的地址赋给该指针,从而将中断与中断服务程序联系起来。

为了方便使用高级语言编写异常处理函数,ARM编译器对异常处理函数作了特定的扩展,只要使用关键字__irq,编译出来的函数就满足异常响应对现场保护和恢复的需要。

在ADS编译器中,_irq专门用来声明IRQ中断服务程序。如果用__irq来声明一个函数,那么该函数就是IRQ中断服务程序,编译器会自动在函数内部增加中断现场保护代码。

3中断方式实现触摸屏驱动

3.1中断寄存器的设置与使能

S3C2410A的触摸屏是带子中断的内部中断。当中断发生后,SUBSRCPND相应位置1,如果没有被INTSUBMSK屏蔽,那么SRCPND相应位置1,如果没有被INTMSK屏蔽,就进一步设置INTMOD。这里采用IRQ中断方式,所以SRCPND可以有多位置1(FIQ只能有1位),经过PRIORITY选出一个优先级高的,然后把INTPND相应位置1(只能选出1位),进入IRQ,让CPU处理。

 

郑重声明:资讯 【ARM嵌入式系统中触摸屏的中断控制方法- 电信- DoNews.com-IT社区-IT ...】由 发布,版权归原作者及其所在单位,其原创性以及文中陈述文字和内容未经(企业库qiyeku.com)证实,请读者仅作参考,并请自行核实相关内容。若本文有侵犯到您的版权, 请你提供相关证明及申请并与我们联系(qiyeku # qq.com)或【在线投诉】,我们审核后将会尽快处理。
—— 相关资讯 ——