电子说
在电子设备中,按键开关的管理是一个常见且重要的需求。今天要介绍的 Maxim Integrated 的 MAX7365 就是一款专门用于按键开关管理的芯片,它能为微处理器提供高效的按键管理解决方案。
文件下载:MAX7365.pdf
MAX7365 是一款 I2C 接口的外设,可管理多达 56 个按键开关。它能为每次按键和释放操作生成键码,便于实现多键输入。而且,该芯片采用静态监测按键输入的方式,确保低 EMI 运行,支持金属或电阻(碳)开关,最大电阻可达 5kΩ。
MAX7365 具备自动睡眠和自动唤醒功能,可进一步降低设备功耗。自动睡眠功能会在可编程的睡眠超时时间后,将设备置于低功耗状态(典型值为 1μA);自动唤醒功能则能使设备在按键操作时从睡眠模式恢复到正常工作模式。
按键控制器会对按键和释放事件进行去抖处理,并维护一个先进先出(FIFO)队列,可存储多达 16 个去抖后的按键事件。中断(INT)输出可配置为在按键发生时或按最大速率发出警报。
未使用的按键开关可作为通用输入/输出(GPIO)端口使用。此外,芯片还有五个额外的 GPIO 端口,这些端口可被编程为推挽或开漏输出,并且在开漏模式下,可启用片上 100kΩ 的上拉/下拉电阻。
芯片采用小巧的 2mm x 2mm 25 凸点晶圆级封装(WLP),适用于手机、掌上电脑和其他便携式消费电子应用。它能在 -40°C 至 +85°C 的扩展温度范围内正常工作。
MAX7365 的引脚包括 ROW、COL 和 GPIO 等,不同引脚可作为按键矩阵输入或通用输入/输出端口。例如,A1 引脚可作为 Row 6 输入或通用输入,D2 引脚为正电源电压引脚,需通过一个 0.1μF 的电容尽可能靠近芯片旁路到 GND。
按键输入采用静态扫描方式,确保低 EMI 运行。按键扫描控制器会对按键和释放事件进行去抖处理,并维护一个 FIFO 缓冲区。用户可编程的按键去抖时间和自动睡眠定时器由时钟衍生而来,时钟又来自内部振荡器。按键重复和按键开关中断的时间延迟基于按键去抖时间。只要不产生鬼键,同时按下的按键数量没有限制。如果应用中需要扫描的按键较少,未使用的按键开关端口可配置为 GPIO。
在睡眠模式下,设备消耗的电流最小,开关矩阵电流源关闭。自动睡眠功能启用后,若按键在一段时间内无操作,设备将进入睡眠模式,FIFO 数据会被保留。通过在 Configuration 寄存器(0x01)的 D7 位写入 1 或按下按键,可使设备退出睡眠模式。按键操作可触发自动唤醒功能,使设备进入工作模式,且唤醒时的按键操作不会丢失。
当 FIFO 满(16 字节)且有额外事件发生时,会出现 FIFO 溢出状态。若禁用按键释放功能,则 FIFO 满时即出现溢出状态。FIFO 溢出时,从 FIFO 缓冲区读取的第一个字节为溢出字节(0x7F),原始 16 字节的事件数据顺序会被保留,但后续事件可能会丢失。当 FIFO 满时,若第 18 个按键事件为按键释放,则 FIFO 溢出状态会被清除。
芯片有五个 GPIO 端口,可作为逻辑输入或输出。每个 GPIO 端口在配置为开漏输出时,具有上拉/下拉电阻,还可配置为高端开漏输出。当按键开关矩阵未使用某些 COL 和 ROW 引脚时,这些引脚也可配置为 GPIO。未使用的 GPIO 和既未配置为按键开关也未配置为 GPIO 的引脚应连接到 GND。
MAX7365 作为从设备,通过 I2C 兼容的两线接口发送和接收数据。接口使用串行数据线(SDA)和串行时钟线(SCL)实现主从设备之间的双向通信。主设备(通常是微控制器)发起所有数据传输,并生成同步数据传输的 SCL 时钟。
每次传输由主设备发送的 START 条件开始,接着是设备的 7 位从地址加上 (R/W) 位、寄存器地址字节、一个或多个数据字节,最后是 STOP 条件。
每个时钟脉冲传输一个数据位,SDA 上的数据在 SCL 为高电平时必须保持稳定。确认位是第 9 位时钟脉冲,接收方用它来确认每个字节数据的接收。
设备有 7 位长的从地址,分别为 0x70、0x72、0x74 或 0x76,由完整部件号的后缀决定。7 位从地址后的 (R/W) 位,低电平表示写命令,高电平表示读命令。
设备在两线串行接口上具有 20ms(最小)的总线超时功能,可防止在串行事务完成前 SCL 锁定时,设备在读取事务期间将 SDA I/O 保持为低电平。总线超时功能可通过写入 Configuration 寄存器来启用或禁用,在睡眠模式下,内部振荡器禁用,总线超时功能也不活跃。
在发生如 ESD 放电或微控制器复位等灾难性事件后,可使用 Configuration 寄存器(0x01)的 D7 位作为按键开关的软件复位,使用 GPIO Global Configuration 寄存器(0x40)的 D4 位作为 GPIO 的软件复位。
鬼键是按键开关矩阵固有的现象,当矩阵矩形四个角上的三个开关同时按下时,第四个角上的开关(鬼键)也会看似被按下。MAX7365 采用专有方案检测产生鬼键的三键组合,并忽略导致鬼键事件的第三个按键。因此,尽管不会报告鬼键,但许多三键组合在同时按下时会被有效忽略。需要三键组合的应用(如 )必须确保三个按键的布线位置不会构成矩形的顶点。
芯片采用两种技术来最小化按键开关布线产生的 EMI 辐射。一是在非睡眠模式下,开关矩阵两端的电压不超过 0.5V,降低了按键按下时任何节点的电压摆动;二是不采用动态扫描按键的方式,而是监测按键的电流消耗,仅在有按键按下时去抖电路才工作。
芯片对按键开关或连接到 COL 和 ROW 的开关布线的电阻不敏感,最大电阻可达 5kΩ,因此与低成本的薄膜和导电碳开关兼容。
当设备断电((V_{DD}=0V))时,INT、SCL 和 SDA 保持高阻抗,最高可承受 3.6V 的电压;未供电时,I/O 端口保持高阻抗,最高可承受 4V 的电压,因此可用于热插拔应用。
设备的工作电源电压范围为 1.62V 至 3.6V,需使用一个 0.1μF 或更高的陶瓷电容将电源((V_{DD}))旁路到 GND,并尽可能靠近芯片。
MAX7365 有不同的型号可供选择,如 MAX7365EWA70+、MAX7365EWA72+、MAX7365EWA74+ 和 MAX7365EWA76+,它们的温度范围均为 -40°C 至 +85°C,采用 25 凸点 WLP 封装,I2C 地址分别为 0x70、0x72、0x74 和 0x76。
总的来说,MAX7365 是一款功能强大、设计灵活且低功耗的按键开关控制器,适用于各种需要按键管理的电子设备。在实际设计中,工程师们可以根据具体需求合理配置寄存器,充分发挥其优势,提高产品的性能和稳定性。你在使用类似芯片时遇到过哪些问题呢?欢迎在评论区分享交流。
全部0条评论
快来发表一下你的评论吧 !