ADP5586键盘解码器和I/O端口扩展器技术手册

描述

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

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

ADP5586使主处理器不必监控键盘,从而降低功耗和/或提高处理器带宽,以便执行其它功能。

可编程逻辑功能支持将常用逻辑要求集成为GPIO扩展器的一部分,从而节省电路板面积和成本。
数据表:*附件:ADP5586键盘解码器和IO端口扩展器技术手册.pdf

应用

  • 键盘输入和输入/输出扩展功能
  • 智能手机、遥控器和相机
  • 医疗保健、工业和仪器仪表

特性

  • 16单元FIFO用于记录事件
  • 10个可配置I/O支持如下功能:
    -- 键盘解码支持最大5 × 5的矩阵
    -- 按键/释放中断
    -- 欲了解更多特性,请参考数据手册
  • I^2^C 接口支持增强快速模式(Fm+),频率最高可达1 MHZ
  • 开漏中断输出
  • 16引脚1.59 mm × 1.59 mm WLCSP封装

框图
解码器

时间图
解码器

引脚配置描述
解码器

操作理论
解码器

功能描述

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

在深入了解 ADP5586 的各个模块之前,理解 ADP5586 中事件 FIFO 的功能非常重要。事件 FIFO(寄存器 0x03 至 0x12)最多可记录 16 个事件。默认情况下,FIFO 主要记录按键事件,例如按键按下和松开。不过,也可以配置它来记录通用输入(GPI)和逻辑活动事件,以生成事件发生信息。此外,还有一个事件计数器 EC[4:0](寄存器 0x02,位[4:0]),由五个比特组成,与 FIFO 协同工作,以便用户了解 FIFO 中存储的事件数量。

FIFO 由十六个 8 位元素组成。每个元素的 Bits[6:0] 存储事件标识符,Bit 7 存储事件状态。用户可以通过 FIFO_16 寄存器读取 FIFO 的顶部元素。ADP5586 有多个机制来控制 FIFO 寄存器,允许通过单个 I2C 突发读取来完整读取 FIFO 内容。
解码器
解码器

FIFO 寄存器始终指向 FIFO 的顶部(即 EVENT1[7:0] 的位置)。如果用户尝试从 FIFO 中的任何其他位置读取数据,总是会获取该位置顶部的副本。这确保了事件只能按发生顺序读取,从而保证了 FIFO 系统的完整性。

如前所述,ADP5586 的一些板载功能可配置为向 FIFO 生成事件。FIFO 更新控制模块管理对 FIFO 的更新。如果 I2C 事务访问任何 FIFO 地址位置,在事务完成之前,更新将暂停。

当在外部处理器读取 FIFO 并清除之前生成了超过 16 个事件时,就会发生 FIFO 溢出事件。

如果发生溢出情况,溢出中断状态位将被置位(OVERFLOW_INT,寄存器 0x01,位 2)。会生成一个中断,向处理器发出信号,表明发生了超过 16 个事件。

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

全部0条评论

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

×
20
完善资料,
赚取积分