CN109039779B - 设备升级方法、数据传输单元、控制器局域网络设备和网络 - Google Patents

设备升级方法、数据传输单元、控制器局域网络设备和网络 Download PDF

Info

Publication number
CN109039779B
CN109039779B CN201811099524.5A CN201811099524A CN109039779B CN 109039779 B CN109039779 B CN 109039779B CN 201811099524 A CN201811099524 A CN 201811099524A CN 109039779 B CN109039779 B CN 109039779B
Authority
CN
China
Prior art keywords
data
upgrade
upgrading
dtu
equipment
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
Application number
CN201811099524.5A
Other languages
English (en)
Other versions
CN109039779A (zh
Inventor
关富文
钟金扬
董玉红
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Gree Electric Appliances Inc of Zhuhai
Original Assignee
Gree Electric Appliances Inc of Zhuhai
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Gree Electric Appliances Inc of Zhuhai filed Critical Gree Electric Appliances Inc of Zhuhai
Priority to CN201811099524.5A priority Critical patent/CN109039779B/zh
Publication of CN109039779A publication Critical patent/CN109039779A/zh
Application granted granted Critical
Publication of CN109039779B publication Critical patent/CN109039779B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/082Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2212/00Encapsulation of packets

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Communication Control (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本公开提出一种设备升级方法、数据传输单元、控制器局域网络设备和网络,涉及总线网络技术领域。本公开提出的一种设备升级方法包括:数据传输单元DTU接收来自控制器局域网络CAN的待升级设备的数据请求;将缓存的待升级设备的升级数据按照预定封装长度封装成多个数据帧,其中,数据帧中包括数据帧标识;将数据帧通过CAN总线依次发送给待升级设备,以便待升级设备按照数据帧标识拼接升级数据。通过这样的方法能够实现利用CAN的低带宽环境传输升级数据,无需工作人员现场提供升级数据,提高设备应用升级的效率,降低升级成本。

Description

设备升级方法、数据传输单元、控制器局域网络设备和网络
技术领域
本公开涉及自动化控制技术领域,特别是一种设备升级方法、数据传输单元、控制器局域网络设备和网络。
背景技术
为保证设备的稳定运行和满足用户不断升级的需求,机组设备经常需要进行软件升级。目前大型机组,如大型暖通设备的升级一般由售后人员现场操作实现。这样的操作一方面人员成本高,另一方面花费时间长久,特别是位于偏远地区的工程,现场操作极为不便,不利于产品的及时更新以及售后维护。
发明内容
发明人发现,由于机组设备并不配置互联网接口,且设备间采用CAN(ControllerArea Network,控制器局域网络)连接,带宽极为有限,难以将升级数据通过CAN传输给各个设备。
本公开的一个目的在于提供一种通过CAN实现数据设备升级数据传输的方案,提高设备应用升级的效率,降低升级成本。
根据本公开的一些实施例的一个方面,提出一种设备升级方法,包括:DTU(DataTransfer unit,数据传输单元)接收来自CAN的待升级设备的数据请求;将缓存的待升级设备的升级数据按照预定封装长度封装成多个数据帧,其中,数据帧中包括数据帧标识;将数据帧通过CAN总线依次发送给待升级设备,以便待升级设备按照数据帧标识拼接升级数据。
在一些实施例中,设备升级方法还包括:接收来自待升级设备的升级请求,在确定缓存有与待升级设备的标识相关联的升级数据的情况下,反馈升级应答,以便待升级设备发送数据请求。
在一些实施例中,数据请求中包括请求的数据长度;将升级数据按照预定封装长度封装成多个数据帧包括:根据数据请求中请求的数据长度从待升级设备的升级数据中截取对应长度的升级数据;按照预定封装长度将截取的升级数据封装成多个数据帧。
在一些实施例中,数据请求中还包括当前请求的升级数据的起始地址;将升级数据按照预定封装长度封装成多个数据帧包括:根据数据请求中请求的数据长度从起始地址开始截取对应长度的升级数据;按照预定封装长度将截取的升级数据封装成多个数据帧。
在一些实施例中,将数据帧通过CAN总线依次发送给待升级设备包括:在网络占用率大于等于预定占用率上限的情况下,暂停发送数据帧,直至网络占用率小于预定占用率上限,继续发送数据帧。
在一些实施例中,设备升级方法还包括:DTU通过监听网络信息确定网络中各个设备的标识、设备型号和应用版本;向服务器上报设备型号和应用版本;接收并缓存来自服务器的升级数据,将升级数据与设备的标识相关联。
在一些实施例中,DTU通过移动通信网络与服务器交互。
在一些实施例中,按照预定封装长度将截取的升级数据封装成多个数据帧包括:将CAN数据帧的数据字段的预定两个字节和canID字段的低7位写入数据帧标识;和将CAN数据帧的数据字段的其他字节写入预定封装长度的升级数据。
通过这样的方法,DTU能够将升级数据拆分成多个数据帧并为数据帧排序,将数据帧依次发送给待升级设备,以便待升级设备拼接获取的数据帧中的数据,获取升级数据,从而实现利用CAN的低带宽环境进行升级数据的传输,无需工作人员现场提供升级数据,提高设备应用升级的效率,降低升级成本。
根据本公开的另一些实施例的一个方面,提出一种设备升级方法,包括:待升级设备通过CAN总线向DTU发送数据请求;待升级设备通过CAN总线接收来自DTU的多个数据帧,其中,数据帧为DTU将缓存的与待升级设备的标识相关联的升级数据按照预定封装长度封装生成;待升级设备按照数据帧中包括的数据帧标识拼接数据帧中的升级数据,获取完整的升级数据。
在一些实施例中,设备升级方法还包括:向DTU发送升级请求;在收到DTU反馈的升级应答的情况下,向DTU发送数据请求,其中,DTU在确定缓存有与待升级设备的标识相关联的升级数据的情况下反馈升级应答。
在一些实施例中,向DTU发送数据请求包括:在当前的网络占用率小于预定占用率上限的情况下,向DTU发送数据请求;在当前的网络占用率大于等于预定占用率上限的情况下,以预定频率查询当前的网络占用率,直至网络占用率小于预定占用率,向DTU发送数据请求。
在一些实施例中,向DTU发送数据请求还包括:在当前的网络占用率小于预定占用率上限,且预定占用率上限与当前的网络占用率的差值小于预定差值下限的情况下,增加相邻两次向DTU发送数据请求的时间间隔;在当前的网络占用率小于预定占用率上限,且预定占用率上限与当前的网络占用率的差值大于预定差值上限的情况下,缩短相邻两次向DTU发送数据请求的时间间隔。
在一些实施例中,数据请求中包括请求的数据长度,以便DTU截取符合请求的数据长度的升级数据生成数据帧。
在一些实施例中,数据请求中还包括当前请求的升级数据的起始地址,以便DTU根据数据请求中请求的数据长度从起始地址开始截取对应长度的升级数据。
在一些实施例中,设备升级方法还包括:根据请求的数据长度和预定封装长度确定预计收到的数据帧数量;根据收到的数据帧的数量和预计收到的数据帧数量确定是否丢帧;在确定未丢帧的情况下执行升级数据完整性校验;在确定升级数据不完整的情况下,确定下一段升级数据的起始地址,并发送数据请求,直至获得完整的升级数据。
在一些实施例中,设备升级方法还包括:在确定升级数据完整的情况下,校验升级数据是否正确;若升级数据不正确,则清除缓存的升级数据,以便再次发送升级请求;
在一些实施例中,设备升级方法还包括:在升级数据传输过程中,若DTU离线,则:清除缓存的升级数据并在DTU上线后再次发送升级请求,或在DTU上线后根据已获得的升级数据发送针对剩余升级数据的数据请求。
在一些实施例中,设备升级方法还包括:在确定丢帧的情况下,根据数据帧标识确定丢失的数据帧,向DTU发送针对丢失的数据帧的数据请求,其中,针对丢失的数据帧的数据请求中包括丢失的数据帧中的升级数据的起始地址和丢失的升级数据的长度,以便DTU从升级数据的起始地址开始截取对应长度的升级数据。
在一些实施例中,设备升级方法还包括:待升级设备在确定处于休眠或者正常停机状态,且没有用户进行操作的情况下,根据升级数据升级应用,并在升级完成后重新启动。
在一些实施例中,按照数据帧中包括的数据帧标识拼接数据帧中的升级数据包括:从将CAN数据帧的数据字段的预定两个字节和canID字段的低7位中提取数据帧标识;从CAN数据帧的数据字段的其他字节中提取预定封装长度的升级数据;根据数据帧信号的顺序拼接升级数据。
通过这样的方法,待升级设备能够接收DTU拆分升级数据形成的多个数据帧,拼接数据帧中的数据获取升级数据,从而实现利用CAN的低带宽环境进行升级数据的传输,无需工作人员现场提供升级数据,提高设备应用升级的效率,降低升级成本。
根据本公开的又一些实施例的一个方面,提出一种数据传输单元DTU,包括:请求接收模块,被配置为接收来自控制器局域网络CAN的待升级设备的数据请求;数据帧生成模块,被配置为将缓存的待升级设备的升级数据按照预定封装长度封装成多个数据帧,其中,数据帧中包括数据帧标识;数据帧发送模块,被配置为将数据帧通过CAN总线发送给待升级设备,以便待升级设备按照数据帧中包括的数据帧标识拼接升级数据。
根据本公开的再一些实施例的一个方面,提出一种DTU,包括:存储器;以及耦接至存储器的处理器,处理器被配置为基于存储在存储器的指令执行上文中提到的任意一种由DTU执行的设备升级方法。
这样的DTU能够将升级数据拆分成多个数据帧并为数据帧排序,将数据帧依次发送给待升级设备,以便待升级设备拼接获取的数据帧中的数据,获取升级数据,从而实现利用CAN的低带宽环境传输升级数据,无需工作人员现场提供升级数据,提高设备应用升级的效率,降低升级成本。
根据本公开的其中一些实施例的一个方面,提出一种CAN设备,包括:请求发送模块,被配置为通过CAN总线向DTU发送数据请求;数据帧接收模块,被配置为通过CAN总线接收来自DTU的多个数据帧,其中,数据帧为DTU将缓存的与待升级设备的标识相关联的升级数据按照预定封装长度封装生成;升级数据获取模块,被配置为按照数据帧中包括的数据帧标识拼接数据帧中的升级数据,获取完整的升级数据。
根据本公开的其中另一些实施例的一个方面,提出一种CAN设备,包括:存储器;以及耦接至存储器的处理器,处理器被配置为基于存储在存储器的指令执行上文中任意一种由待升级设备执行的设备升级方法。
这样的待升级设备能够接收DTU拆分升级数据形成的多个数据帧,拼接数据帧中的数据获取升级数据,从而实现利用CAN的低带宽环境传输升级数据,无需工作人员现场提供升级数据,提高设备应用升级的效率,降低升级成本。
根据本公开的其中又一些实施例的一个方面,提出一种计算机可读存储介质,其上存储有计算机程序指令,该指令被处理器执行时实现上文中任意一种设备升级方法的步骤。
通过执行这样的计算机可读存储介质上的指令,DTU能够将升级数据拆分成多个数据帧并为数据帧排序,将数据帧依次发送给待升级设备,待升级设备拼接获取的数据帧中的数据,获取升级数据,从而实现利用CAN的低带宽环境进行升级数据的传输,无需工作人员现场提供升级数据,提高设备应用升级的效率,降低升级成本。
另外,根据本公开的一些实施例的一个方面,提出一种网络,包括:上文中任意一种DTU;和,一个或多个上文中任意一种CAN设备。
这样的网络中,DTU能够将升级数据拆分成多个数据帧并为数据帧排序,将数据帧依次发送给待升级设备,待升级设备拼接获取的数据帧中的数据,获取升级数据,从而实现利用CAN的低带宽环境进行升级数据的传输,无需工作人员现场提供升级数据,提高设备应用升级的效率,降低升级成本。
附图说明
此处所说明的附图用来提供对本公开的进一步理解,构成本公开的一部分,本公开的示意性实施例及其说明用于解释本公开,并不构成对本公开的不当限定。在附图中:
图1为本公开的设备升级方法的一个实施例的流程图。
图2为本公开的设备升级方法的另一个实施例的流程图。
图3为本公开的设备升级方法的又一个实施例的流程图。
图4为本公开的设备升级方法的再一个实施例的流程图。
图5为相关CAN数据帧与本公开CAN数据帧格式的一个实施例的示意图。
图6为本公开的DTU的一个实施例的示意图。
图7为本公开的CAN设备的一个实施例的示意图。
图8为本公开的DTU或CAN设备的另一个实施例的示意图。
图9为本公开的DTU或CAN设备的又一个实施例的示意图。
图10为本公开的网络的一个实施例的示意图。
具体实施方式
下面通过附图和实施例,对本公开的技术方案做进一步的详细描述。
本公开的设备升级方法的一个实施例的流程图如图1所示。
在步骤101中,DTU接收来自CAN的待升级设备的数据请求。在一个实施例中,数据请求中可以包括待升级设备的设备标识,DTU根据该设备标识查找缓存的适配于该待升级设备的升级数据。在一个实施例中,DTU中存储有各个升级设备的标识、型号信息,从而能够将升级数据与各个设备相关联,以便根据设备标识确定其对应的升级数据。
在步骤102中,DTU将缓存的待升级设备的升级数据按照预定封装长度封装成多个数据帧,其中,数据帧中包括按照其中存储的升级数据的顺序排序的数据帧标识。在一个实施例中,DTU将数据按照预定封装长度切分,将切分成的每份数据封装成CAN数据帧,升级数据位于CAN数据帧的预定字段。在一个实施例中,数据帧标识为序号,即将数据帧按照数据从前到后的顺序排序并编号。在一个实施例中,数据帧标识也可以是按照预定规则设置的能够区分数据帧前后顺序的标记。
在步骤103中,DTU将数据帧通过CAN总线依次发送给待升级设备,以便待升级设备在接收数据帧后解析其中的数据帧标识和升级数据,按照数据帧标识拼接升级数据。
通过这样的方法,DTU能够将升级数据拆分成多个数据帧并为数据帧排序,将数据帧依次发送给待升级设备,以便待升级设备拼接获取的数据帧中的数据,获取升级数据,从而实现利用CAN的低带宽环境进行升级数据的传输,无需工作人员现场提供升级数据,提高设备应用升级的效率,降低升级成本。
本公开的设备升级方法的另一个实施例的流程图如图2所示。
在步骤201中,待升级设备通过CAN总线向DTU发送数据请求。在一个实施例中,数据请求中包括设备标识。
在步骤202中,待升级设备通过CAN总线接收来自DTU多个数据帧,其中,数据帧为DTU将缓存的与待升级设备的标识相关联的升级数据按照预定封装长度封装生成。
在步骤203中,待升级设备按照数据帧中包括的数据帧标识拼接数据帧中的升级数据,获取完整的升级数据。
通过这样的方法,待升级设备能够接收DTU拆分升级数据形成的多个数据帧,拼接数据帧中的数据获取升级数据,从而实现利用CAN的低带宽环境进行升级数据的传输,无需工作人员现场提供升级数据,提高设备应用升级的效率,降低升级成本。
在一个实施例中,为保证当前网络状态适宜进行升级数据传输,且降低对网络中设备正常通信的影响,本公开的设备升级方法的又一个实施例的流程图如图3所示。
在步骤301中,DTU接收来自待升级设备的升级请求。升级请求中包括待升级设备的设备标识。
在步骤302中,DTU确定是否缓存有与待升级设备的标识相关联的升级数据。在确定缓存了该待升级设备的升级数据的情况下,执行步骤303;否则,DTU不做处理,或反馈无需升级的应答。
在步骤303中,DTU向待升级设备反馈升级应答。
在步骤304中,待升级设备判断当前的网络占用率是否小于预定占用率上限。在一个实施例中,预定占用率上限可以为60~100%,如80%。若当前的网络占用率小于预定占用率上限,则执行步骤306;若当前的网络占用率不小于预定占用率上线,则执行步骤305。
在步骤305中,以预定频率(如每间隔N毫秒)查询当前的网络占用率,并通过步骤304判断当前的网络占用率是否小于预定占用率上限。
在步骤306中,预定占用率上限与当前的网络占用率的差值是否小于预定差值下限,若预定占用率上限与当前的网络占用率的差值不小于预定差值下限,则执行步骤307;若预定占用率上限与当前的网络占用率的差值小于预定差值下限,则执行步骤309。
在步骤307中,判断预定占用率上限与当前的网络占用率的差值是否大于预定差值上限,若预定占用率上限与当前的网络占用率的差值不大于预定差值上限,则执行步骤308;若预定占用率上限与当前的网络占用率的差值大于预定差值上限,则执行步骤310。
在一个实施例中,步骤306和步骤307的顺序可以交换,或并行执行。
在步骤308中,待升级设备向DTU发送数据请求,DTU可以按照如图1所示实施例中的方法向待升级设备发送数据帧。在一个实施例中DTU在发送数据帧的过程中,可以查询当前网络占用率,若网络占用率不小于预定占用率上限,则暂停发送数据帧,直至网络占用率小于预定占用率上限,恢复发送数据帧,进一步保证升级数据的传输不影响网络设备正常通信和网络的正常运行。
在步骤309中,待升级设备增加相邻两次向DTU发送数据请求的时间间隔。
在步骤310中,待升级设备缩短相邻两次向DTU发送数据请求的时间间隔。
通过这样的方法,待升级设备能够先向网络中发送升级请求,DTU在确定缓存有该设备的升级数据的情况下激活待升级设备进行网络状态查询,在不影响网络中现有信令、数据传输的情况下发送数据请求,保证了网络中各个设备的正常运行;能够根据当前的网络占用率调整向DTU发送数据请求的时间间隔,从而防止升级数据传输长时间占用总线,进一步保证网络正常运行的需要。
本公开的设备升级方法的再一个实施例的流程图如图4所示。
在步骤401中,DTU通过监听网络信息确定网络中各个设备的标识、设备型号和应用版本。在一个实施例中,网络设备在正常通信过程中发送的信息包括设备条码信息,条码具有唯一性。DTU监听网络通信消息,从消息中提取设备的条码信息,根据条码信息查询设备的型号,以及设备当前运行的应用版本。
在步骤402中,DTU向服务器上报设备型号和应用版本。服务器会判断针对该型号的设备是否有更新版本的应用,并在查找到相关应用的情况下反馈升级数据。在一个实施例中,还可以根据需要指定服务器主动向DTU推送升级数据。在一个实施例中,DTU可以通过移动通信网络与服务器交互,从而无需以太网络部属,降低设备部署成本。
在步骤403中,DTU接收并缓存来自服务器的升级数据,将升级数据与设备的标识相关联。在一个实施例中,若DTU缓存有对该设备的旧版本的升级数据,可以删除该旧版本的升级数据。
在步骤404中,DTU接收来自待升级设备的升级请求。在一个实施例中,待升级设备可以以预定频率(如在上一次升级完成后的10天、1个月或半年等)发送升级请求。
在步骤405中,DTU确定是否缓存有与待升级设备的标识相关联的升级数据。若确定缓存有与待升级设备的标识相关联的升级数据,则执行步骤406;否则,可以返回错误码。
在步骤406中,DTU向待升级设备反馈升级应答,允许待升级设备发送数据请求。
在步骤407中,待升级设备向DTU发送数据请求。在一个实施例中,数据请求中可以包括请求的数据长度,从而请求一部分的升级数据,在获得部分升级数据的同时防止长时间占用总线网络影响网络正常运行。
在另一个实施例中,数据请求中可以包括请求的数据长度和当前请求的数据在全部升级数据中的起始地址。在一个实施例中,待升级设备可以以如图3所示实施例中的方式确定发送数据请求的时机,以及调整数据请求之间的时间间隔。
在一个实施例中,请求的数据长度根据当前网络占用率情况设定,若网络占用率较高,可以缩短请求的数据长度,若网络占用率较低,可以增加请求的数据长度。在一个实施例中,还可以根据网络的通常的通信频率设定请求的数据长度,如估计当前网络的空闲状态能维持的时间,以及这一段时间能够传输的数据帧数量,进而确定请求的数据长度。
在步骤408中,DTU根据数据请求中请求的数据长度从起始地址开始截取对应长度的升级数据。在一个实施例中,起始地址指的是请求的数据在整个升级数据中的相对位置,如升级数据的第n个字节(0≤n≤升级数据的总长度)。在一个实施例中,若数据请求中不包括起始地址,则DTU从头开始发送升级数据。
在一个实施例中,若剩余的升级数据小于请求的数据长度,则使数据长度为剩余的升级数据长度。
在步骤409中,DTU按照预定封装长度将截取的升级数据封装成多个数据帧。在一个实施例中,可以如图5中下方的图所示:将CAN数据帧的数据字段的预定两个字节和canID字段的低7位写入数据帧标识;和将CAN数据帧的数据字段的其他字节写入预定封装长度的升级数据,使得通信符合CAN的通信规范。待升级设备从将CAN数据帧的数据字段的预定两个字节和canID字段的低7位中提取数据帧标识;从CAN数据帧的数据字段的其他字节中提取预定封装长度的升级数据;根据数据帧信号的顺序拼接升级数据。
如图5中上方的图所示,CAN通讯帧基本格式中canID占用4字节,有效数据段长度有限。有效数据中需要携带4byte的地址数据,则每次有效数据只能携带的数据更加有限。通过如图5中下方图例所示的方式能够提高单个数据帧中携带的升级数据的长度,提高了数据传输效率。
在步骤410中,DTU将数据帧通过CAN总线依次发送给待升级设备。
在步骤411中,待升级设备根据请求的数据长度和预定封装长度确定本次请求应该获得的帧的数据帧标识,根据收到的帧的数据帧标识确定丢帧。如果确定丢帧,则执行步骤412;若确定未丢帧,则执行步骤413。
在一个实施例中,为避免剩余升级数据长度小于请求的数据长度造成丢帧误判,若判断缺失的数据帧标识位于应该获得的数据帧标识的尾部,则先判断升级数据是否完整,在不完整的情况下执行步骤412。
在步骤412中,待升级设备向DTU发送针对丢失的数据帧的数据请求,进而执行步骤408。丢失的数据帧的数据请求中可以包括丢失的数据帧中数据的起始地址,以及该数据帧的长度。在一个实施例中,若丢失的数据帧为连续多个,则起始地址为丢失的连续数据帧中第一个数据帧中升级数据在整个升级数据中的起始地址,数据长度为丢失的连续多个数据帧中的升级数据总长度。
在步骤413中,待升级设备判断升级数据是否完整。在一个实施例中,待升级设备可以通过文件完整性校验的方式确定升级数据是否完整。若升级数据完整,则执行步骤415;若升级数据不完整,则执行步骤414。
在一个实施例中,若升级数据完整,还可以向DTU反馈升级数据传输完成信息,DTU可以清除缓存的该升级数据,一方面减少缓存空间占用,另一方面也能够便于判断是否需要向待升级设备发送升级数据。
在一个实施例中,在确定升级数据完整的情况下,还可以进行升级数据正确性校验,若校验通过,则可以执行步骤415;若校验不通过,则可以向DTU请求重新发送升级数据。若重传过程中DTU离线,则可以放弃当前升级数据传输,清除缓存数据,当DTU重新上线时再请求升级。在另一个过程中,也可以等待DTU重新,向DTU请求剩余的数据。
在步骤414中,确定下一段升级数据的起始地址,并发送数据请求,进而执行步骤408。
在步骤415中,待升级设备判断自身是否处于休眠或者正常停机状态,且没有用户进行操作。若待升级设备处于休眠或者正常停机状态,且没有用户进行操作,则执行步骤416;否则等待,直至等到待升级设备处于休眠或者正常停机状态,且没有用户进行操作的时机。
在步骤416中,待升级设备根据升级数据升级应用,并在升级完成后重新启动,恢复正常运行。
通过这样的方法,能够在数据请求中只获取一部分升级数据,通过多次发送数据请求获取全部升级数据,并拼接形成安装文件,从而能够减少单次数据请求过程中传输数据帧所用的时间,保证该段时间内网络状态的稳定性,避免长时间占用总线网络影响网络运行;在设备闲态下完成安装且及时重启,能够进一步避免影响设备的正常运行。
本公开的DTU的一个实施例的示意图如图6所示。请求接收模块601能够接收来自CAN的待升级设备的数据请求。在一个实施例中,数据请求中可以包括待升级设备的设备标识,DTU根据该设备标识查找缓存的适配于该待升级设备的升级数据。在一个实施例中,DTU中存储有各个升级设备的标识、型号信息,从而能够将升级数据与各个设备相关联,以便根据设备标识确定其对应的升级数据。
数据帧生成模块602能够将缓存的待升级设备的升级数据按照预定封装长度封装成多个数据帧,其中,数据帧中包括的数据帧标识。在一个实施例中,DTU将数据按照预定封装长度切分,将切分成的每份数据封装成CAN数据帧,升级数据位于CAN数据帧的预定字段。在一个实施例中,数据帧标识按照数据帧中的升级数据的次数顺序排列。在一个实施例中,数据帧标识为序号,即将数据帧按照数据从前到后的顺序排序并编号。在一个实施例中,数据帧标识也可以是按照预定规则设置的能够区分数据帧前后顺序的标记。
数据帧发送模块603能够将数据帧通过CAN总线依次发送给待升级设备,以便待升级设备在接收数据帧后解析其中的数据帧标识和升级数据,按照数据帧标识拼接升级数据。
这样的DTU能够将升级数据拆分成多个数据帧并为数据帧排序,将数据帧依次发送给待升级设备,以便待升级设备拼接获取的数据帧中的数据,获取升级数据,从而实现利用CAN的低带宽环境传输升级数据,无需工作人员现场提供升级数据,提高设备应用升级的效率,降低升级成本。
本公开的CAN设备的一个实施例的示意图如图7所示。请求发送模块701能够通过CAN总线向DTU发送数据请求。在一个实施例中,数据请求中包括设备标识。数据帧接收模块702能够通过CAN总线接收来自DTU多个数据帧,其中,数据帧为DTU将缓存的与待升级设备的标识相关联的升级数据按照预定封装长度封装生成。升级数据获取模块703按照数据帧中包括的数据帧标识拼接数据帧中的升级数据,获取完整的升级数据。
这样的待升级设备能够接收DTU拆分升级数据形成的多个数据帧,拼接数据帧中的数据获取升级数据,从而实现利用CAN的低带宽环境进行升级数据的传输,无需工作人员现场提供升级数据,提高设备应用升级的效率,降低升级成本。
本公开DTU的一个实施例的结构示意图如图8所示。DTU包括存储器801和处理器802。其中:存储器801可以是磁盘、闪存或其它任何非易失性存储介质。存储器用于存储上文中设备升级方法的对应实施例中由DTU执行的指令。处理器802耦接至存储器801,可以作为一个或多个集成电路来实施,例如微处理器或微控制器。该处理器802用于执行存储器中存储的指令,能够实现利用CAN低带宽环境进行升级数据的传输,提高设备应用升级的效率,降低升级成本。
在一个实施例中,还可以如图9所示,DTU900包括存储器901和处理器902。处理器902通过BUS总线903耦合至存储器901。该DTU900还可以通过存储接口904连接至外部存储装置905以便调用外部数据,还可以通过网络接口906连接至网络或者另外一台计算机系统(未标出)。此处不再进行详细介绍。
在该实施例中,通过存储器存储数据指令,再通过处理器处理上述指令,能够实现利用CAN低带宽环境进行升级数据的传输,提高设备应用升级的效率,降低升级成本。
本公开CAN设备的一个实施例的结构示意图如图8所示。CAN设备包括存储器801和处理器802。其中:存储器801可以是磁盘、闪存或其它任何非易失性存储介质。存储器用于存储上文中设备升级方法的对应实施例中由待升级设备执行的指令。处理器802耦接至存储器801,可以作为一个或多个集成电路来实施,例如微处理器或微控制器。该处理器802用于执行存储器中存储的指令,能够实现利用CAN低带宽环境进行升级数据的传输,提高设备应用升级的效率,降低升级成本。
在一个实施例中,还可以如图9所示,CAN设备900包括存储器901和处理器902。处理器902通过BUS总线903耦合至存储器901。该CAN设备900还可以通过存储接口904连接至外部存储装置905以便调用外部数据,还可以通过网络接口906连接至网络或者另外一台计算机系统(未标出)。此处不再进行详细介绍。
在该实施例中,通过存储器存储数据指令,再通过处理器处理上述指令,能够实现利用CAN低带宽环境进行升级数据的传输,提高设备应用升级的效率,降低升级成本。
在另一个实施例中,本公开提出一种计算机可读存储介质,其上存储有计算机程序指令,该指令被处理器执行时实现设备升级方法对应实施例中的方法的步骤。本领域内的技术人员应明白,本公开的实施例可提供为方法、装置、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用非瞬时性存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本公开的网络的一个实施例的示意图如图10所示。DTU1001可以为上文中任意一种DTU;CAN设备可以为上文中任意一种CAN设备,可以包括控制器1002、主板1003~100n(n为大于3的整数)。CAN设备可以共同构成机组系统。
这样的网络中,DTU能够将升级数据拆分成多个数据帧并为数据帧排序,将数据帧依次发送给待升级设备,待升级设备拼接获取的数据帧中的数据,获取升级数据,从而实现利用CAN的低带宽环境传输升级数据,无需工作人员现场提供升级数据,提高设备应用升级的效率,降低升级成本。
本公开是参照根据本公开实施例的方法、设备(系统)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
至此,已经详细描述了本公开。为了避免遮蔽本公开的构思,没有描述本领域所公知的一些细节。本领域技术人员根据上面的描述,完全可以明白如何实施这里公开的技术方案。
可能以许多方式来实现本公开的方法以及装置。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本公开的方法以及装置。用于所述方法的步骤的上述顺序仅是为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本公开实施为记录在记录介质中的程序,这些程序包括用于实现根据本公开的方法的机器可读指令。因而,本公开还覆盖存储用于执行根据本公开的方法的程序的记录介质。
最后应当说明的是:以上实施例仅用以说明本公开的技术方案而非对其限制;尽管参照较佳实施例对本公开进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本公开的具体实施方式进行修改或者对部分技术特征进行等同替换;而不脱离本公开技术方案的精神,其均应涵盖在本公开请求保护的技术方案范围当中。

Claims (21)

1.一种设备升级方法,包括:
数据传输单元DTU接收来自控制器局域网络CAN的待升级设备的数据请求,其中,所述数据请求中包括请求的数据长度和当前请求的升级数据的起始地址;
将缓存的所述待升级设备的升级数据按照预定封装长度封装成多个数据帧,包括:根据数据请求中请求的数据长度从所述待升级设备的升级数据中从所述起始地址开始截取对应长度的升级数据;按照预定封装长度将截取的升级数据封装成多个数据帧;其中,请求的数据长度为根据网络占用率或预计的当前空闲状态的持续时间确定;所述数据帧中包括数据帧标识;
将所述数据帧通过CAN总线依次发送给所述待升级设备,以便所述待升级设备按照所述数据帧标识拼接升级数据。
2.根据权利要求1所述的方法,还包括:
接收来自待升级设备的升级请求,在确定缓存有与所述待升级设备的标识相关联的升级数据的情况下,反馈升级应答,以便所述待升级设备发送数据请求。
3.根据权利要求1或2所述的方法,其中,所述将所述数据帧通过CAN总线依次发送给所述待升级设备包括:
在网络占用率大于等于预定占用率上限的情况下,暂停发送所述数据帧,直至所述网络占用率小于预定占用率上限,继续发送所述数据帧。
4.根据权利要求1或2所述的方法,还包括:
所述DTU通过监听网络信息确定网络中各个设备的标识、设备型号和应用版本;
向服务器上报所述设备型号和所述应用版本;
接收并缓存来自服务器的升级数据,将所述升级数据与设备的标识相关联。
5.根据权利要求4所述的方法,其中,所述DTU通过移动通信网络与所述服务器交互。
6.根据权利要求1或2所述的方法,其中,所述按照预定封装长度将截取的升级数据封装成多个数据帧包括:
将CAN数据帧的数据字段的预定两个字节和canID字段的低7位写入所述数据帧标识;和
将所述CAN数据帧的数据字段的其他字节写入预定封装长度的所述升级数据。
7.一种设备升级方法,包括:
待升级设备通过CAN总线向数据传输单元DTU发送数据请求,其中,所述数据请求中包括请求的数据长度和当前请求的升级数据的起始地址,以便所述DTU从所述起始地址开始截取符合所述请求的数据长度的升级数据生成数据帧 ,请求的数据长度为根据网络占用率或预计的当前空闲状态的持续时间确定;
所述待升级设备通过CAN总线接收来自所述DTU的多个数据帧,其中,所述数据帧为所述DTU将缓存的与所述待升级设备的标识相关联的升级数据按照预定封装长度封装生成;
所述待升级设备按照所述数据帧中包括的数据帧标识拼接数据帧中的升级数据,获取完整的升级数据。
8.根据权利要求7所述的方法,还包括:
向所述DTU发送升级请求;
在收到所述DTU反馈的升级应答的情况下,向所述DTU发送数据请求,其中,所述DTU在确定缓存有与所述待升级设备的标识相关联的升级数据的情况下反馈升级应答。
9.根据权利要求8所述的方法,其中,向所述DTU发送数据请求包括:
在当前的网络占用率小于预定占用率上限的情况下,向所述DTU发送数据请求;
在当前的网络占用率大于等于预定占用率上限的情况下,以预定频率查询当前的网络占用率,直至所述网络占用率小于预定占用率,向所述DTU发送数据请求。
10.根据权利要求9所述的方法,其中,向所述DTU发送数据请求还包括:
在当前的网络占用率小于预定占用率上限,且所述预定占用率上限与当前的网络占用率的差值小于预定差值下限的情况下,增加相邻两次向所述DTU发送数据请求的时间间隔;
在当前的网络占用率小于预定占用率上限,且所述预定占用率上限与当前的网络占用率的差值大于预定差值上限的情况下,缩短相邻两次向所述DTU发送数据请求的时间间隔。
11.根据权利要求7所述的方法,还包括:
根据所述请求的数据长度和所述预定封装长度确定预计收到的数据帧数量;
根据收到的数据帧的数量和所述预计收到的数据帧数量确定是否丢帧;
在确定未丢帧的情况下执行升级数据完整性校验;
在确定升级数据不完整的情况下,确定下一段升级数据的起始地址,并发送数据请求,直至获得完整的升级数据。
12.根据权利要求11所述的方法,还包括:
在确定升级数据完整的情况下,校验升级数据是否正确;若升级数据不正确,则清除缓存的升级数据,以便再次发送升级请求;
和/或,
在升级数据传输过程中,若DTU离线,则:清除缓存的升级数据并在DTU上线后再次发送升级请求,或在DTU上线后根据已获得的升级数据发送针对剩余升级数据的数据请求。
13.根据权利要求11所述的方法,还包括:
在确定丢帧的情况下,根据所述数据帧标识确定丢失的数据帧,向所述DTU发送针对丢失的数据帧的数据请求,其中,所述针对丢失的数据帧的数据请求中包括丢失的数据帧中的升级数据的起始地址和丢失的升级数据的长度,以便所述DTU从升级数据的所述起始地址开始截取对应长度的升级数据。
14.根据权利要求7~10任意一项所述的方法,还包括:
所述待升级设备在确定处于休眠或者正常停机状态,且没有用户进行操作的情况下,根据升级数据升级应用,并在升级完成后重新启动。
15.根据权利要求7~10任意一项所述的方法,其中,所述按照所述数据帧中包括的数据帧标识拼接数据帧中的升级数据包括:
从将CAN数据帧的数据字段的预定两个字节和canID字段的低7位中提取所述数据帧标识;
从所述CAN数据帧的数据字段的其他字节中提取预定封装长度的所述升级数据;
根据所述数据帧标识的顺序拼接所述升级数据。
16.一种数据传输单元DTU,包括:
请求接收模块,被配置为接收来自控制器局域网络CAN的待升级设备的数据请求,其中,所述数据请求中包括请求的数据长度;
数据帧生成模块,被配置为将缓存的所述待升级设备的升级数据按照预定封装长度封装成多个数据帧,包括:根据数据请求中请求的数据长度和当前请求的升级数据的起始地址,从所述待升级设备的升级数据中从所述起始地址开始截取对应长度的升级数据;按照预定封装长度将截取的升级数据封装成多个数据帧;其中,请求的数据长度为根据网络占用率或预计的当前空闲状态的持续时间确定;所述数据帧中包括数据帧标识;
数据帧发送模块,被配置为将所述数据帧通过CAN总线发送给所述待升级设备,以便所述待升级设备按照所述数据帧中包括的数据帧标识拼接升级数据。
17.一种数据传输单元DTU,包括:
存储器;以及
耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器的指令执行如权利要求1至6任一项所述的方法。
18.一种控制器局域网络CAN设备,包括:
请求发送模块,被配置为通过CAN总线向数据传输单元DTU发送数据请求,其中,所述数据请求中包括请求的数据长度和当前请求的升级数据的起始地址,以便所述DTU从所述起始地址开始截取符合所述请求的数据长度的升级数据生成数据帧 ,请求的数据长度为根据网络占用率或预计的当前空闲状态的持续时间确定;
数据帧接收模块,被配置为通过CAN总线接收来自所述DTU的多个数据帧,其中,所述数据帧为所述DTU将缓存的与待升级设备 的标识相关联的升级数据按照预定封装长度封装生成;
升级数据获取模块,被配置为按照所述数据帧中包括的数据帧标识拼接数据帧中的升级数据,获取完整的升级数据。
19.一种控制器局域网络CAN设备,包括:
存储器;以及
耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器的指令执行如权利要求7至15任一项所述的方法。
20.一种计算机可读存储介质,其上存储有计算机程序指令,该指令被处理器执行时实现权利要求1至15任意一项所述的方法的步骤。
21.一种网络,包括:
权利要求16或17所述的数据传输单元DTU;和,
一个或多个权利要求18或19所述的控制器局域网络CAN设备。
CN201811099524.5A 2018-09-20 2018-09-20 设备升级方法、数据传输单元、控制器局域网络设备和网络 Active CN109039779B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811099524.5A CN109039779B (zh) 2018-09-20 2018-09-20 设备升级方法、数据传输单元、控制器局域网络设备和网络

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811099524.5A CN109039779B (zh) 2018-09-20 2018-09-20 设备升级方法、数据传输单元、控制器局域网络设备和网络

Publications (2)

Publication Number Publication Date
CN109039779A CN109039779A (zh) 2018-12-18
CN109039779B true CN109039779B (zh) 2020-09-29

Family

ID=64617229

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811099524.5A Active CN109039779B (zh) 2018-09-20 2018-09-20 设备升级方法、数据传输单元、控制器局域网络设备和网络

Country Status (1)

Country Link
CN (1) CN109039779B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110347412B (zh) * 2019-06-27 2023-05-30 中国第一汽车股份有限公司 电子控制单元固件升级管理方法、装置、设备和存储介质
CN110659043B (zh) * 2019-08-27 2022-09-30 中国第一汽车股份有限公司 固件升级方法、装置、设备和存储介质
CN110716727B (zh) * 2019-09-02 2023-07-21 领翌技术(横琴)有限公司 软件升级方法及系统
CN111104145B (zh) * 2019-11-29 2021-08-31 浪潮电子信息产业股份有限公司 一种Expander的带外更新方法和系统
CN111629367B (zh) * 2020-05-19 2022-11-22 歌尔科技有限公司 终端设备与耳机的数据传输方法、终端设备及存储介质
CN112099821A (zh) * 2020-08-25 2020-12-18 珠海格力电器股份有限公司 程序升级方法、装置以及空调系统
CN112671577B (zh) * 2020-12-23 2023-04-18 潍柴动力股份有限公司 终端设备的升级方法、装置、网络节点及计算机存储介质
CN113551363A (zh) * 2021-07-30 2021-10-26 佛山市顺德区美的电子科技有限公司 空调器外机主程序的升级方法、运行控制装置及空调器
CN116074154B (zh) * 2023-01-12 2024-08-16 深圳市正浩创新科技股份有限公司 基于can总线的数据传输方法、电子设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1859174A (zh) * 2005-12-06 2006-11-08 上海华为技术有限公司 通信网络中远程设备的升级方法及其系统
CN101217412A (zh) * 2008-01-03 2008-07-09 烽火通信科技股份有限公司 一种吉比特无源光网络系统中批量升级光网络终端的方法
CN102546784A (zh) * 2011-12-29 2012-07-04 深圳市迈进科技有限公司 一种基于can总线进行批量升级设备固件的方法
CN105389281A (zh) * 2015-10-15 2016-03-09 珠海格力电器股份有限公司 Can总线数据发送、接收方法及固件升级方法
CN106325818A (zh) * 2016-08-26 2017-01-11 珠海格力电器股份有限公司 远程升级固件的方法、装置和系统以及空调

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106921593B (zh) * 2015-12-28 2019-12-31 阿里巴巴集团控股有限公司 用于数据发送、限制发送进程占用带宽的方法和装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1859174A (zh) * 2005-12-06 2006-11-08 上海华为技术有限公司 通信网络中远程设备的升级方法及其系统
CN101217412A (zh) * 2008-01-03 2008-07-09 烽火通信科技股份有限公司 一种吉比特无源光网络系统中批量升级光网络终端的方法
CN102546784A (zh) * 2011-12-29 2012-07-04 深圳市迈进科技有限公司 一种基于can总线进行批量升级设备固件的方法
CN105389281A (zh) * 2015-10-15 2016-03-09 珠海格力电器股份有限公司 Can总线数据发送、接收方法及固件升级方法
CN106325818A (zh) * 2016-08-26 2017-01-11 珠海格力电器股份有限公司 远程升级固件的方法、装置和系统以及空调

Also Published As

Publication number Publication date
CN109039779A (zh) 2018-12-18

Similar Documents

Publication Publication Date Title
CN109039779B (zh) 设备升级方法、数据传输单元、控制器局域网络设备和网络
CN102098590B (zh) 光网络单元固件版本自动升级方法及系统
CN104090796B (zh) 一种嵌入式设备程序更新方法和系统
CN110471692B (zh) 终端程序的空中升级方法、装置、设备及存储介质
CN109002303A (zh) 一种智能电表固件升级方法、设备及存储介质
CN112000355B (zh) 用于固件升级的方法及装置、家电设备
CN108845811B (zh) 一种基于can总线的双核dsp固件升级方法及系统
CN105224362A (zh) 上位机对下位机进行程序升级的方法及系统
CN106843957A (zh) 系统固件升级方法及装置
CN105975308B (zh) 家庭网关中低内存开销的远程升级系统及远程升级方法
CN102185754B (zh) 交换机系统中板卡的升级方法
CN105871568B (zh) 软件升级方法和系统
CN103036706A (zh) 应用升级异常的本地处理方法
CN104144466A (zh) 物联网中传感器接入方法、物联网系统和服务器
CN108334367A (zh) 一种面向bmc芯片的固件远程升级系统及方法
CN104102519A (zh) 机架式服务器系统的固件更新方法及其装置
CN112416408B (zh) 固件升级方法、装置、设备及计算机可读存储介质
CN113031990B (zh) 路灯终端的广播升级方法、系统、设备及存储介质
CN111273924A (zh) 软件更新方法及装置
CN112631634A (zh) 一种智慧灯杆的固件升级方法、装置、系统、设备和介质
CN107134124B (zh) 宽带载波通信模块载波芯片抄表接口统一管理控制方法
CN113242147B (zh) 多云环境的自动化运维部署方法、装置、设备和存储介质
CN107977206B (zh) 一种批量业务数据文件处理方法及装置
CN111918155B (zh) 一种利用mpcp协议加载onu的方法
CN111680106B (zh) 一种多应用系统数据同步的方法及装置

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