数据升级方法及装置与流程

文档序号:12067887阅读:196来源:国知局
数据升级方法及装置与流程

本发明涉及通信技术领域,特别涉及数据升级方法及装置。



背景技术:

控制器局域网(CAN,Controller Area Network)总线是一种用于实时应用的串行通讯协议总线,是一种点对多点的机制,目前已经应用于汽车工业、纺织机械、农用机械、机器人、数控机床、医疗器械及传感器等诸多领域。

随着设备复杂度不断提升、应用环境恶劣性不断加剧以及系统任务的复杂性不断提高,对数据处理和通信系统的可靠性提出了更高的要求,因此需要对CAN总线协议中的通信过程进行改进。



技术实现要素:

本发明实施例提供了数据升级方法及装置。为了对披露的实施例的一些方面有一个基本的理解,下面给出了简单的概括。该概括部分不是泛泛评述,也不是要确定关键/重要组成元素或描绘这些实施例的保护范围。其唯一目的是用简单的形式呈现一些概念,以此作为后面的详细说明的序言。

根据本发明实施例的第一方面,提供了一种数据升级方法,所述方法包括:

发送准备数据区的指示,所述数据区用于保存升级数据包;

接收所述数据区的长度;

发送升级数据包,所述升级数据包的长度小于等于所述数据区的长度。

根据本发明实施例的第二方面,提供一种数据升级方法,所述方法包括:

接收准备数据区的指示,所述数据区用于保存升级数据包;

发送所述数据区的长度;

接收升级数据包,所述升级数据包的长度小于等于所述数据区的长度。

根据本发明实施例的第三方面,提供一种数据升级装置,该装置包括:

发射器,被配置为发送准备数据区的指示,所述数据区用于保存升级数据包;发送所述升级数据包,所述升级数据包的长度小于等于所述数据区的长度;

接收器,被配置为接收所述数据区的长度。

根据本发明实施例的第四方面,提供一种数据升级装置,该装置包括:

接收器,被配置为接收准备数据区的指示,所述数据区用于保存升级数据包;接收升级数据包,所述升级数据包的长度小于等于所述数据区的长度;

发射器,被配置为发送所述数据区的长度。

本发明实施例提供的技术方案可以包括以下有益效果:

节点在准备好用于保存升级数据包的数据区之后,向主控制器返回数据区的长度,从而使得主控制器下发的升级数据包的长度小于等于数据区的长度,不会发生升级数据包存储错误的情况,提高了可靠性。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。

图1是根据一示例性实施例示出的一种数据升级方法的流程示意图;

图2是根据一示例性实施例示出的一种数据升级方法的流程示意图;

图3是根据一示例性实施例示出的一种数据升级方法的流程示意图;

图4是根据一示例性实施例示出的一种数据升级方法的流程示意图;

图5是根据一示例性实施例示出的一种数据升级装置的框图;

图6是根据一示例性实施例示出的一种数据升级装置的框图。

具体实施方式

以下描述和附图充分地示出本发明的具体实施方案,以使本领域的技术人员能够实践它们。实施例仅代表可能的变化。除非明确要求,否则单独的部件和功能是可选的,并且操作的顺序可以变化。一些实施方案的部分和特征可以被包括在或替换其他实施方案的部分和特征。本发明的实施方案的范围包括权利要求书的整个范围,以及权利要求书的所有可获得的等同物。在本文中,各实施方案可以被单独地或总地用术语“发明”来表示,这仅仅是为了方便,并且如果事实上公开了超过一个的发明,不是要自动地限制该应用的范围为任何单个发明或发明构思。本文中,诸如第一和第二等之类的关系术语仅仅用于将一个实体或者操作与另一个实体或操作区分开来,而不要求或者暗示这些实体或操作之间存在任何实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素。本文中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的结构、产品等而言,由于其与实施例公开的部分相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

基于CAN总线实现的通信过程中,设备中的主控制器作为控制中心,控制设备中的各节点执行操作。主控制器可以通过广播信道(Channel)向各节点发送广播消息,也可以为各个节点分别配置信道、并通过配置的信道和特定节点进行通信,从而完成不同应用场景下的功能。在不同的应用场景下,节点可以对应设备中不同的部件。以机器人为例,节点可以包括:各关节伺服舵机、驱动轮、传感器、点阵显示器等。

本发明实施例中涉及的数据帧,包括标准数据帧格式和扩展数据帧格式两种,分别是对CAN总线2.0B中的标准数据帧格式和扩展数据帧格式进行了改进。

在CAN总线2.0B中,数据帧包括如下几部分:帧起始、仲裁场、控制场、数据场、循环冗余校验(CRC,Cyclic Redundancy Check)场、应答场和帧结束。其中,仲裁场由身份标识(ID,Identity)域和其他标志位组成,ID域中携带节点的标识,用于指示不同的节点。标准数据帧格式和扩展数据帧格式的差别在于,在标准数据帧格式中,仲裁场的ID域为11比特,而扩展数据帧格式中,仲裁场的ID域的长度为29比特。

本发明实施例中的数据帧,是对上述仲裁场中的ID域和数据场进行了改进,下面仅对该改进部分进行说明,其他与CAN总线2.0B中的相同部分不再赘述。

1.本发明实施例中的标准数据帧格式

1.1仲裁场中的ID域

如下表1示出了CAN总线2.0B和本发明实施例中标准数据帧格式的ID域的对比。

本发明实施例的标准数据帧格式包括:帧模式字段和信道标识字段。

①帧模式字段包括2比特,分别用M1和M0表示,用于指示帧的解析方式。

②信道标识字段包括9比特,用CH8至CH0表示,用于指示主控制器与节点之间通信的信道的标识。标准数据帧中的信道标识,取值范围是0至511,取值为0的信道为广播信道,所有节点都可以接收到主控制器在广播信道上发送的消息。

表1

如下表2示出了CAN总线2.0B和本发明实施例中扩展数据帧格式的ID域的对比。

本发明实施例的扩展数据帧格式包括:帧模式字段、信道标识字段、和标志位字段。

①帧模式字段包括3比特,分别用M1、M0和EM0表示,用于指示帧的解析方式。

②标志位字段包括10比特,N代表没有使用的位;END用于指示本帧是否为最后一帧,例如当END取值为0时代表本帧不是最后一帧,而当END取值为1时代表本帧是最后一帧;I为自增循环码,用于指示本帧的发送序号。

③信道标识字段包括16比特,用CH15至CH0表示,用于指示主控制器与节点之间通信的信道的标识。扩展数据帧格式中的信道标识,取值范围是0至65535,取值为0的信道为广播信道,所有节点都可以接收到主控制器在广播信道上发送的消息。

表2

如下表3示出了本发明实施例的数据帧结构中,帧模式字段的取值举例,可以看出,当帧模式字段的取值不同时,可以指示不同的帧解析方式,用于不同的应用场景。

表3

1.2数据场

如下表4示出了CAN总线2.0B和本发明实施例中数据帧的数据场的对比。

根据帧的解析方式的不同,本发明实施例中数据帧的数据场中,可以包括1字节的CMD字段,该字段用于指示二级指令,取值不同时代表不同的二级指令,CMD字段之后的D0至D6共7个字节是二级指令携带的数据。对于与块数据相关的块数据输出帧和块数据输入帧,数据场中的8个字节全部用于携带数据,以提高块数据的传输效率。

表4

图1是根据一示例性实施例示出的一种数据升级方法的流程示意图,该流程可以用于主控制器中,包括如下步骤。

在步骤101中,发送准备数据区的指示,数据区用于保存升级数据包。

在步骤102中,接收数据区的长度。

在步骤103中,发送升级数据包,升级数据包的长度小于等于数据区的长度。

可见,本发明实施例提供了一种数据升级的方式,节点在准备好用于保存升级数据包的数据区之后,向主控制器返回数据区的长度,从而使得主控制器下发的升级数据包的长度小于等于数据区的长度,不会发生升级数据包存储错误的情况,提高了可靠性。

图2是根据一示例性实施例示出的一种数据升级方法的流程示意图,该流程可以用于主控制器中,包括如下步骤。

在步骤201中,发送准备数据区的指示。

数据区用于保存升级数据包。

发送准备数据区的指示,通过发送擦除数据区指令、并接收擦除数据区应答来实现,其中擦除数据区应答中携带已擦除的数据区的长度。

作为一种可选的实施方式,上述擦除数据区指令由块控制指令帧实现,采用扩展数据帧格式,仲裁场ID域的帧模式字段取值为M1M0EM0=100,信道标识字段的取值指示主控制器为数据升级的节点所配置的信道。如下表5给出了数据场中第0字节CMD的取值FC,指示本帧是主控制器要求节点擦除升级数据区,为接收升级数据包做准备。主控制器需在为节点配置的信道上发送擦除数据区指令,如在广播信道上发送,擦除数据区指令为无效指令。

表5

作为一种可选的实施方式,上述擦除数据区应答由块返回指令帧中实现,采用扩展数据帧格式,仲裁域ID场的帧模式字段取值为M1M0EM0=110,信道标识字段的取值指示主控制器为数据升级的节点所配置的信道。如下表6给出了块返回指令帧中数据场的各字节取值,其中,第0字节CMD的取值为FB,指示本帧是节点应答主控制器擦除数据区的要求,第1字节至第4字节指示要保存升级数据包的数据区的长度。节点需在主控制器为自己配置的信道上发送擦除数据区应答,如在广播信道上发送,擦除数据区应答为无效应答。

表6

在步骤202中,发送升级数据包的长度。

节点可以根据升级数据包的长度来调整数据区。

作为一种可选的实施方式,上述发送升级包的长度,由发送块控制指令帧实现,块控制指令帧采用扩展数据帧格式,仲裁场ID域的帧模式字段取值为M1M0EM0=100,信道标识字段的取值指示主控制器为数据升级的节点所配置的信道。如下表7给出了数据场中第0字节CMD的取值FA,指示本帧是主控制器要求向节点发送升级数据包,第1字节至第4字节指示升级数据包的长度。主控制器需在为节点配置的信道上发送升级包的长度,如在广播信道上发送,则为无效。

表7

在步骤203中,接收数据区的长度。

作为一种可选的实施方式,数据区的长度由块返回指令帧发送。块返回指令帧采用扩展数据帧格式,仲裁场ID域的帧模式字段取值为M1M0EM0=110,信道标识字段的取值指示主控制器为数据升级的节点所配置的信道。如下表8给出了块返回指令帧中数据场的各字节取值,其中,第0字节CMD的取值为F9,指示本帧是节点已准备好接收升级数据包,第1字节至第4字节指示要保存升级数据包的数据区的长度。节点需在主控制器为自己配置的信道上发送数据区的长度,如在广播信道上发送为无效。

表8

可以看出,通过步骤202节点可以获知升级数据包的长度,进而可以根据升级数据包的长度来调整已擦除的数据区,例如当升级数据包的长度大于已擦除的数据区的长度时,节点可以扩大数据区的长度,当然已擦除的数据区也可能本身就大于等于升级数据包的长度,此时节点对已擦除的数据区的调整量就是0。因此,在步骤203中,主控制器接收到的数据区的长度,是大于等于升级数据包的长度的。

在步骤204中,发送升级数据包。

作为一种可选的实施方式,发送升级数据包时,可以发送一个以上块数据消息,每个块数据消息中携带块数据、发送顺序号及指示发送是否结束的指示位。

作为一种可选的实施方式,上述块数据消息由块数据输出帧实现,采用扩展数据帧格式,仲裁场ID域的帧模式字段取值为M1M0EM0=101,信道标识字段的取值指示主控制器为数据升级的节点所配置的信道,I指示发送顺序号,END指示发送是否结束。块数据输出帧的数据场不包含CMD,8字节均携带数据,以提高块数据的传输效率。

作为一种可选的实施方式,块数据消息按照设定发送顺序发送,块数据消息中的发送顺序号指示当前发送的是第几个块数据消息。上述设定发送顺序可以是从小到大依次排列的顺序。

当满足设定条件时,重新发送已发送的块数据消息中的最后一个块数据消息。上述设定条件包括:完成发送升级数据包;或者,已发送的最后一个块数据消息中的发送顺序号溢出;或者,已发送的最后一个块数据消息中的发送顺序号过半和溢出。如前文介绍,发送顺序号I有8个字节,发送顺序号过半即127,发送顺序号溢出即255。

节点按照主控制器的设定发送顺序依次接收各个块数据消息,因此通过块数据消息中的发送顺序号即可知道哪些块数据接收异常。在接收到重新发送的最后一个块数据消息时,节点可以向主控制器发送接收异常的块数据对应的发送顺序号,相当于告知主控制器这些接收异常的块数据需要重新发送。如果节点正常接收了所有的块数据,则向主控制器发送取值为0的发送顺序号,相当于告知主控制器没有接收异常的块数据。

主控制器在收到节点发送的接收异常的发送顺序号时,如果发送顺序号不为0,则重新发送携带接收异常的发送顺序号及对应块数据的块数据消息,然后重新发送已发送的块数据消息中的最后一个块数据消息,如果发送顺序号为0,开始发送下一个块数据消息或者结束发送。其中,开始发送下一个块数据消息对应发送顺序号过半、及发送顺序号溢出时重新发送最后一个块数据消息的情况,结束发送对应主控制器在发送完全部块数据消息时重新发送最后一个块数据消息的情况。

上述节点发送接收异常的发送顺序号,通过块返回指令帧实现,采用扩展数据帧格式,仲裁场ID域的帧模式字段取值为M1M0EM0=110,信道标识字段的取值指示主控制器为数据升级的节点所配置的信道。如下表9给出了块返回指令帧中数据场的各字节取值,其中,第0字节CMD的取值为F5,指示本帧是节点向主控制器通报块数据接收异常,第1字节指示接收异常的块数据的个数,第2字节至第7字节指示接收异常的发送顺序号。节点需在主控制器为自己配置的信道上发送接收异常的发送顺序号,如在广播信道上发送为无效。

表9

在步骤205中,发送数据升级包的长度、升级标记和重新启动的时间。

作为一种可选的实施方式,本步骤由块控制指令帧实现,采用扩展数据帧格式,仲裁场ID域的帧模式字段取值为M1M0EM0=100,信道标识字段的取值指示主控制器为数据升级的节点所配置的信道。如下表10给出了数据场中第0字节CMD的取值F8,指示本帧是主控制器告知节点升级数据包发送结束。第1字节至第4字节指示已发送的升级数据包的长度。第5字节指示是否写升级标记,如果升级标记被设置,则节点重新启动之后会升级程序。第6字节指示节点重新启动的时间。主控制器需在为节点配置的信道上发送块指令控制帧,如在广播信道上发送为无效。

表10

在步骤206中,接收确认的升级数据包的长度、升级标记和重新启动的时间。

作为一种可选的实施方式,本步骤由块返回指令帧实现,采用扩展数据帧格式,仲裁场ID域的帧模式字段取值为M1M0EM0=110,信道标识字段的取值指示主控制器为数据升级的节点所配置的信道。如下表11给出了块返回指令帧中数据场的各字节取值,其中,第0字节CMD的取值为F7,指示本帧是节点应答主控制器升级数据包结束,第1字节至第4字节指示已接收的升级数据包的长度。第5字节指示升级标记,如果升级标记被设置,则节点重新启动之后会升级程序。第6字节指示节点重新启动的时间。节点需在主控制器为自己配置的信道上发送块返回指令帧,如在广播信道上发送为无效。

表11

在其他本发明实施例数据升级方法的示例性流程中,可以不包含步骤202,同时,上述步骤201中的发送准备数据区的指示,可以通过发送擦除数据区指令实现,上述步骤203中的接收数据区的长度,可以通过接收擦除数据区应答实现,擦除数据区应答中携带已擦除的数据区的长度。因此,在该示例性流程中,主控制器无需告知节点升级数据包的长度,节点擦除数据区之后,已擦除的数据区的长度即可满足数据升级的要求。此时,节点可以按照预置数据区的长度来擦除数据区,预置数据区的长度即可满足数据升级的要求。

图3是根据一示例性实施例示出的一种数据升级方法的流程示意图,该流程可以用于节点中,包括如下步骤。

在步骤301中,接收准备数据区的指示,数据区用于保存升级数据包。

在步骤302中,发送数据区的长度。

在步骤303中,接收升级数据包,升级数据包的长度小于等于所述数据区的长度。

可见,本发明实施例提供了一种数据升级的方式,节点在准备好用于保存升级数据包的数据区之后,向主控制器返回数据区的长度,从而使得主控制器下发的升级数据包的长度小于等于数据区的长度,不会发生升级数据包存储错误的情况,提高了可靠性。

图4是根据一示例性实施例示出的一种数据升级方法的流程示意图,该流程可以用于节点中,包括如下步骤。

在步骤401中,接收准备数据区的指示。

数据区用于保存升级数据包。

接收准备数据区的指示,通过接收擦除数据区指令、并发送擦除数据区应答来实现。

作为一种可选的实施方式,上述擦除数据区指令由块控制指令帧实现,采用扩展数据帧格式。块控制指令帧中仲裁场ID域及数据场中各位的取值,与步骤201中的相同。

作为一种可选的实施方式,上述擦除数据区应答由块返回指令帧中实现,采用扩展数据帧格式。块返回指令帧中仲裁场ID域及数据场中各位的取值,与步骤201中的相同。

在步骤402中,接收升级数据包的长度。

作为一种可选的实施方式,上述接收升级数据包的长度,由块控制指令帧实现,采用扩展数据帧格式。块控制指令帧中仲裁场ID域及数据场中各位的取值,与步骤202中的相同。

在步骤403中,根据升级数据包的长度,调整数据区。

节点可以根据升级数据包的长度来调整已擦除的数据区,例如当升级数据包的长度大于已擦除的数据区的长度时,节点可以扩大数据区的长度,当然已擦除的数据区也可能本身就大于等于升级数据包的长度,此时节点对已擦除的数据区的调整量就是0。

在步骤404中,发送数据区的长度。

作为一种可选的实施方式,数据区的长度由块返回指令帧发送。块返回指令帧采用扩展数据帧格式,仲裁场ID域和数据场的各位取值,与步骤203的相同。

在步骤405中,接收升级数据包。

作为一种可选的实施方式,接收升级数据包时,可以接收一个以上块数据消息,每个块数据消息中携带块数据、发送顺序号及指示发送是否结束的指示位。

进一步,在接收一个以上块数据消息时,按照设定发送顺序,依次接收一个以上块数据消息。接收重新发送的已发送的块数据消息中的最后一个块数据消息;如果存在接收异常的块数据,发送指示接收异常的块数据消息中的发送顺序号的异常接收消息,如果不存在接收异常的块数据,发送指示发送顺序号为0的异常接收消息。异常接收消息的格式与步骤204中的相同。

在步骤406中,接收升级数据包的长度、升级标记和重新启动的时间。

作为一种可选的实施方式,本步骤由块指令控制帧实现,采用扩展数据帧格式。仲裁场ID域和数据场的各位取值,与步骤205中的相同。

在步骤407中,发送确认的升级数据包的长度、升级标记和所述重新启动的时间。

作为一种可选的实施方式,本步骤由块返回指令帧实现,采用扩展数据帧格式。仲裁场ID域和数据场的各位取值,与步骤206中的相同。

在其他本发明实施例数据升级方法的示例性流程中,可以不包含步骤402和步骤403,同时,上述步骤401中的接收准备数据区的指示,可以通过接收擦除数据区指令实现,上述步骤404中的发送数据区的长度,可以通过发送擦除数据区应答实现,擦除数据区应答中携带已擦除的数据区的长度。因此,在该示例性流程中,主控制器无需告知节点升级数据包的长度,节点擦除数据区之后,已擦除的数据区的长度即可满足数据升级的要求。此时,节点可以按照预置数据区的长度来擦除数据区,预置数据区的长度即可满足数据升级的要求。

下面以一个具体应用场景举例。假设主控制器与节点通信的信道,其信道标识为10。

1、主控制器向节点发送擦除数据区指令,各字段取值如下。

M1M0EM0=100,channel=10,CMD=0XFC。

2、节点向主控制器发送擦除数据区应答,各字段取值如下。

M1M0EM0=110,channel=10,CMD=0XFB,D1~D4=7K。

3、主控制器向节点发送第一个块数据输出帧,各字段取值如下。

M1M0EM0=101,channel=10,END=0,I=0,D0~D7=升级数据包的第一个8比特。

4、主控制器向节点发送第二个块数据输出帧,各字段取值如下。

M1M0EM0=101,channel=10,END=0,I=1,D0~D7=升级数据包的第二个8比特。

5、主控制器向节点发送第n个块数据输出帧,各字段取值如下。

M1M0EM0=101,channel=10,END=0,I=n-1,D0~D7=升级数据包的第n个8比特。

6、主控制器向节点发送第127个块数据输出帧之后,重复发送第127个块数据输出帧。

7、节点在接收到第2次第127个块数据输出帧之后,发送接收异常的块数据对应的发送顺序号。假设节点接收异常的块数据对应的发送顺序号为5,7,15,20和29,发送的块返回指令帧的各字段取值如下。

M1M0EM0=110,channel=10,CMD=0XF5,D1=5,D2~D7=5,7,15,20,29。

8、主控制器向节点重新发送接收异常的块数据输出帧。

9、主控制器再次重新发送第127个块数据输出帧。

10、节点向主控制器发送接收异常的块数据对应的发送顺序号0,即表示当前已没有接收异常的块数据,发送的块返回指令帧的各字段取值如下。

M1M0EM0=110,channel=10,CMD=0XF5,D1=0。

11、主控制器向节点发送第128个块数据输出帧。主控制器发送块数据输出帧的方式与前述步骤中的相同,不再重复描述。主控制器在发送完所有的块数据输出帧时,依然可以向前述步骤中的那样,重复发送最后一个块数据输出帧,然后节点发送接收异常的块数据对应的发送顺序号,直到节点没有接收异常的块数据为止。

12、主控制器向节点发送块指令控制帧,指示数据升级结束,各字段取值如下。

M1M0EM0=100,channel=10,CMD=0XF8,D1~D4=2K,D5=1,D6=2。

D5=1表示写升级标记,D6=2表示2秒后节点重启进入boot升级。

13、节点向主控制器发送块返回指令帧,确定数据升级结束,各字段取值如下。

M1M0EM0=110,channel=10,CMD=0XF7,D1~D4=2K,D5=1,D6=2。

D5=1表示写升级标记,D6=2表示2秒后节点重启进入boot升级。

为实现前文所述的数据升级方法,下面介绍本发明实施例中的数据升级装置,涉及的帧结构等不再赘述,与前文所述方法相同。

图5是根据一示例性实施例示出的一种数据升级装置500的框图。数据升级装置500可以位于主控制器一侧,包括发射器501和接收器502。

发射器501,被配置为发送准备数据区的指示,数据区用于保存升级数据包;发送升级数据包,升级数据包的长度小于等于数据区的长度。

接收器502,被配置为接收所述数据区的长度。

作为一种可选的实施方式,发射器501可以进一步被配置为:在接收器接502接收数据区的长度之前,发送升级数据包的长度;升级数据包的长度用于调整数据区。

进一步,发射器501发送准备数据区的指示,可以被配置为:发送擦除数据区指令。相应的,接收器502可以进一步被配置为:接收擦除数据区应答,擦除数据区应答中携带已擦除的数据区的长度。

可以看出,在本实施方式中,主控制器可以向节点发送升级数据包的长度,使得节点能够根据升级数据包的长度调整已擦除的数据区的长度。

作为一种可选的实施方式,发射器501发送准备数据区的指示,可以被配置为:发送擦除数据区指令。相应的,接收器502接收数据区的长度,被配置为:接收擦除数据区应答,擦除数据区应答中携带已擦除的数据区的长度。

可以看出,在本实施方式中,主控制器无需向节点发送升级数据包的长度,节点已擦除的数据区即能满足数据升级的要求。

作为一种可选的实施方式,发射器501可以进一步被配置为:发送升级数据包的长度、升级标记和重新启动的时间。相应的,接收器502可以进一步被配置为:接收确认的升级数据包的长度、升级标记和重新启动的时间。

作为一种可选的实施方式,发射器501发送升级数据包,可以被配置为:发送一个以上块数据消息,每个块数据消息中携带块数据、发送顺序号及指示发送是否结束的指示位,每个块数据为所述升级数据包的一部分。

进一步,发射器501发送一个以上块数据,可以被配置为:按照设定发送顺序,依次发送一个以上块数据消息;当满足设定条件时,重新发送已发送的块数据消息中的最后一个块数据消息;当接收器502接收到的接收异常的块数据消息中的发送顺序号不为0时,重新发送接收异常的块数据消息、并重新发送已发送的块数据消息中的最后一个块数据消息;当接收器502接收到的接收异常的块数据消息中的发送顺序号为0时,发送下一个块数据消息或结束发送。

图6是根据一示例性实施例示出的一种数据升级装置600的框图。数据升级装置600可以位于节点一侧,包括接收器601和发射器602。

接收器601,被配置为接收准备数据区的指示,数据区用于保存升级数据包;接收升级数据包,升级数据包的长度小于等于数据区的长度。

发射器602,被配置为发送数据区的长度。

作为一种可选的实施方式,接收器601可以进一步被配置为:在发射器602发送数据区的长度之前,接收升级数据包的长度。相应的,该装置中还包括:处理器603,被配置为根据升级数据包的长度,调整数据区。

进一步,接收器601接收准备数据区的指示,可以被配置为:接收擦除数据区的指令。相应的,发射器602可以进一步被配置为:发送擦除数据区应答,擦除数据区应答中携带已擦除的数据区的长。

可以看出,在本实施方式中,主控制器向节点发送升级数据包的长度,节点可以根据升级数据包的长度,调整已擦除的数据区。

作为一种可选的实施方式,接收器601接收准备数据区的指示,可以被配置为:接收擦除数据区指令。相应的,发射器602发送数据区的长度,可以被配置为:接收擦除数据区应答,擦除数据区应答中携带已擦除的数据区的长度。

可以看出,在本实施方式中,主控制器无需向节点发送升级数据包的长度,节点擦除的数据区即可满足数据升级的要求。

作为一种可选的实施方式,接收器601可以进一步被配置为:接收升级数据包的长度、升级标记和重新启动的时间。相应的,发射器602可以进一步被配置为:发送确认的所述升级数据包的长度、升级标记和所述重新启动的时间。

作为一种可选的的实施方式,接收器601接收升级数据包,可以被配置为:接收一个以上块数据消息,每个块数据消息中携带块数据、发送顺序号及指示发送是否结束的指示位,每个块数据为所述升级数据包的一部分。

进一步,接收器601接收一个以上块数据消息,可以被配置为:按照设定发送顺序,依次接收一个以上块数据消息;接收重新发送的已发送的块数据消息中的最后一个块数据消息。相应的,发射器602可以进一步被配置为:当存在接收异常的块数据时,发送指示接收异常的块数据消息中的发送顺序号的异常接收消息,当不存在接收异常的块数据时,发送指示发送顺序号为0的异常接收消息。

应当理解的是,本发明并不局限于上面已经描述并在附图中示出的流程及结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。

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