基于显示端口界面的多流传输模式的固件升级方法及固件升级系统与流程

未命名 08-06 阅读:60 评论:0


1.本发明涉及一种固件升级方法及固件升级系统,特别是涉及一种基于显示端口界面的多流传输模式的固件升级方法及固件升级系统。


背景技术:

2.固件升级是指通过专门的升级程序,将硬件中的工作程序或原始程序码进行改进,使其得到相容性、性能或功能上的提高。它是从设备底层进行升级,因此更直接、更有效,性能提高也更可观。这种升级可将设备的性能不断提高,将其潜力不断发挥出来。
3.现有技术升级显示器固件时,一种使用特殊的硬件转接板从电脑装置传输固件数据到与显示器连接的界面,或者利用电脑的视频传输界面把新固件传输至显示器,来实现固件升级,固件升级过程中设备不能正常工作,而且一次只能升级一台显示装置。对于需要管理大量显示装置的使用者来说操作很不方便。


技术实现要素:

4.本发明所要解决的技术问题在于,针对现有技术的不足提供一种基于显示端口界面的多流传输模式的固件升级方法及固件升级系统。
5.为了解决上述的技术问题,本发明所采用的其中一技术方案是提供一种基于显示端口(displayport,dp)界面的多流传输(multi-stream transport,mst)模式的固件升级方法,其适用于串接为一菊花链拓扑的多个显示器及一主机,该固件升级方法包括:配置该主机的一通信模块,通过一主机dp界面的一dp辅助通道获取这些显示器的多组固件信息,并选择这些显示器中的一目标显示器进行固件升级;执行一固件升级程序,包括:配置该主机的一主控固件升级模块传送一开始升级命令及一固件升级数据至该目标显示器;配置这些显示器中的每一个以:通过一接收端电路从一显示器dp界面接收该开始升级命令及该固件升级数据;配置一多数据流处理模块判断该开始升级命令及该固件升级数据是否到达该目标显示器;响应于判断该开始升级命令及该固件升级数据尚未到达该目标显示器,该多数据流处理模块通过传送端电路传给该菊花链拓扑中的下一个该显示器;及响应于判断该开始升级命令及该固件升级数据到达该目标显示器,配置一显示器固件升级模块依据该开始升级命令执行一固件升级准备程序,并将该固件升级数据写入该目标显示器的一固件储存装置中;配置该主机的该主控固件升级模块传送一获取固件升级结果请求至一目标显示器;以及配置这些显示器中的每一个以:通过该接收端电路接收该获取固件升级结果请求;配置该多数据流处理模块判断该获取固件升级结果请求是否到达该目标显示器;响应于判断该获取固件升级结果请求尚未到达该目标显示器,通过传送端电路传给下一个该显示器;及响应于判断该获取固件升级结果请求到达该目标显示器,通过该显示器固件升级模块检查该固件储存装置中的一固件数据,并向该主机传送一升级结果消息。
6.为了解决上述的技术问题,本发明所采用的另外一技术方案是提供一种基于显示
端口(displayport,dp)界面的多流传输(multi-stream transport,mst)模式的固件升级系统,其包括多个显示器及一主机。这些显示器各包括接收端电路、多数据流处理模块、显示器固件升级模块及固件储存装置。接收端电路连接一显示器dp界面。多数据流处理模块,连接该接收端电路。显示器固件升级模块,连接该多数据流处理模块。固件储存装置,用于储存固件。主机与这些显示器串接为菊花链拓扑,该主机包括通信模块及主控固件升级模块。通信模块连接一主机dp界面,经配置以通过一dp辅助通道获取这些显示器的多组固件信息。主控固件升级模块,经配置以选择这些显示器中的一目标显示器进行固件升级。其中,该主机及这些显示器经配置以执行一固件升级程序,包括:配置该主控固件升级模块传送一开始升级命令及一固件升级数据至该目标显示器;配置这些显示器中的每一个以:通过该接收端电路接收该开始升级命令及该固件升级数据;配置该多数据流处理模块判断该开始升级命令及该固件升级数据是否到达该目标显示器;响应于判断该开始升级命令及该固件升级数据尚未到达该目标显示器,该多数据流处理模块通过传送端电路传给该菊花链拓扑中的下一个该显示器;及响应于判断该开始升级命令及该固件升级数据到达该目标显示器,配置一显示器固件升级模块依据该开始升级命令执行一固件升级准备程序,并将该固件升级数据写入该目标显示器的一固件储存装置中;配置该主控固件升级模块传送一获取固件升级结果请求至一目标显示器;以及配置这些显示器中的每一个以:通过该接收端电路接收该获取固件升级结果请求;配置该多数据流处理模块判断该获取固件升级结果请求是否到达该目标显示器;响应于判断该获取固件升级结果请求尚未到达该目标显示器,通过传送端电路传给下一个该显示器;及响应于判断该获取固件升级结果请求到达该目标显示器,通过该显示器固件升级模块检查该固件储存装置中的一固件数据,并向该主机传送一升级结果消息。
7.本发明的其中一有益效果在于,本发明所提供的固件升级方法及固件升级系统,基于dp标准下的mst功能,通过dp界面的辅助通道的边带消息(sideband message)或者主要通道的次数据封包(secondary data packet,sdp),对dp界面的mst链路上的任意一台显示器进行固件升级,或者对链路上所有显示器进行同时固件升级。因此,能降低固件升级成本,提高固件升级效率。
8.为使能更进一步了解本发明的特征及技术内容,请参阅以下有关本发明的详细说明与附图,但所提供的附图仅用于提供参考与说明,并非用来对本发明加以限制。
附图说明
9.图1为本发明第一实施例的固件升级系统的功能模块图。
10.图2为本发明第一实施例的固件储存装置的功能模块图。
11.图3为本发明第一实施例的固件升级方法的第一流程图。
12.图4为本发明第一实施例的固件升级方法的第二流程图。
13.图5为本发明第一实施例的固件升级方法的第三流程图。
14.图6为本发明第二实施例的固件升级系统的功能模块图。
15.图7为本发明第二实施例的固件升级方法的第一流程图。
16.图8为本发明第二实施例的固件升级方法的第二流程图。
17.图9为本发明第二实施例的固件升级方法的第三流程图。
18.附图标记说明:
19.1、1'-固件升级系统10-主机12、14-显示器
20.100-通信模块102-主控固件升级模块104-主机dp界面
[0021][0022]
120、128、140、148-显示器dp界面121、141:接收端电路122、142:多数据流处理模块
[0023][0024]
124、144:显示器固件升级模块126、146:固件储存装置1240、1440:固件升级电路
[0025][0026]
1241、1441:固件存储器boot:开机区flag:旗标区
[0027][0028]
user1:第一用户代码区user2:第二用户代码区
[0029]
具体实施方式
[0030]
以下是通过特定的具体实施例来说明本发明所公开有关“基于显示端口界面的多流传输模式的固件升级方法及固件升级系统”的实施方式,本领域技术人员可根据本说明书所公开的内容了解本发明的优点与效果。本发明可通过其他不同的具体实施例加以实施或应用,本说明书中的各项细节也可基于不同观点与应用,在不背离本发明的构思下进行各种修改与变更。另外,本发明的附图仅为简单示意说明,并非依实际尺寸进行描绘,在此事先声明。以下的实施方式将进一步详细说明本发明的相关技术内容,但所公开的内容并非用来限制本发明的保护范围。另外,本文中所使用的术语“或”,应视实际情况可能包括相关联的列出项目中的任一个或者多个的组合。
[0031]
[第一实施例]
[0032]
图1为本发明第一实施例的固件升级系统的功能模块图。参阅图1所示,本发明第一实施例提供一种基于显示端口(displayport,dp)界面的多流传输(multi-streamtransport,mst)模式的固件升级系统1,其包括多个显示器12、14及主机10。
[0033]
主机10与显示器12、14串接为菊花链拓扑,主机10包括通信模块100及主控固件升级模块102。通信模块100连接一主机dp界面104,经配置以通过一dp辅助通道获取显示器12、14的多组固件信息。
[0034]
具体而言,dp界面标准下的mst允许以菊花链方式连接显示器,也就是,将一系列显示器连接到主机10,例如为电脑上。在开启电脑的显卡的mst功能以及显示器的dp功能后,将电脑连接到菊花链拓扑中的第一台显示器上的dp输入端,并将第一台显示器上的dp输出端连接到第二台显示器上的dp输入端,并以此类推。
[0035]
通信模块100可用于与显示器12、14建立dp界面链接,并获取所有dp界面的辅助通道的控制权及界面参数,并判断菊花链拓扑的具体架构,例如,此拓扑中所有装置的型号、数量及地址。
[0036]
主控固件升级模块102可依据显示器12、14的多笔固件信息选择显示器12、14的至少其中之一作为目标显示器进行固件升级,且可以通过主机dp界面104,将要升级的固件数据发送给显示器12、14进行固件升级。
[0037]
需要说明的,主机dp界面104包括数据传输主要通道(main link)、辅助通道(aux channel)与连接通道(link training)。辅助通道为一条独立的双向半双工传输的辅助通道,用来传输设定指令与控制指令。
[0038]
另一方面,显示器12包括接收端电路121、多数据流处理模块122、显示器固件升级模块124及固件储存装置126,显示器14包括接收端电路141、多数据流处理模块142、显示器固件升级模块144及固件储存装置146,由于显示器12基本上与显示器14具有相同架构,除非必要,否则以下不再赘述。
[0039]
接收端电路121连接在显示器dp界面120及多数据流处理模块122之间,用于接收通过显示器dp界面120的数据传输主要通道、辅助通道与连接通道传送的数据。接收端电路121可例如为dp接收器,包括有先进先出(first-in first-out,fifo)缓冲器。
[0040]
多数据流处理模块122,在本发明第一实施例中的主要用途在于其可以解析dp界面的辅助通道中的边带消息(sideband message),并根据边带消息中的总链接计数(link_count_total值,简称lct)以及剩余链接计数(link_count_remaining值,简称lcr)判断是否把这条消息转到下一级显示器。此外,多数据流处理模块122还可根据边带消息体中的特殊数据片段判断是否需要进行固件升级,以及重组用于指示固件升级成功与否的边带消息,借此通知主机10固件升级是否成功。
[0041]
显示器固件升级模块124,连接多数据流处理模块122及用于储存固件的固件储存装置126,显示器固件升级模块124可用于将固件数据写入固件储存装置126中。
[0042]
可参考图2,其为本发明第一实施例的固件储存装置的功能模块图。固件储存装置126主要用于储存固件,其包括开机区boot、第一用户代码区user1、第二用户代码区user2及旗标区flag。开机区boot储存有开机程序a,第一用户代码区user1及第二用户代码区user2各储存有初始固件b1及b2,其中之一作为固件运行区,用来存放正常运行的固件文件,另一个则作为固件备份区,用来备份以及等待固件升级。例如,当第一用户代码区user1作为固件运行区时,固件升级时会把新的固件数据写到作为固件备份区的第二用户代码区user2,升级结束后,显示器重启,从开机区boot启动,开机程序a会根据旗标区flag中的信息,让显示器从第二用户代码区user2开始运行,并把第一用户代码区user1设为备份区。
[0043]
请参考图3,其为本发明第一实施例的固件升级方法的第一流程图。在第一实施例中,主控固件升级模块102可依据显示器12、14的固件信息,选择显示器14作为目标显示器进行固件升级。在此前提下,主机10及显示器12、14经配置以执行固件升级程序。第一流程图示出了在主机端执行的步骤,包括:
[0044]
步骤s30:配置主控固件升级模块传送开始升级命令至目标显示器。例如,主控固件升级模块102可将开始升级命令包括在一边带消息(sideband message)中,且通过dp辅助通道传送此边带消息,其目的地为显示器14。边带消息可包括消息标头及消息体,且可例如为通过边带消息类型中的remote_i2c_write request,其目的在于指示目标显示器开始准备固件升级。消息标头包括前面提到的总链接计数(link_count_total值,简称lct)以及剩余链接计数(link_count_remaining值,简称lcr),其中,lct定义是从主机10到目标显示器的路径上,边带消息将会通过的dp链路总数,而lcr定义是到目标显示器的路径上,边带消息经过的dp链路的剩余数量。此外,消息标头还包括描述消息体长度的sideband_msg_body_length等信息。
[0045]
步骤s31:配置主控固件升级模块传送固件升级数据至目标显示器。类似的,主控固件升级模块102可将固件升级数据包括在边带消息中,并同样使用remote_i2c_write request类型的边带消息,向目标显示器发送固件升级数据,且通过dp辅助通道传送此边带消息,其目的地为显示器14。
[0046]
步骤s32:配置主控固件升级模块传送获取固件升级结果请求至目标显示器。类似地,此步骤是在将固件升级数据传送完毕后,向目标显示器确认固件升级是否完成。因此,在lct与lcr部分的设定值均与前述步骤相同,不同的是此步骤是通过remote_i2c_read request类型的边带消息来获取固件升级是否成功的信息。
[0047]
请参考图4,其为本发明第一实施例的固件升级方法的第二流程图。此处,第二流程图示出了固件升级程序沿着下行方向在显示器端所执行的步骤。如图4所示,固件升级程序包括配置显示器12、14中的每一个以执行下列步骤:
[0048]
步骤s40:通过接收端电路接收开始升级命令及固件升级数据。在本实施例中,显示装置12的接收端电路121检测到边带消息后,把数据传输到fifo缓冲器中,并且将旗标msg_rcv_finish设定为1,来表示已接收到边带消息。
[0049]
步骤s41:配置多数据流处理模块判断开始升级命令及固件升级数据是否到达目标显示器。具体而言,若多数据流处理模块122检测到旗标msg_rcv_finish为1,则从fifo缓冲器读取数据,并解析边带消息的消息标头中的总链接计数(lct)及剩余链接计数(lcr),并判断lcr是否为预定数值,也就是0。当判断lcr不为该预定数值(0)时,则判断此边带消息尚未到达目标显示器。
[0050]
响应于判断开始升级命令及固件升级数据尚未到达目标显示器,固件升级程序进入步骤s42:多数据流处理模块通过传送端电路传给菊花链拓扑中的下一个显示器。例如,多数据流处理模块122可将消息标头中的lcr值修改为lcr-1,再通过传送端电路及显示器dp界面128将重组后的边带消息传送给下一台显示装置14。
[0051]
响应于判断开始升级命令及固件升级数据到达目标显示器,固件升级程序进入步骤s43:配置显示器固件升级模块依据开始升级命令执行固件升级准备程序,并将固件升级数据写入目标显示器的固件储存装置中。
[0052]
举例而言,当判断lcr为预定数值(0)时,则判断此边带消息到达目标显示器。例如,到达显示器14时,同样执行上述步骤s40及s41,多数据流处理模块142将判断lcr为0,则进一步解析边带消息的消息体。在先前的步骤中,由于主机10传送边带消息时,使用remote_i2c_write request类型的边带消息,并分别将开始升级命令及固件升级数据包括在边带消息的消息体中,因此,在步骤s43中,多数据流处理模块142将进一步解析消息体,当解析此消息体发现是remote_i2c_write request类型的边带消息时,则进一步解析消息体以得到写入识别码,例如,write_i2c_device_identifier,如果此识别码对应的数据片段,例如,字段为经过定义的特定值(例如,0x94),则将消息体中,对应i2c_data_to_write的数据传送给显示器固件升级模块144。
[0053]
接着,显示器固件升级模块经配置以根据数据片段,例如,对应i2c_data_to_write的数据中的第一个字节(byte)来判断数据片段是对应开始升级命令还是固件升级数据。如果数据片段是对应开始升级命令,则依据开始升级命令执行固件升级准备程序。如果数据片段是对应固件升级数据,则写入目标显示器(例如显示器14)的固件储存装置146中。
[0054]
步骤s44:通过接收端电路接收获取固件升级结果请求。
[0055]
步骤s45:配置多数据流处理模块判断获取固件升级结果请求是否到达目标显示器。在此步骤中,获取固件升级结果请求同样通过边带消息来传送,故不再赘述判断是否到达目标显示器的细节。
[0056]
响应于判断获取固件升级结果请求尚未到达目标显示器,固件升级程序进入步骤s46:通过传送端电路传给下一个显示器。类似地,当判断lcr不为该预定数值(0)时,则判断此边带消息尚未到达目标显示器,多数据流处理模块122可将消息标头中的lcr值修改为lcr-1,再通过传送端电路及显示器dp界面128将重组后的边带消息传送给下一台显示装置14。
[0057]
响应于判断获取固件升级结果请求到达目标显示器,固件升级程序进入步骤s47:通过显示器固件升级模块检查固件储存装置中的固件数据,并向主机传送升级结果消息。
[0058]
在此步骤中,若多数据流处理模块142将判断lcr为0,则进一步解析边带消息的消息体。在先前的步骤中,由于主机10传送边带消息时,使用remote_i2c_read request类型的边带消息,并分别将获取固件升级结果请求包括在边带消息的消息体中,因此,在步骤s45中,多数据流处理模块142将进一步解析消息体,当解析此消息体发现是remote_i2c_read request类型的边带消息时,则进一步解析消息体以得到读取识别码,例如,read_i2c_device_identifier,并进一步解析此识别码对应的数据中的第一个字节(byte)来判断数据片段是对应获取固件升级结果请求。
[0059]
接着,通知显示器固件升级模块144,显示器固件升级模块144则对写入固件储存装置146中的固件数据进行合法性检查,例如,crc或数字签名认证等方式,并通过remote_i2c_read replay消息把升级结果成功或失败的结果返回给主机10。需要说明的是,上行流程与下行流程的概念基本相同,上行流程是将升级结果消息包括在边带消息的消息体中,并以类似的方式设定消息标头中的lct及lcr,路径中的显示器也会修改lcr后的重组边带消息,直到到达主机10。因此,不再赘述上行流程的细节。
[0060]
在一些实施例中,如果菊花链拓扑中的所有显示器是相同型号,且所有显示器的固件版本相同,都需要以主机10的固件升级数据进行升级,本发明提供的固件升级方法可以实现对链路上所有显示器同时进行固件升级。
[0061]
可进一步参考图5,其为本发明第一实施例的固件升级程序的第三流程图。在第一实施例中,若主机10根据固件数据认定目标显示器需要包括所有的显示器,则进一步执行下列步骤:
[0062]
步骤s50:配置主控固件升级模块以将特定字段插入消息体中,并以菊花链拓扑中的最后一个显示器作为目标显示器。
[0063]
例如,主控固件升级模块102可采用remote_i2c_write request类型的消息体,除了将消息体中的write_i2c_device_identifier对应的字段设置为指示固件升级的字段(如0x94),还将消息体中i2c_data_to_write对应的数据中的特定字段,例如,第一及第二个字节(byte),分别定义为特定的值,例如,0x01及0x00。
[0064]
步骤s51:多数据流处理模块经配置以解析消息体,在得到特定字段时,直接将写入识别码对应的数据片段传送至显示器固件升级模块。
[0065]
举例说明,当此边带消息到达显示器12时,多数据流处理模块122首先会判断此边
带消息需要继续传向下一台显示器14,因此会将lcr减去1之后的重组边带消息并向下传送,同时,多数据流处理模块122解析此边带消息的消息体时,将会得到消息体中i2c_data_to_write对应的数据中,第一及第二个字节(byte)为0x01及0x00,则判断要进行固件升级,直接将数据片段传送至显示器固件升级模块124。而与步骤s43类似,如果数据片段是对应开始升级命令,则依据开始升级命令执行固件升级准备程序。如果数据片段是对应固件升级数据,则写入显示器(例如显示器12)的固件储存装置126中。
[0066]
因此,在第一实施例中,基于dp标准下的mst功能,通过dp界面的辅助通道的边带消息(sideband message),对dp界面的mst链路上的任意一台显示器进行固件升级,或者对链路上所有显示器进行同时固件升级。因此,能降低固件升级成本,提供固件升级效率。
[0067]
[第二实施例]
[0068]
图6为本发明第二实施例的固件升级系统的功能模块图。在第二实施例中,为了进一步提升固件升级的速度,当需要进行固件升级时,主机10除了采用dp辅助通道传递边带消息之外,还进一步利用dp主要通道将固件升级数据以次数据封包(secondary data packet,sdp)的形式传送给目标显示器。
[0069]
如图6所示,固件升级系统1'的架构与图1的固件升级系统1的不同之处在于,显示器固件升级模块124包括固件升级电路1240及固件存储器1241,显示器固件升级模块144包括固件升级电路1440及固件存储器1441。
[0070]
以图6的架构及图3的流程为基础,请进一步参考图7,其为本发明第二实施例的固件升级程序的第一流程图。
[0071]
在主机端,固件升级方法还包括下列步骤:
[0072]
步骤s70:将开始升级命令包括在边带消息中,并通过dp辅助通道传送至目标显示器。
[0073]
步骤s71:将固件升级数据封装在次数据封包中,并通过dp主要通道传送至目标显示器。在dp标准中,次数据封包(secondary data packet,sdp)一般用于传送声源信号,而本发明进一步利用次数据封包来传递固件升级数据。
[0074]
步骤s72:将获取固件升级结果请求包括在边带消息中,并通过dp辅助通道传送至目标显示器。
[0075]
以图6的架构及图3的流程为基础,请进一步参考图8,其为本发明第二实施例的固件升级程序的第二流程图。
[0076]
在显示器端,固件升级程序可包括针对所有的显示器执行下列步骤:
[0077]
步骤s80:通过接收端电路接收边带消息及次数据封包。关于边带消息的接收方式不再赘述,而针对次数据封包,当第一级的显示器12接收端电路121在收到dp主要通道上的数据后,将接收属于显示器14的数据(包括次数据封包),而将其他数据通过dp主要通道传送给下一级显示器14。
[0078]
步骤s81:判断边带消息是否到达目标显示器。
[0079]
响应于判断边带消息到达目标显示器,固件升级程序进入步骤s82:多数据流处理模块将lcr-1,重组边带消息并通过传送端电路传给菊花链拓扑中的下一个显示器。
[0080]
响应于判断边带消息到达目标显示器,固件升级程序进入步骤s83:配置多数据流处理模块解析消息体以得到开始升级命令,并依据开始升级命令控制固件升级电路执行固
件升级准备程序。
[0081]
步骤s84:配置固件升级电路将具有固件升级数据的次数据封包储存在固件存储器中,并将固件升级数据写入固件储存装置中。
[0082]
具体而言,当目标显示器,例如,显示器14收到特定的sdp,固件升级电路1440直接把sdp中的固件升级数据存入固件存储器,例如,随机存取内存(random access memory,ram)中,其可包括有例如2*256个字节(byte)的ram单元来存放数据。当其中一个ram单元存满256个字节的固件升级数据后,就把固件升级数据写入到固件储存装置中,后续收到的固件升级数据则存放在另一个ram单元中,两个ram单元可交替使用,以确保写入不中断。
[0083]
如果菊花链拓扑中的所有显示器是相同型号,且所有显示器的固件版本相同,都需要以主机10的固件升级数据进行升级,在第二实施例中,固件升级方法也可以实现对链路上所有显示器同时进行固件升级。
[0084]
请参考图9,其为本发明第二实施例的固件升级方法的第三流程图。如图9所示,当主控固件升级模块判断目标显示器需包括所有的显示器时,固件升级程序还包括下列步骤:
[0085]
步骤s90:配置主控固件升级模块以将特定字段插入消息体中,并将菊花链拓扑中的最后一个显示器作为目标显示器来传送边带消息。需要说明的是,本实施例中,仅将固件升级命令存放在边带消息来传送,边带消息不包括固件升级数据。
[0086]
步骤s91:配置主控固件升级模块以通过dp主要通道将包括固件升级数据的sdp传送给这些显示器中的每一个。
[0087]
步骤s92:配置多数据流处理模块以解析该消息体,获取到特定字段时,直接将写入识别码对应的数据片段传送至显示器固件升级电路。
[0088]
步骤s93:配置固件升级电路根据该数据片段判断数据片段是对应该开始升级命令,以决定依据开始升级命令执行该固件升级准备程序。此处,步骤s92、s93与步骤s51的相关描述类似,故不再赘述。
[0089]
响应于该固件升级准备程序已经执行,固件升级程序进入步骤s94:配置固件升级电路将具有固件升级数据的次数据封包储存在固件存储器中,并将固件升级数据写入固件储存装置中。
[0090]
例如,当多数据流处理模块122解析边带消息的消息体时,将会得到消息体中i2c_data_to_write对应的数据中,第一及第二个字节(byte)为0x01及0x00,则判断要进行固件升级,直接将数据片段传送至固件升级电路1240,固件升级电路1240判断数据片段是对应开始升级命令,则直接将固件存储器1241中的固件升级数据写入固件储存装置126中。
[0091]
需要说明的是,在第一实施例及第二实施例中提到的固件升级准备程序可例如为将睡眠状态中的显示器唤醒,以及将工作中的显示器的固件升级模块进行初始化等步骤。然而,依据图2中固件储存装置的配置,显示器仍可在正常工作的情形下执行固件升级程序。
[0092]
接着,请再参考图8,本发明第二实施例的固件升级程序进入步骤s85。
[0093]
步骤s85:通过接收端电路接收获取固件升级结果请求。
[0094]
步骤s86:配置多数据流处理模块判断获取固件升级结果请求是否到达目标显示器。在此步骤中,获取固件升级结果请求同样通过边带消息来传送,故不再赘述判断是否到
达目标显示器的细节。
[0095]
响应于判断获取固件升级结果请求尚未到达目标显示器,固件升级程序进入步骤s87:通过传送端电路传给下一个显示器。
[0096]
响应于判断获取固件升级结果请求到达目标显示器,固件升级程序进入步骤s88:通过固件升级电路检查固件储存装置中的固件数据,并向主机传送升级结果消息。
[0097]
[实施例的有益效果]
[0098]
本发明的其中一有益效果在于,本发明所提供的固件升级方法及固件升级系统,基于dp标准下的mst功能,通过dp界面的辅助通道的边带消息(sideband message)或者主要通道的次数据封包(secondary data packet,sdp),对dp界面的mst链路上的任意一台显示器进行固件升级,或者对链路上所有显示器进行同时固件升级。因此,能降低固件升级成本,提高固件升级效率。
[0099]
以上所公开的内容仅为本发明的优选可行实施例,并非因此局限本发明的申请专利范围,所以凡是根据本发明说明书及附图内容所做的等同技术变化,均包括于本发明的申请专利范围内。

技术特征:
1.一种基于显示端口界面的多流传输模式的固件升级方法,其适用于串接为一菊花链拓扑的多个显示器及一主机,所述固件升级方法包括:配置所述主机的一通信模块,通过一主机显示端口界面的一显示端口辅助通道获取所述多个显示器的多组固件信息,并选择所述多个显示器中的一目标显示器进行固件升级;执行一固件升级程序,包括:配置所述主机的一主控固件升级模块传送一开始升级命令及一固件升级数据至所述目标显示器;配置所述多个显示器中的每一个以:通过一接收端电路从一显示器显示端口界面接收所述开始升级命令及所述固件升级数据;配置一多数据流处理模块判断所述开始升级命令及所述固件升级数据是否到达所述目标显示器;响应于判断所述开始升级命令及所述固件升级数据尚未到达所述目标显示器,所述多数据流处理模块通过传送端电路传给所述菊花链拓扑中的下一个所述显示器;及响应于判断所述开始升级命令及所述固件升级数据到达所述目标显示器,配置一显示器固件升级模块依据所述开始升级命令执行一固件升级准备程序,并以所述固件升级数据写入所述目标显示器的一固件储存装置中;配置所述主机的所述主控固件升级模块传送一获取固件升级结果请求至一目标显示器;以及配置所述多个显示器中的每一个以:通过所述接收端电路接收所述获取固件升级结果请求;配置所述多数据流处理模块判断所述获取固件升级结果请求是否到达所述目标显示器;响应于判断所述获取固件升级结果请求尚未到达所述目标显示器,通过传送端电路传给下一个所述显示器;及响应于判断所述获取固件升级结果请求到达所述目标显示器,通过所述显示器固件升级模块检查所述固件储存装置中的一固件数据,并向所述主机传送一升级结果消息。2.根据权利要求1所述的固件升级方法,其特征在于,还包括配置所述主机将所述开始升级命令及所述固件升级数据各包括在一边带消息中,且通过所述显示端口辅助通道传送所述边带消息,其包括一消息标头及一消息体。3.根据权利要求2所述的固件升级方法,其特征在于,判断所述开始升级命令及所述固件升级数据是否到达所述目标显示器的步骤还包括配置所述多数据流处理模块以:解析所述消息标头以得到一总链接计数及一剩余链接计数,并判断所述剩余链接计数是否为预定数值;响应于判断所述剩余链接计数并非为预定数值,则判断所述边带消息尚未到达所述目标显示器,将所述剩余链接计数减去1并重组为所述边带消息;以及响应于判断所述剩余链接计数为预定数值,则判断所述边带消息到达所述目标显示器。4.根据权利要求3所述的固件升级方法,其特征在于,还包括:
响应于判断所述边带消息到达所述目标显示器,配置所述多数据流处理模块解析所述消息体以得到一写入识别码,并依据所述写入识别码将对应的一数据片段传送至所述显示器固件升级模块;配置所述显示器固件升级模块根据所述数据片段判断所述数据片段是对应所述开始升级命令或所述固件升级数据,以决定依据所述开始升级命令执行一固件升级准备程序,或将所述固件升级数据写入所述目标显示器的所述固件储存装置中。5.根据权利要求4所述的固件升级方法,其特征在于,还包括:响应于所选择的所述目标显示器需要包括所有的所述多个显示器,配置所述主机将一特定字段插入所述消息体中,并以所述菊花链拓扑中的最后一个所述显示器作为所述目标显示器;配置所述多数据流处理模块以解析所述消息体,在得到所述特定字段时,直接将所述写入识别码对应的所述数据片段传送至所述显示器固件升级模块。6.根据权利要求1所述的固件升级方法,其特征在于,还包括配置所述主机以:将所述开始升级命令包括在一边带消息中,并通过所述显示端口辅助通道传送至所述目标显示器,所述边带消息包括一消息标头及一消息体;以及将所述固件升级数据封装在一次数据封包中,并通过一显示端口主要通道传送给所述目标显示器。7.根据权利要求6所述的固件升级方法,其特征在于,判断所述开始升级命令及所述固件升级数据是否到达所述目标显示器的步骤还包括配置所述多数据流处理模块以:解析所述消息标头以得到一总链接计数及一剩余链接计数,并判断所述剩余链接计数是否为预定数值;响应于判断所述剩余链接计数并非为预定数值,则判断所述边带消息尚未到达所述目标显示器,将所述剩余链接计数参数减去1并重组为所述边带消息,并传送给所述菊花链拓扑中的下一个所述显示器;以及响应于判断所述剩余链接计数为预定数值,则判断所述边带消息到达所述目标显示器。8.根据权利要求6所述的固件升级方法,其特征在于,所述显示器固件升级模块包括一固件升级电路及一固件存储器,且固件升级方法还包括:响应于判断所述边带消息到达所述目标显示器,配置所述多数据流处理模块解析所述消息体以得到所述开始升级命令,并依据所述开始升级命令控制所述固件升级电路执行所述固件升级准备程序;以及响应于判断所述开始升级命令到达所述目标显示器,配置所述固件升级电路将具有所述固件升级数据的所述次数据封包储存在所述固件存储器中,并将所述固件升级数据写入所述固件储存装置中。9.根据权利要求8所述的固件升级方法,其特征在于,还包括:响应于所选择的所述目标显示器需要包括所有的所述多个显示器,配置所述主机将一特定字段插入所述消息体中,并以所述菊花链拓扑中的最后一个所述显示器作为所述目标显示器来传送所述边带消息;配置所述主机通过所述显示端口主要通道将所述次数据封包传送给所述多个显示器
中的每一个;配置所述多数据流处理模块以解析所述消息体,在得到所述特定字段时,直接将所述写入识别码对应的所述数据片段传送至所述显示器固件升级电路;配置所述固件升级电路根据所述数据片段判断所述数据片段是对应所述开始升级命令,以决定依据所述开始升级命令执行所述固件升级准备程序;以及响应于所述固件升级准备程序已经执行,配置所述固件升级电路将具有所述固件升级数据的所述次数据封包储存在所述固件存储器中,并将所述固件升级数据写入所述固件储存装置中。10.一种基于显示端口界面的多流传输模式的固件升级系统,其包括:多个显示器,各包括:一接收端电路,连接一显示器显示端口界面;一多数据流处理模块,连接所述接收端电路;一显示器固件升级模块,连接所述多数据流处理模块;及一固件储存装置,用于储存固件;一主机,与所述多个显示器串接为一菊花链拓扑,所述主机包括:一通信模块,连接一主机显示端口界面,经配置以通过一显示端口辅助通道获取所述多个显示器的多组固件信息;一主控固件升级模块,经配置以选择所述多个显示器中的一目标显示器进行固件升级;所述主机及所述多个显示器经配置以执行一固件升级程序,包括:配置所述主控固件升级模块传送一开始升级命令及一固件升级数据至所述目标显示器;配置所述多个显示器中的每一个以:通过所述接收端电路接收所述开始升级命令及所述固件升级数据;配置所述多数据流处理模块判断所述开始升级命令及所述固件升级数据是否到达所述目标显示器;响应于判断所述开始升级命令及所述固件升级数据尚未到达所述目标显示器,所述多数据流处理模块通过传送端电路传给所述菊花链拓扑中的下一个所述显示器;及响应于判断所述开始升级命令及所述固件升级数据到达所述目标显示器,配置一显示器固件升级模块依据所述开始升级命令执行一固件升级准备程序,并将所述固件升级数据写入所述目标显示器的一固件储存装置中;配置所述主控固件升级模块传送一获取固件升级结果请求至一目标显示器;以及配置所述多个显示器中的每一个以:通过所述接收端电路接收所述获取固件升级结果请求;配置所述多数据流处理模块判断所述获取固件升级结果请求是否到达所述目标显示器;响应于判断所述获取固件升级结果请求尚未到达所述目标显示器,通过传送端电路传给下一个所述显示器;及响应于判断所述获取固件升级结果请求到达所述目标显示器,通过所述显示器固件升
级模块检查所述固件储存装置中的一固件数据,并向所述主机传送一升级结果消息。

技术总结
本发明公开一种基于显示端口界面的多流传输模式的固件升级方法及固件升级系统。固件升级方法适用于串接为菊花链拓扑的多个显示器及主机,且包括:配置主机通过显示端口辅助通道获取多个显示器的固件信息,并选择目标显示器进行固件升级;以及执行固件升级程序,包括:配置主机传送开始升级命令及固件升级数据至目标显示器;配置每一个显示器以:接收开始升级命令及固件升级数据,判断是否到达目标显示器,若否,则传给下一个显示器,若是,则依据开始升级命令执行固件升级准备程序,并将固件升级数据写入目标显示器的固件储存装置中。升级数据写入目标显示器的固件储存装置中。升级数据写入目标显示器的固件储存装置中。


技术研发人员:倪文娟 周浩 徐涛
受保护的技术使用者:瑞昱半导体股份有限公司
技术研发日:2022.01.26
技术公布日:2023/8/5
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐