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

网友投稿 256 2022-11-03

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

0引言

手持多媒体终端以其高渗透力的移动数字媒体方式、全新的业务理念和巨大的市场潜力而倍受关注,已成为世界各国广播和电信产业积极研究和发展的重要领域。手持多媒体终端具有高集成度、低功耗以及使用灵活等优点,故可广泛运用于各种领域。手持多媒体终端对人机接口的设计也越来越人性化、多元化。本系统之所以选用 OMAP5912微处理器,除了它具有低功耗、高性能的特性外,其丰富的外圈接口可提供对各种人机接口的支持,也是其重要因素之一。

1 LCD显示设计

1.1接口框架

本终端设计中包含的人机接口为键盘、触摸屏以及LCD显示屏,图1所示是其接口结构框架。在下面的章节中将对各功能模块分别进行介绍。

1.2 LCD控制器

1.3 LCD的驱动实现

framebuffer驱动的最重要结构体就是fb_info,它记录了帧缓冲设备,即当前显卡的全部信息,包括设备的参数、状态以及操作函数指针等。每一个帧缓冲设备都必须对应一个这样的结构体。

(2)初始化结构体;

(3)初始化硬件,配置相应寄存器;

(4)申请中断;

(5)注册frame buffer设备。

在文件层次上,Linux为其定义了读操作、写操作、映射操作、打开操作和关闭操作等,其定义代码如下:

2触摸屏输入设计

2.1触摸屏芯片ADS7843

2.2触摸屏驱动

ARM侧的处理流程如下:

(1)ARM侧的MAILBOX中断;

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

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

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

3键盘输入设计

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

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

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

下面是扫描程序:

4结束语

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

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:什么是大数据流量(大数据是什么数据)
下一篇:阿里巴巴在开源压测工具 JMeter 上的实践和优化
相关文章

 发表评论

暂时没有评论,来抢沙发吧~