轨迹球文档.doc

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
轨迹球文档

轨迹球文档v0.01 轨迹球原理介绍 轨迹球结构原理如下图示 图1 轨迹球是通过外部机械运动使H1, H2, H3, H4四个霍尔元件产生电磁感应,从而改变P1-P4的电压输出状态。 根据“霍尔效应”在霍尔元件中的应用以电磁转换来实现人机交互。 有关“霍尔效应”和“霍尔元件”请参考 HYPERLINK /view/614188.htm?fr=ala0_1 /view/614188.htm?fr=ala0_1 轨迹球内部结构及注意事项 轨迹球内部结构如下图示 图2 如上图示,轨迹球输出端口为push-poll。 接口结构图 图3 目前RK手机方案采用基于TCA6424扩展IO芯片实现轨迹球与RK2808的状态交互。当TCA6424轨迹球的在up、down、left、right和enter五个方向上有动作则发送中断到RK2808通知轨迹球有操作,之后RK2808通过I2C接口读取TCA6424端口状态寄存器得到状态改变的端口号。 注意:轨迹球button键无需处理毛刺,但需要外界上拉电阻到Vcc,不能处于float状态。 软件流程 Kernel/arch/arm/mach-rockchips/Rk28_devices.c中添加platform设备。 Kernel/arch/arm/mach-rockchips/rk28_devices.c注册platform。 Kernel/drivers/input/Kconfig文件添加下一级Kconfig文件路径。 Kernel/drivers/input/Makefile添加.o文件路径。 添加文件夹Kernel/drivers/input/mobile_jogball 添加源文件Kernel/drivers/input/mobile_jogball/jogball.c Jogball.c宏定义说明 #define TWO_DIREC_SUPPORT//支持两个方向处理 #define JOGBALL_SCAN_INTVAL 40 //轨迹球动作扫描,单位ms #define ROLLUP 103//上滚动键值 #define ROLLDOWN 108//下滚动键值 #define ROLLLEFT 105//左滚动键值 #define ROLLRIGHT 106//右滚动键值 #define ROLLENT 28 //垂直按下键值 #define JOG_UP_PORT Extend_GpioPort0_Pin1//轨迹球上滚动对应IO定义 #define JOG_DOWN_PORT Extend_GpioPort0_Pin2//轨迹球下滚动对应IO定义 #define JOG_LEFT_PORT Extend_GpioPort0_Pin4//轨迹球左滚动对应IO定义 #define JOG_RIGHT_PORT Extend_GpioPort0_Pin3//轨迹球右滚动对应IO定义 #define JOG_ENTER_PORT Extend_GpioPort0_Pin5//轨迹球垂直按下对应IO定义 轨迹球设备结构体说明 struct rock28_jogball { struct rock28_keypad_platform_data *pdata; struct hrtimer timer;//轨迹球状态扫描hrtimer句柄 struct input_dev *input_dev;//input设备指针 unsigned char jogball_codes[5];//轨迹球五个方向键值 unsigned char codes_bak[2];//前一次按键状态备份 unsigned long noop_cnt;//无操作计数 unsigned long debonce;//预留祛抖标志 volatile unsigned long inv_dir[4];//水平方向上四个方向操作计数 volatile unsigned long inv_ent;//垂直方向上操作计数 }; 软件流程示意图如下图示: 图4 文档整理人:刘洋 邮箱:liuy@

文档评论(0)

f8r9t5c + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8000054077000003

1亿VIP精品文档

相关文档