打破延迟极限的 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 通信,该项目实现了目前已知最低的输入延迟,为硬件爱好者和开发者提供了一个值得探索和学习的开源平台。

相关推荐
思尔芯S2C22 分钟前
思尔芯携手Andes晶心科技,加速先进RISC-V 芯片开发
人工智能·科技·fpga开发·risc-v·debugging·prototyping·soc validation
tiantianuser11 小时前
RDMA简介5之RoCE v2队列
fpga开发·verilog·fpga·rdma·高速传输·rocev2
sensor_WU12 小时前
【Delphi】实现在多显示器时指定程序运行在某个显示器上
计算机外设·多显示器
hahaha60161 天前
Flash烧录速度和加载配置速度(纯FPGA & ZYNQ)
fpga开发
hahaha60161 天前
ARINC818编解码设计FPGA实现
fpga开发
XMAIPC_Robot1 天前
基于RK3568的多网多串电力能源1U机箱解决方案,支持B码,4G等
linux·fpga开发·能源·边缘计算
广药门徒1 天前
在使用一些不用驱动大电流的设备就可以用stm32的自己的上下拉但是本身上下拉不就是给iicspi这些他通信给信号的吗中怎么还跟驱动能力扯上了有什么场景嘛
stm32·单片机·fpga开发
hahaha60162 天前
XDMA pcie环路测试
fpga开发
Despacito0o2 天前
瀚文机械键盘固件开发详解:HWKeyboard.cpp文件解析与应用
数据库·mongodb·计算机外设