adp5589 data input
好的,ADP5589 的数据输入功能涉及如何配置其 GPIO 引脚作为输入、如何处理来自这些引脚的信号(按键按下/释放、开关状态变化等),以及如何读取输入状态。以下是详细介绍,用中文说明:
-
理解输入源:
- 核心输入源是键盘(Keypad):ADP5589 专为检测最多 10x10 按键矩阵设计。按下矩阵键就是最典型的数据输入事件。
- GPIO 作为输入:芯片的 17 个 GPIO 引脚可独立配置为数字输入端口(通过
GPIO_CFGx寄存器)。配置为输入后,GPIO 可以:- 直接读取数字状态(高/低电平)。
- 配置为边沿触发中断源(上升沿、下降沿或双边沿)。
- 模拟额外的按键矩阵行或列。
- 连接开关、拨码、传感器输出等数字信号源。
-
配置输入功能(关键步骤):
- 设置方向寄存器 (
GPx_DIR): 这是最重要的设置。要将某个 GPIO 引脚用作输入,必须将该引脚对应的GPx_DIR寄存器位设为 0(输入模式)。 - 配置上拉/下拉电阻 (
GPx_PULLx):GPx_PULL_UP: 控制内部上拉电阻。设为 1 使能上拉(连接到 DVDD)。GPx_PULL_DOWN: 控制内部下拉电阻。设为 1 使能下拉(连接到 GND)。- 选择: 通常根据你的应用电路选择:
- 如果外部开关连接在 GPIO 和 GND 之间(按键按下拉低),应使能上拉电阻(设为 1),这样按键未按下时为高电平,按下时为低电平。
- 如果外部开关连接在 GPIO 和 DVDD 之间(按键按下拉高),应使能下拉电阻(设为 1),这样按键未按下时为低电平,按下时为高电平。
- 如果外部电路本身有可靠的上拉或下拉,可以选择禁用内部上拉下拉(都设为 0),但务必确认外部电路状态稳定,避免悬空。
- (可选) 输入类型选择 (
GPx_IN_TYPE):GPx_IN_TYPE[1:0]: 选择输入引脚的逻辑阈值类型。00: CMOS 输入(默认)。适用 DVDD 电源范围内的数字信号。01: CMOS 输入带迟滞(更抗噪)。10/11: 保留或备用功能(通常与核心按键矩阵功能复用,GPIO 模式时一般用00或01)。
- 对于标准的按键和开关输入,通常使用默认值 (
00) 或带迟滞的 CMOS (01) 即可。
- (可选) 输入中断配置 (
GPIO_INTERRUPT_EN,GPx_EVEN,GPx_INEN):- 如果希望通过 GPIO 输入状态变化触发中断:
- 全局使能 GPIO 中断源:设置
INTERRUPT_ENABLE寄存器的GPIO_IEN位为 1。 - 配置具体哪个边沿触发中断:
GPx_EVEN: 控制中断是发生在上升沿(EVEN=0)还是下降沿(EVEN=1)或两者(需要其他配置配合)。GPx_INEN: 使能/禁止该引脚上的中断功能。设为 1 使能所选边沿检测。
- 详细的中断配置请参考
INT_STAT和KEY_EVENT等中断状态寄存器。注意按键矩阵事件有自己独立的中断系统 (KEY_IRQ)。
- 全局使能 GPIO 中断源:设置
- 如果希望通过 GPIO 输入状态变化触发中断:
- 设置方向寄存器 (
-
读取输入数据:
- 读取当前 GPIO 引脚状态的核心寄存器是
GPx_DAT。- 读取
GPx_DAT寄存器的值,其每一位对应一个 GPIO 引脚。 - 位值为 0:表示该输入引脚检测到低电平。
- 位值为 1:表示该输入引脚检测到高电平。
- 读取
- 读取按键矩阵状态: 按键矩阵的输入状态不是直接通过
GPx_DAT读取的!- 按键矩阵的状态通过一组专门的
KEY_*寄存器(如KEY_DATA1,KEY_DATA2)或更高级的Key Event FIFO来访问。 - 建议优先使用
Key Event FIFO模式(如果启用):- 每次按键按下和释放都会产生一个
KEY_EVENT。 - 读取
KEY_EVENTFIFO (通常是KEY_DATA0) 可以获取事件的类型(按下/释放)和触发事件的键代码(Key Code)。 - 这提供了去抖动和状态报告功能,是处理按键输入的推荐方式。
- 每次按键按下和释放都会产生一个
- 也可以读取
KEY_DATAx寄存器来直接获取当前整个按键矩阵的瞬时压合状态(多位图),但需要自行处理去抖。
- 按键矩阵的状态通过一组专门的
- 读取当前 GPIO 引脚状态的核心寄存器是
-
数据输入流程总结(对 GPIO 输入):
- 配置 GPIO 方向为输入 (
GPx_DIR = 0)。 - 配置上拉/下拉电阻 (
GPx_PULL_UP,GPx_PULL_DOWN) 匹配外部电路。 - (可选) 配置输入阈值类型 (
GPx_IN_TYPE)。 - (可选,如果需要) 配置中断触发条件和使能。
- 循环读取或通过中断触发后读取
GPx_DAT寄存器,解析对应位的值(0=低/1=高)。
- 配置 GPIO 方向为输入 (
-
数据输入流程总结(对按键矩阵输入):
- 正确配置按键矩阵的行和列(通过
GPIO_CFGx将特定 GPIO 分配到 Row/Column,确保行列数设置KEC[KE_NUM]匹配)。 - 强烈建议启用
Key Event FIFO(通过KEY_EVENT_MODE等设置)。 - 使能按键中断 (
KEY_IRQ_EN = 1)。 - 当发生按键事件(按下/释放)时,
KEY_IRQ中断标志会被置位。 - 在中断服务程序(ISR)中,读取
KEY_EVENTFIFO (通常是KEY_DATA0)。 - 解析 FIFO 数据:确定是按下事件还是释放事件,以及触发的键代码(Key Code)。
- 根据键代码处理应用逻辑。
- 清除
KEY_IRQ中断标志位(具体寄存器查看手册,可能是向KEY_STAT写1清除)。
- 正确配置按键矩阵的行和列(通过
重要提示:
- 仔细阅读手册: 以上为通用流程。务必参考最新版本的 ADI 官方 ADP5589 数据手册,特别是寄存器描述章节 (
Register Map),以获取每个寄存器的精确位定义和推荐配置顺序。 - 去抖动: 对于机械开关(包括按键),物理接触会发生抖动。按键矩阵使用 FIFO 模式时,芯片内部已包含去抖逻辑(约 20ms)。如果直接读取
GPx_DAT或KEY_DATAx,你可能需要自己在软件中添加去抖动算法。 - 中断处理: 如果使用中断模式,确保你理解 ADP5589 的中断结构和清除中断标志的方式。
- 初始化和开漏配置: 初始化时,特别是在开漏输出模式下配置为输入的引脚(如 I2C 的 SDA),要特别注意引脚状态的稳定性和驱动能力。标准输入配置通常不涉及开漏输出模式。
通过正确配置寄存器和理解读取数据的寄存器位置及方式,就能实现 ADP5589 接收各种数字输入信号(按键、开关、传感器等)的功能。
ADP5589键盘解码器和I/O扩展器技术手册
ADP5589是一款19通道GPIO(通用输入/输出)端口扩展器,内置键盘矩阵解码器、可编程逻辑、复位逻辑和PWM发生器。该IC支持QWERTY键盘和GPIO扩展。I/O扩展器IC适用于便携式设备
2025-05-22 09:35:11
ADA4511-2: Precision, 40 V, Rail-to-Rail Input and Output Op Amp with DigiTrim Data Sheet adi
Data Sheet相关产品参数、数据手册,更有ADA4511-2: Precision, 40 V, Rail-to-Rail Input and Output Op Amp with DigiTrim
基于ADP5589CP-EVALZ视频编码器-解码器的参考设计
查看ADP5589CP-EVALZ的参考设计。 http://www.elecfans.com/soft/有成千上万的参考设计,可帮助您使项目栩栩如生。
资料下载
佚名
2021-01-12 21:20:02
MAX22195: High-Speed, Octal, Industrial Digital Input with Parallel Output Data Sheet MAX22195: High-Speed, Octal, Industrial Digital Input
电子发烧友网为你提供ADI(ADI)MAX22195: High-Speed, Octal, Industrial Digital Input with Parallel Output Data
MAX22199: Octal Industrial Digital Input Data Sheet MAX22199: Octal Industrial Digital Input Data Sheet
电子发烧友网为你提供ADI(ADI)MAX22199: Octal Industrial Digital Input Data Sheet相关产品参数、数据手册,更有MAX22199: Octal
MAX40213: Transimpedance Amplifiers with Selectable Gain and Input Current Clamp Data Sheet MAX40213: Transimpedance Amplifiers with Selecta
Data Sheet相关产品参数、数据手册,更有MAX40213: Transimpedance Amplifiers with Selectable Gain and Input Current
MAX14906: Quad-Channel Industrial Digital Output, Digital Input Data Sheet MAX14906: Quad-Channel Industrial Digital Output, Digital Input D
电子发烧友网为你提供ADI(ADI)MAX14906: Quad-Channel Industrial Digital Output, Digital Input Data Sheet相关产品参数
MAX98388/MAX98389: Digital Input Class-D Amplifier with IV Feedback and Brownout Protection Data Sheet MAX98388/MAX98389: Digital Input Clas
Protection Data Sheet相关产品参数、数据手册,更有MAX98388/MAX98389: Digital Input Class-D Amplifier with IV
换一换
- 如何分清usb-c和type-c的区别
- 中国芯片现状怎样?芯片发展分析
- vga接口接线图及vga接口定义
- 芯片的工作原理是什么?
- 华为harmonyos是什么意思,看懂鸿蒙OS系统!
- 什么是蓝牙?它的主要作用是什么?
- ssd是什么意思
- 汽车电子包含哪些领域?
- TWS蓝牙耳机是什么意思?你真的了解吗
- 什么是单片机?有什么用?
- 升压电路图汇总解析
- plc的工作原理是什么?
- 再次免费公开一肖一吗
- 充电桩一般是如何收费的?有哪些收费标准?
- ADC是什么?高精度ADC是什么意思?
- EDA是什么?有什么作用?
- dtmb信号覆盖城市查询
- 苹果手机哪几个支持无线充电的?
- type-c四根线接法图解
- 华为芯片为什么受制于美国?
- 怎样挑选路由器?
- 元宇宙概念股龙头一览
- 锂电池和铅酸电池哪个好?
- 什么是场效应管?它的作用是什么?
- 如何进行编码器的正确接线?接线方法介绍
- 虚短与虚断的概念介绍及区别
- 晶振的作用是什么?
- 大疆无人机的价格贵吗?大约在什么价位?
- 苹果nfc功能怎么复制门禁卡
- 单片机和嵌入式的区别是什么
- amoled屏幕和oled区别
- 复位电路的原理及作用
- BLDC电机技术分析
- dsp是什么意思?有什么作用?
- 苹果无线充电器怎么使用?
- iphone13promax电池容量是多少毫安
- 芯片的组成材料有什么
- 特斯拉充电桩充电是如何收费的?收费标准是什么?
- 直流电机驱动电路及原理图
- 传感器常见类型有哪些?
- 自举电路图
- 通讯隔离作用
- 苹果笔记本macbookpro18款与19款区别
- 新斯的指纹芯片供哪些客户
- 伺服电机是如何进行工作的?它的原理是什么?
- 无人机价钱多少?为什么说无人机烧钱?
- 以太网VPN技术概述
- 手机nfc功能打开好还是关闭好
- 十大公认音质好的无线蓝牙耳机
- 元宇宙概念龙头股一览