当前位置:首页 > 消费电子 > 消费电子
[导读]1 引言 随着智能手机逐步普及,3G服务不断完善,利用手机上网、收发电子邮件已逐步成为一种时尚,而常见的手机键盘仅有简单的功能和数字按键,而输入复杂的汉字、符号时需繁琐切换,输入速度减缓,因此,高端手

1 引言
    随着智能手机逐步普及,3G服务不断完善,利用手机上网、收发电子邮件已逐步成为一种时尚,而常见的手机键盘仅有简单的功能和数字按键,而输入复杂的汉字、符号时需繁琐切换,输入速度减缓,因此,高端手机迫切需要一种便捷的输入界面。QWERTY键盘的推出解决了这个问题,它以其齐全的按键分布能够让使用者轻易直接输入想要的内容,为此这种手机键盘大受欢迎。QWERTY键盘又称为全功能键盘,其按键分布与PC键盘基本相同,主要包括26个英文字母、数字O~9、方向控制、回车、Ctrl、Alt和符号键等,完全可实现PC键盘的输人和操作。QWERTY凭借其独特的外观、出色的商务功能、另类的 QWERTY键盘,以及本身的智能性、娱乐性、前卫性,目前已在手机世界占有重要地位。新一代以Gphone为代表的智能手机均配备了QWERTY键盘。随着手机市场的不断深化,已有很多品牌涉足其中,其中不乏诺基亚、三星、摩托罗拉等国际知名大品牌。
    由于键盘扫描需占用大量GPIO,而手机中无论是基带控制器还是应用处理器受到器件引脚数的限制,因此能够提供的GPIO数目十分有限,通常需要外扩 GPIO来实现键盘扫描,这会占用大量软件资源并增加许多功耗。因此,Maxim公司针对这一问题先后推出两代全键盘控制器MAX7349和 MAX7359。

2 MAX7349和MAX7359编程
    MAX7349和MAX7359均可管理多达64个按键,采用Maxim专有的低电压、低EMI静态按键扫描技术,并将去抖后的扫描结果编成键值,依据按键的键序将键值消息存放在FIFO中,手机处理器在适当的时候读取FIFO中的键值消息,即使处理器没有及时处理按键事件,按键消息也不会丢失,这对通常采用非实时操作系统的智能手机来说非常重要。与MAX7349相比,MAX7359增加了按键释放检测功能,即每次按下和释放按键都会生成一个键值消息,可更简便实现多键同时输入及组合键功能。另外,该系列器件优化了控制寄存器并增加存储键值消息的FIFO空间,即由MAX7349的存储8次按键增加到存储16次按键。
    MAX7359还具有自动休眠和自动唤醒功能,以使器件的功耗最低。一个休眠周期后,自动休眠功能将器件置于低功耗状态(典型值1μA)。发生按键事件时,自动唤醒功能设置MAX7359返回至正常工作模式。
    这两款器件对于硬件设计而言较简单,但在编写驱动软件时需稍加注意。以下是MAX7349的编程建议:
    (1)建议避免使用0行0列的0号按键。
    (2)MAX7349初始化,假设MAX7349设置I2C地址的AD0引脚接地,将MAX7349的I2C读/写地址设为0x71/0x70,其过程如下:

    /*MAX7349初始化开始*/
    I2C_Write(0x70,0x04,0x01,); //关断
    I2C_Write (0x70,0x01,0);     //9 ms去抖
    I2C_Write(0x70,0x02,0);      //禁止Autorepeat功能
    I2C_Wirte(0x70,0x03,0x01);   //使能硬件中断
    I2C_Write(0x70,0x05,0);      //防止意外输出,可省略
    I2C_Write(0x70,0x04,0x81);   //启动器件正常功能
    /*MAX7349初始化结束*/
    (3)每次收到硬件中断后,连续读FIFO寄存器(I2C_Write(0x70,0x00);I2C_Read(0x71,变量)。注意此读操作是一次用于写FIFO寄存器地址0x00的写操作和一次读操作构成;如果连续读FIFO,则只需开始时进行一次写操作I2C_Write(0x70,0x00) 即可,FIFO寄存器地址不会自动递增),一直读到0x00的值全为0为止(建议避免使用0号按键),设一个最大读取次数(256次),如果来一次中断读取256次FIFO中还有非0值,就直接重启一次器件,执行如下操作:
    I2C_Write(0x70,0x04,0x01); //关断
    12C_Write(0x70,0x04,0x81); //启动器件正常功能
    (4)关于按键释放检测,由于MAX7349无按键释放检测,对于组合键,长短键等特殊按键需求,需要软件配合来实现。实现方法如下:
    每次收到硬件中断后通过I2C将FIFO读空,50 ms后将MAX7349重启,执行以下操作:
    I2C_Write(0x70,0x04,0x01,); //关断
    I2C_Write(0x70,0x04,0x81);    //启动器件正常功能
    若随后未收到中断,或收到中断后一直读空FIFO,也未有与上一次相同的按键信息,则认为上次按键释放,向上层软件发一个按键释放信息。如果收到中断后读FIFO中有与上次相同的按键信息,则继续重复“读空FIFO,等50 ms重启器件”的步骤。
    实际上,只要检测到硬件中断就要连续重复“读空FIF0,等50 ms后重启器件”的步骤,直到器件重启后没有新的硬件中断为止。
    (5)根据经验,在I2C总线工作不正常时尝试通过设置0x04寄存器的D0位使能或禁止总线超时功能。MAX7359南于增加了按键释放检测功能,即按下和释放按键都产成一个键值信息,所以要比MAX7349的软件处理更简单,关于MAX7359的编程建议如下:
    ①避免使用的按键 MAX7359修改按键信息FIFO(寄存器地址为:0x00)为空时的缺省值,由MAX7349的0x00改成MAX7359的0x3f。所以如果设计使用新的MAX7359,应尽量避免使用第63号键(Co17和Row7交叉处的键)和62号键(Co17和Row6交叉处的键),这是因为软件在处理这两个按键的键值时会复杂一些。
    ②MAX7359初始化MAX7359初始化过程如下(假设MAX7359设置I2C地址的AD0引脚接地,将MAX7359的I2C读/写地址设为Ox71/0x70);
    /*MAX7359初始化开始*/
    I2C_Write(0x70,0x01,0x08); //关断,开始初始化
    I2C_Write(0x70,0x02,0x01); //10 ms去抖,可调
    I2C_Write(0x70,0x03,0x01); //按键消息FIFO非空则触发中断
    I2C_Wirte(0x70,0x04,0); //防止错误触发GPIO
    I2C_Write(0x70,0x05,0); //关闭自动重复功能
    I2C_Write(0x70,0x06,0); //关闭自动关断功能,可根据需要打开自动关断功能,关断前的等待时间可设。
    I2C_Write(0x70,0x01,0x88); //启动器件正常功能
    /*MAX7359初始化结束*/


3 读取按键消息
3.1 设置FIFO寄存器
    收到硬件中断后,先通过一次写操作设置FIFO寄存器地址:0x00。
    I2C_Write(0x70,0x00)://如果写一次FIFO地址之后没有对MAX7359其他控制寄存器的读写,则下次读FIFO寄存器,可不用再写FIFO地址。
    I2C_Read(0x71,字节变量);
    …… //重复读FIFO直至读到代表
    FIFO为空的0x3f,可以没一个最大次数,如256次,如果一次中断后读了256次FIFO里还有没读到0x3f,则软重启软重启过程如下:
    I2C_Write(0x70,0x0 1,0x08);
    I2C_Write(0x70,0x01,0x88);
3.2 FIFO消息的处理
    处理读到的FIFO字节变量(假设变量名为:FIFO_BYTE)后,软件处理方法如下:
    (1)将从FIFO收到的非0x3f的字节变量FIFO_BYTE和0x3f取与(AND 0x3f),结果值为按键值(即0至63号键中某一个被按下或释放)。
    (2)再将该FIFO_BYTE和0x40取与(AND 0x40),结果为0则说明按键被按下,结果非0则说明按键被释放。如果硬件布线时使用了63号和62号键,FIFO_BYTE处理复杂,请软件设计工程师参考MAX7359编程指南的62号和63号键处理方法。
3.3 长按键处理
    通常需要起一个定时器,定时检查还未收到键盘释放信息的键盘按下信息都是何时发生的,如果是当前时间减去按键按下的时间满足长按键时间,就可向上层软件发长按键消息。

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

深圳2024年5月14日 /美通社/ -- 5月13日,vivo发布了旗下尖端旗舰手机X100 Ultra,该产品已获得国际独立第三方检测、检验和认证机构德国莱茵TÜ...

关键字: ULTRA 智能手机 VIVO 测试

5 月 3 日,市场研究机构 Counterpoint 发布了 2024 年第一季度全球智能手机的统计数据。结果显示,2024 年第一季度全球智能手机市场出货量达到 2.969 亿部,同比增长 6%。这一增长主要归功于欧...

关键字: 智能手机

如果遇到地震,通信中断,拥有卫星智能手机的用户可以正常拨打电话。

关键字: 智能手机 卫星电话 卫星智能手机 卫星通信

4月23日,深圳传音控股股份有限公司发表了2023年年度报告。数据显示,2023年,该公司手机整体出货量约1.94亿部。

关键字: 传音 智能手机

业内消息,近日市场调研机构 IDC 发布研报称,2024 年第一季度(1Q24)全球智能手机出货量同比增长 7.8% 至 2.894 亿部。虽然智能手机行业尚未完全摆脱困境,市场仍面临宏观经济挑战,但这一数字标志着智能手...

关键字: 智能手机 出货量

【2024年4月10日,德国慕尼黑讯】英飞凌科技股份公司(FSE代码:IFX / OTCQX代码:IFNNY)推出了业界首款-48 V宽输入电压数字热插拔控制器XDP700-002,扩展了其XDP™数字功率保护控制器系列...

关键字: 控制器 晶体管 5G

【2024年4月10日,德国慕尼黑和美国加利福尼亚州旧金山讯】全球功率系统和物联网领域的半导体领导者英飞凌科技股份公司(FSE代码:IFX / OTCQX代码:IFNNY)宣布其OPTIGA™ Trust M安全控制器现...

关键字: 物联网 控制器 供应链

作为全球最大数据产生国之一,随着数据规模的成倍增长,中国对更高性能数据中心的需求日益迫切。根据IDC Global DataSphere对每年数据产生量的预测,全球数据量的复合年增长率(CAGR)将达到 21.2%,并在...

关键字: 数据中心 CXL技术 控制器

北京,2024年4月8日,运动与控制领域的先行者——派克汉尼汾携APK系列控制器、CRV系列工业电磁阀、RRV系列快开电磁阀和SEHI系列电子膨胀阀组等新品亮相2024中国制冷展,并展示公司在商超冷库、冷水机组、环测设备...

关键字: 控制器 工业电磁阀 数据中心
关闭
关闭