具体实施方式
以下描述和附图充分地示出本发明的具体实施方案,以使本领域的技术人员能够实践它们。其他实施方案可以包括结构的、逻辑的、电气的、过程的以及其他的改变。实施例仅代表可能的变化。除非明确要求,否则单独的部件和功能是可选的,并且操作的顺序可以变化。一些实施方案的部分和特征可以被包括在或替换其他实施方案的部分和特征。本发明的实施方案的范围包括权利要求书的整个范围,以及权利要求书的所有可获得的等同物。在本文中,各实施方案可以被单独地或总地用术语“发明”来表示,这仅仅是为了方便,并且如果事实上公开了超过一个的发明,不是要自动地限制该应用的范围为任何单个发明或发明构思。本文中,诸如第一和第二等之类的关系术语仅仅用于将一个实体或者操作与另一个实体或操作区分开来,而不要求或者暗示这些实体或操作之间存在任何实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法或者设备中还存在另外的相同要素。本文中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的方法、产品等而言,由于其与实施例公开的方法部分相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
目前提出一种基于CAN2.0B总线协议的方案,该方案主要思路是基于CAN2.0B总线协议标准数据帧和扩展数据帧现有的帧格式进行修改,对标准数据帧和扩展数据帧中仲裁场的标识符域和数据场的字段赋予新的功能含义,以更好地将CAN总线用于机器人控制。对标准数据帧和扩展数据帧中仲裁场的标识符域修改如表A-1和表A-2所示。
表A-1对CAN2.0B协议标准数据帧的仲裁场标识符域的修改
其中:
M1、M0表示帧模式,取值包括00、01、10和11;
CH8~CH0表示节点的通信信道(channel),取值范围0~511。channel=0的数据帧为广播帧,所有节点都应收到channel=0的广播帧。
表A-2对CAN2.0B协议扩展数据帧的仲裁场标识符域的修改
其中:
M1、M0表示帧模式,取值包括00、01、10和11;
EM0表示扩展帧模式,取值包括0和1;扩展帧模式的含义如表A-11所示。
表A-11扩展帧模式的含义
N为保留位,暂未被使用;
END用于指示本帧是否为本次数据传输的最后一帧,取0表示不是最后帧,取1表示是最后一帧;
I7~I0是8位自增循环码,可用于表示帧的序号,取值范围0~255;
CH15~CH0表示节点的通信信道,取值范围0~65535。channel=0的数据帧为广播帧,所有节点都应收到channel=0的广播帧。
对标准数据帧和扩展数据帧中数据场的修改如表B-1所示。标准数据帧和扩展数据帧的数据场中携带8个字节数据,数据指令帧携带数据的顺序如表B-1所示。
表B-1对CAN2.0B协议数据帧的数据场中各字节的修改
其中:
CMD是二级指令,具体节点会使用各自的指令集,部分指令见表B-2;
D0~D6为二级指令所携带的数据;
D0~D7为数据传输时每一帧所携带的数据,数据传输时8个字节全为数据以提高数据的传输效率。
表B-2 CMD部分指令
图1是根据一示例性实施例示出的一种用于总线的数据传输方法的流程示意图。
如图1所示方法包括以下步骤:步骤S101,发送第N个数据帧;步骤S102,接收数据传输异常信息;步骤S103,存在数据传输异常时,重新发送发生异常传输的数据帧。
在一些可选的实施方式中,在步骤S101中,发送端单次或多次发送第N个数据帧至接收端,其中N为正整数。若传输数据帧数总数为M(其中M为小于或等于256的正整数),当发送数据帧个数N过半,即N≥M/2时,则发送端重复发送第N个数据帧至接收端。另外,在传输到最后一个数据帧,即第M个数据帧时,即N=M时,同样会重复发送第M个(即第N个)数据帧至接收端。
在另一些可选的实施方式中,发送端可在传输任意数据帧时重复发送,接收端一旦收到重复的数据帧就必须发送传输异常信息给发送端。
在步骤S102中,接收端在再次接收到第N个数据帧时,会将数据传输异常信息发送给发送端。所述数据传输异常信息包括传输异常的数据帧的数量及传输异常的数据帧的序号。
主控制器的块接收异常指令具体所在字节及详细描述如表1:
表1
节点的块接收异常指令具体所在字节及详细描述如表2:
表2
块传输异常有以下使用规则:指令0XF6(主控制器块传输异常)和0XF5(节点块传输异常)使用方法是一样的,只是方向不同。
由此可知,数据传输异常信息由主控制器块传输异常和节点块传输异常指令携带。
在步骤S103中,如果数据传输异常,则重新发送发生异常传输的数据帧至所述接收端。
发送端解析接收端发送的指令,解析出传输异常的数据帧的数量及传输异常的数据帧的序号,并重发相应序号的传输异常的数据帧。
本实施例提供的用于总线的数据传输方法,可以根据设定的协议完成数据传输,并且在传输过程中出现数据传输异常时,重发传输异常的数据帧,保证了数据传输的完整性和准确性。
图2是根据一示例性实施例示出的一种用于总线的数据传输方法的流程示意图。
为了便于说明,不再对与前述实施例相同的步骤或相似的步骤进行详细展开,而仅重点说明与前述实施例的不同之处。在图2中,对于前述实施例相同或相似的步骤,采用了相同的附图标记。
如图2所示的方法还包括步骤S201,发送第1至第N-1个数据帧至接收端;步骤S202,再次发送所述第N个数据帧;步骤S203,接收数据传输异常信息。
在一些可选地实施方式中,发送端在发送第N个数据帧之前,以单次顺序的方式向接收端发送第1至第N-1个数据帧。其中,若传输数据帧数总数为M(M≤256,M为正整数),当发送数据帧个数N过半,即N≥M/2(N为正整数)时,则发送端重复发送第N个数据帧至接收端,所述第N个数据帧的index为N-1。另外,在传输到最后一个数据帧,即第M个数据帧时,即N=M,index=M-1时,同样会重复发送第M个(即第N个)数据帧至接收端。在步骤S102中,接收端会在重复接收到相同index的数据帧时,会将数据传输异常信息发送给发送端。在步骤S103中,传输异常的数据帧的数量不为0时,发送端会根据传输异常的数据帧的序号向接收端重发对应序号的数据帧。在步骤S202中,发送端在重发传输异常的数据帧后,为确认是否仍存在数据传输异常现象,会重复发index为N-1的数据帧至接收端,在步骤S203中发送端接收来自接收端的数据传输异常信息,在步骤S204中,如果数据传输异常,即传输异常的数据帧的数量不为0时,则重发发生异常传输的数据帧至所述接收端。在步骤S205中,如果数据传输正常,即传输异常的数据帧的数量为0时,则继续以单次顺序的方式发送第N+1至第M-1个数据帧至所述接收端。其中,M为大于N+1的正整数。可选地,第M个数据帧为本次数据传输的最后一个数据帧,若N=M时,数据传输结束。
在一些可选地实施方式中,步骤S202可以省略,即发送端在重发传输异常的数据帧后,不再发送index为N-1的数据帧,接收端在接收到重发的传输异常的数据帧后,即可直接发送数据传输异常信息至发送端。
在一个可选的用于机器人的场景中,机器人的主控制器需要对节点10做数据升级,升级数据区的大小为2K,升级数据的总量大小为7K。该场景中涉及的部分CMD指令如表B-2所示。
该场景中,所述的数据块即数据帧,主控制器为发送端,节点10为接收端。
主控制器向节点10请求erase升级数据区,该消息中相应字段被设置为:M1M0EM0=100,channel=10,CMD=0XFC。
节点10向主控制器发节点erase升级数据应答,该消息中相应字段被设置为:M1M0EM0=110,channel=10,CMD=0XFB,D1~D4=7K。
主控制器以单次顺序的方式发送第1至第N-1个数据帧至节点10,过程如下:
主控制器向节点10发送第1个数据帧,相应字段为:M1M0EM0=101,channel=10,END=0,index=0,D0~D7=升级数据的第一个8字节。
主控制器向节点10发送第2个数据帧,相应字段为:M1M0EM0=101,channel=10,END=0,index=1,D0~D7=升级数据的第二个8字节。主控制器发向节点10。
主控制器向节点10发送第N个数据帧,相应字段为:M1M0EM0=101,channel=10,END=0,index=N-1,D0~D7=升级数据的第N个8字节。
主控制器发送第128个数据帧(该帧的index=127),此时主控制器重复发送index=127的数据帧,(此时index不再做+1操作)。
节点10重复收到index=127的数据帧时,将发送数据传输异常信息。
如果节点10有index=5,7,15,20,29等5个数据帧没有收到或发生传输错误,则节点10向主控制器发送的数据传输异常信息,相应字段为:M1M0EM0=110,channel=10,CMD=0XF5,D0=5,D1~D5=5,7,15,20,29。该信息中,一个字节(D0)用于携带传输异常的数据帧的数量,多个字节(D1~D6)可用于携带传输异常的数据帧的序号。主控制器接收来自节点10的数据传输异常信息后进行解析如果D0的取值大于零,则表示有数据帧传输异常,则按D1~D6所指示的序号重新发送index=5,7,15,20,29这5个数据帧至节点10。
主控制器重发5个数据帧后,再次发送index=127的数据帧至节点10。
节点10再次收到index=127的数据帧时,将发送数据传输异常信息。
如果节点10全部正确接收index=5,7,15,20,29等5个数据帧,则节点10向主控制器发送的数据传输异常信息,相应字段为:M1M0EM0=110,channel=10,CMD=0XF5,D0=0。
主控制器收到数据传输异常信息并解析,得知传输异常的数据帧的数量为0,即不存在传输异常的数据帧,将继续单次顺序发送后序的数据帧。
主控制器发送index=128~254的数据帧(即第129~255个数据帧)的方法同index=0~126的方法相同,此不赘述。
在传输到最后一个数据帧时,主控制器重复发送index=255的数据帧,相应的字段为:M1M0EM0=110,channel=10,END=1,index=255,D0~D7。
节点10再次收到index=255的数据帧时,将发送数据传输异常信息。
主控制器收到数据传输异常信息后,如果传输异常的数据帧的数量为0,则升级数据发送结束;否则,按D1~D6所指示的序号重新发送相应的数据帧。
主控制器向节点10发送升级数据结束,相应字段设置为:M1M0EM0=100,channel=10,CMD=0XF8,D1~D4=2K,D5=1,D6=2。其中,D5=1表示写升级标记,D6=2表示2秒后重起进入boot升级。
节点10向主控制器发送升级数据结束应答,相应字段设置为:M1M0EM0=110,channel=10,CMD=0XF7,D1~D4=2K,D5=1,D6=2。其中,D5=1表示写升级标记,D6=2表示2秒后重起进入boot升级。
至此升级数据传输结束。
本实施例提供的用于总线的数据传输方法,可以根据设定的协议完成数据传输,并且在传输数据帧到达一半时和传输最后一个数据帧时重复发送同一数据帧,以确认传输过程中是否出现数据传输异常现象,并重发传输异常的数据帧,缓解系统的数据传输压力同时提高了数据传输的完整性和准确性。
图3是根据一示例性实施例示出的一种用于总线的数据传输方法的流程示意图。
为了便于说明,不再对与前述实施例相同的步骤或相似的步骤进行详细展开,而仅重点说明与前述实施例的不同之处。在图3中,对于前述实施例相同或相似的步骤,采用了相同的附图标记。
在一些可选地实施方式中,在步骤S301中,当传输异常的数据帧的数量达到阈值时,接收数据传输异常信息。
发送端从第一个数据帧开始单次顺序发送至接收端,接收端会对接收到的传输异常的数据进行计数,当接收到的传输异常的数据达到设定值时,若此时传送到第W个数据帧,即向发送端发送数据传输异常信息。发送端接收到数据传输异常信息暂停单次顺序发送数据帧至接收端,并根据数据传输异常信息中包含的传输异常的数据帧的序号向接收端重发对应序号的数据帧。
发送端重发完对应序号的数据帧后,重新发送第W个数据帧至接收端,接收端再次发送第W个数据帧之前的数据传输异常信息。
在另一些实施例中,发送端重发完对应序号的数据帧后,接收端再次发送第W个数据帧之前的数据传输异常信息。
数据传输正常即数据传输异常信息中包括的传输异常的数据帧的数量为0时,发送端继续发送数据至接收端。
本实施例提供的用于总线的数据传输方法,可以根据设定的协议完成数据传输,在传输异常的数据帧数量达到阈值时,在传输数据帧到达一半时以及传输最后一个数据帧时重复发送同一数据帧,确认传输过程中是否出现数据传输异常现象,并重发传输异常的数据帧,提高了数据传输的完整性和准确性。
图4是根据一示例性实施例示出的一种用于总线的数据传输方法的流程示意图。
如图4所示方法包括以下步骤:步骤S401,接收第N个数据帧;步骤S402,发送包含数据传输异常信息的指令帧;步骤S403,如果数据传输异常,则重新接收发生异常传输的数据帧。
在一些可选的实施方式中,在步骤S401中,接收端单次或多次接收来自发送端的第N个数据帧。在步骤S402中,接收端发送包含数据传输异常信息的指令帧至所述发送端,所述数据传输异常信息包括传输异常的数据帧的数量及传输异常的数据帧的序号。
在本实施例中,当接收端重复接收到同一数据帧时,向发送端发送所述数据帧之前的数据传输异常信息即将传输异常的数据帧的数量及传输异常的数据帧的序号发送给发送端。
在步骤S403中,如果数据传输异常,则重新接收发生异常传输的数据帧。如果传输异常的数据帧的数量不为0时,接收发送端重发的发生异常传输的数据帧。
本实施例提供的用于总线的数据传输方法,可以根据设定的协议完成数据传输,并且在传输过程中出现数据传输异常时,重发传输异常的数据帧,保证了数据传输的完整性和准确性。
图5是根据一示例性实施例示出的一种用于总线的数据传输方法的流程示意图。
为了便于说明,不再对与前述实施例相同的步骤或相似的步骤进行详细展开,而仅重点说明与前述实施例的不同之处。在图5中,对于前述实施例相同或相似的步骤,采用了相同的附图标记。
如图5所示的方法还包括:步骤S501,接收第1至第N-1个数据帧;步骤S502,接收所述第N个数据帧;步骤S503,发送包含数据传输异常信息的指令帧;步骤S504,存在数据传输异常时,则再次接收发生异常传输的数据帧;步骤S505,如果数据传输正常,则继续单次顺序接收来自所述发送端的第N+1至第M-1个数据帧。
在一些可选地实施方式中,在步骤S501中,接收端接收发送端单次顺序发送的第1至第N-1个数据帧,在步骤S401中,接收端单次或多次接收来自发送端的第N个数据帧,在步骤S402中,接收端发送包含数据传输异常信息的指令帧至所述发送端,所述数据传输异常信息包括传输异常的数据帧的数量及传输异常的数据帧的序号,在步骤S403中,如果数据传输异常,则接收端接收发送端重发的发生异常传输的数据帧,在步骤S502中,接收来自所述发送端重复发送的所述第N个数据帧,在步骤S503中,接收端再次发送第N个数据帧之前的数据传输异常信息的至所述发送端。在步骤S504中,如果数据传输异常,则接收端再次接收发生异常传输的数据帧。在步骤S505中,如果数据传输正常,则继续单次顺序接收来自所述发送端的第N+1至第M-1个数据帧;M为大于N+1的正整数。
在一些可选地实施方式中,步骤S502可省,如果数据传输异常,发送端重发发生异常传输的数据帧后,不会再次发送第N个数据帧,则,接收端不会再次接收来自所述发送端重复发送的所述第N个数据帧。
本实施例提供的用于总线的数据传输方法,可以根据设定的协议完成数据传输,并且在传输数据帧到达一半时和传输最后一个数据帧时重复发送同一数据帧,以确认传输过程中是否出现数据传输异常现象,并重发传输异常的数据帧,缓解系统的数据传输压力同时提高了数据传输的完整性和准确性。
图6是根据一示例性实施例示出的一种用于总线的数据传输方法的流程示意图。
为了便于说明,不再对与前述实施例相同的步骤或相似的步骤进行详细展开,而仅重点说明与前述实施例的不同之处。在图6中,对于前述实施例相同或相似的步骤,采用了相同的附图标记。
在步骤S601中,当传输异常的数据帧的数量达到阈值时,发送所述包含数据传输异常信息的指令帧至发送端。
接收端会对接收出现异常的数据帧进行计数,当接收出现异常的数据帧的数量达到阈值时则会向发送端发送包含数据传输异常信息的指令帧至发送端。
本实施例提供的用于总线的数据传输方法,可以根据设定的协议完成数据传输,在传输异常的数据帧数量达到阈值时,在传输数据帧到达一半时以及传输最后一个数据帧时重复发送同一数据帧,确认传输过程中是否出现数据传输异常现象,并重发传输异常的数据帧,提高了数据传输的完整性和准确性。
图10是根据一示例性实施例示出的一种用于总线的数据传输方法的流程示意图。
为了便于说明,不再对与前述实施例相同的步骤或相似的步骤进行详细展开,而仅重点说明与前述实施例的不同之处。
在一些可选实施例中,所述用于总线的数据传输方法包括:步骤S1001,顺序发送数据帧至接收端;步骤S1002,接收来自所述接收端的数据传输异常信息;步骤S1003,存在传输异常的数据帧时,重新发送传输异常的数据帧至所述接收端。其中,所述数据传输异常信息包括传输异常的数据帧的数量及传输异常的数据帧的序号。通过传输异常的数据帧的数量能够方便地获得是否存在传输异常的数据帧,通过传输异常的数据帧的序号能够准确地获得哪些数据帧发生传输异常。其中,传输异常的数据帧包括但不限于传输出错的数据帧和传输丢失的数据帧。
本实施例提供的用于总线的数据传输方法,可以根据设定的协议完成数据传输,并且在传输过程中出现数据传输异常时,重发传输异常的数据帧,保证了数据传输的完整性和准确性。
在一些可选实施例中,所述用于总线的数据传输方法包括:顺序发送数据帧至接收端,其中多次或单次发送第N个数据帧至接收端,N为正整数;接收来自所述接收端的数据传输异常信息;存在传输异常的数据帧时,重新发送传输异常的数据帧至所述接收端。其中,所述第N个数据帧是本次数据传输的最后一个数据帧;或者,N大于或等于M/2,M为本次数据传输的数据帧的总数。
可以看出,通过多次的重复发送第N个数据帧至接收端,首先能够确保接收端能接收到第N个数据帧,而不会发生丢帧;其次,接收端在重复收到第N个数据帧时,将启动传输异常上报,将数据传输异常信息发送给发送端。
此外,N取值大于或等于M/2,既能够提升系统传输的可靠性又能兼顾系统负荷,还能有效缩短数据传输的时延。
在一些可选实施例中,重新发送传输异常的数据帧后还包括:发送一次或多次第N个数据帧至接收端。在重新发送传输异常的数据帧后,再一次或多次发送第N个数据帧的作用在于,既能够提示接收端重传过程已结束又能够指示接收端再次进行传输异常上报。
在一些可选实施例中,所述用于总线的数据传输方法包括:顺序发送数据帧至接收端,其中单次顺序发送第1至N-1个数据帧,多次或单次发送第N个数据帧至接收端;接收来自所述接收端的数据传输异常信息;存在传输异常的数据帧时,重新发送传输异常的数据帧至所述接收端。其中,所述传输异常的数据帧为所述第1至第N-1个数据帧中的部分或全部。
在一些可选实施例中,所述用于总线的数据传输方法包括:顺序发送数据帧至接收端,其中单次顺序发送第1至N-1个数据帧,多次或单次发送第N个数据帧至接收端;接收来自所述接收端的数据传输异常信息;存在传输异常的数据帧时,重新发送传输异常的数据帧至所述接收端;未存在传输异常的数据帧时,单次顺序发送第N+1个及后序的数据帧。
在一些可选实施例中,所述用于总线的数据传输方法包括:顺序接收来自发送端的数据帧;发送数据传输异常信息至所述发送端;存在传输异常的数据帧时,重新接收传输异常的数据帧。
在一些可选实施例中,所述用于总线的数据传输方法包括:顺序接收来自发送端的数据帧,其中多次或单次接收来自所述发送端的第N个数据帧,N为正整数;发送数据传输异常信息至所述发送端;存在传输异常的数据帧时,重新接收传输异常的数据帧。其中,所述第N个数据帧是本次数据传输的最后一个数据帧;或者,N大于或等于M/2,M为本次数据传输的数据帧的总数。
可以看出,多次的重复接收第N个数据帧既能够确保接收端能接收到第N个数据帧而不会发生丢帧,又作为启动传输异常上报的指令,指示接收端将数据传输异常信息发送给发送端。
在一些可选实施例中,重新接收传输异常的数据帧后还包括:接收一次或多次来自所述接收端的第N个数据帧。在重新接收传输异常的数据帧后,再一次或多次接收第N个数据帧的作用在于,既能得知重传过程已结束又能够获得指示再次进行传输异常上报。
在一些可选实施例中,所述用于总线的数据传输方法包括:顺序接收来自发送端的数据帧,其中单次顺序接收第1至N-1个数据帧,多次或单次接收来自所述发送端的第N个数据帧,N为正整数;发送数据传输异常信息至所述发送端;存在传输异常的数据帧时,重新接收传输异常的数据帧。其中,所述传输异常的数据帧为所述第1至第N-1个数据帧中的部分或全部。
在一些可选实施例中,所述用于总线的数据传输方法包括:顺序接收来自发送端的数据帧,其中单次顺序接收第1至N-1个数据帧,多次或单次接收来自所述发送端的第N个数据帧,N为正整数;发送数据传输异常信息至所述发送端;存在传输异常的数据帧时,重新接收传输异常的数据帧;未存在传输异常的数据帧时,单次顺序接收第N+1个及后序的数据帧。
在一些可选实施例中,所述用于总线的数据传输方法包括:顺序接收来自发送端的数据帧,并统计传输异常的数据帧的数量;传输异常的数据帧的数量达到阈值时发送数据传输异常信息至所述发送端;存在传输异常的数据帧时,重新接收传输异常的数据帧。
在一些可选实施例中,所述用于总线的数据传输方法包括:顺序接收来自发送端的数据帧,并统计传输异常的数据帧的数量;传输异常的数据帧的数量达到阈值时或多次接收来自所述发送端的第N个数据帧时,发送数据传输异常信息至所述发送端;存在传输异常的数据帧时,重新接收传输异常的数据帧;其中,N为正整数。
图7是根据一示例性实施例示出的一种用于总线的数据传输装置数据传输装置的框图。
本实施例提供的用于总线的数据传输装置包括第一发送单元701,第一接收单元702和重发送单元703。
第一发送单元701用于单次或多次发送第N个数据帧至接收端,N为正整数。
第一接收单元702用于接收来自所述接收端的数据传输异常信息,所述数据传输异常信息包括传输异常的数据帧的数量及传输异常的数据帧的序号。
重传发送单元703用于在数据传输异常时,重新发送发生异常传输的数据帧至所述接收端。
所述第一发送单元701还用于在单次或多次发送第N个数据帧至所述接收端前,单次顺序发送第1至第N-1个数据帧至所述接收端。
所述第一发送单元701还用于在所述第一接收单元702再次接收所述接收端发送的数据传输异常信息前,再次发送所述第N个数据帧至所述接收端。
所述第一接收单元702还用于再次接收所述接收端发送的数据传输异常信息。
所述重传发送单元703还用于在数据传输异常时,再次发送发生异常传输的数据帧至所述接收端。
所述第一发送单元701还用于在数据传输正常时,继续单次顺序发送第N+1至第M-1个数据帧至所述接收端;M为大于N+1的正整数。
本实施例提供的数据传输装置,可以按照前面所述的方法用于总线传输控制数据和各节点在线升级数据。
图8是根据一示例性实施例示出的一种用于总线的数据传输装置的框图。
本实施例提供的用于总线的数据传输装置包括第二接收单元801,第二发送单元802和重传接收单元803。
第二接收单元801用于单次或多次接收来自发送端的第N个数据帧,N为正整数。
第二发送单元802用于发送包含数据传输异常信息的指令帧至所述发送端,所述数据传输异常信息包括传输异常的数据帧的数量及传输异常的数据帧的序号。
重传接收单元803用于在数据传输异常时,重新接收发生异常传输的数据帧。
所述第二发送单元802还用于在所述重传接收单元803重新接收发生传输异常的数据帧后,再次发送包含数据传输异常信息的指令帧至所述发送端。
所述第二接收单元801还用于在单次或多次接收来自所述发送端的第N个数据帧前单次顺序接收来自所述发送端的第1至第N-1个数据帧。
所述第二接收单元801还用于中再次接收来自所述发送端的所述第N个数据帧。
所述第二发送单元802还用于再次发送包含数据传输异常信息的指令帧至所述发送端。
所述重传接收单元803还用于在数据传输异常时,再次接收发生异常传输的数据帧。
所述第二接收单元801还用于在数据传输正常时,继续单次顺序接收来自所述发送端的第N+1至第M-1个数据帧;M为大于N+1的正整数。
本实施例提供的数据传输装置,可以按照前面所述的方法用于总线传输控制数据和各节点在线升级数据。
图9是根据一示例性实施例示出的一种用于总线的数据传输装置的框图。
为了便于说明,不再对与前述实施例相同的步骤或相似的步骤进行详细展开,而仅重点说明与前述实施例的不同之处。在图9中,对于前述实施例相同或相似的步骤,采用了相同的附图标记。
本实施例提供的用于总线的数据传输装置包括第二接收单元801,第二发送单元802,重传接收单元803和计数单元901。
计数单元901用于对传输异常的数据帧进行计数,当传输异常的数据帧的数量达到阈值时,所述第二发送单元802发送所述包含数据传输异常信息的指令帧至发送端。
本实施例提供的数据传输装置,可以按照前面所述的方法用于总线传输控制数据和各节点在线升级数据。
在一些可选实施例中,所述用于总线的数据传输装置包括:顺序发送数据帧的第一发送单元;接收数据传输异常信息的第一接收单元;和,重新发送传输异常的数据帧的重传发送单元。可选地,所述第一接收单元在所述第一发送单元多次或单次发送第N个数据帧后接收数据传输异常信息,N为正整数;所述第N个数据帧是本次数据传输的最后一个数据帧;或者,N大于或等于M/2,M为本次数据传输的数据帧的总数。可选地,所述第一发送单元在所述重传发送单元重新发送传输异常的数据帧后发送一次或多次第N个数据帧。可选地,所述第一发送单元单次顺序发送第1至第N-1个数据帧。可选地,所述第一发送单元单次顺序发送第N+1个及后序的数据帧。
在一些可选实施例中,所述用于总线的数据传输装置包括:顺序接收数据帧的第二接收单元;发送数据传输异常信息的第二发送单元;和,重新接收传输异常的数据帧的重传接收单元。可选地,所述第二发送单元在所述第二接收单元多次或单次接收第N个数据帧后发送数据传输异常信息,N为正整数。其中,所述第N个数据帧是本次数据传输的最后一个数据帧;或者,N大于或等于M/2,M为本次数据传输的数据帧的总数。可选地,所述第二接收单元在所述重传接收单元重新接收传输异常的数据帧后接收一次或多次第N个数据帧。可选地,所述第二接收单元单次顺序接收第1至N-1个数据帧。可选地,所述第二接收单元单次顺序接收第N+1个及后序的数据帧。
在一些可选实施例中,所述用于总线的数据传输装置包括:顺序接收数据帧的第二接收单元;发送数据传输异常信息的第二发送单元;和,重新接收传输异常的数据帧的重传接收单元;还包括对传输异常的数据帧进行计数的计数单元;所述第二发送单元在所述计数单元的计数达到阈值时发送数据传输异常信息。
在一些可选实施例中,所述用于总线的数据传输装置包括:顺序接收数据帧的第二接收单元;发送数据传输异常信息的第二发送单元;和,重新接收传输异常的数据帧的重传接收单元;还包括对传输异常的数据帧进行计数的计数单元;所述第二发送单元在所述计数单元的计数达到阈值时或在所述第二接收单元多次或单次接收第N个数据帧后发送数据传输异常信息;其中,N为正整数。
上述各数据传输装置实施例的技术效果如前文所述,此不赘述。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器,上述指令可由处理器执行以完成前文所述的方法。上述非临时性计算机可读存储介质可以是只读存储器(Read Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、磁带和光存储设备等。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。所属技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本文所披露的实施例中,应该理解到,所揭露的方法、产品(包括但不限于装置、设备等),可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的流程及结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。