基于FPGA的多主机PS/2键盘、鼠标接口热切换实现方法技术

技术编号:35608971 阅读:19 留言:0更新日期:2022-11-16 15:32
本发明专利技术涉及一种基于FPGA的多主机PS/2键盘、鼠标接口热切换实现方法,属于工业控制及信号处理技术领域。为解决多路主机的PS/2接口热切换问题,本发明专利技术采用FPGA作为主控芯片,实时对外部主机供电进行监测,实现对多路主机的PS/2口模拟,同时在FPGA内部进行多路切换的工作,降低系统的复杂度,提升系统的可靠性。本发明专利技术充分利用了FPGA可进行多线程并发执行的特点,通过FPGA实现了通用PS/2接口的模拟,同时实现了多路PS/2接口键盘鼠标的热切换,减少了传统方法中单片机的使用数量,可进行热切换主机的上限数量获得了拓展。机的上限数量获得了拓展。机的上限数量获得了拓展。

【技术实现步骤摘要】
基于FPGA的多主机PS/2键盘、鼠标接口热切换实现方法


[0001]本专利技术属于工业控制及信号处理
,具体涉及一种基于FPGA的多主机PS/2键盘、鼠标接口热切换实现方法。

技术介绍

[0002]PS/2接口作为鼠标键盘的常用接口在不同操作系统的启动过程中均存在先扫描再挂载,且不支持热插拔的问题。现有的切换技术主要采用单片机对每一路主机进行模拟,在路数较多的时候将采用与路数相当的单片机进行模拟,且不宜实现系统协同。

技术实现思路

[0003](一)要解决的技术问题
[0004]本专利技术要解决的技术问题是:如何解决实现多主机的PS/2接口模拟以及热切换问题。
[0005](二)技术方案
[0006]为了解决上述技术问题,本专利技术提供了一种基于FPGA的多主机PS/2键盘、鼠标接口热切换实现方法,该方法通过一种热切换系统实现,该系统包括FPGA、公共侧PS/2键盘、公共侧PS/2鼠标、N个主机,所有主机各自的PS/2键盘的接口、PS/2鼠标的接口均与FPGA相连,主机的PS/2键盘、PS/2鼠标称为模拟侧PS/2键盘、模拟侧PS/2鼠标;所有主机的切换开关均为切换控制按钮;公共侧PS/2键盘、公共侧PS/2鼠标为所有主机公用的PS/2键盘、PS/2鼠标,也同时接入FPGA;
[0007]对模拟侧PS/2键盘的接口、模拟侧PS/2鼠标的接口的供电由主机提供,FPGA以通过对模拟侧PS/2键盘、模拟侧PS/2鼠标的接口的供电情况进行检测来判断主机是否供电;
>[0008]该方法中,FPGA实现对多主机PS/2键盘、鼠标的接口热切换按键检测流程如下:
[0009]Step1:系统启动加电,处于IDLE状态,下一时钟转入Step2;
[0010]Step2:利用切换开关状态寄存器实时对切换开关的状态进行监测,判断切换开关状态寄存器各个位的数值,若切换开关状态寄存器的任意位均为有效状态,则执行Step3;若切换开关状态寄存器的任意位均为无效状态,则表示没有切换开关按下,则返回Step1进入等待状态;
[0011]Step3:延时后,对采样得到的切换开关状态寄存器的有效位进行判断,若切换开关状态寄存器只有一位有效,表示单个切换开关按下,执行Step4;若切换开关状态寄存器有多个位有效,表示目前按下了多个切换开关,执行Step5;
[0012]Step4:单切换开关有效的情况下,选择序号有效的主机,将切换指令寄存器对应的有效位进行置位,用于相应主机的PS/2接口模拟通信流程,执行Step6;
[0013]Step5:切换开关状态寄存器多位有效的情况下,取最低位为有效位,其它位舍弃,将切换指令寄存器对应的有效位进行置位,用于相应主机的PS/2接口模拟通信流程,执行Step6;
[0014]Step6:判断切换开关状态寄存器各个位是否有变化,若无变化,则继续判断;若有变化,则返回Step3。
[0015]优选地,该方法中,对多主机PS/2键盘、鼠标的接口热切换按键检测完成后,FPGA对选中的主机进行PS/2接口模拟通信。
[0016]优选地,FPGA对选中的主机进行PS/2接口模拟通信的过程中,对单个主机i的PS/2接口热切换后模拟接口通信的流程如下:
[0017]Step11:系统启动加电,处于IDLE状态,下一时钟转入Step2;
[0018]Step12:实时检测各个主机PS/2接口的供电是有有效,对主机是否加电进行判断;若检测到主机已加电,则执行Step13;若主机未加电,则继续循环执行本步骤;
[0019]Step13:通过切换指令寄存器判断切换开关是否选择了已上电的主机;若外部切换开关选中了已上电的主机,则执行Step18;若外部切换开关未选中已上电的主机,则执行Step14;
[0020]Step14:通过“主机i模拟侧加载完成状态寄存器”进行判断,判断已上电主机是否已完成接口加载;若主机i模拟侧加载完成,则返回Step11;若主机i模拟侧未完成加载,则执行Step15;
[0021]Step15:启动模拟PS/2键盘、鼠标子流程,对被选中的主机进行PS/2模拟通信,执行Step16;
[0022]Step16:监测模拟侧PS/2键盘、鼠标的数据,判断是否完成模拟侧加载,若完成模拟侧加载,则执行Step17;若未完成模拟侧加载,则继续循环执行本步骤;
[0023]Step17:对完成模拟侧加载的主机i进行标识,置“主机i模拟侧加载完成状态寄存器”有效,返回Step11;
[0024]Step18:通过“主机i公共侧切换状态寄存器”判断切换开关是否已完成了切换;若未完成切换,表示主机i已加电且切换开关选中了主机i,此时不需要对PS/2接口进行模拟,执行Step19;若已完成切换,则执行Step110;
[0025]Step19:将公共侧的PS/2键盘、PS/2鼠标接入切换开关选中的主机,执行Step111;
[0026]Step110:通过“主机i公共侧加载完成状态寄存器”判断已上电主机是否已完成接口加载,若未完成接口加载,则执行Step111;若已完成加载,则返回Step11;
[0027]Step111:监测公共侧PS/2键盘、公共侧PS/2鼠标的加载数据,判断是否完成公共侧加载,若完成公共侧加载,则执行Step112;若未完成加载,则继续循环执行本步骤;
[0028]Step112:对完成公共侧加载的主机i进行标识,置“主机i公共侧加载完成状态寄存器”有效,返回Step11。
[0029]优选地,所述FPGA在切换板上实现。
[0030]优选地,所有主机的切换开关均是控制端为低有效。
[0031]优选地,供电的电压为5V。
[0032]本专利技术还提供了一种用于实现所述方法的热切换系统。
[0033]本专利技术还提供了一种所述方法在工业控制及信号处理
中的应用。
[0034]本专利技术还提供了一种所述系统在工业控制及信号处理
中的应用。
[0035](三)有益效果
[0036]为解决多路主机的PS/2接口热切换问题,本专利技术采用FPGA作为主控芯片,实时对
外部主机供电进行监测,实现对多路主机的PS/2口模拟,同时在FPGA内部进行多路切换的工作,降低系统的复杂度,提升系统的可靠性。本专利技术充分利用了FPGA可进行多线程并发执行的特点,通过FPGA实现了通用PS/2接口的模拟,同时实现了多路PS/2接口键盘鼠标的热切换,减少了传统方法中单片机的使用数量,可进行热切换主机的上限数量获得了拓展。
附图说明
[0037]图1为实现本专利技术的多主机PS/2接口热切换方法的系统原理框图;
[0038]图2为本专利技术的多主机PS/2热切换按键检测流程图;
[0039]图3为本专利技术的主机i模拟PS/2接口通信流程图。
具体实施方式
[0040]本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种基于FPGA的多主机PS/2键盘、鼠标接口热切换实现方法,其特征在于,该方法通过一种热切换系统实现,该系统包括FPGA、公共侧PS/2键盘、公共侧PS/2鼠标、N个主机,所有主机各自的PS/2键盘的接口、PS/2鼠标的接口均与FPGA相连,主机的PS/2键盘、PS/2鼠标称为模拟侧PS/2键盘、模拟侧PS/2鼠标;所有主机的切换开关均为切换控制按钮;公共侧PS/2键盘、公共侧PS/2鼠标为所有主机公用的PS/2键盘、PS/2鼠标,也同时接入FPGA;对模拟侧PS/2键盘的接口、模拟侧PS/2鼠标的接口的供电由主机提供,FPGA以通过对模拟侧PS/2键盘、模拟侧PS/2鼠标的接口的供电情况进行检测来判断主机是否供电;该方法中,FPGA实现对多主机PS/2键盘、鼠标的接口热切换按键检测流程如下:Step1:系统启动加电,处于IDLE状态,下一时钟转入Step2;Step2:利用切换开关状态寄存器实时对切换开关的状态进行监测,判断切换开关状态寄存器各个位的数值,若切换开关状态寄存器的任意位均为有效状态,则执行Step3;若切换开关状态寄存器的任意位均为无效状态,则表示没有切换开关按下,则返回Step1进入等待状态;Step3:延时后,对采样得到的切换开关状态寄存器的有效位进行判断,若切换开关状态寄存器只有一位有效,表示单个切换开关按下,执行Step4;若切换开关状态寄存器有多个位有效,表示目前按下了多个切换开关,执行Step5;Step4:单切换开关有效的情况下,选择序号有效的主机,将切换指令寄存器对应的有效位进行置位,用于相应主机的PS/2接口模拟通信流程,执行Step6;Step5:切换开关状态寄存器多位有效的情况下,取最低位为有效位,其它位舍弃,将切换指令寄存器对应的有效位进行置位,用于相应主机的PS/2接口模拟通信流程,执行Step6;Step6:判断切换开关状态寄存器各个位是否有变化,若无变化,则继续判断;若有变化,则返回Step3。2.如权利要求1所述的方法,其特征在于,该方法中,对多主机PS/2键盘、鼠标的接口热切换按键检测完成后,FPGA对选中的主机进行PS/2接口模拟通信。3.如权利要求2所述的方法,其特征在于,FPGA对选中的主机进行PS/2接口模拟通信的过程中,对单个主机i的PS/2接口热切换后模拟接口通信的流程如下:Step11:系统启动加电,处于IDLE状态,下一时钟转入Step2;Step12:实...

【专利技术属性】
技术研发人员:王瑞
申请(专利权)人:天津津航计算技术研究所
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1