概述
ADP5587 是一款 I/O 端口扩展器和键盘矩阵,适用于需要大型键盘矩阵和扩展 I/O 线路的 QWERTY 型电话。I/O 扩展器 IC 可以在移动平台中解决主处理器 GPIO 数量有限的问题。
ADP5587 采用 2 mm × 2 mm 小型封装,具有足够的能力处理所有按键扫描和解码工作,并通过 I^2^C 接口和中断来标记处理器的按键按下和松开操作。ADP5587 使主微处理器无需监控键盘,从而将电流消耗降至较低,并增加了处理器带宽。ADP5587 还配有缓冲器/FIFO 和按键事件计数器,借助溢出换行和中断功能,可处理和跟踪多达 10 个未处理的按键或 GPI 事件。
ADP5587 具有键盘锁功能,可以选择在按键按下和松开时触发或不触发中断。与主处理器的所有通信均使用一条中断线路和两条与 I^2^C 兼容的接口线路完成。ADP5587 可配置为最多 8 行 × 10 列的键盘矩阵(最多 80 个按键)。
当 ADP5587 用于较小的键盘矩阵时,可以将未使用的行和列引脚重新配置为通用输入或输出。R0 至 R7 表示矩阵的行引脚,而 C0 至 C9 表示列引脚。上电时,所有行和列均默认为 GPI,并且必须将它们编程为键盘矩阵的一部分或编程为 GPO。
LFCSP 封装提供了两个 I^2^C 地址选项,旨在减少端口争用几率,并允许最多两个 ADP5587 IC 在同一 I^2^C 总线上运行(请参阅订购指南)。
数据表:*附件:ADP5587移动IO扩展器和QWERTY键盘控制器技术手册.pdf
应用
框图
引脚配置描述
典型性能特征
工作原理

ADPD5587是一款通用型输入输出(GPIO)扩展器,可配置为18端口I/O扩展器,或10列×8行的键盘矩阵(最多80个按键 )。它非常适用于手机设计及其他便携式设备,这些设备可能需要扩展键盘和/或扩展I/O功能。当需要较小尺寸的键盘时,键盘矩阵中未使用的GPIO可作为I/O(通用输入/输出)和GPI(通用并行接口)使用。所有GPIO(行和列)在加电时默认设置为带内部上拉和去抖动功能的GPI。
键盘操作
键盘矩阵的行数和列数可进行配置,最多为10列×8行。组成键盘矩阵的行和列需通过在寄存器0x1F中设置相应位来进行配置。按键按下和松开事件会以十进制数值(十六进制0x01或二进制00000001,对应值为80,十六进制0x50或二进制1010000)的形式出现在按键事件表/寄存器中。在按键事件编号分配表中,按键被配置为列驱动为低电平,行作为输入并配置有上拉电阻。

当有一个按键按下或多个按键(列与行之间短暂间隔)按下时,内部状态机检查行引脚以确定哪一行被拉低,进而触发内部中断。状态机随后启动按键扫描周期,以确定涉及按键按下的列。在按键按下25毫秒后,状态机在按键事件状态寄存器中设置相应的按键编号(按键事件寄存器中的最高有效位),顺序为检测到的按键编号。然后,状态机在寄存器0x02中设置KE_INT位。如果寄存器0x01中的KE_IEN位被置位,将向主机处理器发送中断信号。
全部0条评论
快来发表一下你的评论吧 !