打破延迟极限的 FPGA 机械键盘

在机械键盘爱好者和硬件开发者的世界里,追求极致性能的设计总是令人兴奋。今天,我们要介绍的是一款由 Portland.HODL 开发的开源项目------Nyan Keys,这是一款基于 FPGA 的机械键盘,旨在实现尽可能低的输入延迟。

项目背景与目标

Nyan Keys 的设计目标是构建一款具有超低输入延迟的机械键盘,兼容 Cherry MX 及其兼容轴体(如 Kailh 和 Gateron)。该项目的灵感来源于 Wooting 60HE 和 Pok3r 60% 键盘,结合了前者的高性能特性和后者的开源可定制性。

技术实现

1. FPGA 实现每键独立处理

Nyan Keys 使用 Lattice iCE40HX4K FPGA,为每个按键分配一个独立的处理核心。每个核心包含一个 8 位计数器,用于实现去抖动逻辑。当计数器达到预设值时,按键状态才会改变,从而有效防止按键抖动带来的误触发。

这种设计允许每个按键直接连接到 FPGA 的独立 IO 引脚,省去了传统键盘矩阵设计中所需的二极管等元件,简化了硬件结构。

2. 高速 USB 通信

为了实现高速数据传输,Nyan Keys 采用 STM32F723 微控制器,支持 USB 2.0 High Speed(480Mbps)通信。通过设置 USB 的 bInterval 为 1,实现了 8000Hz 的轮询率,即每 0.125 毫秒进行一次数据传输。

在最坏情况下,从按键按下到数据传输完成的总延迟约为 155 微秒,远低于传统 USB 2.0 Full Speed 键盘的 1 毫秒延迟。

3. 开源硬件与软件

Nyan Keys 的硬件设计和固件均已开源,采用 Apache 2.0 许可证。项目包括 FPGA 比特流、STM32 固件、Web 配置工具等,方便开发者进行定制和扩展。

设计文件

  • 硬件设计文件

https://github.com/russeree/nyan-keys-hardware

  • FGPA比特流

https://github.com/russeree/nyan-keys-ice40hx4k-bitstream

  • Nyan 操作系统 (NOS) - STM32 固件

https://github.com/russeree/nyan-keys-stm32-firmware

  • Nyan DFU(STM32 引导加载程序)

https://github.com/russeree/nyan-keys-dfu-bootloader

  • Nyan OS Web 配置工具

https://russeree.github.io/

  • Nyan OS Web 配置工具 - 源代码

https://github.com/russeree/nyan-keys-gui\]

  • 总体

https://github.com/portlandhodl/russeree

总结

Nyan Keys 项目展示了在机械键盘设计中追求极致性能的可能性。通过 FPGA 的并行处理能力和高速 USB 通信,该项目实现了目前已知最低的输入延迟,为硬件爱好者和开发者提供了一个值得探索和学习的开源平台。

相关推荐
LCMICRO-133108477463 小时前
长芯微LPS123完全P2P替代ADP123,高性能、低压差的线性稳压器
单片机·嵌入式硬件·fpga开发·硬件工程·dsp开发·线性稳压器
ACP广源盛139246256734 小时前
破局 Type‑C 切换器痛点@ACP#GSV6155+LH3828/GSV2221+LH3828 黄金方案
c语言·开发语言·网络·人工智能·嵌入式硬件·计算机外设·电脑
fei_sun4 小时前
面经、笔试(持续更新中)
fpga开发·面试
xixixi777775 小时前
通信领域的“中国速度”:从5G-A到6G,从地面到星空
人工智能·5g·安全·ai·fpga开发·多模态
Nobody337 小时前
Verilog always语句详解:从组合逻辑到时序逻辑
fpga开发
李嘉图Ricado8 小时前
FPGA 时序约束与分析
fpga开发
白又白、11 小时前
时序优化和上板调试小结
fpga开发
Z22ZHaoGGGG13 小时前
verilog实现采样电流有效值的计算
fpga开发
fei_sun13 小时前
牛客Verilog刷题篇
fpga开发
my_daling16 小时前
DSMC通信协议理解,以及如何在FPGA上实现DSMC从设备(1)
学习·fpga开发