该板为基于RP2040的12指神探(12指神探 - 基于RP2040的逻辑/协议/信号调试助手, 数电学习和硬件调试助手! - 电子森林 (eetree.cn))的16键矩阵键盘扩展版。
这个设备包含了16个瞬时按键,采用矩阵扫描技术,按照计算器按键排列。通过将一列线数字地驱动到逻辑低电平,并数字地读取每一行,用户可以确定当前按下的按钮是哪一个。可以检测同时按下多个按键。按键的行和列是隔离开的,这有助于设计灵活性。该设备的PCB尺寸较小,为45mm×60mm。它还具有一个带有GPIO接口的12针连接器,符合Digilent Pmod接口规范1型。
模块引脚定义
VCC:模块电源正极,3.3V或者5V
SCL:I2C通信接口时钟线
SDA:I2C通信接口数据线
INT#:中断信号输出。无按键按下时维持高电平,当有按键按下时,输出低电平,可使用下降沿中断检测
GND:模块电源地
工作原理
TCA9555最大支持8x8规模的矩阵按键,本项目仅仅用到了4x4的大小。TCA9555的P0~P7引脚与P10~P17引脚可以构成一个8x8规模的按键扫描矩阵,矩阵中的每一个按键都对应了一个固定的按键代码,当有按键按下时,TCA9555通过INT#引脚输出一个下降沿,通知单片机,单片机随即通过I2C总线来向TCA9555读出按键。
TCA9555
制造商:TI(德州仪器)
- 低待机电流消耗,最大为 3.5µA
- I2C 至并行端口扩展器
- 开漏电路低电平有效中断输出
- 可耐受 5V 电压的 I/O 端口
- 兼容大多数微控制器
- 400kHz 快速 I2C 总线
- 具有 3 个地址引脚的可配置从器件地址
- 极性反转寄存器
- 具有最大高电流驱动能力的锁存输出,可用于直接驱动 LED
- 锁断性能超过 100mA,符合 JESD 78 II 类规范
- 静电放电 (ESD) 保护性能超过 JESD 22 规范的要求
- 2000V 人体模型 (A114-A)
- 1000V 充电器件模型 (C101)
该面向两线双向总线 (I2C) 的 16 位 I/O 扩展器专为 1.65V 至 5.5V VCC 工作电压而设计。它可通过 I2C 接口为大多数微控制器系列产品提供通用远程 I/O 扩展。
TCA9555 由两个 8 位配置(输入或输出选择)、输入端口、输出端口和极性反转(高电平有效或低电平有效运行)寄存器组成。在加电时,I/O 被配置为输入。系统主控制器可以通过写入 I/O 配置位将 I/O 启动为输入或输出。每一个输入或者输出的数据被保存在相应的输入或者输出寄存器内。输入端口寄存器的极性可借助极性反转寄存器进行转换。
除了包含内部 I/O 上拉电阻器之外,TCA9555 与 TCA9535 相同,该电阻器在配置为输入和未驱动时,可将 I/O 拉至默认高电平。
三个硬件引脚(A0、A1 和 A2)用于对 I2C 地址进行编程,该地址允许高达八个 TCA9555 器件共享同一个 I2C 总线或 SMBus。TCA9555 的固定 I2C 地址与 PCF8575、PCF8575C 和 PCF8574 相同,最多允许这些器件中任意八个共享同一个 I2C 总线或 SMBus。
程序框图
使用scheme-it绘制框图
原理图
案例代码见附件。
总结
本扩展板可用于十二指神探,也可通过杜邦线连接其他主控芯片的开发板,作为计算器或其他自定义输入设备。