FPGA采集按键和旋钮动作的USBHID设备系统、方法、装置、处理器及存储介质与流程

文档序号:37727596发布日期:2024-04-23 12:09阅读:22来源:国知局
FPGA采集按键和旋钮动作的USB HID设备系统、方法、装置、处理器及存储介质与流程

本发明涉及fpga芯片领域,尤其涉及键盘扫描、编码器解析和usb hid设备领域,具体是指一种基于fpga实现采集按键和旋钮动作功能的usb hid设备系统、方法、装置、处理器及其计算机可读存储介质。


背景技术:

1、随着fpga芯片成本越来越低,使用fpga解决一些技术难点也越来越成为一种较为有效可行的方案,通过充分利用fpga的快速响应,高实时性和具备较为复杂的逻辑功能等特性,可以实现asic和mcu较难实现的一些功能。市面上的键盘和旋钮的hid设备通常使用mcu或者asic实现键值和旋钮采集,但是一般存在延时较高,响应慢和提供参数数据少(如按键只提供键值、旋钮只提供旋转角度和方向)的缺点。在一些对用户动作响应和分析要求更为苛刻的情况下(如人机交互频繁的仪器仪表上)不能很好地满足要求。所以通过将fpga作为实现控制键盘扫描、键值采集、旋钮编码器信号采集,实时计算处理和usb hid传输数据这些核心功能的芯片,构建出低延时,高灵敏度和精度的,且能够实时处理和提供更多参数信息的键盘和旋钮系统。


技术实现思路

1、本发明的目的是克服了上述现有技术的缺点,提供了一种满足操作简便、适用范围较为广泛的基于fpga实现采集按键和旋钮动作功能的usb hid设备系统、方法、装置、处理器及其计算机可读存储介质。

2、为了实现上述目的,本发明的基于fpga实现采集按键和旋钮动作功能的usb hid设备系统、方法、装置、处理器及其计算机可读存储介质如下:

3、该基于fpga实现采集按键和旋钮动作功能的usb hid设备系统,其主要特点是,所述的系统包括按键阵列、旋钮、fpga芯片和usb phy芯片,所述的按键阵列和旋钮均与fpga芯片相连接,所述的usb phy芯片与所述的fpga芯片相连接,所述的按键阵列输出控制开关的信号,所述的旋钮将旋转旋钮的动作通过正交编码器编码成正交编码信号输出,所述的fpga芯片用于控制按键扫描、解码正交编码信号、按键防抖,计算按键长按时间,计算旋钮瞬时速度和加速度的参数,驱动usb phy芯片,发送键值和旋钮参数信息。

4、较佳地,所述的按键阵列包括移位寄存器、开关和按键,所述的按键按行和列呈矩阵排列,所述的移位寄存器和开关分别排列在按键的行或列,所述的按键阵列通过移位寄存器的输出控制开关的关断和打开,选择按键的行和列,根据输出电平确定按键是否被按下。

5、较佳地,所述的fpga芯片包括按键扫描及键值解析模块、正交编码器解码模块、处理模块和usb驱动模块,所述的按键扫描及键值解析模块的输出端和正交编码器解码模块的输出端均与处理模块相连接,所述的处理模块的输出端与usb驱动模块相连接;

6、所述的按键扫描及键值解析模块用于控制移位寄存器的扫描和分析按键是否被按下,以及控制按键的键值,所述的正交编码器解码模块用于解码旋钮的正交编码输入,并获取旋钮旋转方向和步进,所述的处理模块用于对获得的键值进行防抖处理,统计按键长按状态下的时长,以及根据旋钮的方向和步进计算旋钮的速度和加速度的信息,所述的usb驱动模块用于驱动usb phy芯片,提供协议层,使设备被发现为hid设备,并实时发送采集和计算的参数信息。

7、较佳地,所述的fpga芯片驱动usb phy芯片,使设备发现为hid设备,通过usb hid发送键值和旋钮参数信息。

8、较佳地,所述的usb phy芯片提供usb2.0物理层和链路层协议。

9、较佳地,所述的系统还包括usb驱动模块,所述的usb驱动模块包括usb初始化配置单元、中断解析模单元、ep0控制单元、ep1控制单元、axi连接器和axi usb2 device ip核,所述的中断解析模单元、usb初始化配置单元、ep0控制单元、ep1控制单元和axiusb2device ip核均与axi连接器相连,所述的中断解析模单元的输出端分别与usb初始化配置单元、ep0控制单元和ep1控制单元相连接,所述的axi usb2 device ip核的输出端与中断解析模单元相连,所述的中断解析模块用于监测中断触发,通过axi接口读取中断寄存器获取中断类型,解析中断信息并发送到对应的模块,所述的usb初始化模块用于提供上电和复位后的初始化过程,配置ep0和ep1的操作,所述的ep0控制模块用于实现控制传输阶段的工作,所述的ep1控制模块用于通过ep1传输用户数据到主机。

10、该利用上述系统实现基于fpga进行采集按键和旋钮动作处理的方法,其主要特点是,所述的方法包括以下步骤:

11、(1)通过移位寄存器扫描按键得到被按下的按键的信息及未被按下的按键的信息;

12、(2)将按键信息发送给处理模块,按键进行防抖处理;

13、(3)将旋钮的正交编码信号经过解码器解析成方向和步进信息,并发送给处理模块。

14、较佳地,所述的步骤(1)具体包括以下步骤:

15、(1.1)向移位寄存器依次写入8位数据,并依次选择对应的按键;

16、(1.2)读取输入fpga芯片的电平信号,若为低电平则得到按键处于被按下的状态,若为高电平则得到按键未被按下的状态;

17、(1.3)依次扫描全部的按键,得到被按下的按键的信息及未被按下的按键的信息;

18、(1.4)每隔一段固定的时间,执行一次扫描过程获取按键信息。

19、较佳地,所述的步骤(2)具体包括以下步骤:

20、(2.1)在每次扫描时将每个按键的键值写入对应的寄存器中;

21、(2.2)在根据键值读取寄存器;

22、(2.3)在获取按键的前几次键值,同时写入本次键值信息;

23、(2.4)若键值信息持续为1或0,则按键处于稳定状态,输出键值。

24、较佳地,所述的步骤(2)还包括以下步骤:

25、每个按键通过计时器统计按键在按下后持续的时长,在按键松开后发送按键按下的时长信息。

26、较佳地,所述的步骤(3)具体包括以下步骤:

27、(3.1)处理模块通过高精度的计时器触发统计步进;

28、(3.2)通过一段精确时间里的步进数来计算旋钮的速度;

29、(3.3)在一段时间内统计速度的增减来确定加速度;

30、(3.4)对一段时间内的加速度取平均值,获得加速度值;

31、(3.5)将方向、速度和加速度信息发送给usb驱动模块,通过usb上传给处理模块。

32、该用于实现基于fpga进行采集按键和旋钮动作处理的装置,其主要特点是,所述的装置包括:

33、处理器,被配置成执行计算机可执行指令;

34、存储器,存储一个或多个计算机可执行指令,所述的计算机可执行指令被所述的处理器执行时,实现上述的实现基于fpga进行采集按键和旋钮动作处理的方法的各个步骤。

35、该用于实现基于fpga进行采集按键和旋钮动作处理的处理器,其主要特点是,所述的处理器被配置成执行计算机可执行指令,所述的计算机可执行指令被所述的处理器执行时,实现上述的实现基于fpga进行采集按键和旋钮动作处理的方法的各个步骤。

36、该计算机可读存储介质,其主要特点是,其上存储有计算机程序,所述的计算机程序可被处理器执行以实现上述的实现基于fpga进行采集按键和旋钮动作处理的方法的各个步骤。

37、采用了本发明的基于fpga实现采集按键和旋钮动作功能的usb hid设备系统、方法、装置、处理器及其计算机可读存储介质,能实现低延时和快速响应和实时处理,能得到更加详细的参数信息,可以为系统提供更加合适的人机交互。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1