在工业自动化控制、软件仿真测试以及特殊设备验证场景中,常常需要密集的多路按键与多轴输入设备来模拟人工操作。传统键鼠无法满足高密度、多通道的输入需求,而市面成品控制器往往无法定制。本项目旨在提供一套纯硬件、免驱、即插即用的定制化HID输入方案。通过STM32配合74HC165D级联实现64路按键的压缩读取,并通过原生USB接口上报。客户无需安装驱动或上位机软件,接入Windows即可直接使用,解决非标输入设备开发周期长、软件依赖复杂的产品痛点。
点击空白处退出提示
语言技术
C++、EmbeddedSystem系统类型
Windows、嵌入式硬件行业分类
项目任务
在工业自动化控制、软件仿真测试以及特殊设备验证场景中,常常需要密集的多路按键与多轴输入设备来模拟人工操作。传统键鼠无法满足高密度、多通道的输入需求,而市面成品控制器往往无法定制。本项目旨在提供一套纯硬件、免驱、即插即用的定制化HID输入方案。通过STM32配合74HC165D级联实现64路按键的压缩读取,并通过原生USB接口上报。客户无需安装驱动或上位机软件,接入Windows即可直接使用,解决非标输入设备开发周期长、软件依赖复杂的产品痛点。
本作品为一套即插即用的工业级USB HID输入设备。硬件层基于STM32实现USB HID复合设备,无需编写任何PC端上位机。针对64路独立按键需求,使用8片74HC165D移位寄存器级联,仅通过3根控制线(时钟、数据、锁存)实现并行采集与去抖。保留原生USB接口(PA11=D-, PA12=D+),底层精心编写HID报告描述符,实现Windows/Mac/Linux系统免驱识别。插上电脑即可自动识别为标准游戏控制器或多轴输入设备。主要功能包括:64路按键映射上报、多轴ADC采集上报。
个人负责的具体任务:独立完成了整体硬件方案的原理图核对与修正(AI辅助生成后,逐引脚校验电源、原生USB差分线、晶振、复位、BOOT、8片74HC165D级联电路及ESD保护),并独立编写了全部STM32底层固件。
技术栈与架构:采用C语言开发,基于STM32原生USB外设(PA11=D-, PA12=D+)构建USB HID复合设备。外围采用8片74HC165D移位寄存器级联,通过3根控制线实现并行数据的压缩读取。
实现亮点与难点:
免驱免上位机即插即用:精心编写HID报告描述符,精确匹配Windows原生驱动,无需任何PC端上位机或第三方驱动,插入电脑即可自动识别为标准游戏控制器或多轴输入设备。
高密度IO扩展与时序优化:难点在于8片74HC165D级联时的时钟同步与数据移位时序。固件中通过优化GPIO模拟时序,配合中断触发,实现了64路独立按键的快速扫描与软件去抖。
USB枚举与信号完整性:难点在于原生USB D-/D+的硬件走线要求极高。经反复调试,确保了USB信号稳定,设备长时间运行不掉线。
ADC采样滤波:在固件底层实现滑动平均滤波,解决了多轴输入时的数据抖动问题。




评论