新闻中心

EEPW首页 > 模拟技术 > 设计应用 > 基于OMAP5912的手持多媒体终端的人机接口实现

基于OMAP5912的手持多媒体终端的人机接口实现

作者: 时间:2009-12-15 来源:网络 收藏



2.2触摸屏驱动

由于本设计是由DSP侧的MCSI接口来发送命令和读取触摸屏数据,而由ARM侧的操作系统将数据传递至界面程序进行处理,所以,本驱动程序应用MAILBOX双核通信来实现中间的传递。

ARM侧的处理流程如下:

(1)ARM侧的MAILBOX中断;

(2)由MAILBOX中断服务程序从数据寄存器DSP2ARM和命令寄存器DSP2ARM2B读取X、Y,并将其封装成触摸屏返回结构TS_RET,最后通过写指针写入队列;

(3)由应用程序通过读指针读取数据并进行相应处理。

驱动程序中有下面两个比较重要的结构:

3键盘输入设计

可以支持键盘专用的8×8 I/O接口以及KB.R[7:0]和KB.C[7:0]。其中KBR_LATCH为键盘行输入,KBC_REG为键盘列输出,通过对这两个寄存器进行读写,可以进行行、列的扫描。本设计为了节省系统资源,提高使用效率,因而采用中断和扫描相结合的方法来实现3×3键盘驱动。

当按键中断产生时,为了消除抖动,先不判断按键值,而是启动定时器,并在定时器中断中读取键值。读取键值的过程是首先判断行线,然后通过列扫描码来确定按键值。

下面给出的是键盘中断服务程序:

定时器中断服务程序如下:

下面是扫描程序:

4结束语

本文介绍了平台下人机接口的驱动开发方法,完成后的驱动程序可在MontavistaLinux操作系统下正常运行,因而对于在此平台下开发其他设备的驱动程序具有一定的启发作用。开放式应用平台也为今后系统的拓展预留了足够的空间,相信该系统会具有巨大的市场潜力。

上一页 1 2 下一页

关键词: OMAP 5912 手持 多媒体

评论


相关推荐

技术专区

关闭