电子说
在当今的电子设备中,键盘输入是不可或缺的一部分。而TCA8424作为一款低电压8x16键盘扫描器,凭借其独特的特性和功能,在众多设备中得到了广泛应用。今天,我们就来深入剖析一下TCA8424这款产品。
文件下载:TCA8424RHAR.pdf
TCA8424是一款专门针对运行Windows 8操作系统的终端设备设计的128键扫描设备。它完全符合Microsoft定义的HID over I2C规范(ver 1.0),其HID和报告描述符被硬编码到设备中,无需在生产时进行编程。此外,该设备还带有预编程的键盘映射,与大多数标准笔记本电脑键盘兼容,不过也可在生产时写入任何键盘映射。
| 名称 | 类型 | 功能 |
|---|---|---|
| VCC | 电源 | 设备的电源电压,I2C总线应上拉至该电压轨,键矩阵IO电压也参考此电源电压。 |
| COL0–COL7 | 输入 | 键矩阵的列。 |
| ROW0–ROW15 | 输出 | 键矩阵的行。 |
| LED0–LED7 | 输出 | 用于驱动LED的开漏输出。 |
| TEST | 输入 | 高电压输入,用于对内部存储器进行编程,应用中需接地。 |
| GND | 电源 | 接地。 |
| INT | 输出 | 低电平有效中断输出,需通过上拉电阻连接到VCC。 |
| SCL | 输入 | 串行时钟总线,需通过上拉电阻连接到VCC。 |
| SDA | I/O | 串行数据总线,需通过上拉电阻连接到VCC。 |
双向I2C总线由串行时钟(SCL)和串行数据(SDA)线组成,两条线都必须通过上拉电阻连接到VCC。只有当总线不忙时才能启动数据传输。
| 设备地址的最后一位定义了要执行的操作(读或写),高电平(1)选择读操作,低电平(0)选择写操作。具体地址如下: | SLAVE ADDRESS | I2C BUS SLAVE ADDRESS | |||||||
|---|---|---|---|---|---|---|---|---|---|
| B7 | B6 | B5 | B4 | B3 | B2 | B1 | B0 | ||
| 0 | 1 | 1 | 1 | 0 | 1 | 1 | 0 (W) | 134 (decimal), 76(h) | |
| 0 | 1 | 1 | 1 | 0 | 1 | 1 | 1 (R) | 135 (decimal), 77(h) |
| TCA8424有多个寄存器,包括HID描述符、报告描述符、键盘映射、功能键位置、报告ID等寄存器。以下是部分寄存器的简要介绍: | 寄存器名称 | 地址(Hex) | 描述 | 上电默认值 |
|---|---|---|---|---|
| HID descriptor | 0000h - 001Dh | HID描述符 | 见HID描述符部分 | |
| Report Descriptor | 0030h - 00F1h | 报告描述符 | 见报告描述符部分 | |
| Keyboard Map | 0100h - 01FFh | 键盘映射 | 见键盘映射部分 | |
| Function Key location | 0201h | 键盘映射上的功能键位置 | 0 | |
| Default Report ID | 0202h | 默认报告ID | 1 |
输入报告用于向主机控制器传达按键按下和释放的信息。TCA8424能够传达多达6个同时按下的按键和多达8个修饰键。标准修饰键包括左Ctrl、左Shift、左Alt、左GUI、右Ctrl、右Shift、右Alt、右GUI。输入报告在每次按键按下和释放时生成,标准按键按下时的数据长度字段(前两个字节)始终为11。
输出报告用于主机打开/关闭键盘上的任何指示灯LED(大写锁定、数字锁定等)。TCA8424根据所选设备版本可支持2到4个LED指示灯,输出报告为单字节报告(8位),每位表示相应LED的状态。
| TCA8424支持以下命令: | 操作码 | 命令名称 | 对设备的影响 |
|---|---|---|---|
| 0001b | RESET | 设备复位,所有寄存器恢复到默认值,与上电复位效果相同。 | |
| 0010b | GET_REPORT | 最近的输入报告传输到数据寄存器。 | |
| 0011b | SET_REPORT | 数据寄存器内容用于打开/关闭LED。 | |
| 1000b | SET_POWER | 所有LED关闭,设备进入最低电流模式(仍会检测按键按下)。 |
非易失性存储器包含一个键盘映射部分,每个字节位置映射到键矩阵上的特定行 - 列交叉点,并包含位于该行 - 列交叉点的键的使用ID。键盘映射由两个部分组成,每个行 - 列交叉点映射到每个部分中的一个位置。主要部分包含键的使用ID,备用部分包含使用特殊修饰符(FN)时将报告的键的备用使用ID。
上电或从RESET恢复时,设备将所有寄存器初始化为上电默认值,所有COLx引脚通过内部上拉电阻上拉到VCC,所有ROWx引脚拉低,设备进入空闲/待机模式(最低功率状态)。当任何按键按下时,一个COL引脚连接到一个ROW引脚,从而拉低相应的COL引脚,启动键扫描。
内部振荡器开启,每个ROWx引脚依次拉低约800uS,同时在每个步骤采样COLx输入。对于每个按下的按键,从键盘映射中注册相应的使用ID。大约25mS后,扫描将重复。只要有按键按下,扫描就会继续重复。当之前按下的按键释放时,会生成一个包含仍按下的按键的输入报告,或者如果没有按键按下,则报告所有使用代码为零的输入报告。
当设备有输入报告可供主机读取时,会生成中断。通过读取INPUT寄存器可重置中断,使用GET_REPORT命令不会清除中断。建议主机处理器在<50ms(消抖时间)内响应中断服务请求,以避免错过按键按下。
在25°C工作温度下,对输入二极管钳位电压、输出低电平电压、内部上拉电阻、电流消耗等参数有具体规定。
对I2C时钟高时间、低时间、尖峰时间、串行数据设置时间、保持时间、输入上升时间、下降时间等时序参数有详细要求。
包括中断复位延迟时间、输出数据有效等参数的要求。
TCA8424有特定的封装选项,如TCA8424RHAR采用VQFN封装,相关封装信息包括引脚数量、包装数量、环保标准、湿度敏感度等级、峰值焊接温度、设备标记等。同时,还提供了封装材料信息、尺寸信息、示例电路板布局、示例模板设计等内容。
通过以上对TCA8424的详细剖析,相信大家对这款低电压8x16键盘扫描器有了更深入的了解。在实际应用中,我们需要根据具体需求合理选择和使用该设备,充分发挥其优势。大家在使用过程中遇到过哪些问题呢?欢迎在评论区交流分享。
全部0条评论
快来发表一下你的评论吧 !