ADP5589键盘解码器和I/O扩展器技术手册

描述

概述
ADP5589是一款19通道GPIO(通用输入/输出)端口扩展器,内置键盘矩阵解码器、可编程逻辑、复位逻辑和PWM发生器。该IC支持QWERTY键盘和GPIO扩展。I/O扩展器IC适用于便携式设备(手机、遥控器和相机)及非便携式应用(医疗保健、工业和仪器仪表),可用来增加处理器可用的I/O数量,或者通过接口连接器减少前面板设计所需的I/O数量。

ADP5589处理所有按键扫描和解码,并通过一条中断线通知主处理器有新的按键事件发生。GPI变化和逻辑变化也可以通过FIFO记录为事件,从而无需监控不同的寄存器来判断事件变化。ADP5589配有一个FIFO,它最多可以存储16个事件。处理器可以通过I^2^C兼容型接口回读事件。

ADP5589使主处理器不必监控键盘,从而降低功耗和/或提高处理器带宽,以便执行其它功能。可编程逻辑功能支持将常用逻辑要求集成为GPIO扩展器的一部分,从而节省电路板面积和成本。同时提供参考软件Linux驱动。
数据表:*附件:ADP5589键盘解码器和IO扩展器中文手册.pdf

特性

  • 16单元FIFO用于记录事件
  • 19个可配置I/O支持多种功能
  • 键盘解码支持最大11 x 8的矩阵
  • 按键/释放中断
  • 键盘锁定/解锁
  • GPIO功能
  • GPI支持可选的中断级
  • 100 kΩ/300 kΩ上拉电阻
  • 300 kΩ下拉电阻
  • GPO支持推挽或开漏输出
  • 两个可编程逻辑模块
  • PWM发生器
    内部生成PWM
    内部与外部PWM求和(AND)
  • 时钟分频器
  • 复位发生器
  • I^2^C 接口支持增强快速模式(Fm+) ,数据速率最高可达1 Mbps
  • 开漏中断输出
  • 24引脚LFCSP封装

框图
ADP5589

引脚配置描述
ADP5589

详细说明

事件先入先出存储器(FIFO)

理解事件FIFO的功能十分重要。ADPD5589具备一个事件FIFO,它能够记录多达16个事件。默认情况下,FIFO主要记录按键事件,例如按键按下和按键松开。不过,也能够对通用输入(GPIO)和逻辑活动进行配置,使其在FIFO中也生成事件信息。事件计数EC[4:0]由5位组成,与FIFO协同工作,这样用户就能随时了解FIFO中还需读取多少内容。

FIFO由16个8位字节段构成,用户可通过读取FIFO_x寄存器进行访问。实际的FIFO并非通过连续的寄存器实现,直至有读取操作发生。FIFO可被视为一个“先进先出”缓冲区,用于填充寄存器0x03至寄存器0x12。

事件FIFO由16个8位寄存器组成。在每个寄存器中,位[6:0]存储事件标识符,位7存储事件状态。凭借这7位,可识别27个不同的事件。有关事件解码,请参见表11。

ADP5589

当FIFO中有可用事件时,用户首先应读取事件计数EC[4:0],以确定FIFO中剩余的事件数量。只有在读取一个事件后,FIFO中所有剩余事件才会上移一个位置,同时EC[4:0]计数会相应递减。

ADP5589

FIFO寄存器(0x03至0x12)始终指向FIFO的顶部(即EVENT1[7:0]的位置)。如果用户试图从FIFO中的任意无效位置读取数据,始终会从FIFO的顶部获取数据。这确保了事件只能按照其发生顺序从顶部读取,从而保证了事件顺序系统的完整性。

ADPD5589的一些板载功能可对FIFO中的事件进行编程计数。FIFO更新控制模块负责管理对FIFO的更新。如果I2C事务正在访问任何FIFO地址位置,更新操作将暂停,直至I2C事务完成。

当生成的事件超过16个,且外部处理器尚未读取并清除FIFO时,就会发生FIFO溢出事件。

如果发生溢出情况,溢出状态位将被置位。如果启用了溢出中断,将生成一个中断,向处理器发出信号,表明发生的事件已超过16个。

按键扫描控制

概述
19个输入/输出引脚可配置为解码一个键盘矩阵,最大尺寸为88个开关(11×8矩阵)。也可以配置较小的矩阵,释放未使用的行和列引脚用于其他I/O功能。

R0至R7 I/O引脚组成键盘矩阵的行,C0至C9 I/O引脚组成键盘矩阵的列。引脚作为行时,通过内部300kΩ或100kΩ电阻拉高。引脚作为列时,通过内部NMOS电流吸收器拉低。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分