ADP5589:强大的按键解码器与I/O扩展器
在电子设计领域,对于需要按键输入和I/O扩展功能的设备来说,ADP5589是一款非常值得关注的芯片。今天,我们就来详细了解一下这款ADP5589按键解码器与I/O扩展器。
文件下载:ADP5589CP-EVALZ.pdf
一、ADP5589概述
ADP5589是一款具有19个I/O端口的扩展器,集成了按键矩阵解码器、可编程逻辑、复位发生器和PWM发生器等功能。它适用于多种设备,包括便携式设备(如手机、遥控器和相机)以及非便携式应用(如医疗保健、工业和仪器仪表)。I/O扩展器的作用在于增加处理器可用的I/O数量,或者减少前面板设计中通过接口连接器所需的I/O数量。
二、主要特性
2.1 事件记录FIFO
ADP5589配备了一个16元素的FIFO,用于事件记录。默认情况下,它主要记录按键事件,如按键按下和释放。不过,也可以对通用输入(GPI)和逻辑活动进行配置,使其在FIFO上生成事件信息。通过一个由5位组成的事件计数器EC[4:0],用户可以知道在任何给定时间需要读取多少FIFO内容。
2.2 可配置I/O
它拥有19个可配置的I/O,能够实现多种功能:
- 按键矩阵解码:支持最大11×8的矩阵按键解码。
- 通用I/O扩展:最多可提供19个输入/输出。
- PWM生成:可以生成PWM信号。
- 时钟分频:对外部提供的时钟源进行分频。
- 双可编程逻辑块:可实现一些常见的逻辑功能。
- 复位发生器:具备两个复位发生器。
2.3 其他特性
- I2C接口:支持快速模式(Fm+),最高可达1 MHz。
- 开漏中断输出:方便与外部处理器进行通信。
- 多种封装形式:提供24引脚LFCSP(3.5 mm × 3.5 mm)和25球WLCSP(1.99 mm × 1.99 mm)两种封装。
三、功能详细解析
3.1 事件FIFO
事件FIFO由16个8位寄存器组成。每个寄存器的Bits[6:0]保存事件标识符,Bit 7保存事件状态。通过这种方式,能够识别127种不同的事件。当FIFO中有事件时,用户首先读取事件计数器EC[4:0],以确定需要读取的事件数量。事件只能从FIFO顶部读取,读取后,FIFO中剩余的事件会向上移动一个位置,EC[4:0]计数减1。
3.2 按键扫描控制
19个输入/输出引脚可配置为解码最大88个开关(11×8矩阵)的按键矩阵。R0 - R7引脚构成按键矩阵的行,C0 - C10引脚构成列。行引脚通过内部300 kΩ(或100 kΩ)电阻上拉,列引脚通过内部NMOS电流沉驱动为低电平。
按键扫描过程如下:当按键扫描器空闲时,行引脚被上拉为高电平,列引脚被驱动为低电平。当检测到行引脚为低电平时,开始按键扫描。扫描时,先将所有列引脚驱动为高电平,然后逐个将列引脚驱动为低电平,检测行引脚是否为低电平。为了防止误触发,按键必须按下两个扫描周期才能被识别为有效按键。
3.3 按键扩展与幽灵问题
按键可以通过将每行直接连接到地的开关进行扩展。当按下连接到地的开关时,整行接地,ADP5589会将这种情况解码为一个特殊的按键事件。不过,需要注意的是,当扩展按键被按下时,该行上的其他按键将无法被检测到。
幽灵问题是指在按键矩阵中,某些按键组合会导致额外按键的误读。解决幽灵问题的方法是选择合适的按键矩阵布局,避免三个或更多按键同时在多行或多列上被按下。
3.4 FIFO锁定/解锁
ADP5589具有锁定模式,在该模式下,事件不会更新FIFO、事件计数器或生成EVENT_INT中断,直到检测到解锁事件。锁定功能可以通过设置LOCK_EN位或用户可编程的按键或GPI事件来启用。解锁事件通过UNLOCK1[7:0]和UNLOCK2[7:0]寄存器进行编程。
3.5 GPI输入与GPO输出
每个I/O线都可以配置为通用逻辑输入(GPI)或通用输出(GPO)。GPI可以通过GPI_STATUS_x寄存器读取当前输入状态,并通过GPI_INTERRUPT_EN_x寄存器编程产生中断。GPO的配置和使用可以参考详细寄存器描述部分。
3.6 逻辑块
ADP5589的几个I/O线可以用作输入和输出,以实现一些常见的逻辑功能。逻辑块的输出可以配置为生成中断或在FIFO上生成事件。
3.7 PWM块
PWM发生器的输出可以配置为驱动I/O引脚R3。PWM的开关时间通过四个8位寄存器进行编程。新编程的值在写入最后一个字节PWM_ONT_HIGH_BYTE(地址0x41)后才会被锁存。
3.8 时钟分频块
时钟分频块可以对通过I/O引脚C6输入的外部时钟源进行分频,分频后的输出通过I/O引脚R3输出。
3.9 复位块
ADP5589有两个复位块,当检测到某些事件同时发生时,可以生成复位条件。RESET1最多可以编程三个复位触发事件,RESET2最多可以编程两个复位触发事件。
3.10 中断
INT引脚可以在任何内部中断源激活时被拉低。用户可以在寄存器INT_EN中选择哪些内部中断与外部中断引脚交互。
四、寄存器接口与配置
ADP5589通过其I2C兼容的串行接口进行寄存器访问,支持最高1 MHz的时钟频率。在访问FIFO或按键事件计数器(KEC)时,FIFO/KEC更新会暂停。文档中详细介绍了I2C的单字节写入、多字节写入、单字节读取和多字节读取序列。
五、应用与订购信息
5.1 应用
ADP5589适用于各种需要按键输入和I/O扩展功能的设备,如手机、遥控器、相机、医疗设备、工业控制设备等。
5.2 订购信息
ADP5589提供多种型号,不同型号在功能上有所差异,如所有GPIO上拉、复位直通、特殊功能引脚下拉等。同时,还提供评估板ADP5589CP - EVALZ,方便工程师进行测试和开发。
总的来说,ADP5589是一款功能强大、应用广泛的按键解码器与I/O扩展器。在实际设计中,工程师可以根据具体需求对其进行灵活配置,以满足不同设备的功能要求。大家在使用过程中有没有遇到过什么特别的问题呢?欢迎在评论区分享交流。
-
ADP5589
+关注
关注
0文章
5浏览量
5460
发布评论请先 登录
探索 MAX7315:8 端口 I/O 扩展器的卓越性能与应用
MAX7317:10端口SPI接口I/O扩展器的技术解析
探索MAX7313:16端口I/O扩展器的卓越性能与应用
ADP5587:多功能移动 I/O 扩展器与键盘控制器的深度解析
ADP5588:多功能移动 I/O 扩展器与键盘控制器的深度解析
ADP5589:多功能键盘解码器与I/O扩展器的深度解析
ADP5585:多功能输入输出扩展器的技术剖析
SGM4594:低电压16位I²C和SMBus低功耗I/O扩展器的全面解析
深入解析PCF8574:I²C总线8位I/O扩展器的设计与应用
PCA9555:16位I²C和SMBus I/O扩展器的全面解析
探索PCAL9714:超低压14位SPI I/O扩展器的卓越性能与应用
TCAL9539 I2C总线I/O扩展器技术解析与应用指南
ADP5589:强大的按键解码器与I/O扩展器
评论