一、前期设计

前言

由于工作有给做键盘的客户提供过技术支持,所以做了个键盘demo用于演示,记录一下做个参考。

一、目标

制作104键全键无冲的有线RGB键盘。

二、MCU选型

这里其实也没有选型的说法,用的公司的芯片,以下是芯片有关本键盘需要使用的参数简介:

1、8位单片机,PIC18架构,主频内部RC=24MHz,cpu运行频率最高6MHz;

2、RAM = 2.3K,ROM = 32K,最多48个IO,封装LQFP64;

3、IO驱动能力,5V供电下,灌电流 = 25mA/0.6V,拉电流 = 25mA/0.6V;

4、所有IO均有上拉、下拉电阻及电平唤醒功能;

5、一组IO输出电压可选;

6、最多有28路的16位PWM;

7、支持USB2.0全速模式;

三、硬件设计

1、引脚分配

首先,104键盘需要6行、21列的按键及RGB灯,考虑到MCU只有48个IO,所以分配如下:

USB部分:DM、DP,共2个IO;

按键部分:6 + 21,共27个IO,做矩阵扫描;

灯光部分:同样做矩阵,12个COM,9个SEG,每个SEG对应3个PWM控制RGB,综上需要12 + 3*9,共39个IO;

由于灯光的SEG可以和按键的列复用,所以按键+灯总计6+12+3*9 = 45;再加USB总计47个IO;

备注:如果考虑后续添加EEPROM或者RF芯片,那么可以把灯光的COM增多达到节省更多的IO,亦或者通过给COM再加一层COM,相当于矩阵套矩阵,可以节省更多的IO,代价是较难实现灯效高帧数,且亮度可能会有损失。

2、物料

⑴、电源,由于芯片内部有3.3V的LDO,所以只需要正常的滤波电容即可

⑵、按键,每个按键1个二极管,可以用sot23的两路二极管做,物料少一点,这版本没做轴座,也可以加入轴座;

⑶、灯光,RGB灯用的共阳,所以有多少COM就要用多少PMOS,这里需要12个PMOS,由于IO灌电流能力较强,所以阴极就不加管子了,然后每路PWM加限流电阻即可,这里的PMOS的电阻参数如图:

电阻选的3K和1K,用于加快灯的开关速度。

⑷、USB部分,DP、DN预留RC;

四、软件设计

这部分后续再详细记录每个模块,这里先记录需要实现的功能:

1、按键、灯光矩阵扫描

2、USB通信

3、按键报告处理、Fn组合键处理

4、灯效

5、键盘上位机通信

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值