一种面向多点互联应用的串行总线冗余通信方法

文档序号:7810002阅读:195来源:国知局
一种面向多点互联应用的串行总线冗余通信方法
【专利摘要】本发明公开了一种面向多点互联应用的串行总线冗余通信方法,主站点按命令格式完成组帧和并转串操作,在串行总线全部五条数据传输通道中任意四条数据传输通道上发出命令;从站点监听数据总线并对通道进行识别和命令提取操作,待检测到一条针对本站点的传输命令后,从站点完成响应格式组帧和并转串操作,并发出响应;若响应格式错误或无响应,主站点发出故障诊断命令;主站点检测从站点发出的故障诊断响应,根据诊断结果,从五条数据传输通道中重新选择四条数据传输通道作为下一次传输使用的数据传输通道;主站点重新发出上一次传输命令,直至收到正确的传输响应或重传次数达到预设最大值。
【专利说明】一种面向多点互联应用的串行总线冗余通信方法

【技术领域】
[0001]本发明属于通信领域,涉及一种面向多点互联应用的串行总线冗余通信方法。

【背景技术】
[0002]目前电子设备之间通信总线可分为并行总线和串行总线两种。并行总线在计算机领域应用较为广泛,如PCI总线和ISA总线,其特点是并行总线通常由地址总线、控制总线和数据总线组成,并行总线扩展方便,其明显不足体现在连接信号数较多,不利于设备小型化,难以满足某些对控制装置尺寸存在严格限制的场合需要等方面;其次,总线通信未采取冗余机制,一条信号线连接故障会导致通信任务失败。
[0003]相比并行总线,串行总线的种类相对较多。按通信站点物理连接类型可划分为点对点通信和多点互联通信两种,前者后者包括PCI Express、Rapid 10、SpaceWire、USB和1394等,后者包括I2C、1553B和CAN等。点对点通信总线带宽则较高,通常都在200Mbps以上,而多点互联串行通信总线在实际使用中存在通信带宽较低的不足,大部分均在IMbps以下。从使用的数据传输通道数目来看,I2C和CAN总线使用一条数据传输通道,未采用冗余设计;1553B总线采用2条数据传输通道,其中,一次传输仅占用一条数据传输通道,另一条数据传输通道存于热备份状态。通过增加数据传输通道的条数,可以显著提高多点互联串行通信总线的传输带宽,与此同时,借鉴1553B总线冗余通信的特点,多点互联串行通信总线应包括备份数据通道,来提高通信系统的可靠性。但目前,在多点互联串行通信领域,尚未有关于实现多条数据传输通道中故障自动诊断与数据传输通道自动切换方法的报道。


【发明内容】

[0004]本发明解决的技术问题是:克服现有技术的不足,提出一种面向多点互联应用的串行总线冗余通信方法,满足多点互联领域高带宽通信需求,同时,该方法实现传输通道故障的自动诊断与隔离,以及传输失败自动重传功能。
[0005]本发明的技术方案是:一种面向多点互联应用的串行总线冗余通信方法,步骤如下:
[0006]I)建立串行总线通信系统;所述串行总线通信系统包括I个主站点和N个从站点,每个从站点均分配各不相同的ID号;主站点发出传输命令,从站点检测命令并发出响应;所述串行总线通信系统中的串行总线由5条数据传输通道组成,工作时其中4条数据传输通道处于工作状态,另外一条处于备份状态;N为小于等于32的正整数;
[0007]2)将串行总线的5条数据传输通道依次顺序编号,主站点在当前处于工作状态的4条数据传输通道上发出传输命令至从站点,并等待从站点响应;所述的传输命令和响应均由同步头段、数据线标识段和数据传输段三部分组成;
[0008]3)各从站点均监听全部5条数据传输通道,通过将接收的码流与5种传输命令的格式进行比对,确定当前使用的4条数据传输通道以及传输命令种类;各从站点解析传输命令,当解析出正确格式的传输命令后,与传输命令中指定通信目标从站点ID相同的通信目标从站点完成该条传输命令的指定操作,并在检测到本次传输命令的4条数据传输通道上,将响应发送给主站点;当解析出错误的传输命令后,各从站点继续监听数据传输通道;
[0009]4)主站点在4条工作数据传输通道上检测响应,若在预设的最大响应时间内未检测到响应,或虽检测到响应,但与预设的响应格式不一致,主站点则判定本次传输失败,跳至步骤5);若主站点在允许的响应的时间内检测到格式正确的响应,跳至步骤8);
[0010]5)主站点准备将传输命令进行重新传输,判断若当前传输对应的重传次数小于预设的最大重传次数,则主站点在全部5条数据传输通道上发出数据传输通道故障诊断命令至通信目标从站点,并跳至步骤6);否则,判定当前传输的重传失败,跳至步骤8);
[0011]6)通信目标从站点对接收到的数据传输通道故障诊断命令进行格式判断,若收到格式正确的数据传输通道故障诊断命令的数据传输通道个数大于或等于2,则认定数据传输通道故障诊断命令有效,通信目标从站点在接收到正确的数据传输通道故障诊断命令码流的传输数据传输通道上发出相应的响应至主站点;若收到格式正确的数据传输通道故障诊断命令的数据传输通道个数小于2,则通信目标从站点不发送响应;
[0012]7)主站点在全部5条数据传输通道上检测响应,若未检测到响应或者检测到响应格式正确的数据传输通道条数小于4时,跳至步骤5)执行;否则,主站点从响应格式正确的数据传输通道中任选4条,作为新的4条处于工作状态的数据传输通道,用于进行下一次传输,并跳转至步骤2)对传输命令进行重传;
[0013]8)本次传输结束。
[0014]所述的传输命令包括单次写传输命令、单次读传输命令、批量写传输命令和批量读传输命令;单次写传输命令、单次读传输命令使用曼彻斯特编码和奇校验编码,批量写传输命令和批量读传输命令使用曼彻斯特编码、奇校验编码、8B/10B编码和CRC编码;
[0015]所述单次写传输命令包括传输命令类型、奇校验位、重传标志位、ID编号、传输偏移地址、传输数据;
[0016]所述单次读传输命令包括传输命令类型、奇校验位、重传标志位、ID编号、传输偏移地址;
[0017]所述批量写传输命令包括传输命令类型、奇校验位、重传标志位、ID编号、传输偏移地址、传输数据、传输数据的长度;
[0018]所述的批量读传输命令包括传输命令类型、奇校验位、重传标志位、ID编号、传输偏移地址、传输数据的长度。
[0019]所述单次读传输响应包括响应标识、传输数据、奇校验位;
[0020]所述单次写传输响应包括响应标识;
[0021]所述批量读传输响应包括响应标识、传输数据、CRC校验位;
[0022]所述批量写传输响应包括响应标识。
[0023]传输单次写传输命令、单次读传输命令、批量写传输命令和批量读传输命令时,将传输命令平均分配在4条数据传输通道上传输;传输数据传输通道故障诊断命令时,传输命令在5条数据传输通道上独立传输。
[0024]同步头段包括一组连续的、值为‘I’的比特位,且该组连续位的宽度大于5。
[0025]在各条数据传输通道上传输的传输命令和响应中的数据线标识段互不相同。
[0026]所述数据传输通道故障诊断命令包括传输命令类型、奇校验位、ID编号;数据传输通道故障诊断响应包括响应标识。
[0027]本发明与现有技术相比的优点在于:
[0028](I)在所述通信方法中,一次传输占用4条数据传输通道,在采用相同波特率的情况下,可将传输带宽提高4倍;
[0029](2)本发明方法支持单次传输和批量传输,可分别满足小数据量传输和大数据量传输场合的应用需要,使用灵活;
[0030](3)批量传输对传输数据使用8B/10B编码,与1553B总线相比,编码效率从50%提闻到80% ;
[0031](4)具备从5条数据传输通道中进行自动故障检测,和备份数据传输通道自动切换的能力,传输可靠性高、操作透明、智能化程度高。

【专利附图】

【附图说明】
[0032]图1为本发明专利的多点互联串行通信的系统结构图;
[0033]图2为串行通信一次传输组成;
[0034]图3为命令和响应组成结构;
[0035]图4为同步段格式;
[0036]图5为数据线标识段格式;
[0037]图6为单次读传输命令的数据传输段格式;
[0038]图7为单次读传输响应的数据传输段格式;
[0039]图8为单次写传输命令的数据传输段格式;
[0040]图9为单次写传输响应的数据传输段格式;
[0041]图10为批量读传输命令的数据传输段格式;
[0042]图11为批量读传输响应的数据传输段格式;
[0043]图12为批量写传输命令的数据传输段格式;
[0044]图13为数据传输通道故障诊断命令的数据传输段格式;
[0045]图14为主站点与从站点完成一次传输的流程。

【具体实施方式】
[0046]下面根据具体实例对本发明方法进行具体描述。
[0047]本发明专利描述的多点互联串行通信的系统结构如图1所示,该系统由一主站点和多达32个从站点组成。串行总线物理层由5条数据传输通道组成。数据传输属半双工类型,主站点和各从站点分时驱动数据传输通道。为提高数据传输通道的冗余性,5条数据传输通道中4条数据传输通道处于工作状态,另外一条数据传输通道处于备份状态,当主站点与从站点通信时检测到某条数据传输通道工作异常时,主站点自动启用备份的数据传输通道,并将存在故障的数据传输通道替换。
[0048]本串行总线链路层协议采取“命令+响应”消息机制,如图2所示。主控站点负责传输命令的发起、故障检测与重传管理功能。从站点监听数据传输通道,待检测到正确的命令数据流后发出响应来结束当前操作。
[0049]主站点可发起的传输命令包括5种,分别为单次写传输命令,单次读传输命令,批量写传输命令,批量读传输命令以及数据传输通道故障诊断命令,分别用于小批量数据传输、大批量数据传输和数据传输通道故障诊断与维护功能。5种命令及其响应均由同步头段、数据线标识段和比特位宽度可变的数据传输段三部分组成,如图3所示。
[0050]同步头段格式如图4所示,其中linel-line5表示5条数据传输通道,其由4比特连续‘0’位、7比特连续‘I’位和I比特‘0’位组成,在保证传输直流均衡特性的同时,连续‘I’位的位宽等于7,大于数据传输段中可能出现的连续为‘I’的码流宽度,可用于总从站点识别和定位同步头段,便于总线采样与码流提取。
[0051]数据传输通道标识段格式如图5所示,由20比特组成,5条数据传输通道对应的数据传输通道标识段均不同,且任意一条数据传输通道的标识段与其他数据传输通道的标识段均存在4比特的差异,可以有效避免由于数据传输通道之间串扰带来的影响。
[0052]单次读传输命令格式的数据传输段格式图6如所示,Iine_logic0_line_logic3表示处于工作状态的4条数据传输通道;采用曼彻斯特编码和奇校验两种编码方式,其中,ID [4:0]对应于本次传输访问相对应从站点的5位唯一 ID标识,可实现对32个从站点的编码管理。A[9:0]表示本次访问从站点地址空间的偏移地址,从站点的一个偏移地址存储16比特数据,因此,单次读传输的寻址能力为2K字节。P为奇校验位,该位值与数据传输段内其他偏移地址为偶数的位值的累加和为奇数。T表示重传标志位,当主站点与从站点完成一次传输操作后,该位值执行一次翻转,T用于从站点区分主站点发起的一次传输命令是否属于一次新发起的传输任务,还是属于检测到故障后发起的一次重传操作,从而可避免对从站点地址段的多次读写,这有助于串行总线应用于FIFO数据存储场合。需要说明的是,图6仅给出了 4条工作数据传输通道的码流编码组成,对于处于备份状态的数据传输通道,由于未参与本次传输,其编码在保证直流均衡的前提下可采用除曼彻斯特编码规则以外的其它任意编码方式,故不作具体要求,在后续的读/写传输命令或响应的组成格式上,存在类似的情况,不再逐一说明。
[0053]单次读传输响应的数据传输段格式如图7所示,该段的前两位均为“10”,用于从站点区分命令和响应。从站点将从其本地读取得到的16比特数据分为4组,进行曼彻斯特编码和奇编码后经检测到本次读传输命令的4条数据传输通道发送给主站点。主站点以收到的响应是否存在数据线标识段格式错误、曼彻斯特解码错误或奇校验错误作为单次读传输重传的依据。
[0054]单次写传输命令的数据传输段格式如图8所示。与单次读传输命令的格式相比,单次写传输命令编码中加入了与本次写传输相关的16比特数据。
[0055]单次写传输响应的格式如图9所示,由4比特“1010”组成。主站点以收到的响应是否存在数据线标识段格式错误、数据传输段码流是否为固定的“1010”序列来作为本次写传输重传的依据。
[0056]批量读传输命令的数据传输段格式如图10所示,与单次读传输命令的数据传输段格式相比,批量读传输命令编码加入了 8比特的传输长度信息L[7:0],串行总线传输的基本单元为16比特,从而批量读传输支持数据量在[2,512]字节范围内的数据批量传输。
[0057]图11描述了传输量为6个字节的地批量读传输响应的数据传输段格式,该段编码综合采用曼彻斯特编码、8B/10B编码和CRC-16组合编码方式。通过8B/10B编码,从站点将发送的一个字节数编码为10比特,占据图11中偏移地址段[34,43]和偏移地址段[44,53]所示。DULL表示该区域比特非本次传输的有效位,但仍应满足8B/10B编码,便于简化主站点进行8B/10B解码检错操作。CRC-16比特段,完成8B/10B段的编码,用于增强批量数据传输的检错能力。主站点以当前四条工作数据线上是否存在数据线标识段格式错误、曼彻斯特解码错误、8B/10B解码错误或CRC校验错误来作为批量读传输命令重传的依据。
[0058]批量写传输命令的数据传输段格式如图12所示,前半部与批量读传输命令格式相似,后半部与批量读传输命令的响应格式相似。批量写传输命令的响应格式与单次写传输的响应格式相同。
[0059]数据传输通道故障诊断命令的数据传输段格式如图13所示,其前四比特固定为“0011 ”,用于实现与传输命令和响应的区分,ID [4:0]对应于本次传输访问相对应从站点的5位唯一 ID标识,从站点在检测到有效数据传输通道故障诊断命令的数据传输通道上返回响应,响应格式与单次写传输的响应格式相同。主站点通过在5条数据传输通道上检测响应来判断各数据传输通道上通信是否存在故障,并作为当前命令重传时所使用的工作数据传输通道的选择依据。除由于读传输或写传输失败导致数据传输通道故障诊断命令的自动发出外,主站点可主动发出数据传输通道故障诊断命令,来获取5条传输通道的故障状况信息,用于快速故障定位与排除场合。
[0060]主站点与从站点完成一次传输的流程如图14所示。其步骤如下:
[0061]I)建立串行总线通信系统;所述串行总线通信系统包括I个主站点和N个从站点,每个从站点均分配各不相同的ID号;主站点发出传输命令,从站点检测命令并发出响应;所述串行总线通信系统中的串行总线由5条数据传输通道组成,工作时其中4条数据传输通道处于工作状态,另外一条处于备份状态;N为小于等于32的正整数;
[0062]2)将串行总线的5条数据传输通道依次顺序编号,主站点在当前处于工作状态的4条数据传输通道上发出传输命令至从站点,并等待从站点响应;所述的传输命令和响应均由同步头段、数据线标识段和数据传输段三部分组成;
[0063]3)各从站点均监听全部5条数据传输通道,通过将接收的码流与5种传输命令的格式进行比对,确定当前使用的4条数据传输通道以及传输命令种类;各从站点解析传输命令,当解析出正确格式的传输命令后,与传输命令中指定通信目标从站点ID相同的通信目标从站点完成该条传输命令的指定操作,并在检测到本次传输命令的4条数据传输通道上,将响应发送给主站点;当解析出错误的传输命令后,各从站点继续监听数据传输通道;
[0064]4)主站点在4条工作数据传输通道上检测响应,若在预设的最大响应时间内未检测到响应,或虽检测到响应,但与预设的响应格式不一致,主站点则判定本次传输失败,跳至步骤5);若主站点在允许的响应的时间内检测到格式正确的响应,跳至步骤8);
[0065]5)主站点准备将传输命令进行重新传输,判断若当前传输对应的重传次数小于预设的最大重传次数,则主站点在全部5条数据传输通道上发出数据传输通道故障诊断命令至通信目标从站点,并跳至步骤6);否则,判定当前传输的重传失败,跳至步骤8);
[0066]6)通信目标从站点对接收到的数据传输通道故障诊断命令进行格式判断,若收到格式正确的数据传输通道故障诊断命令的数据传输通道个数大于或等于2,则认定数据传输通道故障诊断命令有效,通信目标从站点在接收到正确的数据传输通道故障诊断命令码流的传输数据传输通道上发出相应的响应至主站点;若收到格式正确的数据传输通道故障诊断命令的数据传输通道个数小于2,则通信目标从站点不发送响应;
[0067]7)主站点在全部5条数据传输通道上检测响应,若未检测到响应或者检测到响应格式正确的数据传输通道条数小于4时,跳至步骤5)执行;否则,主站点从响应格式正确的数据传输通道中任选4条,作为新的4条处于工作状态的数据传输通道,用于进行下一次传输,并跳转至步骤2)对传输命令进行重传;
[0068]8)本次传输结束。
[0069]本发明说明书中未详细描述内容属本领域专业技术人员的公知技术。
【权利要求】
1.一种面向多点互联应用的串行总线冗余通信方法,其特征在于步骤如下: 1)建立串行总线通信系统;所述串行总线通信系统包括I个主站点和N个从站点,每个从站点均分配各不相同的ID号;主站点发出传输命令,从站点检测命令并发出响应;所述串行总线通信系统中的串行总线由5条数据传输通道组成,工作时其中4条数据传输通道处于工作状态,另外一条处于备份状态;N为小于等于32的正整数; 2)将串行总线的5条数据传输通道依次顺序编号,主站点在当前处于工作状态的4条数据传输通道上发出传输命令至从站点,并等待从站点响应;所述的传输命令和响应均由同步头段、数据线标识段和数据传输段三部分组成; 3)各从站点均监听全部5条数据传输通道,通过将接收的码流与5种传输命令的格式进行比对,确定当前使用的4条数据传输通道以及传输命令种类;各从站点解析传输命令,当解析出正确格式的传输命令后,与传输命令中指定通信目标从站点ID相同的通信目标从站点完成该条传输命令的指定操作,并在检测到本次传输命令的4条数据传输通道上,将响应发送给主站点;当解析出错误的传输命令后,各从站点继续监听数据传输通道; 4)主站点在4条工作数据传输通道上检测响应,若在预设的最大响应时间内未检测到响应,或虽检测到响应,但与预设的响应格式不一致,主站点则判定本次传输失败,跳至步骤5);若主站点在允许的响应的时间内检测到格式正确的响应,跳至步骤8); 5)主站点准备将传输命令进行重新传输,判断若当前传输对应的重传次数小于预设的最大重传次数,则主站点在全部5条数据传输通道上发出数据传输通道故障诊断命令至通信目标从站点,并跳至步骤6);否则,判定当前传输的重传失败,跳至步骤8); 6)通信目标从站点对接收到的数据传输通道故障诊断命令进行格式判断,若收到格式正确的数据传输通道故障诊断命令的数据传输通道个数大于或等于2,则认定数据传输通道故障诊断命令有效,通信目标从站点在接收到正确的数据传输通道故障诊断命令码流的传输数据传输通道上发出相应的响应至主站点;若收到格式正确的数据传输通道故障诊断命令的数据传输通道个数小于2,则通信目标从站点不发送响应; 7)主站点在全部5条数据传输通道上检测响应,若未检测到响应或者检测到响应格式正确的数据传输通道条数小于4时,跳至步骤5)执行;否则,主站点从响应格式正确的数据传输通道中任选4条,作为新的4条处于工作状态的数据传输通道,用于进行下一次传输,并跳转至步骤2)对传输命令进行重传; 8)本次传输结束。
2.根据权利要求1所述的一种面向多点互联应用的串行总线冗余通信方法,其特征在于:所述的传输命令包括单次写传输命令、单次读传输命令、批量写传输命令和批量读传输命令;单次写传输命令、单次读传输命令使用曼彻斯特编码和奇校验编码,批量写传输命令和批量读传输命令使用曼彻斯特编码、奇校验编码、8B/10B编码和CRC编码; 所述单次写传输命令包括传输命令类型、奇校验位、重传标志位、ID编号、传输偏移地址、传输数据; 所述单次读传输命令包括传输命令类型、奇校验位、重传标志位、ID编号、传输偏移地址; 所述批量写传输命令包括传输命令类型、奇校验位、重传标志位、ID编号、传输偏移地址、传输数据、传输数据的长度; 所述的批量读传输命令包括传输命令类型、奇校验位、重传标志位、ID编号、传输偏移地址、传输数据的长度。
3.根据权利要求2所述的一种面向多点互联应用的串行总线冗余通信方法,其特征在于: 所述单次读传输响应包括响应标识、传输数据、奇校验位; 所述单次写传输响应包括响应标识; 所述批量读传输响应包括响应标识、传输数据、CRC校验位; 所述批量写传输响应包括响应标识。
4.根据权利要求2所述的一种面向多点互联应用的串行总线冗余通信方法,其特征在于:传输单次写传输命令、单次读传输命令、批量写传输命令和批量读传输命令时,将传输命令平均分配在4条数据传输通道上传输;传输数据传输通道故障诊断命令时,传输命令在5条数据传输通道上独立传输。
5.根据权利要求1所述的一种面向多点互联应用的串行总线冗余通信方法,其特征在于:同步头段包括一组连续的、值为‘I’的比特位,且该组连续位的宽度大于5。
6.根据权利要求1所述的一种面向多点互联应用的串行总线冗余通信方法,其特征在于:在各条数据传输通道上传输的传输命令和响应中的数据线标识段互不相同。
7.根据权利要求1所述的一种面向多点互联应用的串行总线冗余通信方法,其特征在于:所述数据传输通道故障诊断命令包括传输命令类型、奇校验位、ID编号;数据传输通道故障诊断响应包括响应标识。
【文档编号】H04L12/40GK104135412SQ201410362828
【公开日】2014年11月5日 申请日期:2014年7月28日 优先权日:2014年7月28日
【发明者】张宏波, 李长森, 姜越, 郭海雷, 王苑瑾, 宗晓飞, 王超, 吴强 申请人:北京航天自动控制研究所, 中国运载火箭技术研究院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1