admin 管理员组文章数量: 1184232
2024年4月12日发(作者:memcached与redis)
维普资讯
《农业网络信 g}2008年第5期 交流园地
基于Linux智能手机的设备驱动的探讨
周秋珍,徐秋红
(北京林业大学信息学院,北京100083)
摘要:基于Linux的智能手机软件平台项目是联想研究院的重点项目,其目的是为了统一联想高端智能手机软件平台。本
文介绍了Linux智能手机系统的开发,通过研究手机内外屏键盘工作原理,完成了嵌入式智能手机的内外屏键盘驱动的设
计与实现。文章所探讨的内外屏键盘驱动已经被用于联想的系列奥运产品中,并将在未来的联想高端智能手机中运用。
关键词:Linux;键盘驱动;智能手机;设备驱动
中图分类号:TP399 文献标识码:B 文章编码:1672—6251(2008)05—0158-03
The study of the device drivers of smart phone based linux
ZHOU Qiu—zhen,XU Qiu-hong
(College of Information Science and Technology,Beijing Forestry University,Bering 100083)
Abstract:the software plaftorm of smart phone based Linux is important projeat of lenovo institute,which aims to unify Lenovo
High-tech smart phone software platform.The paper introduces the development of Linux smart phone system.by studying the
keyboard S working principle,ultimately completes embedded smart phone,the internal and external screen of keyboard—driver of
design and implementation.The internal and external screen of keyboard-driver process has been used in a series of Lenovo
Olympic products,and will be used by high—tech smart phones in the future. 、
Key words:Linux;Keyboard drivers;Smart phone;Device drivers
Linux由于具有高效稳定、多用户环境、易裁减 行总线充电及数据传输等其它应用。
与移植等特点,在嵌入式系统领域获得了飞速的发
软件环境:基于Linux内核的操作系统,采用
展;在智能手机领域,受到了广泛的关注。在国外,
Qte/Qtopia(奇趣公司开发平台)来搭建系统。系统的
Motorola和IBM等都采用了Qt/Embedded开发平台:
主要软件层划分为操作系统、中间件和应用程序层,
在中国,作为高端企业之一的联想,也采用了Qt/Em
软件系统的层次关系和模块划分所如图1t ]所示:
bedded作为开发基于Linux的智能手机的开发平台和
图形用户界面。目前国内对基于Linux技术的智能手
机的研究,还不成熟,并未形成一个完整的架构体系和
设计方案.对LiBULK智能手机进行系统化的研究,统
一
联想基于Linux智能手机设计流程是非常必要的【l1。
键盘作为与图形用户界面的交互手段和重要的数据输
入方式,在LiBUX智能手机项目中起着十分重要的作
用。
Mont ̄lst丑
UBiJxi CEE
3.1 for0H^P
1系统开发环境
16xx vdth
GSM/GPRS
硬件环境:本项目为研发出一款GSM(全球移动
P3beard
based On
通信系统)与WiFi(无线局域网)、蓝牙共存的多模
0M^P l62l
块移动终端平台,支持频率GSM900/180O/1900,存储
Solu tion
[ [ 蚤主
卡可扩展到1GB.支持GSM/GPRS与无线局域网数据
图1软件系统层次关系和模块划分
应用,支持MP3播放、办公软件、闪联标准、通用串 在硬件设备上运行嵌入式Linux操作系统,中间
收稿日期:2008—02—28;修回日期:2008—03—07
作者简介:周秋珍(1982一),女,硕士研究生,研究方向:嵌入式操作系统。
・-———
158---——
维普资讯
《农业网络信A)2oo8年第5期 交流园地
件各模块(QT/Embedded、Qtopia核心以及其它功能
模块)使用Linux内核和驱动程序提供的系统调用,
实现供上层应用程序调用的各种基本功能,形成一个
开发平台,Qtopia及其上运行的各种应用程序在此平
台上开发和运行。最终完成提供给用户使用的各种功
能。本系统采用QT/Embedded+Qtopia这套完备的基
本软件架构,同时进行优化设计以提高系统的运行效
率。
2内外屏键盘驱动
2.1硬件实现方案
Linux智能手机的开发板项目包含内外屏两个键
盘,这两个键盘芯片都采用MAX7359型号;
MAX7359 I2C接口的外设为微处理器管理多达64个
按键开关.多个按键可以按照不同顺序同时按下、保
持、释放。按键按下、释放的输入操作可以被保存在
FIFO寄存器内,用来存储press和release对应的键码,
供驱动来读取。MAX7359以一个字节为单位采集按键
的按下或释放输入,并通过简单的I2C接口读取。为
了增强芯片的抗噪声能力,按键提供去抖检测。
MAX7359具有自动休眠和自动唤醒功能,按键输入是
静态监视而非动态扫描,以确保低EMI工作。中断输
出fINT低电平有效1可配置为对按键事件或最大速率
报警。任意列驱动器fCOL2/PORT2一COL7/POR1_7)
或者低电平有效的INT如果未被使用,则可作为通用
输出(GPO)。MAX7359提供小型24引脚TQFN
(3.5mm X 3.5mm)封装,适合智能手机等电子产品。
键盘驱动的功能1为完成对内外屏键盘按键和释
放事件的检测,并发送键值给上层。功能2为完成对
外键盘上power键f没有接在max7359上1按键和释
放时间的检测,并发送键值f规定power键发送的键
2V8 1 ̄
图2内屏键盘工作原理图
O&001
7359ETG
值为100)给上层。当按下某键,对应行和列接口导
通。初始状态时列接口都是输出高电平状态,行接口通
过软件配置为低电平。当有按键按下,某个列接口电平
被下拉从而产生下降沿,触发中断l 3i。内外屏键盘工作
原理如图2和图3口】所示
图3外屏键盘工作原理图
Power键:Power键与AP的F19管脚相连,模式
为UTM
LINESTATE0GPIO104。
—一
2.2硬件接口
键盘控制器采用的是外置双24+64键I2C接口。
内屏键盘:内键盘芯片的ADO管脚与GND连接,
2.3软件描述
2_3.1 应用内外键盘和Power键在按键和释放时.
向其发送键值扫描码,负责发送按键和释放的状态。
对于键盘事件,给上层应用提供标准的键值接口和按
键、释放标志,为应用程序提供了丰富的底层驱动支
持。
则其I2C地址为:0x38内键盘芯片的INT管脚与AP
的El3管脚相连,模式为KP_MKIN4
GPIO1 19。
一
外屏键盘:外键盘芯片的ADO管脚与V+连接,
则其I2C地址为:Cb(3A内键盘芯片的INT管脚与AP
的V16管脚相连,模式为CIR
OUTGPIO16。
__
2_3.2 Max7359初始化在进行完I2C设备的一般的
初始化过程后,函数keypad
init 0完成对max7359
_
维普资讯
《农业网络信 g))2oo8年第5期 交流园地
的初始化工作,清空FIFO,配置各种寄存器,并对寄
ible(&max7359_keypadt_wait)唤醒该线程进行处理,
存器的值进行检查。并要注册中断(Max7359的中断 读取FIFO中的值,并及时判断是按下还是释放。把
是下降沿触发)。
键值和状态通过input
_
report_key 0函数发送给上层。
2.3.3 事件的中断处理 键盘驱动的核心就在于对键
键码情况总结为如下四种:最新(1atest)按键press代
值的扫描和处理。为了实现快速的响应速度,采取了
码;最新(1atest)按键release代码;非最新按键press
一
个独立的线程;当无按键事件时。该线程处于休眠 代码;非最新按键release代码。详细情况见表1和表
状态:有键按下或者释放时,通过调用函数dis.
2
able irq(IRQ_MAIN_KEYPAD)和wake_up_interrupt-
表1最新(1atest)按键press的代码
表示多读~个字节。观察FIFO是否为空;保留Ox3F键码表示FIFO空;保留0x7F键码为FIFO溢出标志;
保留Ox3E键码为按键重复标志,并且该键为最后一个FIFO数据;保留0x7E键码为按键重复标志。并且
FIFO里还有更多数据。
3结束语
在Hnux中。系统调用是操作系统内核和应用程
参考文献
序之间的接口。而设备驱动程序就是操作系统内核和
[1]孟彦.Linux智能手机phoneserver模块设计与优化[M].北京:联
机器硬件之间的接口 联想研究院基于Hnux的智能
想研究院。2007.
手机平台的研发是联想集团目前的重点项目,此项目对
[2j刘同.键盘驱动设计【MJ.北京:联想研究院,2007.
后PC时代的智能手持设备提供前瞻性研究。本文基
[3]李杰.基于嵌入武Linux的矩阵键盘设计与实现【J].现代电子
于嵌入式Linux下的智能手机体系的开发。探讨智能
技术,2006,(29):81~83.
手机的内外屏键盘驱动的设计。
一
160—
版权声明:本文标题:基于Linux智能手机的设备驱动的探讨 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/b/1712866042a610103.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论