CN107766066B - 一种更新从属模块固件的方法 - Google Patents
一种更新从属模块固件的方法 Download PDFInfo
- Publication number
- CN107766066B CN107766066B CN201610708619.7A CN201610708619A CN107766066B CN 107766066 B CN107766066 B CN 107766066B CN 201610708619 A CN201610708619 A CN 201610708619A CN 107766066 B CN107766066 B CN 107766066B
- Authority
- CN
- China
- Prior art keywords
- slave module
- control board
- main control
- firmware program
- new firmware
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种更新从属模块固件的方法,所述方法包括:主控板获取目标从属模块的标识以及新固件程序的标识;所述主控板根据所述新固件程序的标识下载所述新固件程序;所述主控板根据所述目标从属模块的标识将所述新固件程序发送到所述目标从属模块;所述目标从属模块根据所述新固件程序进行固件更新。根据本发明的方法可以实现对列车网络控制***中的从属模块的固件更新。相较于现有技术,本发明的方法简单快捷,大大提高了固件更新的效率,减少了固件更新的工作量。
Description
技术领域
本发明涉及轨道交通领域,具体说涉及一种更新从属模块固件的方法。
背景技术
工业以太网是应用于工业控制领域的以太网技术,根据实际产品和应用而又体现了不同的形式。其具有通信速率高、资源共享能力强、可持续发展潜力大,且能够适用于严酷的工业环境,确保工业应用的安全可靠性等特点。工业以太网虽然脱胎于企业内网(Intrannet)、因特网(Internet)等类型的信息网络,但是工业以太网是面向生产过程,对实时性、可靠性、安全性和数据完整性有很高的要求,既有与信息网络相同的特点和要求,也有自己不同于信息网络的显著特点和安全要求。
列车车载以太网作为工业以太网在列车控制领域的应用,已经成为当前列车网络控制技术的主流技术发展方向。列车网络控制***,其控制算法和控制信息是通过软件程序来操作硬件进行实现的。当列车网络控制***中的从属模块固件程序需要更新维护时,通常使用计算机或者移动设备接入所需更新的模块或单板,通过文传协议(File TransferProtocol,FTP)将固件程序更新到相应的模块或单板。
但是,随着列车功能的不断完善,列车网络控制***中的从属模块的数量不断增多,分别接入每一个需要更新固件的从属模块并更新固件的方法势必带来巨大的工作量。因此,为了提高工作效率,减少工作量,需要一种新的更新从属模块固件的方法。
发明内容
本发明提供了一种更新从属模块固件的方法,所述方法包括:
主控板获取目标从属模块的标识以及新固件程序的标识;
所述主控板根据所述新固件程序的标识下载所述新固件程序;
所述主控板根据所述目标从属模块的标识将所述新固件程序发送到所述目标从属模块;
所述目标从属模块根据所述新固件程序进行固件更新。
在一实施例中,主控板获取目标从属模块的标识以及新固件程序的标识,其中:
建立工具软件与所述主控板间的通信任务;
所述工具软件将所述目标从属模块的标识以及所述新固件程序的标识发送到所述主控板。
在一实施例中,建立工具软件与所述主控板间的通信任务,其中,所述工具软件通过以太网连接所述主控板。
在一实施例中,建立工具软件与所述主控板间的通信任务,其中:
所述主控板建立套接字Socket服务器并侦听链路状态;
所述工具软件向所述主控板发起连接请求以建立所述通信任务。
在一实施例中,所述工具软件发起连接请求从而建立所述通信任务,其中,所述主控板接收到所述连接请求后检查所述服务器是否忙碌,当所述服务器忙碌时关闭Socket。
在一实施例中,所述工具软件将所述目标从属模块的标识发送到所述主控板,其中,所述工具软件将所述目标从属模块的槽位号发送到所述主控板。
在一实施例中,所述主控板根据新固件程序的标识下载所述新固件程序,其中,所述主控板下载所述新固件程序到主控板内存。
在一实施例中,所述主控板根据所述目标从属模块的标识将所述新固件程序发送到所述目标从属模块,其中,所述主控板使用外设部件互连标准通信将所述新固件程序发送到所述目标从属模块。
在一实施例中,所述主控板根据所述目标从属模块的标识将所述新固件程序发送到所述目标从属模块,其中,所述主控板将所述新固件程序发送到所述目标从属模块的从属模块内存。
在一实施例中,所述目标从属模块根据所述新固件程序进行固件更新,其中:
所述主控板向所述目标从属模块发送固件更新通知;
所述目标从属模块基于所述更新通知将所述从属模块内存中的所述新固件程序写入固件存储器。
根据本发明的方法可以实现对列车网络控制***中的从属模块的固件更新。相较于现有技术,本发明的方法简单快捷,大大提高了固件更新的效率,减少了固件更新的工作量。
本发明的其它特征或优点将在随后的说明书中阐述。并且,本发明的部分特征或优点将通过说明书而变得显而易见,或者通过实施本发明而被了解。本发明的目的和部分优点可通过在说明书、权利要求书以及附图中所特别指出的步骤来实现或获得。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例共同用于解释本发明,并不构成对本发明的限制。在附图中:
图1和图2分别是根据本发明不同实施例的方法流程图;
图3是根据本发明一实施例的设备连接示意图。
具体实施方式
以下将结合附图及实施例来详细说明本发明的实施方式,借此本发明的实施人员可以充分理解本发明如何应用技术手段来解决技术问题,并达成技术效果的实现过程并依据上述实现过程具体实施本发明。需要说明的是,只要不构成冲突,本发明中的各个实施例以及各实施例中的各个特征可以相互结合,所形成的技术方案均在本发明的保护范围之内。
随着列车功能的不断完善,列车网络控制***中的从属模块的数量不断增多,分别接入每一个需要更新固件的从属模块并更新固件的方法势必带来巨大的工作量。
为了降低工作量,本发明提出了一种新的更新从属模块固件的方法。本发明的发明人首先分析了现有的列车网络控制***的结构以及现有的固件更新方法。通常,在列车网络控制***的从属模块(单板)需要更新固件时,操作人员使用计算机或者移动设备接入所需更新的模块,通过FTP将固件程序更新到相应的模块。其工作量巨大的主要原因在于需要分别建立与每个所需更新的模块的连接(很多情况下需要将单板拔出)以及手动向该模块传输新的固件程序。
针对上述分析结果,减少工作量的方法之一是从属模块自动下载新的固件程序。但是,在列车网络控制***中,大多数从属模块并不具备直接与外部网络相连的网络接口。
以G300IO机箱为例,其中的所有单板(从属模块)通过外设部件互连标准(Peripheral Component Interconnect,PCI)总线进行数据交互,每块单板并不具备和外部直接通信的网口,这就使得如果单板想要和外部设备进行数据交互就需要创建新的数据连接(拔出单板,建立新的物理数据链路)。在这种情况下,即使单板具有自动下载新的固件程序的功能,但是减少工作量的效果也并不理想。
综合上述分析,本发明的发明人进一步的提出了利用具备直接外部通信能力的设备下载新固件程序,然后采用现有的数据交互连接传输新固件程序的方法。具体的,在列车网络控制***中,主控板一般具备直接外部通信能力,并且主控板与从属模块间具备数据传输链路。以G300IO机箱为例,其主控板前面板存在一个网口。并且主控板作为机箱的管理单元,是为PCI主,其他单板为PCI从。主板与其他模块(单板)可以基于PCI进行数据交互。
因此,在本发明一实施例中,由主控板下载新固件程序,然后将新固件程序传输到需要进行固件更新的从属模块。这里需要注意的是,在本发明的描述中,这里的主控板并不是限定具备中央控制能力的主控板,而是指代具备直接外部通信能力且与其他从属模块(需要进行固件更新的模块/单板)可以进行数据交互的设备单元。
接下来结合附图详细描述本发明的实施例的方法的实施过程。附图的流程图中示出的步骤可以在包含诸如一组计算机可执行指令的计算机***中执行。虽然在流程图中示出了各步骤的逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
在本发明一实施例中,如图1所示,首先由主控板获取目标从属模块的标识以及新固件程序的标识(步骤S100);然后由主控板根据新固件程序的标识下载新固件程序(步骤S110);接着由主控板根据目标从属模块的标识将新固件程序发送到目标从属模块(步骤S120);最后由目标从属模块根据新固件程序进行固件更新(步骤S130)。
在上述步骤之中,关键的步骤之一是步骤S100,即主控板如何获取目标从属模块的标识以及新固件程序的标识。具体的,在本发明一实施例中,首先建立工具软件与主控板间的通信任务;然后由工具软件将目标从属模块的标识以及新固件程序的标识发送到主控板。
具体的,在本发明一实施例中,工具软件通过以太网连接主控板。由主控板建立套接字Socket服务器并侦听链路状态;当需要更新固件时,由工具软件发起连接请求。当主控板接收到连接请求后,基于连接请求建立数据连接。工具软件将目标从属模块的槽位号以及新的固件程序的固件名称发送到主控板。
进一步的,为防止数据传输冲突,在本发明一实施例中,在主控板接收到连接请求后首先要检查套接字Socket服务器是否忙碌,当服务器忙碌时说明已存在连接,此时关闭Socket。
当主控板获取到新固件程序的标识(可以使网络文件位置、文件名称等标识如何下载文件的描述)后主通过文传协议下载新固件程序。这里需要提出的一点是,在很多应用环境下,列车网络控制***中的主控板并不具备直接将新的固件程序写入从属模块的固件存储器的能力。因此,在图1所示实施例中,主控板先将新的固件程序发送到从属模块,然后由从属模块根据接收到的新固件程序进行固件的自主更新。
由于新固件程序是需要发送到从属模块的,新固件程序本身对主控板并无作用,因此在本发明一实施例中,主控板下载新固件程序首先暂存在主控板内存中,待传输完毕后从内存中删除。基于实际需求,在本发明其他实施例中,新固件程序也可以保存到主控板的固定存储装置中备份,以便在从属模块固件更新失败时再次发送。
主控板使用当前已存在的数据连接将新固件程序发送到目标从属模块。由于在列车网络控制***中,现有的大多数主控板与其从属模块是PCI主从关系,因此在本发明一实施例中,主控板使用PCI通信连接将新固件程序发送到目标从属模块。
进一步的,由于发送到从属模块的新固件程序并不是直接写入固件存储器的,因此,新固件程序需要暂存在从属模块上。在本发明一实施例中,主控板将新固件程序发送到目标从属模块的从属模块内存,待从属模块完成固件更新后,将从属模块内存中的新固件程序删除。
具体的,在本发明一实施例中,主控板首先向目标从属模块发送固件更新通知;然后目标从属模块基于更新通知将从属模块内存中的新固件程序写入固件存储器(Flash)。
综合上述流程,本发明一实施例的方法的执行过程如图2所示,操作人员所持的外部设备为TCP客户端(工具端),主控板为TCP服务器。主控板建立Socket服务器(TCP服务器)并侦听链路状态(步骤S211);如果有固件更新需求,则工具端软件发起连接请求(步骤S211);主控板接收到连接请求后检测Socket服务器是否忙碌(步骤S212);如果忙碌,则删除Socket并结束,如果不忙碌,则建立Socket连接,接收工具端软件发送的固件更新报文。
主控板解析报文,获取工具端软件发起的固件更新请求命令以及需要更新的从属模块(单板)的槽位号、新固件程序的固件名(步骤S220);接下来,主控板基于固件名利用FTP下载新固件程序到主控板内存(步骤S230);接着,主控板利用PCI通信将主控板内存中的新固件程序发送到槽位号对应的从属模块的从属模块内存中(并同时发出固件更新通知)(步骤S240);从属模块接收到固件更新通知后将从属模块内存中的新固件程序写入固件存储器(Flash)中完成固件更新(步骤S250)。
以G300IO机箱为例,如图3所示,工具软件(操作人员的手持设备)300通过以太网连接G300IO机箱的主控板301进行交互。首先建立300与301间的Socket通信任务,工具软件300将需要更新的槽位号(例如槽位号312),以及对应槽位所对应的从板固件程序告知主控板301;主控板获取槽位号,并通过FTP下载固件程序到内存。主控板通过槽位号312找到对应的从板(从属模块)312,再使用PCI通信将固件程序传输到该从板,然后通知从板将固件程序更新到Flash,完成从板的固件程序更新升级。
根据本发明的方法可以实现对列车网络控制***中的从属模块的固件更新。相较于现有技术,本发明的方法简单快捷,大大提高了固件更新的效率,减少了固件更新的工作量。
虽然本发明所公开的实施方式如上,但所述的内容只是为了便于理解本发明而采用的实施方式,并非用以限定本发明。本发明所述的方法还可有其他多种实施例。在不背离本发明实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变或变形,但这些相应的改变或变形都应属于本发明的权利要求的保护范围。
Claims (6)
1.一种用于列车网络控制***的更新从属模块固件的方法,其特征在于,所述方法包括:
主控板获取目标从属模块的标识以及新固件程序的标识,
其中,建立工具软件与所述主控板间的通信任务,所述工具软件通过以太网连接所述主控板;所述工具软件将所述目标从属模块的标识以及所述新固件程序的标识发送到所述主控板;
在建立工具软件与所述主控板间的通信任务中:所述主控板建立套接字Socket服务器并侦听链路状态;所述工具软件向所述主控板发起连接请求以建立所述通信任务;主控板接收到连接请求后检测Socket服务器是否忙碌,如果不忙碌,则建立Socket连接,接收工具软件发送的固件更新报文;主控板解析报文,获取工具软件发起的固件更新请求命令以及目标从属模块的槽位号、新固件程序的固件名;
所述主控板根据所述新固件程序的标识下载所述新固件程序;
所述主控板根据所述目标从属模块的标识将所述新固件程序发送到所述目标从属模块;
所述目标从属模块根据所述新固件程序进行固件更新。
2.根据权利要求1所述的方法,其特征在于,所述工具软件发起连接请求从而建立所述通信任务,其中,所述主控板接收到所述连接请求后检查所述服务器是否忙碌,当所述服务器忙碌时关闭Socket。
3.根据权利要求1所述的方法,其特征在于,所述主控板根据新固件程序的标识下载所述新固件程序,其中,所述主控板下载所述新固件程序到主控板内存。
4.根据权利要求1所述的方法,其特征在于,所述主控板根据所述目标从属模块的标识将所述新固件程序发送到所述目标从属模块,其中,所述主控板使用外设部件互连标准通信将所述新固件程序发送到所述目标从属模块。
5.根据权利要求1-4中任一项所述的方法,其特征在于,所述主控板根据所述目标从属模块的标识将所述新固件程序发送到所述目标从属模块,其中,所述主控板将所述新固件程序发送到所述目标从属模块的从属模块内存。
6.根据权利要求5所述的方法,其特征在于,所述目标从属模块根据所述新固件程序进行固件更新,其中:
所述主控板向所述目标从属模块发送固件更新通知;
所述目标从属模块基于所述更新通知将所述从属模块内存中的所述新固件程序写入固件存储器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610708619.7A CN107766066B (zh) | 2016-08-23 | 2016-08-23 | 一种更新从属模块固件的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610708619.7A CN107766066B (zh) | 2016-08-23 | 2016-08-23 | 一种更新从属模块固件的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107766066A CN107766066A (zh) | 2018-03-06 |
CN107766066B true CN107766066B (zh) | 2021-02-26 |
Family
ID=61263658
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610708619.7A Active CN107766066B (zh) | 2016-08-23 | 2016-08-23 | 一种更新从属模块固件的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107766066B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10353696B2 (en) | 2017-04-13 | 2019-07-16 | Blackberry Limited | Program release packages including program updates |
WO2020013807A1 (en) | 2018-07-10 | 2020-01-16 | Hewlett-Packard Development Company, L.P. | Modular computing component information transmission |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001067266A1 (en) * | 2000-03-08 | 2001-09-13 | Phatnoise, Inc. | Vehicle sound system |
CN102164363A (zh) * | 2011-04-14 | 2011-08-24 | 新邮通信设备有限公司 | 一种实现基站版本更新的方法和一种基站 |
CN104883271A (zh) * | 2015-04-20 | 2015-09-02 | 南车株洲电力机车研究所有限公司 | 一种列车整车程序单点更新方法 |
CN105306305A (zh) * | 2015-11-12 | 2016-02-03 | 中国电子科技集团公司第三十研究所 | 一种移动无线网络流量数据采集方法及装置 |
CN105391810A (zh) * | 2015-11-06 | 2016-03-09 | 北京中星微电子有限公司 | 终端设备接口装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11159909B2 (en) * | 2008-02-05 | 2021-10-26 | Victor Thomas Anderson | Wireless location establishing device |
CN101888653A (zh) * | 2009-05-15 | 2010-11-17 | 中兴通讯股份有限公司 | 固件升级方法、基站以及网管中心 |
TWI515660B (zh) * | 2014-12-17 | 2016-01-01 | 緯創資通股份有限公司 | 韌體變量更新方法 |
CN105262627B (zh) * | 2015-10-30 | 2019-12-13 | Tcl集团股份有限公司 | 一种固件升级方法、装置及*** |
-
2016
- 2016-08-23 CN CN201610708619.7A patent/CN107766066B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001067266A1 (en) * | 2000-03-08 | 2001-09-13 | Phatnoise, Inc. | Vehicle sound system |
CN102164363A (zh) * | 2011-04-14 | 2011-08-24 | 新邮通信设备有限公司 | 一种实现基站版本更新的方法和一种基站 |
CN104883271A (zh) * | 2015-04-20 | 2015-09-02 | 南车株洲电力机车研究所有限公司 | 一种列车整车程序单点更新方法 |
CN105391810A (zh) * | 2015-11-06 | 2016-03-09 | 北京中星微电子有限公司 | 终端设备接口装置 |
CN105306305A (zh) * | 2015-11-12 | 2016-02-03 | 中国电子科技集团公司第三十研究所 | 一种移动无线网络流量数据采集方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN107766066A (zh) | 2018-03-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20190372840A1 (en) | Method and apparatus for updating configuration object | |
US20070233833A1 (en) | Data transmission system for electronic devices with server units | |
CN105229972B (zh) | 增强的动态主机配置协议方法 | |
US10609125B2 (en) | Method and system for transmitting communication data | |
CN110716793B (zh) | 一种分布式事务的执行方法、装置、设备及存储介质 | |
CN111385238B (zh) | 一种数据传输方法及装置 | |
CN111625496A (zh) | 分布式文件***在虚拟机环境下的部署方法、装置及设备 | |
CN105579983A (zh) | 提供对等***标识的基板管理控制器 | |
CN111625497A (zh) | 一种分布式文件***的部署方法、装置、设备及存储介质 | |
CN105260377B (zh) | 一种基于分级存储的升级方法和*** | |
CN107766066B (zh) | 一种更新从属模块固件的方法 | |
CN112492052A (zh) | 智能网联车辆数据的远程调试方法及装置 | |
CN111736867A (zh) | 一种fpga更新设备、方法以及存储介质 | |
CN114064091A (zh) | Ota升级控制方法、装置、电子设备及自动驾驶车辆 | |
CN111245831A (zh) | Ftp数据传输方法及装置、服务端和客户端的信息交互*** | |
KR101958477B1 (ko) | 차량용 lin 통신 시스템 및 이 시스템에서 슬레이브 모듈의 동작 방법 | |
CN114564179A (zh) | 参数配置方法、装置及*** | |
CN116800835A (zh) | 一种监控数据采集方法、装置、设备及介质 | |
CN111740972B (zh) | 一种通信协议栈信息的更新方法、装置、设备及存储介质 | |
CN105471718A (zh) | 一种全双工消息队列的实现方法 | |
CN112491614B (zh) | 一种用于嵌入式设备的配置信息在线自动生效方法及*** | |
WO2014094315A1 (zh) | 在***升级过程中对业务进行处理的方法、装置和设备 | |
KR20150076723A (ko) | 차량 부팅 방법 및 차량 부팅 장치 | |
CN104468671A (zh) | 一种配置信息处理方法、装置及相关设备 | |
CN111162969A (zh) | Rsu与obu在线调试方法、***及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |