编码设备、编码方法、数据通信设备和数据通信方法
【专利摘要】4B5B编码器(3)将输入的4比特数据转换成5比特数据模式,其(i)允许连续“0”数据值的比特数最大为2,同时(ii)允许头端两个比特最多一个比特具有“0”数据值,允许尾端两个比特的最多一个比特具有“0”数据值。5N比特命令编码器(4)将命令转换成命令模式,其中允许连续“0”数据值中包含的比特数最多为2。由NRZI编码器(7)将转换后的数据和转换后的命令转换成NRZI码。
【专利说明】编码设备、编码方法、数据通信设备和数据通信方法
[0001]本申请为分案申请,其原申请是于2012年6月15日向中国专利局提交的专利申请,申请号为201210201494.0,发明名称为“光编码设备、编码方法、数据通信设备和数据通?目方法”。
【技术领域】
[0002]本公开涉及一种将数据和命令编码成适用于时钟提取的格式的编码设备和编码方法。
[0003]此外,本公开涉及一种传送包含数据的帧的数据通信方法和数据通信设备。
【背景技术】
[0004][专利文献 I] JP S59-2H358A
[0005][专利文献 2] JP 2001-69181Α
[0006][专利文献 3] JP 2008-257221A(US 2008/0225173)
[0007][专利文献 4] JP S61-195453A (US 5001642B1)
[0008][专利文献 5] JP H11-317675A (US 6405338B1)
[0009]首先,在从数字数据传输中的接收数据提取时钟时,在接收数据包含连续的相同值时,变得困难。可以使用曼彻斯特码克服这个问题。另一方面,曼彻斯特码需要两倍信息量的频带。提出了一种转换二进制数据的技术,通过组合4B5B转换和NRZI编码,例如用于以太网(注册商标)的100BASE-FX容易地进行时钟提取。
[0010]NRZI编码使得时钟提取更容易,因为在数据值“I”连续时,波形连续改变。相反,在数据值“O”连续时,波形不变化。于是,如何删除包含连续数据值“O”的模式是一个问题。专利文献I公开了一种方法,以将4比特数据(Ox-Fx)转换成5比特数据,该5比特数据在头部具有一个数据值“0”,在尾部具有最多两个数据值“0”,由此设置了未经历边缘的最大位长为“4”。在这里,边缘是“O”和“I”之间的变化。这种方法未充分抑制最大位长。此外,没有用于通信的命令的特殊规则性;将模式逐个分配到每个命令。能够使用的命令数量受到自然限制。
[0011]专利文献2公开了一种方法以从用于编码的目标移除命令,由此转换成头部包含最多一个数据值“0”,尾部还包含最多一个数据值“O”的5-比特数据。由此将不经历边缘的最大比特长度设置为“3”。
[0012]专利文献2的方法需要仅利用特定模式表达除数据或定界符(命令的一个类别)之外的帧,定界符表示帧的边界。于是,专利文献2的方法限制了命令码的设置。
[0013]第二,已知有一种数据通信方法,为数据帧分配标识符以标识数据帧并向通信路径发送数据帧。例如,专利文献3公开了一种技术,其中向较短的加长数据帧分配较短的加长标识符,而向较长的加长数据帧分配较长的加长标识符。
[0014]不过,在专利文献3的技术中,在较长的加长数据帧通信频率高于较短的加长数据帧通信频率时,较长的加长标识符通信频率高于较短的加长标识符通信频率。这在总体上减小了通信网络的通信效率。
[0015]第三,有一种常规上广泛知道的CAN(控制器区域网)作为LAN(局域网),其需要高可靠性(例如,参考专利文献4)。CAN确保了利用堆栈错误检测、比特错误检测、形式错误检测、确认错误检测、CRC(循环冗余校验)错误检测等时低于500kbps的比特率。
[0016]此外,近来通信系统中有一种趋势,需要改善数据通信的速度(几百Mbps或更大)和高的可靠性。CAN作为通信系统,提供数据通信速度改善所需的无冲突或时钟再现,提供充分可靠性并不那么容易,因为CAN中有特定的帧结构。
[0017]第四,已知一种数据通信,其中发送侧发送带有检错码,例如CRC的数据帧,接收侧利用检错码检测接收数据的错误,如果检测到错误,请求重新发送相关的通信帧(例如,参考专利文献5)。
[0018]这样的错误检测仅应用于数据而不应用于数据帧的报头部分,因为报头部分的比特比数据部分少,且假设其不经历任何错误检测。
【发明内容】
[0019]本公开的第一个目的是提供一种编码设备和编码方法,其灵活地设置命令码,同时防止数据值变化频率减小。
[0020]本公开的第二目的是提供一种数据通信方法和数据通信设备,在为数据帧分配标识符以识别帧并向通信路径发送时,在整体上提高了通信网络的通信效率。
[0021]本公开的第三目的是提供一种数据通信方法和数据通信设备,确保高可靠性,同时加快数据通信速度。
[0022]本公开的第四目的是提供一种数据通信方法和数据通信设备,其即使在通信帧的控制信息部分中也能够检测错误。
[0023]为了实现第一目的,根据本公开的第一范例,如下提供了一种编码设备。包括数据转换装置,将具有4比特串的4比特数据转换成具有5比特串的5比特数据模式。包括命令转换装置,将命令转换成具有5N比特串的5N比特命令模式,其中N是二或更大的自然数。包括NRZI转换装置,将5比特数据模式和5N比特命令模式转换成NRZI码,其中NRZI表示非归零/反转。在这里,数据转换装置转换成具有5比特串的5比特数据模式,其中⑴允许连续“O”数据值的比特数最大为2,同时(ii)允许头端两个比特最多一个比特具有“O”数据值,允许尾端两个比特的最多一个比特具有“O”数据值;并且命令转换装置转换成具有5N比特串的5N比特命令模式,其中允许连续“O”数据值中包含的比特数最多为两个。
[0024]在以上配置下,将命令转换成5N比特命令模式,其在5N比特(10、15、20……比特)的比特串之内包含最多两个连续的“O”数据值。于是,可以根据需要的命令分类容易地扩展转换之后的命令模式。此外,转换成NRZI码之后的比特串包含连续比特长度的比特,其数据值相同,维持在最大“3”。
[0025]为了实现第二目的,根据本公开的第二范例,提供了一种数据通信方法,用于为帧分配标识符以识别帧并向通信路径发送帧。该方法包括:为通信网络中通信频率最高的数据帧分配标识符长度最短的标识符,并向所述通信路径发送具有标识符的数据帧;以及为通信频率最高的数据帧之外的任意帧分配任意标识符长度的标识符,并向所述通信路径发送任意帧。
[0026]在以上配置下,在通信网络中的标识符中具有最短长度的标识符跟随在通信频率最高的数据帧通信之后,由此提供了标识符中最高的通信频率。这样能够防止较长加长标识符的通信频率变得高于较短加长标识符的通信频率。这在总体上改善了通信网络的通信效率。
[0027]为了实现第三目的,根据本公开的第三范例,提供了一种数据通信方法,包括:对包含数据的链路层帧进行4B5B编码;向经过4B5B编码的链路层帧添加前导码、帧开始部分和帧结束部分,产生物理层帧;对产生的物理层帧进行NRZI (非归零反转)编码;在将经过NRZI编码的物理层帧作为发送帧向通信路径发送之前,执行比特错误检测,判断发送帧中的发送数据是否正常;在从所述通信路径接收物理层帧作为接收帧时,执行编码错误检测,判断接收的物理层帧的4B5B编码是否正常;执行CRC(循环冗余校验)错误检测,判断接收的物理层帧中包括的链路层帧中的数据是否正常;执行形式错误检测,判断链路层帧的配置和内容是否正常;执行状态错误检测,判断链路层帧的比特串的次序是否正常;以及执行超时错误检测,判断在预定时间之内是否正常接收到ACK(确认)帧。
[0028]以上配置采用了握手通信方法,使用ACK帧实现无冲突;对包含数据的链路层帧进行4B5B编码;向链路层帧添加前导码、帧开始部分和帧结尾,以产生物理层帧;以及添加物理层帧的NRZI编码作为时钟再现的要求,由此提高通信速度。此外,在从通信路径接收到接收帧时,以上配置在向通信路径发送发送帧时执行比特错误检测,并执行编码错误检测、CRC错误检测、形式错误检测、状态错误检测和超时错误检测。由此,确保了高可靠性。
[0029]为了实现第四目的,根据本公开的第四范例,如下提供了一种在发送侧和接收侧之间传送通信帧的数据通信方法。所述通信帧包含(i)包含控制码的控制信息部分,(ii)包含发送数据的数据部分,以及(iii)包含检错码的错误检测部分。所述数据通信方法包括:所述发送侧发送错误检测部分,其包含用于检测控制信息部分中的错误的控制使用检错码;以及接收侧基于控制使用检错码执行控制信息部分的错误检测。
[0030]因此,接收侧能够检测控制信息部分中是否还发生了错误。
【专利附图】
【附图说明】
[0031]从参考附图做出的以下详细描述,本公开的以上和其他目的、特征和优点将变得更加明显。在附图中:
[0032]图1A是示出了根据第一实施例的范例I将4比特数据转换成5比特数据模式的表格的图不;
[0033]图1B是示出了根据第一实施例范例I用于表达命令的数据值表格的图示;
[0034]图1C是示出了根据第一实施例范例I的头端两个比特和尾端两个比特的图示;
[0035]图2是示出了根据第一实施例范例I使用NRZI码发送的波形的图示;
[0036]图3是功能框图,示出了根据第一实施例范例I的编码设备的配置;
[0037]图4是功能框图,示出了根据第一实施例范例I的解码设备配置;
[0038]图5是示出了根据第一实施例范例2用于表达命令的数据值表格的图示;
[0039]图6是功能框图,示出了根据第一实施例范例3的编码设备的配置;
[0040]图7是功能框图,不出了根据第一实施例范例4的编码设备的配置;
[0041]图8是示出了根据本公开第二实施例的数据通信设备配置的功能框图;
[0042]图9是示出了根据第二实施例的每个帧的帧结构的图示;
[0043]图10是示出了根据第二实施例每个帧的通信频率、标识符长度和标识符的图示;
[0044]图11是示出了根据本公开第三实施例的数据通信设备配置的功能框图;图12是示出了根据第三实施例的链路层帧和物理层帧的帧结构图示;
[0045]图13是示出了根据第三实施例的功能层次结构的图示;
[0046]图14是示出了根据第三实施例与开放系统互连参考模型比照的图示;
[0047]图15是示出了根据第三实施例的数据发送中错误检测过程的流程图;
[0048]图16是示出了根据第三实施例的数据接收中错误检测过程的流程图;
[0049]图17是示出了根据第三实施例的错误分类和检测节点的图示;
[0050]图18是示出了根据本公开第四实施例范例I的数据通信设备配置的功能框图;
[0051]图19是示出了根据第四实施例范例I的每个帧的帧结构的图示;
[0052]图20是不出了根据第四实施例范例I每个帧的通信频率、标识符长度和标识符的图示;
[0053]图21是示出了根据第四实施例范例I关于12比特ID突发帧产生CRC码的图示;
[0054]图22是示出了根据第四实施例范例I的数据接收中错误检测过程的流程图;
[0055]图23是示出了根据第四实施例范例I请求重新发送关于12比特ID突发帧一部分数据的过程图示;
[0056]图24是示出了根据第四实施例范例I发送和接收期间处理序列的图示;
[0057]图25是示出了根据第四实施例范例2改变CRC码比特数的图示;
[0058]图26是示出了根据第四实施例范例I发送和接收期间处理序列的图示;以及
[0059]图27是示出了根据本公开第四实施例范例2的数据通信设备配置的功能框图。
【具体实施方式】
[0060][第一实施例]
[0061](范例I)
[0062]将参考图1A到4解释根据本公开第一实施例的范例I。图3是功能框图,示出了编码设备的配置,该编码设备对发送数据进行编码并将编码的发送数据作为串行数据发送。在这里,编码设备I的FIFO 2(先进先出,数据/命令识别装置或模块)2接收从传输控制电路(未示出)输出的发送信号(即数据或命令);将经过FIFO 2的信号输入到4B5B编码器3 (数据转换装置或模块)和5N比特命令编码器4 (命令转换装置或模块)。
[0063]输入到FIFO 2中的数据和命令是九(9)比特;九个比特在头部包含识别比特,利用一个比特“O”表示数据,利用一个比特“I”表示命令。在FIFO 2中去除标识比特;由此,向4B5B编码器3和5N比特命令编码器4输出8比特串。亦即,向编码器3、4中输入数据和命令,无需指出是数据还是命令。
[0064]4B5B编码器3将输入的8比特数据转换成与8比特数据的高位对应的4比特数据和与8比特数据的低位对应的4比特数据,并根据图1A中所示的表格将每个4比特数据转换成5比特数据或数据模式。此外,5N比特命令编码器4转换8比特命令,以便利用10个比特(N = 2,5N = 10)表达。这种转换使用4B5B编码器3转换之后的以上5比特数据模式中的(i)尾部数据值为“I”的(xxxxl)数据模式和(ii)头部数据值为“I”的(lxxxx)数据模式;由此,将(xxxxl)数据模式和(ii) (Ixxxx)数据模式与七种表达单个命令的命令模式⑴到⑵之一组合。
[0065]4B5B编码器3转换后的数据和5N比特命令编码器4转换后的命令经由选择器5 (选择装置或模块)提供到串行器6以进行并行/串行转换。由NRZI编码器7(NRZI信号转换装置或模块)将转换后的串行数据转换成NRZI码并从发送终端发送。要指出的是,FIFO 2判断被处理的比特串是根据识别比特的值的数据或命令,并向选择器5输出数据/命令识别信号(选择开关信号)。
[0066]图4是功能框图,示出了解码设备11的配置,其经由编码设备I接收数据和命令并对数据和命令解码。向时钟再现部分12和NRZI解码器13输入接收信号。时钟再现部分12从接收的NRZI码的比特串提取时钟分量,并向每个功能部分供应再现的时钟信号。NRZI解码器13将接收到的NRZI编码转换(解码)成5比特或5N比特的数据和命令并将它们输出到5N比特命令解码器14。
[0067]图2中示出了本实施例中传输数据的帧。传输数据包含⑴前导码,即开始时用于同步的命令,(?)用于检测帧头的命令SFD(帧定界符的开始),(iii)数据或命令,以及(iv)用于最终检测帧尾部或结束的命令EFD (帧定界符结束)。5N比特命令解码器14检测(即解码)命令SFD。在检测到命令SFD时,5N比特命令解码器14向解串行器15输出后续的接收数据或命令。
[0068]解串行器15向所接收的比特串的每5个比特应用串行/并行转换并向4B5B解码器16和5N比特命令解码器17输出它们。4B5B解码器16向接收的5比特数据或数据模式应用逆转换以根据图1A所示的表格产生4比特数据。此外,与高位对应的4比特数据和与低位对应的4比特数据被组合成8比特数据。此外,5N比特命令解码器17向5N比特命令应用逆转换以产生8比特命令模式。
[0069]4B5B解码器16逆转换之后的8比特数据和5N比特命令解码器17逆转换之后的命令经由选择器18被输出到FIFO 19。5N比特命令解码器17逆转换之后的命令被给予控制电路20。控制电路20判断本处理之下的比特串是数据还是命令,并基于判断结果向选择器18输出开关控制信号。
[0070]下文将参考图1A、1B、1C分别解释4B5B编码器3和5N比特命令编码器4转换后的数据和命令的模式。图1C是示出了 5比特串头端两个比特和尾端两个比特的图示。首先,为从4比特数据转换后的5比特数据或数据模式提供以下关于数据值“O”(也称为“O”数据值)的布置。
[0071](I)在MSB侧或LSB侧(即,头端两个比特或尾端两个比特)布置具有“O”数据值的最多一个比特。
[0072](2)在5比特数据的整个比特串中布置最多两个具有“O”数据值的连续比特。在同时满足两个条件时,即使串行组合任何两个5比特数据模式,具有连续“O”数据值的比特数限于最多两个。
[0073]此外,与以上5比特数据不同的是,利用根据如下条件选择的命令模式⑴到(7)表示命令:连续“O”数据值中包括的比特数最多为两个。此外,参考图1B,通过将以上5比特数据模式中的尾比特为“I”的十个(xxxxl)数据模式或头比特为“I”的(lxxxx)十个数据与命令模式(I)到(7)组合,将命令表达为10比特数据(N =2)。例如,为前一半5个比特分配(xxxxl)数据模式和命令模式(I),实现十一个类别;为后一半5个比特分配命令模式⑵到(4),实现3个类别。于是,可以分配命令的11X3 = 33个类别。
[0074]此外,为前一半5个比特分配命令模式(5)到(7),实现3个类别;为后一半5个比特分配(lxxxx)数据模式和命令模式(I)到(4),实现十一个类别。于是,类似地,可以分配命令的11X3 = 33个类别。于是,可以分配总共66个命令类别。(因此,提供了转换之前8比特命令的共66个命令类别。)允许命令模式⑵到(7)在MSB侧或LSB侧(即头端两个比特或尾端两个比特)具有最多两个连续的“O”数据值;将命令模式(2)到(7)与命令模式(1)、(xxxxl)数据模式或(lxxxx)数据模式组合。结果,在组合这些时,连续的“O”数据值限于最多2个比特。
[0075]此外,如图2中所示,前导码包含所有数据值都是“I”的10个比特(S卩,命令模式(1)/(1));命令SFD包含“1111100110” (即,命令模式(1)/(2));而命令EFD包含“1111100101”(即命令模式(1)/(3)) ο在这里,考虑串行组合前导码和命令SFD的连续20个比特。即使在从20比特的比特串中选择了除命令SFD的连续比特之外的任何连续10个比特,所选的任意连续10个比特也没有与命令SFD相同的比特模式。此外,参见图2中编码为NRZI的数据波形。前导码的最后比特波形(即符号)“I”与命令SFD的最后比特波形“O”不同(即,倒数)(参见图2中的两个圆圈中的部分)。由此,接收侧能够确定地在前导码和命令SFD之间进行区分。
[0076]根据本实施例,4B5B编码器3将输入的4比特数据转换成5比特数据模式,其在头端两个比特处包含最多一个比特的数据值“0”,在尾端两个比特处包含最多一个比特的数据值“0”,在整个5比特数据模式中包含最多两个连续比特的数据值“O”。换言之,两个连续的“O”不出现在5比特数据之内头端两个比特和尾端两个比特中。5N比特命令编码器4将命令转换成命令模式,其在5N比特的比特串之内包含最多两个连续的数据值“O”。此夕卜,以上转换之后的数据和命令被NRZI编码器7转换成NRZI码。亦即,将该命令转换成在5N比特的比特串之内包含最多两个连续数据值“O”的命令模式;于是,可以根据所需的命令分类容易地扩展转换后的命令模式。此外,转换成NRZI码之后的比特串包含连续比特长度的比特,其数据值相同,维持在最大“ 3 ”。
[0077]此外,4B5B编码器3如下执行转换。(i)用于通信同步的前导码使用串行布置的命令和帧开始命令SFD ; (ii)除了命令SFD自身之外,串行组合两个命令的比特串或模式不包含与命令SFD相同的命令模式,(iii)NRZI编码器7转换之后的命令SFD的最后比特的符号与串行组合两个命令的比特串或模式中前导码的最后比特符号不同(即,倒数)。具体而言,在设置N = 2时,将前导码的模式转换成“1111111111”;将命令SFD的模式转换成“1111100110”。因此,接收侧能够在前导码的终结终点和命令SFD的终结终点清晰地区分;可以防止错误决策。此外,为转换之前的每个数据和命令分配标识比特,用于标识数据或命令。FIFO 2参考标识比特,由此向选择器5输出选择开关信号。有选择地输出转换之后的数据和转换之后的命令。因此,以预定次序提供的数据和命令可以通过适当次序被转换和输出。
[0078](范例2)
[0079]图5示出了第一实施例的范例2。与范例I相同的装置等被分配相同的附图标记。主要针对不同部分进行解释,对相同装置等省略解释。范例2的配置基本与范例I相同,但在5N比特命令编码器4的编码过程和编码设备I的5N比特命令解码器17的解码过程中与范例I不同。图5是对应于图1A或IB的图。范例I在将命令转换成5N比特时使用5比特数据模式的一些。相反,范例2通过组合范例I中的命令模式(1)-(7)而无需使用5比特数据模式来表达命令。不过,对于N = 2的情况,范例2可能仅提供七个命令类别。
[0080]如图1B所示,通过以下模式的组合表达命令N0.1到7。命令N0.1在前半段5比特包含命令模式(I),在后半段5比特包含命令模式(I)。命令N0.2在前半段5比特包含命令模式(I),在后半段5比特包含命令模式(2)。命令N0.3在前半段5比特包含命令模式(I),在后半段5比特包含命令模式(3)。命令N0.4在前半段5比特包含命令模式(I),在后半段5比特包含命令模式(4)。命令N0.5在前半段5比特包含命令模式(5),在后半段5比特包含命令模式(I)。命令N0.6在前半段5比特包含命令模式¢),在后半段5比特包含命令模式(I)。命令N0.7在前半段5比特包含命令模式(7),在后半段5比特包含命令模式(I)。在这里,命令N0.1到3分别对应于前导码、SFD和EFD ;于是,可以允许将其他四个命令N0.4到7用于前导码、SFD和EFD之外的命令。
[0081]此外,4B5B编码器3进行转换以免使5N比特命令模式中的每个5比特串与5比特数据模式交叠。接收转换后数据和命令的接收侧于是能够在接收第一个5比特时在数据和命令之间进行区分。
[0082](范例3)
[0083]图6不出了根据范例3的编码设备21的配置。仅解释与范例I的不同部分。范例3的编码设备21利用与FIFO 2稍微不同的FIFO 22替代FIFO 2。不为FIFO 22提供任何命令,仅为其提供8比特数据(因此,不需要任何识别比特)。FIFO 22向控制电路23 (也称为命令转换装置或模块)发送EMPTY信号(数据检测信号)。在不输入数据时,FIFO 22使EMPTY信号激活,在输入任何数据时,使EMPTY信号不激活(NO EMPTY)。于是,可以将FIFO22称为数据检测装置或模块。
[0084]此外,利用命令输出部分24 (也称为命令转换装置或模块)替换5N比特命令编码器4。假设范例3仅使用前导码、SFD和EFD三个命令。像范例1、2那样,事先将这三个命令转换成10比特命令模式,并基于控制电路23提供的信号时间点,按照前导码、SFD和EFD的次序输出到选择器5。
[0085]控制电路23根据EMPTY信号的变化向选择器5和命令输出部分24输出数据/命令识别信号。在EMPTY信号从激活变为不激活时,控制电路23在触发时间将选择器5切换到命令输出部分24 —侧。命令输出部分24串行输出前导码和SFD。在从选择器5被切换到命令输出部分24 —侧过去发送20比特所需的时间之后,控制电路23将选择器5切换到4B5B编码器3—侧,并令选择器5输出5比特数据。在过去发送通信格式中预定字节所需的时间之后,再次将选择器5切换到命令输出部分24 —侧。此时,命令输出部分24输出命令 EFD0
[0086]根据范例3,命令输出部分24基于EMPTY信号变化的时间点以预定次序输出事先经过转换的5N比特命令模式。选择器5基于EMPTY信号的变化,有选择地输出⑴转换后的数据和(ii)转换后的命令。亦即,在数据通信的传输帧之内命令和数据的次序是预定的;于是,仅需要根据数据传输状态在适当时间点将命令作为5比特命令模式输出。然后,选择器5基于EMPTY信号的变化,有选择地输出(i)转换后的数据和(ii)转换后的命令;由此,可以根据预定格式输出转换结果。因此,不需要实时地转换命令。
[0087](范例4)
[0088]图7示出了根据范例4的编码设备31的配置。仅针对与第一实施例范例I不同的部分进行范例4的解释。范例4的编码设备31未使用任何识别比特;为FIFO 32提供8比特数据的数据和命令。FIFO 32没有数据/命令识别功能,这与范例I的FIFO 2不同;FIFO 32包括一般FIFO。在范例4中,传输控制部分(未示出)向选择器5输出数据/命令识别信号。亦即,传输控制部分能够识别(i)传输控制部分自身输出数据和命令的时间点,以及(ii)编码设备31执行转换过程的时间点,由此基于识别结果输出数据/命令识别信号。范例4能够简化编码设备31的配置。
[0089]本公开不仅限于上述或图示实施例,可以如下进行修改或扩展。数据的编码和命令的编码的任一个都可以比另一个进行得早。不需要分别将前导码和命令SFD转换成“1111111111”和“1111100110”。亦即,对串行组合两个命令的模式最低要求如下:在如下条件下进行转换(i)不包含与命令SFD相同的另一命令模式,以及条件(ii)转换成NRZI码之后的前导码最后比特的符号与转换成NRZI码之后的命令SFD的最后比特的符号不同。此外,在接收侧进行区分没有麻烦时,可以从要求中去除以上两个条件(i)和(ii)之一或两者。
[0090]此外,当然,第一实施例可以应用于既不使用用于通信同步的命令也不使用帧开始命令的数据传输系统。可以用NO-EMPTY信号替换范例3的EMPTY信号,在向FIFO 32中写入数据时,将NO-EMPTY信号切换成激活。根据必要命令类别的数量,可以将命令模式的命令扩展到N彡3。
[0091][第二实施例]
[0092]图8是示出了根据本公开第二实施例的数据通信设备配置的功能框图。数据通信设备101包括控制数据发送系统的发送控制器102和控制数据接收系统的接收控制器103。
[0093]发送控制器102包括Huffman编码部分104、选择器105 (也称为标识符分配装置或模块)、CRC(循环冗余校验)计算部分106、串行器107和驱动器108(也称为发送装置或模块)。Huffman编码部分4向选择器105输出包含Huffman编码的标识符。选择器105接收以下比特串:表示标识符的比特串,表示指出数据写或数据读的远程的比特串,表示指出数据长度的尺寸的比特串,表示要访问的地址空间的比特串,表示数据的比特串以及表示从CRC计算部分106输出的CRC的比特串。选择器105组装接收的比特串,由此产生包括数据帧、突发帧、ACK(确认)帧和命令帧的帧。向串行器107输出产生的帧。
[0094]串行器107以8比特为单元接收比特串中的帧并向接收的帧应用并行/串行转换,并向驱动器108输出经过并行/串行转换的帧。在从串行器107接收经过并行/串行转换的帧时,驱动器108向通信路径发送接收的帧。
[0095]接收控制器104包括接收机109、解串行器110、选择器111、CRC计算部分112和Huffman解码部分113。在从通信路径接收帧时,接收机109向解串行器110输出接收的帧。在从接收机109接收帧时,解串行器110向接收的帧应用串行/并行转换,并向选择器111和CRC计算部分112输出经过串行/并行转换的帧。在从解串行器110以8比特为单元接收经过串行/并行转换的比特串时,选择器111从接收的8比特单元比特串提取表示标识符的比特串、表示远程的比特串、表示尺寸的比特串、表示ID(身份)的比特串和表示数据的比特串。在从解串行器110接收经过串行/并行转换的8比特比特串时,CRC计算部分112使用计算方程对接收的8比特单元比特串执行错误判断,并输出错误判断的结果。
[0096]数据通信设备101如下判断标识符长度,即分配给每个帧的标识符比特数。下文将参考图9和图10解释确定分配给每个帧的标识符比特数的流程。此外,基于如下前提在下文中进行解释:(i)具有通信网络中最高通信频率(使用频率)的帧是具有预定数量比特数的ID长度的数据帧,(ii)具有第二高通信频率的帧是ACK帧;以及(iii)具有第三高通信频率的帧是命令帧。要指出的是,假设数据通信设备101用于诸如车上安装的车载通信网络(即车载LAN(局域网))的通信系统中。这样的车载通信网络具有严重的噪声环境;于是,频繁发生通信故障。结果,ACK帧的通信频率应当是第二高的。
[0097]第一,确定了在通信网络中通信频率最高的数据帧。详细地,Na定义为连接到通信路径的节点(码片)数;Nb定义为节点需要的地址空间;N、N1、N2是系数。获得NI以满足Na<2Nl。获得N2以满足Nb = 2N2。获得N为N1+N2。在根据本实施例的通信系统中,假设Na彡8。于是可以获得Nl = 3。在假设N2 = 9,获得N = 12。于是,判断ID长度为N比特(即12比特)的数据帧是通信网络中通信频率最高的数据帧。
[0098]接下来,在上文确定的ID长度为12比特的数据帧中,指定远程比特的比特数(远程长度)、尺寸比特的比特数(尺寸长度)、ID比特(ID长度)的比特数。确定标识符比特的比特数(标识符长度),使得标识符长度、远程长度、尺寸长度和ID长度的总和比特是8的倍数(8N,即8比特、16比特、24比特、32比特……)。亦即,如图9中所示,ID长度为12的数据帧具有I比特的远程长度、2比特的尺寸长度和12比特的ID长度。确定标识符比特的比特数(标识符长度)为I比特,使得标识符长度、远程长度、尺寸长度和ID长度的总和比特是8的最近倍数(即16比特)。详细地讲,如图10中所示,确定分配给ID长度为12的数据帧的标识符为“O”。
[0099]接下来,确定标识符的比特数,以分配给与ID长度为12比特的数据帧相邻的通信频率第二高的ACK帧。ACK指出对请求的响应。亦即,如图9所示,ACK帧的ACK长度为5比特,CRC长度为16比特。确定标识符比特的比特数(标识符长度)为3比特,使得ACK长度、CRC长度和标识符长度的总和比特是8的最近倍数(即24比特)。详细地讲,如图10中所示,确定分配给ACK帧的标识符为“ 100”。
[0100]接下来,确定标识符的比特数,以分配给与ID长度为12比特的数据帧和ACK帧相邻的通信频率第三高的命令帧。命令指出控制信息。亦即,如图9所示,命令帧包含5比特的命令长度和16比特的CRC长度。确定标识符比特的比特数(标识符长度)为3比特,使得命令长度、CRC长度和标识符长度的总和比特是8的最近倍数(即24比特)。详细地讲,如图10中所示,确定分配给命令帧的标识符为“101”。
[0101]此外,在通信系统的将来扩展中,例如增大地址空间或更长数据长度数据通信时,可能需要本系统不必要的扩展用途数据帧。数据通信设备101如下判断标识符长度,即分配给扩展使用数据帧的标识符比特的比特数。下文的前提如下:扩展使用数据帧包括ID长度为4比特的数据帧、ID长度为16比特的数据帧、ID长度为24比特的数据帧以及ID长度为32比特的数据帧。
[0102]如图9中所示,ID长度为4比特的扩展使用数据帧具有I比特的远程长度、O比特的尺寸长度和4比特的ID长度。确定标识符比特的比特数(标识符长度)为3比特,使得标识符长度、远程长度、尺寸长度和ID长度的总和比特是8的最近倍数(即8比特)。详细地讲,如图10中所示,确定分配给ID长度为4比特的扩展使用数据帧的标识符为“110”。
[0103]如图9中所示,ID长度为16比特的数据帧具有I比特的远程长度、2比特的尺寸长度和16比特的ID长度。确定标识符比特的比特数(标识符长度)为5比特,使得标识符长度、远程长度、尺寸长度和ID长度的总和比特是8的最近倍数(即24比特)。详细地讲,如图10中所示,确定分配给ID长度为16比特的扩展使用数据帧的标识符为“11100”。
[0104]如图9中所示,ID长度为24比特的数据帧具有I比特的远程长度、2比特的尺寸长度和24比特的ID长度。确定标识符比特的比特数(标识符长度)为5比特,使得标识符长度、远程长度、尺寸长度和ID长度的总和比特是8的最近倍数(即32比特)。详细地讲,如图10中所示,确定分配给ID长度为24比特的扩展使用数据帧的标识符为“11101”。
[0105]如图9中所示,ID长度为32比特的数据帧具有I比特的远程长度、2比特的尺寸长度和32比特的ID长度。确定标识符比特的比特数(标识符长度)为5比特,使得标识符长度、远程长度、尺寸长度和ID长度的总和比特是8的最近倍数(即40比特)。详细地讲,如图10中所示,确定分配给ID长度为32比特的扩展使用数据帧的标识符为“11110”。
[0106]此外,突发帧包含几个数据(即几个数据元)和几个CRC。任意确定突发帧的标识符比特数,与上述数据帧不同,其中确定标识符比特的比特数(标识符长度),使得标识符长度、远程长度、尺寸长度和ID长度的总和比特是8的最近倍数。亦即,如图9中所示,尽管ID长度为12的突发帧具有I比特的远程长度、2比特的尺寸长度和12比特的ID长度,但标识符的比特数被确定为7比特。详细地讲,如图10中所示,确定分配给ID长度为12比特的突发帧的标识符为“ 1111100 ”。
[0107]此外,如图9中所示,尽管ID长度为32的突发帧具有I比特的远程长度、2比特的尺寸长度和32比特的ID长度,但标识符的比特数被确定为例如7比特。详细地讲,如图10中所示,确定分配给ID长度为32比特的突发帧的标识符为“1111101”。
[0108]在上述配置中,为通信频率最高的ID长度为12比特的数据帧分配标识符长度最短(I比特)的标识符。为通信频率第二高的ACK帧和通信频率第三高的命令帧分配标识符长度第二短(3比特)的标识符。为扩展使用数据帧和突发帧分配(i)标识符长度第二短的标识符,(ii)标识符长度第三短的标识符(5比特)和(iii)标识符长度第四短的标识符(7比特)之一。
[0109]此外,相对于突发帧,任意确定标识符的比特数。不过,就此而言,像上述数据帧那样,即使对于突发帧而言,也可以确定标识符比特数(标识符长度),使得标识符长度、远程长度、尺寸长度和ID长度的总和比特是8的最近倍数。可以为ID长度为32比特的突发帧和ID长度为12比特的突发帧的每个分配比特数为5个比特的标识符。
[0110]如上所述,本实施例提供了如下配置。在通信网络中通信频率最高的数据帧是ID长度为12比特的数据帧时,为ID长度为12比特的数据帧分配最短标识符长度I比特的标识符,并发送到通信路径。相反,为ID长度为12比特的数据帧之外的任意帧分配标识符长度任意长的标识符并发送到通信路径。因此,通信网络中的标识符中长度最短的I比特标识符跟随着通信网络中ID长度为12比特的数据帧通信;于是,I比特标识符提供了标识符中最高的通信频率。亦即,这种配置能够防止较长加长标识符的通信频率高于较短加长标识符的通信频率。这在总体上改善了通信网络的通信效率。
[0111]此外,Na定义为连接到通信路径的节点的节点数。Nb定义为节点需要的地址空间。N、N1、N2是系数。获得NI以满足Na彡2N1。获得N2以满足Nb = 2N2。获得N为N1+N2。确定ID长度为N比特的数据帧是通信频率最高的数据帧。于是,基于与通信路径连接的节点的节点数目和所需的地址空间确定分配有标识符长度最短的标识符的目标的数据帧。
[0112]此外,为ACK帧分配标识符长度第二短,即3比特的标识符并发送到通信路径。在诸如握手通信方法的通信系统中,这在总体上改善了通信网络的通信效率,其中充当数据帧回复的ACK帧的通信频率是与数据帧相邻的第二高。
[0113]此外,还为命令帧分配标识符长度第二短,即3比特的标识符并发送到通信路径。在通信系统中,这在总体上改善了通信网络的通信效率,其中用于交换控制信号(命令)的命令帧的通信频率是与数据帧和ACK帧相邻的第三高。
[0114]此外,按照帧长的升序,为ID长度为4比特、16比特、24比特和32比特的扩展使用数据帧分配标识符长度第二短,即3比特的标识符、标识符长度第三短,即5比特的标识符以及标识符第四短7比特的标识符,并发送到通信路径。此外,将扩展使用数据帧用作本系统中不必要但在将来系统中增加的地址空间的手段,以及传送数据长度较长的数据手段。按照次序向较短的扩展使用数据帧分配标识符长度较短的标识符。此外,假设扩展使用数据帧的需求逐渐增加(逐步)。按次序向较短数据帧分配较短标识符长度的标识符能够事先防止标准用尽。
[0115]本公开不仅限于上述实施例,可以如下进行修改或扩展。可以将以上实施例应用于通信系统,其中通信频率最高的帧是12比特长度的数据帧之外的ID长度的数据帧。此夕卜,可以将以上实施例应用于通信系统,其中通信频率第二高的帧是命令帧而非ACK帧。
[0116][第三实施例]
[0117]图11是示出了根据本公开第三实施例的数据通信设备配置的功能框图。作为发送系统的功能块,数据通信设备201包括发送LLF(链路层帧)编码器202、FIFO(先进先出)203.4B5B编码器204、5N比特命令编码器205、控制电路206、选择器207、串行器208和NRZI编码器209。
[0118]在从发送和接收序列发生器210 (也称为状态错误检测装置或模块或超时错误检测装置或模块)接收发送数据时,发送LLF编码器202产生链路层帧(LLF),包含(i)用于识别(指定)帧的标识符,(?)表示写或读数据的远程;(iii)表示数据长度的尺寸;(iv)表示要访问的地址空间的ID ; (V)数据(发送数据);以及(vi) CRC,然后通过FIFO 203向4B5B编码器204和5N比特命令编码器205输出链路层帧。
[0119]在从发送LLF编码器202经由FIFO 203接收8比特串中的链路层帧时,4B5B编码器204根据4B5B编码表(未示出)将8比特串中包括的高位4比特串和低位4比特串转换成5比特串,并产生10比特串,向选择器207输出产生的10比特串。在这种情况下,4B5B编码器204将4比特串转换成5比特串,使得连续的“O”数据值小于连续的三个比特。
[0120]在从LLF编码器202经由FIFO 203接收链路层帧时,5N比特命令编码器205产生前导码,即用于同步的比特串,用于检测链路层帧头端的SFD (开始帧定界符)(帧开始部分)和用于检测链路层帧的尾端的EFD (结束帧定界符)(帧末端部分),并向控制电路206和选择器207输出产生的这些。
[0121]在从4B5B编码器204接收10比特串并从5N比特命令编码器205接收前导码、SFD和EFD时,选择器207根据从控制电路206输入的控制指令将前导码、SFD和EFD增加到10比特串来产生物理层帧(PLF),并向串行器208和位错误检测部分(数据比较部分)211(也称为位错误检测装置或模块)输出。
[0122]在从选择器207接收物理层帧时,串行器208向物理层帧应用并行/串行转换,并向NRZI编码器209输出经过并行/串行转换的物理层帧。在从串行器208接收经过并行/串行转换的物理层帧时,NRZI编码器209将物理层帧编码成NRZI码,并经由发送终端将其发送到通信路径作为发送帧。
[0123]相反,作为接收系统的功能块,数据通信设备201包括时钟再现部分212、NRZI解码器213、SFD(开始帧定界符)检测部分214、解串行器215、4B5B解码器216 (也称为编码错误检测装置或模块)、选择器217、控制电路218、FIFO 219和接收LLF解码器220 (也称为形式错误检测装置或模块、CRC错误检测装置或模块和代码错误检测装置或模块)。
[0124]时钟再现部分212从从通信路径接收的作为接收帧的NRZI码的物理层帧提取时钟分量,并再现时钟信号,向每个功能块供应再现的时钟信号。NRZI解码器213对从通信路径接收的作为接收帧的NRZI码的物理层帧解码,并向SFD检测部分214输出解码后的结果O
[0125]在从NRZI解码器213接收物理层帧时,SFD检测部分214检测物理层帧中包含的SFD以检测链路层帧的头端,并向解串行器215输出链路层帧。在从SFD检测部分214接收链路层帧时,解串行器215向链路层帧的比特串应用串行/并行转换,并将其输出到4B5B解码器216和比特错误检测部分211。4B5B解码器216根据4B5B编码表(未示出)向在解串行器215中经过串行/并行转换成为8比特串的链路层帧的10比特串应用逆转换,并将其输出到选择器217和控制电路218。
[0126]在从4B5B解码器16接收链路层帧的8比特串时,选择器207根据来自控制电路218的控制指令经由FIFO 219向接收LLF解码器220输出接收到的8比特串。在从选择器217经由FIFO 219接收链路层帧的8比特串时,接收LLF解码器220向发送和接收序列发生器210输出链路层帧的8比特串。
[0127]上述链路层帧和物理层帧的帧结构具有图12中所示相关关系。此外,如图13中所示,数据通信设备201将功能分成层次结构,包含物理层、链路层和API (应用程序接口)层。可以将物理层分成控制发送(TX)的功能部分和控制接收(RX)的功能部分。将本实施例中的物理层、链路层和API层如下与国际标准化组织(ISO)制订的OSI (开放系统互连)参考模型比较。如图14所示,物理层对应于OSI参考模型的第一层(物理层);链路层对应于OSI参考模型的第二层(数据链路层)和第三层(网络层);API层对应于OSI参考模型的第四层(传输层)、第五层(会话层)和第六层(表示层)。在数据通信设备201的链路层之间逻辑地传送链路层帧,而在数据通信设备201的物理层之间物理地传送物理层帧。
[0128]现在,上述数据通信设备201具有下文要解释的错误检测功能,并在数据发送时执行错误检测过程,在数据接收时执行错误检测过程。下文将按次序解释数据发送时的错误检测过程和数据接收时的错误检测过程。
[0129]要进一步指出的是,本申请中的流程图或流程图处理包括多个段落(也称为步骤),例如将每个步骤表示为Si。此外,可以将每个部分分成几个子部分,同时可以将几个部分组合成单个部分。此外,这样配置的每个部分可以称为装置、模块或单元。
[0130](I)数据发送时的错误检测过程
[0131]数据通信设备201在图15中所示的数据发送时执行错误检测。亦即,数据通信设备201执行比特错误检测,利用比特错误检测部分211判断发送数据是否正常(SI)。数据通信设备201比较从选择器207输入错误检测部分211中的物理层帧中包含的数据和解串行器215输入到比特错误检测部分211中的链路层帧中包含的数据。在检测与发送数据不同的数据或检测不到发送数据时,判定发送数据不正常(SI处“否”)。检测到发生比特错误(S2)。于是,数据通信设备201在数据发送时执行比特错误检测。
[0132](2)数据接收时的错误检测过程
[0133]数据通信设备201在图16中所示的数据接收时执行错误检测。亦即,数据通信设备201执行编码错误检测,利用4B5B解码器216判断4B5B编码是否正常(S11)。数据通信设备201根据4B5B编码表确定从解串行器215输入4B5B解码器216中的链路层帧10比特串逆转换产生的8比特串。在检测到4B5B编码表中例示的比特串之外的比特串(未定义的比特串)时,判定4B5B编码不正常(S11,“否”)。于是检测到发生了编码错误(S12)。
[0134]接下来,数据通信设备201执行CRC (循环冗余校验)错误检测,利用接收LLF解码器220判断链路层帧中包含的数据是否正常(S13)。数据通信设备201向利用接收LLF解码器220从选择器217经FIFO 219输入接收LLF解码器220的链路层帧的8比特串应用利用CRC计算方程的计算。在利用CRC计算方程计算时检测到错误时,判定链路层帧中包含的数据不正常(S13,“否”)。于是检测到发生了 CRC错误(S14)。
[0135]接下来,数据通信设备201执行形式错误检测,利用接收LLF解码器220判断链路层帧的配置和内容是否正常(S15)。数据通信设备201确定从选择器217经FIFO 19输入接收LLF解码器220中的链路层帧的8比特串。在检测到与接收报头的条件不同的链路层帧接收时,判定链路层帧的配置和内容不正常(S15的“否”)。于是检测到发生了形式错误(S16)。
[0136]接下来,数据通信设备201执行状态错误检测,利用发送和接收序列发生器210判断链路层帧的比特串的次序是否正常(S17)。在检测到与正常序列不同的链路层帧接收时,数据通信设备201判定链路层帧的比特串的次序不正常(S17的“否”)。于是检测到发生了状态错误(S18)。
[0137]最后,数据通信设备201执行超时错误检测,利用发送和接收序列发生器210判断是否在预定时间之内正常接收到ACK帧(S19)。数据通信设备201发送数据帧、突发帧或命令帧作为发送帧,并判断是否从发送发送帧时预定时间之内接收到对发送帧的响应(ACK帧)。在判定预定时间之内未接收到响应时,判定在预定时间之内未正常接收到ACK帧(S19,“否”)。于是检测到发生了超时错误(S20)。于是,数据通信设备201在数据接收时一个接一个地执行编码错误检测、CRC错误检测、形式错误检测、状态错误检测和超时错误检测。
[0138]图17示出了上述错误的分类和检测节点(发送节点或接收节点)。要指出的是,发送节点是发送发送帧的数据通信设备201,接收节点是接收接收帧的数据通信设备I。
[0139]如上所述,根据本实施例,在数据通信设备201中,利用ACK帧采用握手通信方法,用于实现无冲突。进行链路层帧的4B5B编码。向链路层帧添加前导码、SFD和EFD。对时钟再现的要求是由物理层帧的NRZI编码增加的。由此,可以提高数据通信速度。此外,在向通信路径发送发送帧时,进行比特错误检测。在从通信路径接收接收帧时,数据通信设备201执行编码错误检测、CRC错误检测、形式错误检测、状态错误检测和超时错误检测,由此确保高可靠性。
[0140]本公开不仅限于上述实施例,可以如下进行修改或扩展。数据通信设备201可以是连接到车载LAN的节点或连接到除车载LAN的任何LAN的节点。
[0141][第四实施例]
[0142](范例I)
[0143]在下文中,将参考图18到24和第三实施例中使用的图12到15、17解释本公开的第四实施例的范例I。图18是示出了根据本公开第四实施例范例I的数据通信设备配置的功能框图。包括发射机(即发送侧)和接收机(即接收侧)的数据通信设备301与图11中第三实施例的数据通信设备201不同之处在于包含选择器321和CRC计算部分322。
[0144]此外,像第三实施例中那样,在发送LLF编码器202从发送和接收序列发生器210接收发送数据时,发送LLF编码器202输出用于标识(即指定)帧的标识符,表示指出数据写或数据读的远程的比特串、表示数据长度的尺寸、表示要访问的地址空间的ID和数据(发送数据)。相反,与第三实施例不同的是,产生链路层帧(LLF)而没有CRC码,并输出到选择器321和CRC计算部分322。CRC计算部分322产生关于报头部分(即控制信息)的16比特CRC码和输入的链路层帧的数据部分并将其输出到选择器321。由发送和接收序列发生器210进行选择器321的切换控制。通过切换控制,产生链路层帧,从在通信帧中的指定位置布置CRC码并输入到FIF0203中。此外,像在第三实施例中那样,经由FIFO 203向4B5B编码器204和5N比特命令编码器205输入链路层帧。
[0145]上述链路层帧的帧结构和物理层帧的帧结构具有与第三实施例的图12中所示相同的相关关系。此外,如第三实施例的图13中所示,将功能分成层次结构,包含物理层、链路层和API (应用程序接口)层。可以将物理层分成控制发送(TX)的功能部分和控制接收(RX)的功能部分。
[0146]此外,在本范例中,将物理层、链路层和API层与国际标准化组织(ISO)制订的OSI(开放系统互连)参考模型比较,类似地,如第三实施例的图14中所示。
[0147]下文将参考图19和图20解释确定分配给每个帧的标识符比特数(标识符长度)的流程。在本范例中,前提是:(i)具有通信网络中最高通信频率(使用频率)的帧是具有预定数量比特数的ID长度的数据帧,(ii)具有第二高通信频率的帧是ACK帧;以及(iii)具有第三高通信频率的帧是命令帧。此外,假设数据通信设备301用于诸如车上安装的车载通信网络(即车载LAN(局域网))的通信系统中。这样的车载通信网络具有严重的噪声环境;于是,频繁发生通信故障。结果,ACK帧的通信频率应当是第二高的。
[0148]第一,确定了在通信网络中通信频率最高的数据帧。详细地,Na定义为连接到通信路径的节点(码片)数;Nb定义为节点需要的地址空间;N、N1、N2是系数。获得NI以满足Na<2Nl。获得N2以满足Nb = 2N2。获得N为N1+N2。在根据本范例的通信系统中,假设Na彡8。于是可以获得NI = 3。在假设N2 = 9时,获得N = 12。于是,判断ID长度为12比特的数据帧(也称为12比特ID数据帧)是通信网络中通信频率最高的数据帧。
[0149]接下来,在上文确定的ID长度为12比特的数据帧中,指定远程比特的比特数(远程长度)、尺寸比特的比特数(尺寸长度)、ID比特(ID长度)的比特数。确定标识符比特的比特数(标识符长度),使得标识符长度、远程长度、尺寸长度和ID长度的总和比特是8的倍数(8N,即8比特、16比特、24比特、32比特……)。
[0150]亦即,如图19中所示,ID长度为12的数据帧具有I比特的远程长度、2比特的尺寸长度和12比特的ID长度。确定标识符比特的比特数(标识符长度)为I比特,使得标识符长度、远程长度、尺寸长度和ID长度的总和比特是8的最近倍数(即16比特)。详细地讲,如图20中所示,确定分配给ID长度为12比特的数据帧的标识符为“O”。
[0151]接下来,确定标识符的比特数,以分配给与ID长度为12比特的数据帧相邻的通信频率第二高的ACK帧。ACK指出对请求的响应。确定标识符比特的比特数(标识符长度)为3比特,使得ACK长度、CRC长度和标识符长度的总和比特是8的最近倍数(即24比特)。详细地讲,如图20中所示,确定分配给ACK帧的标识符为“100”。
[0152]接下来,确定标识符的比特数,以分配给与ID长度为12比特的数据帧和ACK帧相邻的通信频率第三高的命令帧。命令指出控制信息。亦即,如图19所示,命令帧包含5比特的命令长度和16比特的CRC长度。确定标识符比特的比特数(标识符长度)为3比特,使得命令长度、CRC长度和标识符长度的总和比特是8的最近倍数(即24比特)。详细地讲,如图20中所示,确定分配给命令帧的标识符为“101”。
[0153]此外,在通信系统的将来扩展中,例如增大地址空间或更长数据长度数据通信时,可能需要本系统不必要的扩展用途数据帧。数据通信设备301如下判断标识符长度,即分配给扩展使用数据帧的标识符比特的比特数。下文的前提如下:扩展使用数据帧包括ID长度为4比特的数据帧、ID长度为16比特的数据帧、ID长度为24比特的数据帧以及ID长度为32比特的数据帧。ID长度为4比特的数据帧具有I比特的远程长度、O比特的尺寸长度和4比特的ID长度。确定标识符比特的比特数(标识符长度)为3比特,使得标识符长度、远程长度、尺寸长度和ID长度的总和比特是8的最近倍数(即8比特)。详细地讲,如图20中所示,确定分配给ID长度为4比特的数据帧的标识符为“110”。
[0154]ID长度为16比特的数据帧具有I比特的远程长度、2比特的尺寸长度和16比特的ID长度。确定标识符比特的比特数(标识符长度)为5比特,使得标识符长度、远程长度、尺寸长度和ID长度的总和比特是8的最近倍数(即24比特)。详细地讲,如图20中所示,确定分配给ID长度为16比特的扩展使用数据帧的标识符为“11100”。ID长度为24比特的数据帧具有I比特的远程长度、2比特的尺寸长度和24比特的ID长度。确定标识符比特的比特数(标识符长度)为5比特,使得标识符长度、远程长度、尺寸长度和ID长度的总和比特是8的最近倍数(即32比特)。详细地讲,如图20中所示,确定分配给ID长度为24比特的扩展使用数据帧的标识符为“11101”。
[0155]ID长度为32比特的数据帧具有I比特的远程长度、2比特的尺寸长度和32比特的ID长度。确定标识符比特的比特数(标识符长度)为5比特,使得标识符长度、远程长度、尺寸长度和ID长度的总和比特是8的最近倍数(即40比特)。详细地讲,如图20中所示,确定分配给ID长度为32比特的扩展使用数据帧的标识符为“11110”。此外,突发帧包含几个数据(即几个数据元)和几个CRC。任意确定突发帧的标识符比特数,与上述数据帧不同,其中确定标识符比特的比特数(标识符长度),使得标识符长度、远程长度、尺寸长度和ID长度的总和比特是8的最近倍数。
[0156]尽管ID长度为12的突发帧具有I比特的远程长度、4比特的尺寸长度和12比特的ID长度,但标识符的比特数被确定为7比特。在这里,比特的总和为24。详细地讲,如图20中所示,确定分配给ID长度为12比特的突发帧的标识符为“1111100”。此外,尽管ID长度为32的突发帧具有I比特的远程长度、8比特的尺寸长度和32比特的ID长度,但标识符的比特数被确定为例如7比特。在这里,比特的总和为48。详细地讲,如图20中所示,确定分配给ID长度为32比特的突发帧的标识符为“1111101”。要指出的是,在突发帧中,向对应于每个单元数据的每128比特(即16字节)增加16比特的CRC码(错误检测部分)。
[0157]此外,图21示出了具有12比特ID的突发帧。从开始的标识符经由远程、尺寸到ID的部分等价于报头。布置第一 CRC码以跟随报头之后的单元数据部分。在本范例中,产生第一 CRC作为控制使用检错码,这是用于控制的检错码,用于利用CRC计算部分(也称为控制使用检错码产生装置或模块)计算报头和(第一)单元数据部分的组合的目标。因此,可以利用第一 CRC码检测报头中出现的错误。
[0158]现在,上述数据通信设备301具有错误检测功能,在数据发送时执行错误检测过程,在数据接收时执行错误检测过程。在下文中,参考第三实施例的图15和17,以及图22一个接一个地解释数据发送时的错误检测过程和数据接收时的错误检测过程。
[0159](I)数据发送时的错误检测过程
[0160]数据通信设备301与第三实施例的图15中的数据通信设备201执行基本相同的数据发送时的错误检测过程的相同S1、S2。
[0161](2)数据接收时的错误检测过程
[0162]数据通信设备301执行图22中所示的数据接收时的错误检测。要指出的是,数据接收时的错误检测过程几乎与图16中第三实施例的数据通信设备201的数据接收时的错误检测过程相同。差别仅在于S13,其中接收LLF解码器220执行CRC错误检测(编码错误检测),其判断链路层帧中的报头以及数据(或数据元)是否正常。
[0163]在这样的配置下,数据通信设备301在数据接收时一个接一个地执行编码错误检测、CRC错误检测、形式错误检测、状态错误检测和超时错误检测。
[0164]此外,错误的内容与第三实施例中相同。此外,错误的分类和检测节点(发送节点或接收节点)在第三实施例的图17中类似地示出。要指出的是,发送节点是发送发送帧的数据通信设备301,接收节点是接收接收帧的数据通信设备301。
[0165]下文将参考图23、24解释在接收的突发帧中的单元数据部分的一部分中检测到CRC错误时执行的过程。如图23 (a)所示,利用CRC2检测第二有序单元数据部分(即DATA2)中的错误。在这种情况下,接收侧需要从发送侧仅重新发送DATA2。图24示出了重新发送过程序列。(I)发送侧发送12比特的ID突发帧。(2)接收侧接收帧并答复ACK帧。接收侧使用每个CRC码执行错误检查。由此,假设检测到DATA2的错误。(3)接收侧发送需要向发送侧重新发送DATA2的帧。发送侧由此接收重新发送的上述请求帧。(4)发送侧重新发送DATA2的部分。(5)接收侧接收重新发送的数据帧(即DATA2),然后答复ACK帧。接收侧再次对重新发送的DATA2进行错误检查。
[0166]图23(b)示出了在以上⑷中由发送侧重新发送的通信帧。通信帧向(a)的同一报头部分增加DATA2和CRC2。在这种情况下,标识符可以与(a)中所示的相同以表示突发发送,或表示重新发送包含报头的一部分数据。此外,图23(c)示出了如下情况:128比特的DATA2被分成两个通信帧,每个帧包含64比特,并作为独立的两个通信帧重新发送。
[0167]如上所述,本范例利用包含具有控制码的报头、具有发送数据的数据部分和具有CRC码的错误检测部分的帧进行通信。发送侧通过投入控制使用检错码对错误检测部分中的报头进行错误检测来执行发送。接收侧基于控制使用检错码进行报头的错误检测。于是,可以基于CRC码检测报头中错误的出现。此外,发送侧将数据部分分成几个单元数据部分,每个单元数据部分包括预定数量的比特(例如128个比特(16字节)),并提供几个错误检测部分,其执行错误检测,以便对应于几个单元数据部分。接收侧对几个单元数据部分的每个执行错误检测。因此,可以针对突发发送帧中的每个单元数据部分进行错误检测。
[0168]此外,在发送侧,错误检测部分产生CRC码以针对报头和后续第一单元数据部分两者执行错误检测;于是,可以抑制检错码比特数的增加。此外,(i)控制使用检错码和(?)添加到几个单元数据部分的每个的检错码是同一类型的检错码(即,CRC);发送侧和接收侧的过程都容易。此外,接收侧向发送侧发送发生错误部分的重新发送请求,其中由CRC码检测错误;发送侧在接收到重新发送请求时,仅重新发送发生错误的部分。因此,即使在突发发送具有立刻发送的更长通信帧时,也仅可以再次发送请求的单元数据部分。于是改善了通信效率。
[0169]此外,发送侧向通信帧应用4B5B编码以产生经过4B5B编码的链路层帧;向经过4B5B编码的链路层帧添加前导码、帧开始部分和帧结尾部分,产生物理层帧;向物理层帧应用NRZI编码;并在向通信路径发送时执行比特错误检测并形成错误检测。相反,接收侧向接收的物理层帧应用编码错误检测、利用CRC码的错误检测、形式错误检测和状态错误检测。此外,发送侧检测超时错误。因此,将CRC码与其他各种错误检测组合;可以进一步提尚通?目可靠性。
[0170](范例2)
[0171]图25到27示出了第四实施例的范例2。与范例I相同的装置等被分配相同的附图标记。主要针对不同部分进行解释,对相同装置等省略解释。范例2提供了一种过程,其中在通信过程期间错误检测部分中的CRC码的比特数动态变化。图25从概念上示出了该过程。例如,在由于干扰很少而错误检测次数很少的通信环境中,将CRC码的比特数保持在16比特。相反,在CRC错误的检测变得更频繁时,CRC码的比特数按顺序增加到24比特和32比特。
[0172]图26示出了发送侧和接收侧之间的处理序列。图27示出了根据范例2的数据通信设备331的配置。数据通信设备331包括三个CRC计算部分322Α到322C,分别产生16比特、24比特和32比特的CRC码。将CRC计算部分322Α到322C产生和输出的CRC码输入到选择器323中。由发送和接收序列发生器333进行选择器323的切换控制。
[0173]如图26中所示,(I)首先,发送侧利用CRC计算部分322Α产生的16比特CRC码发送帧。(2)接收侧接收发送的帧,答复ACK帧并进行错误检查,由此检查错误。(3)接收侧向发送侧发送包含或发出重新发送数据的请求的帧,请求将附于24比特CRC码。发送侧接收重新发送请求,由此,变为使用CRC计算部分322Β。(4)发送侧重新发送携带24比特CRC码的数据。(5)接收侧在接收到重新发送的数据时答复ACK帧,并利用24比特CRC码执行错误检查。接收侧检测错误。(6)接收侧向发送侧发送包含或发出重新发送数据的请求的帧,请求将附于32比特CRC码。发送侧接收包含重新发送请求的以上帧,由此,变为使用CRC计算部分322C。(7)发送侧重新发送携带32比特CRC码的数据。(8)接收侧接收重新发送的数据帧,然后答复ACK帧。在图26所示的范例中,在检测到CRC错误之后不久请求增加CRC码的比特数。不必限于此。可以在使用16比特CRC码的通信中定义每预定时间的CRC错误检测频率。在CRC错误检测频率超过预定阈值时,可以请求增大CRC码的比特数。
[0174]根据范例2,根据重新发送请求频率,接收侧向发送侧请求改变CRC码的比特数。发送侧根据请求改变检错码的比特数。因此,可以根据通信环境改变错误检测的精确度。
[0175]本实施例不仅限于上述范例,可以如下进行修改或扩展。可以仅为控制信息部分准备控制使用检错码。可以根据需要提供状态错误检测装置或模块、超时错误检测装置或模块、比特错误检测装置或模块、编码错误检测装置或模块或形式错误检测装置或模块。数据通信设备301、331可以是连接到车载LAN的节点或连接到除车载LAN的任何LAN的节点。可以将以上实施例应用于通信系统,其中通信频率最高的帧是12比特长度的数据帧之外的ID长度的数据帧。此外,可以将以上实施例应用于通信系统,其中通信频率第二高的帧是命令帧而非ACK帧。
[0176]尽管已经参考其优选实施例描述了本公开,但要理解本公开不限于优选实施例和构造。本公开意在覆盖各种修改和等价布置。此外,尽管优选各种组合和配置,其他组合和配置,包括更多、更少或单个元件,也在本公开的精神和范围之内。
【权利要求】
1.一种数据通信方法,包括: 对包含数据的链路层帧进行4B5B编码; 向经过4B5B编码的链路层帧添加前导码、帧开始部分和帧结束部分,从而产生物理层帧; 对产生的物理层帧进行NRZI (非归零反转)编码; 在将经过NRZI编码的物理层帧作为发送帧发送给通信路径之前,执行(SI)比特错误检测,所述比特错误检测确定发送帧中的发送数据是否正常; 在从通信路径接收物理层帧作为接收帧时,执行(Sll)编码错误检测,所述编码错误检测确定接收的物理层帧的4B5B编码是否正常; 执行(S13)CRC(循环冗余校验)错误检测,所述CRC错误检测确定包括在接收的物理层帧中的链路层帧中的数据是否正常; 执行(S15)形式错误检测,所述形式错误检测确定链路层帧的配置和内容是否正常;执行(S17)状态错误检测,所述状态错误检测确定链路层帧的比特串的次序是否正常;以及 执行(S19)超时错误检测,所述超时错误检测确定在预定时间内是否正常接收到ACK (确认)帧。
2.—种数据通信设备(201),(i)对包含数据的链路层帧进行4B5B编码,(ii)向经过4B5B编码的链路层帧添加前导码、帧开始部分和帧结束部分,从而产生物理层帧,(iii)对产生的物理层帧进行NRZI (非归零反转)编码,以及(iv)将经过NRZI编码的物理层帧作为发送帧发送给通信路径, 所述数据通信设备包括: 执行比特错误检测的比特错误检测装置(211),所述比特错误检测确定包含在发送帧中的发送数据是否正常; 编码错误检测装置(Sll,216),在从通信路径接收物理层帧作为接收帧时,所述编码错误检测装置执行编码错误检测,所述编码错误检测确定物理层帧的4B5B编码是否正常;执行CRC (循环冗余校验)错误检测的CRC错误检测装置(S13,220),所述CRC错误检测确定物理层帧中包含的链路层帧中包含的数据是否正常; 执行形式错误检测的形式错误检测装置(S15,220),所述形式错误检测确定链路层帧的配置和内容是否正常; 执行状态错误检测的状态错误检测装置(S17,210),所述状态错误检测确定链路层帧的比特串的次序是否正常;以及 执行超时错误检测的超时错误检测装置(S19,210),所述超时错误检测确定在预定时间内是否正常接收到ACK(确认)帧。
【文档编号】H04L1/16GK104506276SQ201410779762
【公开日】2015年4月8日 申请日期:2012年6月15日 优先权日:2011年6月15日
【发明者】寺部雅能, 山本启史, 市桥基, 杉山尚树 申请人:株式会社电装