当前位置:首页 > 测试测量 > 测试测量
[导读] 随着嵌入式微处理器性能的提高,集成的外围接口设备越来越多,而外围设备与处理器之间多采用中断方式进行通信,即使在没有操作系统的情况下,也常需要对多个外围设备的中断处理例程进行动态加载,从而实现对多个

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

1 触摸屏
    (1)触摸屏简介
    随着多媒体信息查询的与日俱增,人们越来越关注触摸屏。触摸屏具有坚固耐用、反应速度快、节省空间、易于交流等许多优点,作为一种最新的电脑输入设备,它是目前最简单、方便、自然的人机交互方式。它赋予多媒体崭新的面貌,是极富吸引力的全新多媒体交互设备。触摸屏由触摸检测部件和触摸屏控制器组成。触摸检测部件安装在显示器屏幕前面,用于检测用户触摸位置,接收信息后送至触摸屏控制器;触摸屏控制器的主要作用是从触摸点检测装置上接收触摸信息,并将它转换成触点坐标后送给CPU,同时能接收CPU发来的命令并加以执行。按照触摸屏的工作原理和传输信息的介质,触摸屏可以分为4种,即电阻式、电容感应式、红外线式以及表面声波式。这里采用的是四线电阻屏。
    (2)S3C2410A触摸屏控制器
    S3C2410A触摸屏的外接电路主要是控制上下两层导电层的通断情况以及取电压,取电压之后还需要将这个模拟量转换成数字量,这部分工作主要是靠S3C2410A芯片中的模数转换器来实现的。即触摸屏的功能实现实际上分两部分,分别是触摸屏的外接电路部分和S3C2410A芯片自带的A/D转换控制部分。

2 ARM嵌入式操作系统中断处理方法
    在嵌入式系统中外部设备的功能主要是靠中断机制来实现的。因此,ARM作为嵌入式微处理器的典型代表,为保证系统的实时性和稳定性,建立了一套完整的异常处理机制。
2.1 S3C2410A中断寄存器
    每个寄存器在中断处理流程中所扮演的角色是不同的,中断流程如图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处理。


    首先必须弄清楚SUBSRCPND与SRCPND之间的关系,几个SUBSRCPND可能对应同一个SRCPND。经过不断总结,得出的对应关系如表1所列。从表中可知,触摸屏要用到SUBSRCPND中的INT_TC位,即SUBSRCPND[9]。这里定义变量:
    #define BIT_SUB_TC(0x1<<9)
    与之对应的是SRCPND中的INT_ADC位,即SRCPND[31],又定义变量:
    #define BIT_ADC(0xl<<31)
    INTMOD与PRIORITY采用默认设置。因此,可以把触摸屏的中断过程写为:


   
3.2 触摸屏中断与触摸屏中断程序
    首先使能ARM芯片的中断向量。当有IRQ中断到来,CPU会自动到0x18地址处取指。0x18处的指令是CPU根据中断源算好的。这里触摸屏的中断INT-ADC来了,那么0x18处的指令就是跳转到地址0x9c处。然后就执行“ldr pc,=HandlerINT_ADC”这条指令。这条指令的执行结果就是跳转到“HandlerINT_ADC”处执行。
    那么“HandlerINT_ADC”处又是什么指令呢?从访问绝对地址的内存位置“#define pISR_ADC(*(unsigned*)(ISR_STARTADDRESS+0x9c))”可知,“HandlerINT_ADC”处的地址就是_ISR_STARTADDRESS+0x9C。
    上述语句把无符号整数_ISR_STARTADDRESS+0x9c强制转换为指针,指向RAM,通过语句“pISR_ADC=(int)touchscreen;”对它进行访问,touchscreen即为所定义的触摸屏中断程序,该中断服务程序必须使用“__irq"关键字进行声明。这样,用户在自己的程序中,将中断服务程序的地址赋给该指针,从而将触摸屏的中断与触摸屏的中断程序联系起来。整个触摸屏中断与触摸屏中断程序的联系如图2所示。

结语
     本文完成了触摸屏相关中断寄存器的设置,并编写了触摸屏的中断处理程序,采用编写“__irq”函数的方法实现了基于中断的触摸屏控制。在实际应用中,该程序设计简单可靠,触摸点坐标值读取准确,且无粘滞现象,达到了预期效果。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭