一种基于FPGA和PS2协议的KVM控制器制造技术

技术编号:19541719 阅读:34 留言:0更新日期:2018-11-24 20:17
本发明专利技术提供了一种基于FPGA和PS2协议的KVM控制器,包括信号三态处理及顶层接口、操作控制模块、接收模块、发送模块、鼠标应答模块及键盘应答模块、切换控制模块及切换信号监测模块;本发明专利技术以集成化、小型化、降低硬件设计复杂度为方向,针对传统控制器在扩展性、兼容性方面的不足。

A KVM Controller Based on FPGA and PS2 Protocol

The invention provides a KVM controller based on FPGA and PS2 protocol, including signal three-state processing and top-level interface, operation control module, receiving module, sending module, mouse response module and keyboard response module, switching control module and switching signal monitoring module; the invention integrates, miniaturizes and reduces hardware settings. The complexity of the meter is the direction, aiming at the shortcomings of the traditional controller in expansibility and compatibility.

【技术实现步骤摘要】
一种基于FPGA和PS2协议的KVM控制器
本专利技术涉及半导体混合集成电路设计技术,具体涉及一种基于FPGA和PS2协议的KVM控制器。
技术介绍
目前使用的KVM控制器,采用单片机或PS2专用控制器实现。为实现接口信号的稳定控制,传统KVM控制器在每路上位机接口处放置PS2专用控制器,同时还需主控制器(单片机、DSP等)实现多路信号切换控制。随着PS2上位机数目增多时,传统设计可扩展性差,当控制器内嵌至其他设备(键盘、鼠标)中时,对设计空间的要求更难满足。
技术实现思路
本专利技术以集成化、小型化、降低硬件设计复杂度为方向,针对传统控制器在扩展性、兼容性方面的不足,提出了一种基于FPGA和PS2协议的KVM控制器。为了达到以上目的,本专利技术采取如下技术方案予以实现:一种基于FPGA和PS2协议的KVM控制器,包括信号三态处理及顶层接口、操作控制模块、接收模块、发送模块、鼠标应答模块及键盘应答模块、切换控制模块及切换信号监测模块;所述的操作控制模块,用于监测时钟信号、数据信号及发送请求,结合PS2通信协议,对PS2数据通信方向进行检测,根据检测结果启动发送或接收;所述的接收模块,与操作控制模块连接,用于接收上位机命令、将命令传递给鼠标应答模块及键盘应答模块并在通信最后给出应答位;在接收到操作控制模块的启动信号后,按照协议规定产生时钟信号;所述的发送模块,与操作控制模块连接,用于发送需应答主机的信息,在接收到启动信号后,产生时钟信号,并根据时钟信号状态发送相应数据位,同时在驱动时钟信号时对其状态进行判断;所述的鼠标应答模块及键盘应答模块,与接收模块连接,用于对接收到的命令进行判断,对上位机发送的不同命令进行相应反馈;所述的切换控制模块,用于根据外部的切换信号及当前PS2通信情况进行仲裁,并将最终的切换结果传递给外部切换芯片;所述的切换信号监测模块,用于实时监测外部给出的切换按键信号,并对按键进行消抖处理,将结果提供给切换控制模块;所述的信号三态处理及顶层接口,用于外部信号与控制器内部模块的数据交互,完成了双向信号的三态控制;外部设备通过信号三态处理及顶层接口与切换控制模块、切换信号监测模块进行信息交互。还包括滤波模块,滤波模块的输出端分别连接操作控制模块、接收模块和发送模块;所述的滤波模块,用于对PS2时钟和数据信号均进行数字采样滤波。所述的操作控制模块,还用于在接收到发送请求后,判断当下上位机状态是否允许发送,一旦允许即向发送模块发出使能信号;发送模块以操作控制模块发出的信号为使能,向上位机发送鼠标应答模块及键盘应答模块传递的切换信号监测模块8bit信息。所述的操作控制模块,还用于将启动信号传递给接收模块或发送模块后,操作控制模块进入空闲状态,当发送模块、接收模块处于空闲状态时,操作控制模块重新进入监测状态,为发起下一次操作准备。所述的鼠标应答模块及键盘应答模块,还用于在接收模块完成接收后收到其传递的切换信号监测模块8bit命令信息,根据键盘、鼠标的不同属性,作出判断,将需发送的信息以切换信号监测模块8bit数据形式传递给发送模块,同时向操作控制模块发出请求。所述的切换控制模块,还用于结合信号三态处理及顶层接口汇集的内部方向控制信号及切换信号监测模块提交的监测结果综合判断;若与切换相关的上位机均处于空闲状态,则直接将外部切换信号提交给切换芯片并通过LED灯进行显示;否则,在切换信号无更新的前提下,等待上位机空闲后再进行切换。本专利技术具有以下有益效果:本专利技术提出的KVM控制器基于FPGA和PS2标准协议,包括信号三态处理及顶层接口、操作控制模块、接收模块、发送模块、鼠标应答模块及键盘应答模块、切换控制模块及切换信号监测模块;控制器上连接的任一上位机进行BIOS监测,均可识别并枚举到PS2键盘、鼠标,为共享外部设备提供可行性。设计与切换信号相结合的多机切换仲裁机制,使控制器更具兼容性,从根本上避免了切换对通信的中断,保证通信及切换功能正常。设计功能模块化,上位机接口数采用参数管理,实现一定范围内设计的延展性,解决传统KVM控制器硬件设计空间的局限性,为内嵌KVM设备提供解决方案。在PS2接口通信协议下,对传统KVM控制器可进行功能性替代。采用虚拟响应技术,实现多路从设备并发控制;支持主机数目可编程,不增加硬件设计复杂度,提高KVM设备的可扩展性;针对不同处理器,采用容错切换技术,提高KVM设备的兼容性。附图说明图1为本专利技术控制器结构框图。其中,1为信号三态处理及顶层接口,2为滤波模块,3为操作控制模块,4为接收模块,5为鼠标应答模块及键盘应答模块,6为发送模块,7为切换控制模块,8为切换信号监测模块。具体实施方式以下结合附图和实施例对本专利技术做进一步的说明。本专利技术一种基于FPGA和PS2协议的控制器,能够实现的功能有:解析PS2协议,通过虚拟假响应完成上位机的BIOS检测,保证无实际外部设备连接时,上位机可识别并枚举到键盘、鼠标;对接口PS2信号实时监测,用方向控制信号实现切换控制,保证在通信链路不稳定、主设备时序不规范等情况下可准确切换。如图1所示,为实现以上功能,KVM控制器包括八个模块:滤波模块2、操作控制模块3、接收模块4、发送模块6、鼠标应答模块及键盘应答模块5、切换控制模块7、切换信号监测模块8。为避免链路信号干扰,滤波模块2对PS2时钟和数据信号均进行数字采样滤波,提高控制器的稳定性和健壮性。操作控制模块3监测时钟信号、数据信号及发送请求,结合PS2通信协议,对PS2数据通信方向进行检测,根据检测结果启动发送或接收。将启动信号传递给接收模块4或发送模块6后,操作控制模块进入空闲状态。当发送模块6、接收模块4处于空闲状态时,操作控制模块3重新进入监测状态,为发起下一次操作准备。接收模块4主要功能是接收上位机命令、将命令传递给应答模块并在通信最后给出应答位。在接收到操作控制模块的启动信号后,按照协议规定产生时钟信号。上位机在时钟下降沿发送数据,接收模块在时钟上升沿锁存数据。正常情况下,PS2时钟信号由从设备控制产生,但上位机可在任意时刻通过拉低时钟信号抑制通信,故接收模块在接收过程中需实时监测通信抑制情况。当检测到主机通信抑制时,接收模块返回初始状态,同时清空与此前通信有关的所有状态,保证设计不会出现死锁情况。接收模块4同时还对接收命令进行校验、停止位检测、应答等,为发送信息提供判断依据。发送模块6主要功能是发送需应答主机的信息,包括设备ID、自检结果等。与接收模块4相似,在接收到启动信号后,产生时钟信号,并根据时钟信号状态发送相应数据位,同时在驱动时钟信号时对其状态进行判断,适应主机通信抑制情况,保证设计不会出现死锁情况。鼠标应答模块及键盘应答模块5主要用于对接收到的命令进行判断,对上位机发送的不同命令进行相应反馈。切换控制模块7主要功能是根据外部的切换信号及当前PS2通信情况进行仲裁,并将最终的切换结果传递给外部切换芯片,从而实现不同上位机间的PS2从设备共享管理。仲裁判断基本条件是切换信号有效、与切换相关的上位机通信均处于空闲状态。为达到更好的兼容性,避免某些上位机出现时序异常,导致整个KVM控制器无法正常工作,本专利技术中采用时钟方向控制信号作为通信情况的判断依据,从根本上避免了由于切换操作中本文档来自技高网...

【技术保护点】
1.一种基于FPGA和PS2协议的KVM控制器,其特征在于,包括信号三态处理及顶层接口(1)、操作控制模块(3)、接收模块(4)、发送模块(6)、鼠标应答模块及键盘应答模块(5)、切换控制模块(7)及切换信号监测模块(8);所述的操作控制模块(3),用于监测时钟信号、数据信号及发送请求,结合PS2通信协议,对PS2数据通信方向进行检测,根据检测结果启动发送或接收;所述的接收模块(4),与操作控制模块(3)连接,用于接收上位机命令、将命令传递给鼠标应答模块及键盘应答模块(5)并在通信最后给出应答位;在接收到操作控制模块(3)的启动信号后,按照协议规定产生时钟信号;所述的发送模块(6),与操作控制模块(3)连接,用于发送需应答主机的信息,在接收到启动信号后,产生时钟信号,并根据时钟信号状态发送相应数据位,同时在驱动时钟信号时对其状态进行判断;所述的鼠标应答模块及键盘应答模块(5),与接收模块(4)连接,用于对接收到的命令进行判断,对上位机发送的不同命令进行相应反馈;所述的切换控制模块(7),用于根据外部的切换信号及当前PS2通信情况进行仲裁,并将最终的切换结果传递给外部切换芯片;所述的切换信号监测模块(8),用于实时监测外部给出的切换按键信号,并对按键进行消抖处理,将结果提供给切换控制模块(7);所述的信号三态处理及顶层接口(1),用于外部信号与控制器内部模块的数据交互,完成了双向信号的三态控制;外部设备通过信号三态处理及顶层接口(1)与切换控制模块(7)、切换信号监测模块(8)进行信息交互。...

【技术特征摘要】
1.一种基于FPGA和PS2协议的KVM控制器,其特征在于,包括信号三态处理及顶层接口(1)、操作控制模块(3)、接收模块(4)、发送模块(6)、鼠标应答模块及键盘应答模块(5)、切换控制模块(7)及切换信号监测模块(8);所述的操作控制模块(3),用于监测时钟信号、数据信号及发送请求,结合PS2通信协议,对PS2数据通信方向进行检测,根据检测结果启动发送或接收;所述的接收模块(4),与操作控制模块(3)连接,用于接收上位机命令、将命令传递给鼠标应答模块及键盘应答模块(5)并在通信最后给出应答位;在接收到操作控制模块(3)的启动信号后,按照协议规定产生时钟信号;所述的发送模块(6),与操作控制模块(3)连接,用于发送需应答主机的信息,在接收到启动信号后,产生时钟信号,并根据时钟信号状态发送相应数据位,同时在驱动时钟信号时对其状态进行判断;所述的鼠标应答模块及键盘应答模块(5),与接收模块(4)连接,用于对接收到的命令进行判断,对上位机发送的不同命令进行相应反馈;所述的切换控制模块(7),用于根据外部的切换信号及当前PS2通信情况进行仲裁,并将最终的切换结果传递给外部切换芯片;所述的切换信号监测模块(8),用于实时监测外部给出的切换按键信号,并对按键进行消抖处理,将结果提供给切换控制模块(7);所述的信号三态处理及顶层接口(1),用于外部信号与控制器内部模块的数据交互,完成了双向信号的三态控制;外部设备通过信号三态处理及顶层接口(1)与切换控制模块(7)、切换信号监测模块(8)进行信息交互。2.根据权利要求1所述的一种基于FPGA和PS2协议的KVM控制器,其特征在于,还包括滤波模块(2),滤波模块(2)的输出端分别连接操作控...

【专利技术属性】
技术研发人员:张晓琳卢飞
申请(专利权)人:西安微电子技术研究所
类型:发明
国别省市:陕西,61

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

1