基于显卡的显示器软件更新方法及系统
技术领域
本发明涉及显示器软件更新方法,尤其涉及一种基于显卡的显示器软件更新方法及系统。
背景技术
工控、专业显示器由于其特殊用途,比如(轨道,ATM(自动柜员机),ATC,医疗)等领域,其安装方式以及结构组成比较复杂,尤其是轨道和ATM领域,显示器往往作为整个系统的显示终端,而非类似消费显示器作为独立模块提供信息的显示功能。并且这类显示器都不允许留有专门的外接软件更新端口。
为获得更好的用户体验,或者修复已知错误,都要求对显示器软件进行升级。常规做法需要将显示器从系统结构中拆解,然后将显示器拆解,找到主板上对应的用于软件升级的通信接口,并连接额外的更新工具(基于并口或者串口的硬件工具 + PC端软件)对其进行升级。
升级操作可能会在客户现场执行,也可能会返回工厂执行。
上述显示器软件更新方法具有以下缺陷:
1、由于显示器属于整个系统中的显示部件,并且多不允许留有额外的升级接口,实施升级必须拆开显示器,拆解显示器就存在造成显示器硬件损坏的可能性。
2、现有升级方法需将显示器从系统中拆解,再将显示器拆解,找到对应升级端口才能进行升级。拆解过程及其复杂,会耗费大量的时间。
3、采用常规方法,由于其复杂性,要求进行该维护工作的工程师为专业人员,并且客户也会要求客服工程师到现场进行操作,更增加产品的维护成本。
4、若按照常规方法在客户现场无法进行升级操作,必然导致高昂的运输成本,并会给工厂的生产计划带来一定的影响;
5、若要进行批量更新,按照常规升级方法不仅造成时间上的成本增加,还会使物料的成本上升,因为很多物料属于消耗品,拆解之后必须更换成全新的物料,比如螺钉等。
发明内容
为了解决现有技术中的问题,本发明提供了一种不需要进行复杂操作,甚至都不需要对显示器进行拆解的基于显卡的显示器软件更新方法及系统。
本发明提供了一种基于显卡的显示器软件更新方法,包括以下步骤:
S1、将显示器与主机连接;
S2、主机调用显卡驱动程序,并与之通讯,遍历所有与当前主机相连的显示器,并建立映射关系;
S3、主机验证当前所连接的显示器是否与主机的升级程序相匹配,若不匹配,则结束,若匹配,则进行下一步;
S4、主机获取当前所连接显示器的软件版本;
S5、选择将要被更新的软件更新文件;
S6、选择需要执行更新的显示器;
S7、执行更新。
作为本发明的进一步改进,步骤S2通过主机的显示器遍历及校验模块直接和系统显示卡物理层通信,查询当前已与主机显示卡连接的显示器数量,建立映射表,获取显示器信息。
作为本发明的进一步改进,步骤S2查询当前已与主机显示卡连接的显示器数量,建立映射表,获取显示器的型号、制造商、版本信息。
作为本发明的进一步改进,步骤S5为:用户手动选择将要被更新的软件更新文件和程序加载文件,提取软件更新文件和程序加载文件的起始地址,计算软件更新文件和程序加载文件的大小,对软件更新文件和程序加载文件的数据进行封包。
作为本发明的进一步改进,步骤S5还包括:当用户加载需更新的软件更新文件时,调用主机的数据处理模块对数据进行以下处理:提取软件更新文件的开始地址,计算软件更新文件的数据长度,对软件更新文件的数据进行封装。
作为本发明的进一步改进,步骤S6还包括:主机的程序升级模块将数据处理模块处理好的数据通过其第一数据发送单元发送给所选择的显示器,并对显示器回传的校验结果进行判断,如果校验结果正确,则继续发送数据,如果校验结果不正确,则结束。
作为本发明的进一步改进,步骤S6还包括:显示器的显示器端处理模块接收主机传过来的数据,进行解包,然后校验数据的正确性,并把校验结果通过显示器端处理模块内的第二数据发送单元发送给主机的数据接收及判定单元。
作为本发明的进一步改进,如果步骤S7更新不成功,则进行以下步骤:
S8、进入强制更新模式,将另外一台不需要更新的显示器作为操作过程中的信息输出设备;
S9、重启需要更新的显示器;
S10、主机分析显示器返回信息,并由此判断显示器是否已经进入强制模式;
S11、选择软件更新文件并执行。
本发明还提供了一种基于显卡的显示器软件更新系统,包括主机和显示器,所述主机包括显示器遍历及校验模块、数据处理模块和程序升级模块,所述显示器遍历及校验模块、数据处理模块分别与所述程序升级模块连接,所述显示器包括显示器端处理模块,所述程序升级模块与所述显示器端处理模块连接。
作为本发明的进一步改进,所述程序升级模块包括第一数据发送单元和数据接收及判定单元,所述显示器端处理模块包括数据接收及校验单元和第二数据发送单元,所述第一数据发送单元与所述数据接收及校验单元相连接,所述第二数据发送单元与所述数据接收及判定单元相连接。
本发明的有益效果是:通过上述方案,不需要进行复杂拆解,不需要额外升级硬件,直接通过主机与显示器进行通讯,进行显示器的软件更新,操作简单、方便,成本低。
附图说明
图1是本发明一种基于显卡的显示器软件更新方法的示意图;
图2是本发明一种基于显卡的显示器软件更新系统的显示图。
具体实施方式
下面结合附图说明及具体实施方式对本发明进一步说明。
图1至图2中的附图标号为:主机100;显示器遍历及校验模块101;数据处理模块102;程序升级模块103;第一数据发送单元1031;数据接收及判定单元1032;显示器200;显示器端处理模块201;数据接收及校验单元2011;第二数据发送单元2012;
本发明用于显示器的软件更新,尤其用于工控领域显示器的软件更新方法及系统。
本发明适用的显示器,都有拆解复杂,无专门外接升级端口,并多作为另一个复杂系统的部件的共同特征。
本发明旨在提供一种简单可靠(不需要进行复杂拆解)、不需要额外带升级功能的硬件,只需很少步骤,客户可自主执行,就能完成显示器软件升级的方法及系统,以降低现行升级方案所带来的高成本及高复杂性问题。
如图1至图2所示,一种基于显卡的显示器软件更新方法,包括以下步骤:
S1、将显示器200与主机100(主机100即计算机或者后台)连接,主机100可同时连接多台显示器200,若显示器200已经不能正常显示图像,则需要另外连接一台可正常显示的显示器200作为操作信息的输出设备;
S2、主机100的升级程序调用系统显卡驱动程序,并与之通讯,遍历所有与当前主机100相连的显示器200,并建立映射关系;
S3、主机100验证当前所连接的显示器200是否与主机100的升级程序相匹配,若不匹配,则结束,若匹配,则进行下一步;
S4、主机100获取当前所连接显示器200的软件版本,,可帮助确认是否需要进行软件的更新;
S5、用户选择将要被用于更新的软件更新文件;
S6、选择需要执行更新的显示器200;
S7、执行更新,并实时提供信息显示。
如图1至图2所示,步骤S2通过主机100的显示器遍历及校验模块101直接和系统显示卡物理层通信,查询当前已与主机显示卡连接的显示器200的数量,建立映射表,获取显示器200的型号、制造商、版本信息。
如图1至图2所示,步骤S5为:用户手动选择将要被更新的软件更新文件和程序加载文件,提取软件更新文件和程序加载文件的起始地址,计算软件更新文件和程序加载文件的大小,对软件更新文件和程序加载文件的数据进行封包。
如图1至图2所示,步骤S5还包括:当用户加载需更新的软件更新文件时,调用主机100的数据处理模块102对数据进行以下处理:提取软件更新文件的开始地址,计算软件更新文件的数据长度,对软件更新文件的数据进行封装。
如图1至图2所示,步骤S6还包括:主机100的程序升级模块103将数据处理模块102处理好的数据通过其第一数据发送单元1031发送给所选择的显示器200的数据接收及校验单元2011,数据接收及校验单元2011接收第一数据发送单元1031传过来的数据,进行解包,然后校验数据的正确性,并把校验结果通过第二数据发送单元2012发送给数据接收及判定单元1032,主机100的数据接收及判定单元1032对显示器200回传的校验结果进行判断,如果校验结果正确,则继续发送数据,如果校验结果不正确,则结束。
在更新过程中,可能会遇到突然断电等导致断开连接的现象,以致于程序文件更新不完整,而造成按照正常流程无法连接显示器的故障现象。有鉴于此,本发明提供一种强制更新模式,以保证在通信正常连接以及显示器硬件无物理损坏的情况下,能够对显示器200进行正常的软件升级。
如图1至图2所示,如果步骤S7更新不成功,则进行以下步骤:
S8、进入强制更新模式,将另外一台不需要更新的显示器200作为操作过程中的信息输出设备,因为进入强制更新模式,需要更新的显示器200是不会显示任何可视信息的;
S9、重启需要更新的显示器200;
S10、主机100分析显示器200返回信息,并由此判断显示器200是否已经进入强制模式;
S11、选择软件更新文件并执行。
如图2所示,一种基于显卡的显示器软件更新系统,包括主机100和显示器200,所述主机100包括显示器遍历及校验模块101、数据处理模块102和程序升级模块103,所述显示器遍历及校验模块101、数据处理模块102分别与所述程序升级模块103连接,所述显示器200包括显示器端处理模块201,所述程序升级模块103与所述显示器端处理模块201连接。
如图2所示,所述程序升级模块103包括第一数据发送单元1031和数据接收及判定单元1032,所述显示器端处理模块201包括数据接收及校验单元2011和第二数据发送单元2012,所述第一数据发送单元1031与所述数据接收及校验单元2011相连接,所述第二数据发送单元2012与所述数据接收及判定单元1032相连接。
如图2所示,显示器遍历及校验模块101直接和系统显示卡物理层通信,查询当前已与主机显示卡连接的显示器数量,建立映射表,获取显示器相应信息,如型号,制造商,版本等信息。并校验当前所连接显示器200是否与主机100的程序升级模块103相匹配,若匹配才能进行显示器200的软件更新。
如图2所示,当用户加载需更新的程序文件时,调用数据处理模块102对数据进行处理,提取其开始地址,数据长度,并根据需求按照不同方式分析整理数据,亦对数据进行封装。
如图2所示,程序升级模块103将数据处理模块102处理好的数据通过其第一数据发送单元1031发送给所选择的显示器200,并通过其数据接收及判定单元1032对显示器200回传的校验结果进行判断,从而决定是继续发送数据,还是退出升级;
如图2所示,显示器端处理模块201的数据接收及校验单元2011接收主机100的第一数据发送单元1031传过来的数据,进行解包,然后校验数据的正确性,并把校验结果通过第二数据发送单元2012发送给数据接收及判定单元1032。
如图1至图2所示,本发明提供的一种基于显卡的显示器软件更新方法及系统,不需要任何额外的硬件,将大量用户需要确认的步骤交给主机100处理,大大减少用户操作,更重要的,不需要拆解显示器200,甚至不需要将显示器200从系统中拆下来,直接通过主机与显示器之间的数据显示通道进行通讯,进行显示器的软件更新,操作简单、方便,成本低,以此节约大量时间,由于操作简单,整个更新操作只需要极少的步骤,不需要专业人员进行,终端客户可自行完成升级,维护人员只需进行指导和确认,简化了产品的维护过程,降低了升级成本。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。