基于FPGA实现KVM切换器无闪烁切换的系统及方法与流程

文档序号:13003784阅读:579来源:国知局
基于FPGA实现KVM切换器无闪烁切换的系统及方法与流程

本发明涉及电子设备制造领域,具体涉及一种基于fpga实现kvm切换器无闪烁切换的系统及方法。



背景技术:

kvm切换器(keyboardvideomouse,计算机切换器)是通过键盘、鼠标和显示器来实现对两台或多台计算机的控制,kvm切换器通常使用在有多台电脑或服务器的场所,通过一台显示器及键盘和鼠标就能实现和所有电脑和服务器的交互。

在实际使用中,kvm切换器能够避免使用大量显示器和键鼠,不仅能够节约设备成本,还能够节省大量的操作空间,机架和地面空间,使用者可以重新利用空间重整桌面上或机架上更多计算机的设备;同时,kvm切换器可以通过控制中央管理多台计算机,避免使用者在不同工作站之间辗转或需要多个使用者,能够降低管理员的劳动强度,且能够降低人力成本。

但是,目前大多数kvm切换器都是基于asic(applicationspecificintegratedcircuit,集成电路)专用ic实现多台计算机或服务器的切换,但是,由于专用ic没有内存,无法保存图像信号,必然导致在切换过程中出现信号不稳定或短暂丢失信号的问题,导致切换器在切换过程中容易出现闪烁,黑屏等不稳定现象,这种问题虽然只是发生在切换过程中,但是当切换器用于监控中心、数据中心等对画面的实时和稳定性要求较高的场合时,闪烁和黑屏现象都可能会导致数据的丢失,造成较严重的后果。



技术实现要素:

针对现有技术中存在的缺陷,本发明的目的在于提供一种基于fpga实现kvm切换器无闪烁切换的系统及方法,能够避免切换时发送闪烁和黑屏的现象,避免数据丢失。

为达到以上目的,本发明采取的技术方案是:

一种基于fpga实现kvm切换器无闪烁切换的系统,包括:

切换指令发送模块,其用于发送切换指令;

切换控制模块,其用于接收切换指令并下发图像存储信息;

存储模块,其用于接收图像存储信息,存储当前显示的图像信号,并写入待切换的图像信号数据;

判断输出模块,其用于判断待切换的图像数据是否稳定,若稳定,输出待切换的图像信号,否则,仍然输出当前图像信号。

在上述技术方案的基础上,所述系统还包括显示模块,其用于显示图像信号。

在上述技术方案的基础上,所述系统编码模块,其用于读取内存模块中的图像信号数据,并将图像信号数据编码成能够被显示模块所读取的信息后发送至显示模块。

在上述技术方案的基础上,所述系统还包括解码模块,其用于将外部待切换的图像信号转换为能够存入存储模块的数据。

在上述技术方案的基础上,所述存储模块包括若干ddr内存,每一片ddr内存分为若干块bank,每块bank均可以保存完整的一场图像。

在上述技术方案的基础上,所述每一片ddr内存分为8块bankbank0至bank7。

一种基于fpga实现kvm切换器无闪烁切换的方法,包括以下步骤:

发送切换指令,存储待切换的图像数据信息,判断待切换的数据信息是否稳定,并在稳定时显示待切换的数据信息。

在上述技术方案的基础上,所述判断待切换的数据信息为不稳定状态时,继续显示当前图像。

在上述技术方案的基础上,在具体的读写过程中,ddr内存是按照一个bank进行读写,即写入的图像数据顺序就是一直从bank0到bankn循环往复的刷新,每个bank里保存完整的一场图像,每片ddr内存中能够同时保存了n场图像,在写入数据的同时fpga也同时在从ddr内存中读出已写好的数据信息,读出的位置为当前写入数据的前一个bank中。

与现有技术相比,本发明的优点在于:

(1)本发明的一种基于fpga实现kvm切换器无闪烁切换的系统,通过设置存储模块和判断输出模块,其中,存储模块能够接收图像信息,存储图像信号,并写入待切换的图像信号数据;判断输出模块能够判断待切换的图像数据是否稳定,并在稳定时输出待切换的图像信号,否则,仍然输出当前图像信号。通过这种方式的切换,使得在切换的过程中读写的两路输入信号都通过存储模块进行缓存,使得输入的信号都是稳定连续的,这样在切换中就保证了输出画面的稳定连续性,避免切换时发送闪烁和黑屏的现象,避免数据丢失。

(2)本发明的一种基于fpga实现kvm切换器无闪烁切换的系统,其中存储模块包括若干ddr,其中ddr内存是按照一个bank进行读写,即写入的图像数据顺序就是一直从bank0到bankn循环往复的刷新,每个bank里保存完整的一场图像,每片ddr内存中能够同时保存了n场图像,在写入数据的同时fpga也同时在从ddr内存中读出已写好的数据信息,读出的位置为当前写入数据的前一个bank中,从而保证写入和读出的数据都是稳定连续的。

附图说明

图1为本发明实施例中基于fpga实现kvm切换器无闪烁切换的系统的结构示意图;

图2为本发明实施例中基于fpga实现kvm切换器无闪烁切换的方法的流程图;

图3为本发明实施例中读写两片ddr内存的示意图;

图4为本发明实施例1的结构框图。

具体实施方式

以下结合附图及实施例对本发明作进一步详细说明。

参见图1所示,本发明实施例提供一种基于fpga实现kvm切换器无闪烁切换的系统,包括:

切换指令发送模块,其用于发送切换指令。

切换控制模块,其用于接收切换指令并下发图像存储信息。

存储模块,其用于接收图像存储信息,存储当前显示的图像信号,并写入待切换的图像信号数据。

判断输出模块,其用于判断待切换的图像数据是否稳定,若稳定,输出待切换的图像信号,否则,仍然输出当前图像信号。

本发明实施例中,根据实际应用的需要,还包括:

显示模块,其用于显示图像信号。

解码模块,其用于将外部待切换的图像信号转换为能够存入存储模块的数据(如rgb数据)。

编码模块,其用于读取内存模块中的图像信号数据,并将图像信号数据编码成能够被显示模块所读取的信息后发送至显示模块。

本发明还提供一种基于fpga实现kvm切换器无闪烁切换的方法,包括以下步骤:

发送切换指令,存储待切换的图像数据信息,判断待切换的数据信息是否稳定,并在稳定时显示待切换的数据信息。

参见图2所示,本发明基于fpga实现kvm切换器无闪烁切换的方法具体包括以下步骤:

s1、发送切换指令。

s2、读取待切换的图像数据信息并对待切换的图像数据信息进行解码。

s3、存储解码后的图像数据信息。

s4、判断存储后的图像数据信息是否稳定,若是,转入步骤s5,否则,转入步骤s6。

s5、显示待切换的图像。

s6、继续显示当前图像。

本实施例中,切换控制模块和判断输出模块均通过的fpga(field-programmablegatearray,现场可编程门阵列)实现,存储模块通过若干ddr(doubledatarate,双倍速率同步动态随机存储器)实现,由于一片ddr内存中图像数据的读写是同时进行的,这样就保证了图像的实时,连续性。

本发明中的存储模块包括若干ddr内存,每一片ddr内存分为若干块bank,每块bank均可以保存完整的一场图像,在具体的读写过程中,ddr内存是按照一个bank进行读写,即写入的图像数据顺序就是一直从bank0到bankn循环往复的刷新,每个bank里保存完整的一场图像,每片ddr内存中能够同时保存了n场图像,在写入数据的同时fpga也同时在从ddr内存中读出已写好的数据信息,读出的位置为当前写入数据的前一个bank中。

参见图3所示,本实施例中的每一片ddr内存分为8块:bank0至bank7,在具体的读写过程中,是按照一个bank进行读写,即写入的图像数据顺序就是一直从bank0到bank7循环往复的刷新,每个bank里保存完整的一场图像,每片ddr内存中能够同时保存了8场图像,在写入数据的同时fpga也同时在从ddr内存中读出已写好的数据信息,读出的位置为当前写入数据的前一个bank中,如:当ddr内存中正在写入bank5的数据时,fpga读出bank4的数据,能够保证写入和读出的数据都是稳定连续的。

在实际情况中,ddr的内存所分隔的bank数量根据实际需要设置,包括但不限于本申请中的8块,其工作原理与本申请的相一致。

参见图3所示,当fpga收到切换指令后,让读取bank操作固定在当前被读取的bank中,不停的只读当前bank中的一场图像,保证了图像在切换过程中图像的稳定性。

同时,fpga对另一片ddr内存执行循环写操作:当命令延时时间到后,此时的当前ddr内存中已经写满了需要切换的图像数据,此时,fpga读取当前ddr内存,并从写操作前的一个bank开始循环读操作,遍历所有的bank。

例如:当写操作正在第一片ddr内存上写bank2时,收到切换命令,那么读操作就会立即固定在第一片ddr内存的bank1上不停的读,此时显示器显示的是这个bank中固定的稳定画面;同时写操作就会跳到第二片ddr内存是上从bank0开始循环往复写入新的图像数据,等待特定延时时间后,读操作就会从原来的第一片ddr内存的bank1上跳到第二片ddr内存的写操作前一个bank上开始循环往复读操作,然后将读出的数据输出的显示器,显示器显示已切换后的稳定画面。

本发明就是保证在切换的过程中读写的两路输入信号都通过内存进行缓存,使得输入的信号都是稳定连续的,这样在切换中就保证了输出画面的稳定连续的。

下面,通过一个具体的实施例对本发明进行详细说明。

参见图4所示,本实施例的通过上位机或者按键来发送切换指令,其上位机通过通讯接口与fpga相连接,fpga包括切换控制器,并在接收切换指令时通过切换控制器将外部待切换的图像信息传递并存储至内存模块中,其中外部图像信息分为若干路(图中显示n路),每一路均通过相对应的解码器解码后经由fpga传至内存模块中。

fpga实时读取内存模块中的数据,并判断待切换的图像信息是否完整写入,若没有完整写入,内存模块将当前显示的图像信息通过编码模块发送至显示设备,显示设备继续显示当前图像(未切换的图像);若完整写入,发送指令至编码模块,编码模块读取内存模块中待切换的图像信息,并将待切换的图像信息进行编码发送至显示设备,显示设备显示待切换的图像,完成图像的切换。

本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。

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