编码设备、编码方法、数据通信设备和数据通信方法技术领域
本公开涉及一种将数据和命令编码成适用于时钟提取的格式的编码设
备和编码方法。
此外,本公开涉及一种传送包含数据的帧的数据通信方法和数据通信
设备。
背景技术
[专利文献1]JP S59-214358A
[专利文献2]JP 2001-69181A
[专利文献3]JP 2008-257221A(US 2008/0225173)
[专利文献4]JP S61-195453A(US 5001642B1)
[专利文献5]JP H11-317675A(US 6405338B1)
首先,在从数字数据传输中的接收数据提取时钟时,在接收数据包含
连续的相同值时,变得困难。可以使用曼彻斯特码克服这个问题。另一方
面,曼彻斯特码需要两倍信息量的频带。提出了一种转换二进制数据的技
术,通过组合4B5B转换和NRZI编码,例如用于以太网(注册商标)的
100BASE-FX容易地进行时钟提取。
NRZI编码使得时钟提取更容易,因为在数据值“1”连续时,波形连续
改变。相反,在数据值“0”连续时,波形不变化。于是,如何删除包含连
续数据值“0”的模式是一个问题。专利文献1公开了一种方法,以将4比
特数据(0x-Fx)转换成5比特数据,该5比特数据在头部具有一个数据值
“0”,在尾部具有最多两个数据值“0”,由此设置了未经历边缘的最大位
长为“4”。在这里,边缘是“0”和“1”之间的变化。这种方法未充分抑
制最大位长。此外,没有用于通信的命令的特殊规则性;将模式逐个分配
到每个命令。能够使用的命令数量受到自然限制。
专利文献2公开了一种方法以从用于编码的目标移除命令,由此转换
成头部包含最多一个数据值“0”,尾部还包含最多一个数据值“0”的5-
比特数据。由此将不经历边缘的最大比特长度设置为“3”。
专利文献2的方法需要仅利用特定模式表达除数据或定界符(命令的
一个类别)之外的帧,定界符表示帧的边界。于是,专利文献2的方法限
制了命令码的设置。
第二,已知有一种数据通信方法,为数据帧分配标识符以标识数据帧
并向通信路径发送数据帧。例如,专利文献3公开了一种技术,其中向较
短的加长数据帧分配较短的加长标识符,而向较长的加长数据帧分配较长
的加长标识符。
不过,在专利文献3的技术中,在较长的加长数据帧通信频率高于较
短的加长数据帧通信频率时,较长的加长标识符通信频率高于较短的加长
标识符通信频率。这在总体上减小了通信网络的通信效率。
第三,有一种常规上广泛知道的CAN(控制器区域网)作为LAN(局域
网),其需要高可靠性(例如,参考专利文献4)。CAN确保了利用堆栈错误
检测、比特错误检测、形式错误检测、确认错误检测、CRC(循环冗余校验)
错误检测等时低于500kbps的比特率。
此外,近来通信系统中有一种趋势,需要改善数据通信的速度(几百
Mbps或更大)和高的可靠性。CAN作为通信系统,提供数据通信速度改善
所需的无冲突或时钟再现,提供充分可靠性并不那么容易,因为CAN中有
特定的帧结构。
第四,已知一种数据通信,其中发送侧发送带有检错码,例如CRC的
数据帧,接收侧利用检错码检测接收数据的错误,如果检测到错误,请求
重新发送相关的通信帧(例如,参考专利文献5)。
这样的错误检测仅应用于数据而不应用于数据帧的报头部分,因为报
头部分的比特比数据部分少,且假设其不经历任何错误检测。
发明内容
本公开的第一个目的是提供一种编码设备和编码方法,其灵活地设置
命令码,同时防止数据值变化频率减小。
本公开的第二目的是提供一种数据通信方法和数据通信设备,在为数
据帧分配标识符以识别帧并向通信路径发送时,在整体上提高了通信网络
的通信效率。
本公开的第三目的是提供一种数据通信方法和数据通信设备,确保高
可靠性,同时加快数据通信速度。
本公开的第四目的是提供一种数据通信方法和数据通信设备,其即使
在通信帧的控制信息部分中也能够检测错误。
为了实现第一目的,根据本公开的第一范例,如下提供了一种编码设
备。包括数据转换装置,将具有4比特串的4比特数据转换成具有5比特
串的5比特数据模式。包括命令转换装置,将命令转换成具有5N比特串的
5N比特命令模式,其中N是二或更大的自然数。包括NRZI转换装置,将5
比特数据模式和5N比特命令模式转换成NRZI码,其中NRZI表示非归零/
反转。在这里,数据转换装置转换成具有5比特串的5比特数据模式,其
中(i)允许连续“0”数据值的比特数最大为2,同时(ii)允许头端两个
比特最多一个比特具有“0”数据值,允许尾端两个比特的最多一个比特具
有“0”数据值;并且命令转换装置转换成具有5N比特串的5N比特命令模
式,其中允许连续“0”数据值中包含的比特数最多为两个。
在以上配置下,将命令转换成5N比特命令模式,其在5N比特(10、
15、20……比特)的比特串之内包含最多两个连续的“0”数据值。于是,
可以根据需要的命令分类容易地扩展转换之后的命令模式。此外,转换成
NRZI码之后的比特串包含连续比特长度的比特,其数据值相同,维持在最
大“3”。
为了实现第二目的,根据本公开的第二范例,提供了一种数据通信方
法,用于为帧分配标识符以识别帧并向通信路径发送帧。该方法包括:为
通信网络中通信频率最高的数据帧分配标识符长度最短的标识符,并向所
述通信路径发送具有标识符的数据帧;以及为通信频率最高的数据帧之外
的任意帧分配任意标识符长度的标识符,并向所述通信路径发送任意帧。
在以上配置下,在通信网络中的标识符中具有最短长度的标识符跟随
在通信频率最高的数据帧通信之后,由此提供了标识符中最高的通信频率。
这样能够防止较长加长标识符的通信频率变得高于较短加长标识符的通信
频率。这在总体上改善了通信网络的通信效率。
为了实现第三目的,根据本公开的第三范例,提供了一种数据通信方
法,包括:对包含数据的链路层帧进行4B5B编码;向经过4B5B编码的链
路层帧添加前导码、帧开始部分和帧结束部分,产生物理层帧;对产生的
物理层帧进行NRZI(非归零反转)编码;在将经过NRZI编码的物理层帧作
为发送帧向通信路径发送之前,执行比特错误检测,判断发送帧中的发送
数据是否正常;在从所述通信路径接收物理层帧作为接收帧时,执行编码
错误检测,判断接收的物理层帧的4B5B编码是否正常;执行CRC(循环冗
余校验)错误检测,判断接收的物理层帧中包括的链路层帧中的数据是否
正常;执行形式错误检测,判断链路层帧的配置和内容是否正常;执行状
态错误检测,判断链路层帧的比特串的次序是否正常;以及执行超时错误
检测,判断在预定时间之内是否正常接收到ACK(确认)帧。
以上配置采用了握手通信方法,使用ACK帧实现无冲突;对包含数据
的链路层帧进行4B5B编码;向链路层帧添加前导码、帧开始部分和帧结尾,
以产生物理层帧;以及添加物理层帧的NRZI编码作为时钟再现的要求,由
此提高通信速度。此外,在从通信路径接收到接收帧时,以上配置在向通
信路径发送发送帧时执行比特错误检测,并执行编码错误检测、CRC错误检
测、形式错误检测、状态错误检测和超时错误检测。由此,确保了高可靠
性。
为了实现第四目的,根据本公开的第四范例,如下提供了一种在发送
侧和接收侧之间传送通信帧的数据通信方法。所述通信帧包含(i)包含控
制码的控制信息部分,(ii)包含发送数据的数据部分,以及(iii)包含
检错码的错误检测部分。所述数据通信方法包括:所述发送侧发送错误检
测部分,其包含用于检测控制信息部分中的错误的控制使用检错码;以及
接收侧基于控制使用检错码执行控制信息部分的错误检测。
因此,接收侧能够检测控制信息部分中是否还发生了错误。
附图说明
从参考附图做出的以下详细描述,本公开的以上和其他目的、特征和
优点将变得更加明显。在附图中:
图1A是示出了根据第一实施例的范例1将4比特数据转换成5比特数
据模式的表格的图示;
图1B是示出了根据第一实施例范例1用于表达命令的数据值表格的图
示;
图1C是示出了根据第一实施例范例1的头端两个比特和尾端两个比特
的图示;
图2是示出了根据第一实施例范例1使用NRZI码发送的波形的图示;
图3是功能框图,示出了根据第一实施例范例1的编码设备的配置;
图4是功能框图,示出了根据第一实施例范例1的解码设备配置;
图5是示出了根据第一实施例范例2用于表达命令的数据值表格的图
示;
图6是功能框图,示出了根据第一实施例范例3的编码设备的配置;
图7是功能框图,示出了根据第一实施例范例4的编码设备的配置;
图8是示出了根据本公开第二实施例的数据通信设备配置的功能框图;
图9是示出了根据第二实施例的每个帧的帧结构的图示;
图10是示出了根据第二实施例每个帧的通信频率、标识符长度和标识
符的图示;
图11是示出了根据本公开第三实施例的数据通信设备配置的功能框
图;图12是示出了根据第三实施例的链路层帧和物理层帧的帧结构图示;
图13是示出了根据第三实施例的功能层次结构的图示;
图14是示出了根据第三实施例与开放系统互连参考模型比照的图示;
图15是示出了根据第三实施例的数据发送中错误检测过程的流程图;
图16是示出了根据第三实施例的数据接收中错误检测过程的流程图;
图17是示出了根据第三实施例的错误分类和检测节点的图示;
图18是示出了根据本公开第四实施例范例1的数据通信设备配置的功
能框图;
图19是示出了根据第四实施例范例1的每个帧的帧结构的图示;
图20是示出了根据第四实施例范例1每个帧的通信频率、标识符长度
和标识符的图示;
图21是示出了根据第四实施例范例1关于12比特ID突发帧产生CRC
码的图示;
图22是示出了根据第四实施例范例1的数据接收中错误检测过程的流
程图;
图23是示出了根据第四实施例范例1请求重新发送关于12比特ID突
发帧一部分数据的过程图示;
图24是示出了根据第四实施例范例1发送和接收期间处理序列的图
示;
图25是示出了根据第四实施例范例2改变CRC码比特数的图示;
图26是示出了根据第四实施例范例1发送和接收期间处理序列的图
示;以及
图27是示出了根据本公开第四实施例范例2的数据通信设备配置的功
能框图。
具体实施方式
[第一实施例]
(范例1)
将参考图1A到4解释根据本公开第一实施例的范例1。图3是功能框
图,示出了编码设备的配置,该编码设备对发送数据进行编码并将编码的
发送数据作为串行数据发送。在这里,编码设备1的FIFO 2(先进先出,
数据/命令识别装置或模块)2接收从传输控制电路(未示出)输出的发送
信号(即数据或命令);将经过FIFO 2的信号输入到4B5B编码器3(数据
转换装置或模块)和5N比特命令编码器4(命令转换装置或模块)。
输入到FIFO 2中的数据和命令是九(9)比特;九个比特在头部包含
识别比特,利用一个比特“0”表示数据,利用一个比特“1”表示命令。
在FIFO 2中去除标识比特;由此,向4B5B编码器3和5N比特命令编码器
4输出8比特串。亦即,向编码器3、4中输入数据和命令,无需指出是数
据还是命令。
4B5B编码器3将输入的8比特数据转换成与8比特数据的高位对应的
4比特数据和与8比特数据的低位对应的4比特数据,并根据图1A中所示
的表格将每个4比特数据转换成5比特数据或数据模式。此外,5N比特命
令编码器4转换8比特命令,以便利用10个比特(N=2,5N=10)表达。这
种转换使用4B5B编码器3转换之后的以上5比特数据模式中的(i)尾部
数据值为“1”的(xxxx1)数据模式和(ii)头部数据值为“1”的(1xxxx)
数据模式;由此,将(xxxx1)数据模式和(ii)(1xxxx)数据模式与七种
表达单个命令的命令模式(1)到(7)之一组合。
4B5B编码器3转换后的数据和5N比特命令编码器4转换后的命令经由
选择器5(选择装置或模块)提供到串行器6以进行并行/串行转换。由NRZI
编码器7(NRZI信号转换装置或模块)将转换后的串行数据转换成NRZI码
并从发送终端发送。要指出的是,FIFO 2判断被处理的比特串是根据识别
比特的值的数据或命令,并向选择器5输出数据/命令识别信号(选择开关
信号)。
图4是功能框图,示出了解码设备11的配置,其经由编码设备1接收
数据和命令并对数据和命令解码。向时钟再现部分12和NRZI解码器13输
入接收信号。时钟再现部分12从接收的NRZI码的比特串提取时钟分量,
并向每个功能部分供应再现的时钟信号。NRZI解码器13将接收到的NRZI
编码转换(解码)成5比特或5N比特的数据和命令并将它们输出到5N比
特命令解码器14。
图2中示出了本实施例中传输数据的帧。传输数据包含(i)前导码,
即开始时用于同步的命令,(ii)用于检测帧头的命令SFD(帧定界符的开
始),(iii)数据或命令,以及(iv)用于最终检测帧尾部或结束的命令EFD
(帧定界符结束)。5N比特命令解码器14检测(即解码)命令SFD。在检
测到命令SFD时,5N比特命令解码器14向解串行器15输出后续的接收数
据或命令。
解串行器15向所接收的比特串的每5个比特应用串行/并行转换并向
4B5B解码器16和5N比特命令解码器17输出它们。4B5B解码器16向接收
的5比特数据或数据模式应用逆转换以根据图1A所示的表格产生4比特数
据。此外,与高位对应的4比特数据和与低位对应的4比特数据被组合成8
比特数据。此外,5N比特命令解码器17向5N比特命令应用逆转换以产生
8比特命令模式。
4B5B解码器16逆转换之后的8比特数据和5N比特命令解码器17逆转
换之后的命令经由选择器18被输出到FIFO 19。5N比特命令解码器17逆
转换之后的命令被给予控制电路20。控制电路20判断本处理之下的比特串
是数据还是命令,并基于判断结果向选择器18输出开关控制信号。
下文将参考图1A、1B、1C分别解释4B5B编码器3和5N比特命令编码
器4转换后的数据和命令的模式。图1C是示出了5比特串头端两个比特和
尾端两个比特的图示。首先,为从4比特数据转换后的5比特数据或数据
模式提供以下关于数据值“0”(也称为“0”数据值)的布置。
(1)在MSB侧或LSB侧(即,头端两个比特或尾端两个比特)布置具
有“0”数据值的最多一个比特。
(2)在5比特数据的整个比特串中布置最多两个具有“0”数据值的
连续比特。在同时满足两个条件时,即使串行组合任何两个5比特数据模
式,具有连续“0”数据值的比特数限于最多两个。
此外,与以上5比特数据不同的是,利用根据如下条件选择的命令模
式(1)到(7)表示命令:连续“0”数据值中包括的比特数最多为两个。
此外,参考图1B,通过将以上5比特数据模式中的尾比特为“1”的十个
(xxxx1)数据模式或头比特为“1”的(1xxxx)十个数据与命令模式(1)
到(7)组合,将命令表达为10比特数据(N=2)。例如,为前一半5个比
特分配(xxxx1)数据模式和命令模式(1),实现十一个类别;为后一半5
个比特分配命令模式(2)到(4),实现3个类别。于是,可以分配命令的
11×3=33个类别。
此外,为前一半5个比特分配命令模式(5)到(7),实现3个类别;
为后一半5个比特分配(1xxxx)数据模式和命令模式(1)到(4),实现
十一个类别。于是,类似地,可以分配命令的11×3=33个类别。于是,可
以分配总共66个命令类别。(因此,提供了转换之前8比特命令的共66个
命令类别。)允许命令模式(2)到(7)在MSB侧或LSB侧(即头端两个比
特或尾端两个比特)具有最多两个连续的“0”数据值;将命令模式(2)
到(7)与命令模式(1)、(xxxx1)数据模式或(1xxxx)数据模式组合。
结果,在组合这些时,连续的“0”数据值限于最多2个比特。
此外,如图2中所示,前导码包含所有数据值都是“1”的10个比特
(即,命令模式(1)/(1));命令SFD包含“1111100110”(即,命令模
式(1)/(2));而命令EFD包含“1111100101”(即命令模式(1)/(3))。
在这里,考虑串行组合前导码和命令SFD的连续20个比特。即使在从20
比特的比特串中选择了除命令SFD的连续比特之外的任何连续10个比特,
所选的任意连续10个比特也没有与命令SFD相同的比特模式。此外,参见
图2中编码为NRZI的数据波形。前导码的最后比特波形(即符号)“1”与
命令SFD的最后比特波形“0”不同(即,倒数)(参见图2中的两个圆圈
中的部分)。由此,接收侧能够确定地在前导码和命令SFD之间进行区分。
根据本实施例,4B5B编码器3将输入的4比特数据转换成5比特数据
模式,其在头端两个比特处包含最多一个比特的数据值“0”,在尾端两个
比特处包含最多一个比特的数据值“0”,在整个5比特数据模式中包含最
多两个连续比特的数据值“0”。换言之,两个连续的“0”不出现在5比特
数据之内头端两个比特和尾端两个比特中。5N比特命令编码器4将命令转
换成命令模式,其在5N比特的比特串之内包含最多两个连续的数据值“0”。
此外,以上转换之后的数据和命令被NRZI编码器7转换成NRZI码。亦即,
将该命令转换成在5N比特的比特串之内包含最多两个连续数据值“0”的
命令模式;于是,可以根据所需的命令分类容易地扩展转换后的命令模式。
此外,转换成NRZI码之后的比特串包含连续比特长度的比特,其数据值相
同,维持在最大“3”。
此外,4B5B编码器3如下执行转换。(i)用于通信同步的前导码使用
串行布置的命令和帧开始命令SFD;(ii)除了命令SFD自身之外,串行组
合两个命令的比特串或模式不包含与命令SFD相同的命令模式,(iii)NRZI
编码器7转换之后的命令SFD的最后比特的符号与串行组合两个命令的比
特串或模式中前导码的最后比特符号不同(即,倒数)。具体而言,在设置
N=2时,将前导码的模式转换成“1111111111”;将命令SFD的模式转换成
“1111100110”。因此,接收侧能够在前导码的终结终点和命令SFD的终结
终点清晰地区分;可以防止错误决策。此外,为转换之前的每个数据和命
令分配标识比特,用于标识数据或命令。FIFO 2参考标识比特,由此向选
择器5输出选择开关信号。有选择地输出转换之后的数据和转换之后的命
令。因此,以预定次序提供的数据和命令可以通过适当次序被转换和输出。
(范例2)
图5示出了第一实施例的范例2。与范例1相同的装置等被分配相同的
附图标记。主要针对不同部分进行解释,对相同装置等省略解释。范例2
的配置基本与范例1相同,但在5N比特命令编码器4的编码过程和编码设
备1的5N比特命令解码器17的解码过程中与范例1不同。图5是对应于
图1A或1B的图。范例1在将命令转换成5N比特时使用5比特数据模式的
一些。相反,范例2通过组合范例1中的命令模式(1)-(7)而无需使用
5比特数据模式来表达命令。不过,对于N=2的情况,范例2可能仅提供七
个命令类别。
如图1B所示,通过以下模式的组合表达命令No.1到7。命令No.1在
前半段5比特包含命令模式(1),在后半段5比特包含命令模式(1)。命
令No.2在前半段5比特包含命令模式(1),在后半段5比特包含命令模式
(2)。命令No.3在前半段5比特包含命令模式(1),在后半段5比特包含
命令模式(3)。命令No.4在前半段5比特包含命令模式(1),在后半段5
比特包含命令模式(4)。命令No.5在前半段5比特包含命令模式(5),在
后半段5比特包含命令模式(1)。命令No.6在前半段5比特包含命令模式
(6),在后半段5比特包含命令模式(1)。命令No.7在前半段5比特包含
命令模式(7),在后半段5比特包含命令模式(1)。在这里,命令No.1到
3分别对应于前导码、SFD和EFD;于是,可以允许将其他四个命令No.4到
7用于前导码、SFD和EFD之外的命令。
此外,4B5B编码器3进行转换以免使5N比特命令模式中的每个5比特
串与5比特数据模式交叠。接收转换后数据和命令的接收侧于是能够在接
收第一个5比特时在数据和命令之间进行区分。
(范例3)
图6示出了根据范例3的编码设备21的配置。仅解释与范例1的不同
部分。范例3的编码设备21利用与FIFO 2稍微不同的FIFO 22替代FIFO 2。
不为FIFO 22提供任何命令,仅为其提供8比特数据(因此,不需要任何
识别比特)。FIFO 22向控制电路23(也称为命令转换装置或模块)发送EMPTY
信号(数据检测信号)。在不输入数据时,FIFO 22使EMPTY信号激活,在
输入任何数据时,使EMPTY信号不激活(NO EMPTY)。于是,可以将FIFO 22
称为数据检测装置或模块。
此外,利用命令输出部分24(也称为命令转换装置或模块)替换5N比
特命令编码器4。假设范例3仅使用前导码、SFD和EFD三个命令。像范例
1、2那样,事先将这三个命令转换成10比特命令模式,并基于控制电路
23提供的信号时间点,按照前导码、SFD和EFD的次序输出到选择器5。
控制电路23根据EMPTY信号的变化向选择器5和命令输出部分24输
出数据/命令识别信号。在EMPTY信号从激活变为不激活时,控制电路23
在触发时间将选择器5切换到命令输出部分24一侧。命令输出部分24串
行输出前导码和SFD。在从选择器5被切换到命令输出部分24一侧过去发
送20比特所需的时间之后,控制电路23将选择器5切换到4B5B编码器3
一侧,并令选择器5输出5比特数据。在过去发送通信格式中预定字节所
需的时间之后,再次将选择器5切换到命令输出部分24一侧。此时,命令
输出部分24输出命令EFD。
根据范例3,命令输出部分24基于EMPTY信号变化的时间点以预定次
序输出事先经过转换的5N比特命令模式。选择器5基于EMPTY信号的变化,
有选择地输出(i)转换后的数据和(ii)转换后的命令。亦即,在数据通
信的传输帧之内命令和数据的次序是预定的;于是,仅需要根据数据传输
状态在适当时间点将命令作为5比特命令模式输出。然后,选择器5基于
EMPTY信号的变化,有选择地输出(i)转换后的数据和(ii)转换后的命
令;由此,可以根据预定格式输出转换结果。因此,不需要实时地转换命
令。
(范例4)
图7示出了根据范例4的编码设备31的配置。仅针对与第一实施例范
例1不同的部分进行范例4的解释。范例4的编码设备31未使用任何识别
比特;为FIFO 32提供8比特数据的数据和命令。FIFO 32没有数据/命令
识别功能,这与范例1的FIFO 2不同;FIFO 32包括一般FIFO。在范例4
中,传输控制部分(未示出)向选择器5输出数据/命令识别信号。亦即,
传输控制部分能够识别(i)传输控制部分自身输出数据和命令的时间点,
以及(ii)编码设备31执行转换过程的时间点,由此基于识别结果输出数
据/命令识别信号。范例4能够简化编码设备31的配置。
本公开不仅限于上述或图示实施例,可以如下进行修改或扩展。数据
的编码和命令的编码的任一个都可以比另一个进行得早。不需要分别将前
导码和命令SFD转换成“1111111111”和“1111100110”。亦即,对串行组
合两个命令的模式最低要求如下:在如下条件下进行转换(i)不包含与命
令SFD相同的另一命令模式,以及条件(ii)转换成NRZI码之后的前导码
最后比特的符号与转换成NRZI码之后的命令SFD的最后比特的符号不同。
此外,在接收侧进行区分没有麻烦时,可以从要求中去除以上两个条件(i)
和(ii)之一或两者。
此外,当然,第一实施例可以应用于既不使用用于通信同步的命令也
不使用帧开始命令的数据传输系统。可以用NO-EMPTY信号替换范例3的
EMPTY信号,在向FIFO 32中写入数据时,将NO-EMPTY信号切换成激活。
根据必要命令类别的数量,可以将命令模式的命令扩展到N≥3。
[第二实施例]
图8是示出了根据本公开第二实施例的数据通信设备配置的功能框图。
数据通信设备101包括控制数据发送系统的发送控制器102和控制数据接
收系统的接收控制器103。
发送控制器102包括Huffman编码部分104、选择器105(也称为标识
符分配装置或模块)、CRC(循环冗余校验)计算部分106、串行器107和驱
动器108(也称为发送装置或模块)。Huffman编码部分4向选择器105输
出包含Huffman编码的标识符。选择器105接收以下比特串:表示标识符
的比特串,表示指出数据写或数据读的远程的比特串,表示指出数据长度
的尺寸的比特串,表示要访问的地址空间的比特串,表示数据的比特串以
及表示从CRC计算部分106输出的CRC的比特串。选择器105组装接收的
比特串,由此产生包括数据帧、突发帧、ACK(确认)帧和命令帧的帧。向
串行器107输出产生的帧。
串行器107以8比特为单元接收比特串中的帧并向接收的帧应用并行/
串行转换,并向驱动器108输出经过并行/串行转换的帧。在从串行器107
接收经过并行/串行转换的帧时,驱动器108向通信路径发送接收的帧。
接收控制器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比特单元比
特串执行错误判断,并输出错误判断的结果。
数据通信设备101如下判断标识符长度,即分配给每个帧的标识符比
特数。下文将参考图9和图10解释确定分配给每个帧的标识符比特数的流
程。此外,基于如下前提在下文中进行解释:(i)具有通信网络中最高通
信频率(使用频率)的帧是具有预定数量比特数的ID长度的数据帧,(ii)
具有第二高通信频率的帧是ACK帧;以及(iii)具有第三高通信频率的帧
是命令帧。要指出的是,假设数据通信设备101用于诸如车上安装的车载
通信网络(即车载LAN(局域网))的通信系统中。这样的车载通信网络具
有严重的噪声环境;于是,频繁发生通信故障。结果,ACK帧的通信频率应
当是第二高的。
第一,确定了在通信网络中通信频率最高的数据帧。详细地,Na定义
为连接到通信路径的节点(码片)数;Nb定义为节点需要的地址空间;N、
N1、N2是系数。获得N1以满足Na≤2N1。获得N2以满足Nb=2N2。获得N
为N1+N2。在根据本实施例的通信系统中,假设Na≤8。于是可以获得N1=3。
在假设N2=9,获得N=12。于是,判断ID长度为N比特(即12比特)的数
据帧是通信网络中通信频率最高的数据帧。
接下来,在上文确定的ID长度为12比特的数据帧中,指定远程比特
的比特数(远程长度)、尺寸比特的比特数(尺寸长度)、ID比特(ID长度)
的比特数。确定标识符比特的比特数(标识符长度),使得标识符长度、远
程长度、尺寸长度和ID长度的总和比特是8的倍数(8N,即8比特、16比
特、24比特、32比特……)。亦即,如图9中所示,ID长度为12的数据帧
具有1比特的远程长度、2比特的尺寸长度和12比特的ID长度。确定标识
符比特的比特数(标识符长度)为1比特,使得标识符长度、远程长度、
尺寸长度和ID长度的总和比特是8的最近倍数(即16比特)。详细地讲,
如图10中所示,确定分配给ID长度为12的数据帧的标识符为“0”。
接下来,确定标识符的比特数,以分配给与ID长度为12比特的数据
帧相邻的通信频率第二高的ACK帧。ACK指出对请求的响应。亦即,如图9
所示,ACK帧的ACK长度为5比特,CRC长度为16比特。确定标识符比特
的比特数(标识符长度)为3比特,使得ACK长度、CRC长度和标识符长度
的总和比特是8的最近倍数(即24比特)。详细地讲,如图10中所示,确
定分配给ACK帧的标识符为“100”。
接下来,确定标识符的比特数,以分配给与ID长度为12比特的数据
帧和ACK帧相邻的通信频率第三高的命令帧。命令指出控制信息。亦即,
如图9所示,命令帧包含5比特的命令长度和16比特的CRC长度。确定标
识符比特的比特数(标识符长度)为3比特,使得命令长度、CRC长度和标
识符长度的总和比特是8的最近倍数(即24比特)。详细地讲,如图10中
所示,确定分配给命令帧的标识符为“101”。
此外,在通信系统的将来扩展中,例如增大地址空间或更长数据长度
数据通信时,可能需要本系统不必要的扩展用途数据帧。数据通信设备101
如下判断标识符长度,即分配给扩展使用数据帧的标识符比特的比特数。
下文的前提如下:扩展使用数据帧包括ID长度为4比特的数据帧、ID长度
为16比特的数据帧、ID长度为24比特的数据帧以及ID长度为32比特的
数据帧。
如图9中所示,ID长度为4比特的扩展使用数据帧具有1比特的远程
长度、0比特的尺寸长度和4比特的ID长度。确定标识符比特的比特数(标
识符长度)为3比特,使得标识符长度、远程长度、尺寸长度和ID长度的
总和比特是8的最近倍数(即8比特)。详细地讲,如图10中所示,确定
分配给ID长度为4比特的扩展使用数据帧的标识符为“110”。
如图9中所示,ID长度为16比特的数据帧具有1比特的远程长度、2
比特的尺寸长度和16比特的ID长度。确定标识符比特的比特数(标识符
长度)为5比特,使得标识符长度、远程长度、尺寸长度和ID长度的总和
比特是8的最近倍数(即24比特)。详细地讲,如图10中所示,确定分配
给ID长度为16比特的扩展使用数据帧的标识符为“11100”。
如图9中所示,ID长度为24比特的数据帧具有1比特的远程长度、2
比特的尺寸长度和24比特的ID长度。确定标识符比特的比特数(标识符
长度)为5比特,使得标识符长度、远程长度、尺寸长度和ID长度的总和
比特是8的最近倍数(即32比特)。详细地讲,如图10中所示,确定分配
给ID长度为24比特的扩展使用数据帧的标识符为“11101”。
如图9中所示,ID长度为32比特的数据帧具有1比特的远程长度、2
比特的尺寸长度和32比特的ID长度。确定标识符比特的比特数(标识符
长度)为5比特,使得标识符长度、远程长度、尺寸长度和ID长度的总和
比特是8的最近倍数(即40比特)。详细地讲,如图10中所示,确定分配
给ID长度为32比特的扩展使用数据帧的标识符为“11110”。
此外,突发帧包含几个数据(即几个数据元)和几个CRC。任意确定突
发帧的标识符比特数,与上述数据帧不同,其中确定标识符比特的比特数
(标识符长度),使得标识符长度、远程长度、尺寸长度和ID长度的总和
比特是8的最近倍数。亦即,如图9中所示,尽管ID长度为12的突发帧
具有1比特的远程长度、2比特的尺寸长度和12比特的ID长度,但标识符
的比特数被确定为7比特。详细地讲,如图10中所示,确定分配给ID长
度为12比特的突发帧的标识符为“1111100”。
此外,如图9中所示,尽管ID长度为32的突发帧具有1比特的远程
长度、2比特的尺寸长度和32比特的ID长度,但标识符的比特数被确定为
例如7比特。详细地讲,如图10中所示,确定分配给ID长度为32比特的
突发帧的标识符为“1111101”。
在上述配置中,为通信频率最高的ID长度为12比特的数据帧分配标
识符长度最短(1比特)的标识符。为通信频率第二高的ACK帧和通信频率
第三高的命令帧分配标识符长度第二短(3比特)的标识符。为扩展使用数
据帧和突发帧分配(i)标识符长度第二短的标识符,(ii)标识符长度第
三短的标识符(5比特)和(iii)标识符长度第四短的标识符(7比特)
之一。
此外,相对于突发帧,任意确定标识符的比特数。不过,就此而言,
像上述数据帧那样,即使对于突发帧而言,也可以确定标识符比特数(标
识符长度),使得标识符长度、远程长度、尺寸长度和ID长度的总和比特
是8的最近倍数。可以为ID长度为32比特的突发帧和ID长度为12比特
的突发帧的每个分配比特数为5个比特的标识符。
如上所述,本实施例提供了如下配置。在通信网络中通信频率最高的
数据帧是ID长度为12比特的数据帧时,为ID长度为12比特的数据帧分
配最短标识符长度1比特的标识符,并发送到通信路径。相反,为ID长度
为12比特的数据帧之外的任意帧分配标识符长度任意长的标识符并发送到
通信路径。因此,通信网络中的标识符中长度最短的1比特标识符跟随着
通信网络中ID长度为12比特的数据帧通信;于是,1比特标识符提供了标
识符中最高的通信频率。亦即,这种配置能够防止较长加长标识符的通信
频率高于较短加长标识符的通信频率。这在总体上改善了通信网络的通信
效率。
此外,Na定义为连接到通信路径的节点的节点数。Nb定义为节点需要
的地址空间。N、N1、N2是系数。获得N1以满足Na≤2N1。获得N2以满足
Nb=2N2。获得N为N1+N2。确定ID长度为N比特的数据帧是通信频率最高
的数据帧。于是,基于与通信路径连接的节点的节点数目和所需的地址空
间确定分配有标识符长度最短的标识符的目标的数据帧。
此外,为ACK帧分配标识符长度第二短,即3比特的标识符并发送到
通信路径。在诸如握手通信方法的通信系统中,这在总体上改善了通信网
络的通信效率,其中充当数据帧回复的ACK帧的通信频率是与数据帧相邻
的第二高。
此外,还为命令帧分配标识符长度第二短,即3比特的标识符并发送
到通信路径。在通信系统中,这在总体上改善了通信网络的通信效率,其
中用于交换控制信号(命令)的命令帧的通信频率是与数据帧和ACK帧相
邻的第三高。
此外,按照帧长的升序,为ID长度为4比特、16比特、24比特和32
比特的扩展使用数据帧分配标识符长度第二短,即3比特的标识符、标识
符长度第三短,即5比特的标识符以及标识符第四短7比特的标识符,并
发送到通信路径。此外,将扩展使用数据帧用作本系统中不必要但在将来
系统中增加的地址空间的手段,以及传送数据长度较长的数据手段。按照
次序向较短的扩展使用数据帧分配标识符长度较短的标识符。此外,假设
扩展使用数据帧的需求逐渐增加(逐步)。按次序向较短数据帧分配较短标
识符长度的标识符能够事先防止标准用尽。
本公开不仅限于上述实施例,可以如下进行修改或扩展。可以将以上
实施例应用于通信系统,其中通信频率最高的帧是12比特长度的数据帧之
外的ID长度的数据帧。此外,可以将以上实施例应用于通信系统,其中通
信频率第二高的帧是命令帧而非ACK帧。
[第三实施例]
图11是示出了根据本公开第三实施例的数据通信设备配置的功能框
图。作为发送系统的功能块,数据通信设备201包括发送LLF(链路层帧)
编码器202、FIFO(先进先出)203、4B5B编码器204、5N比特命令编码器
205、控制电路206、选择器207、串行器208和NRZI编码器209。
在从发送和接收序列发生器210(也称为状态错误检测装置或模块或超
时错误检测装置或模块)接收发送数据时,发送LLF编码器202产生链路
层帧(LLF),包含(i)用于识别(指定)帧的标识符,(ii)表示写或读
数据的远程;(iii)表示数据长度的尺寸;(iv)表示要访问的地址空间的
ID;(v)数据(发送数据);以及(vi)CRC,然后通过FIFO 203向4B5B
编码器204和5N比特命令编码器205输出链路层帧。
在从发送LLF编码器202经由FIFO 203接收8比特串中的链路层帧时,
4B5B编码器204根据4B5B编码表(未示出)将8比特串中包括的高位4比
特串和低位4比特串转换成5比特串,并产生10比特串,向选择器207输
出产生的10比特串。在这种情况下,4B5B编码器204将4比特串转换成5
比特串,使得连续的“0”数据值小于连续的三个比特。
在从LLF编码器202经由FIFO 203接收链路层帧时,5N比特命令编码
器205产生前导码,即用于同步的比特串,用于检测链路层帧头端的SFD
(开始帧定界符)(帧开始部分)和用于检测链路层帧的尾端的EFD(结束
帧定界符)(帧末端部分),并向控制电路206和选择器207输出产生的这
些。
在从4B5B编码器204接收10比特串并从5N比特命令编码器205接收
前导码、SFD和EFD时,选择器207根据从控制电路206输入的控制指令将
前导码、SFD和EFD增加到10比特串来产生物理层帧(PLF),并向串行器
208和位错误检测部分(数据比较部分)211(也称为位错误检测装置或模
块)输出。
在从选择器207接收物理层帧时,串行器208向物理层帧应用并行/串
行转换,并向NRZI编码器209输出经过并行/串行转换的物理层帧。在从
串行器208接收经过并行/串行转换的物理层帧时,NRZI编码器209将物理
层帧编码成NRZI码,并经由发送终端将其发送到通信路径作为发送帧。
相反,作为接收系统的功能块,数据通信设备201包括时钟再现部分
212、NRZI解码器213、SFD(开始帧定界符)检测部分214、解串行器215、
4B5B解码器216(也称为编码错误检测装置或模块)、选择器217、控制电
路218、FIFO 219和接收LLF解码器220(也称为形式错误检测装置或模块、
CRC错误检测装置或模块和代码错误检测装置或模块)。
时钟再现部分212从从通信路径接收的作为接收帧的NRZI码的物理层
帧提取时钟分量,并再现时钟信号,向每个功能块供应再现的时钟信号。
NRZI解码器213对从通信路径接收的作为接收帧的NRZI码的物理层帧解
码,并向SFD检测部分214输出解码后的结果。
在从NRZI解码器213接收物理层帧时,SFD检测部分214检测物理层
帧中包含的SFD以检测链路层帧的头端,并向解串行器215输出链路层帧。
在从SFD检测部分214接收链路层帧时,解串行器215向链路层帧的比特
串应用串行/并行转换,并将其输出到4B5B解码器216和比特错误检测部
分211。4B5B解码器216根据4B5B编码表(未示出)向在解串行器215中
经过串行/并行转换成为8比特串的链路层帧的10比特串应用逆转换,并
将其输出到选择器217和控制电路218。
在从4B5B解码器16接收链路层帧的8比特串时,选择器207根据来
自控制电路218的控制指令经由FIFO 219向接收LLF解码器220输出接收
到的8比特串。在从选择器217经由FIFO 219接收链路层帧的8比特串时,
接收LLF解码器220向发送和接收序列发生器210输出链路层帧的8比特
串。
上述链路层帧和物理层帧的帧结构具有图12中所示相关关系。此外,
如图13中所示,数据通信设备201将功能分成层次结构,包含物理层、链
路层和API(应用程序接口)层。可以将物理层分成控制发送(TX)的功能
部分和控制接收(RX)的功能部分。将本实施例中的物理层、链路层和API
层如下与国际标准化组织(ISO)制订的OSI(开放系统互连)参考模型比
较。如图14所示,物理层对应于OSI参考模型的第一层(物理层);链路
层对应于OSI参考模型的第二层(数据链路层)和第三层(网络层);API
层对应于OSI参考模型的第四层(传输层)、第五层(会话层)和第六层(表
示层)。在数据通信设备201的链路层之间逻辑地传送链路层帧,而在数据
通信设备201的物理层之间物理地传送物理层帧。
现在,上述数据通信设备201具有下文要解释的错误检测功能,并在
数据发送时执行错误检测过程,在数据接收时执行错误检测过程。下文将
按次序解释数据发送时的错误检测过程和数据接收时的错误检测过程。
要进一步指出的是,本申请中的流程图或流程图处理包括多个段落(也
称为步骤),例如将每个步骤表示为S1。此外,可以将每个部分分成几个子
部分,同时可以将几个部分组合成单个部分。此外,这样配置的每个部分
可以称为装置、模块或单元。
(1)数据发送时的错误检测过程
数据通信设备201在图15中所示的数据发送时执行错误检测。亦即,
数据通信设备201执行比特错误检测,利用比特错误检测部分211判断发
送数据是否正常(S1)。数据通信设备201比较从选择器207输入错误检测
部分211中的物理层帧中包含的数据和解串行器215输入到比特错误检测
部分211中的链路层帧中包含的数据。在检测与发送数据不同的数据或检
测不到发送数据时,判定发送数据不正常(S1处“否”)。检测到发生比特
错误(S2)。于是,数据通信设备201在数据发送时执行比特错误检测。
(2)数据接收时的错误检测过程
数据通信设备201在图16中所示的数据接收时执行错误检测。亦即,
数据通信设备201执行编码错误检测,利用4B5B解码器216判断4B5B编
码是否正常(S11)。数据通信设备201根据4B5B编码表确定从解串行器215
输入4B5B解码器216中的链路层帧10比特串逆转换产生的8比特串。在
检测到4B5B编码表中例示的比特串之外的比特串(未定义的比特串)时,
判定4B5B编码不正常(S11,“否”)。于是检测到发生了编码错误(S12)。
接下来,数据通信设备201执行CRC(循环冗余校验)错误检测,利用
接收LLF解码器220判断链路层帧中包含的数据是否正常(S13)。数据通
信设备201向利用接收LLF解码器220从选择器217经FIFO 219输入接收
LLF解码器220的链路层帧的8比特串应用利用CRC计算方程的计算。在利
用CRC计算方程计算时检测到错误时,判定链路层帧中包含的数据不正常
(S13,“否”)。于是检测到发生了CRC错误(S14)。
接下来,数据通信设备201执行形式错误检测,利用接收LLF解码器
220判断链路层帧的配置和内容是否正常(S15)。数据通信设备201确定从
选择器217经FIFO 19输入接收LLF解码器220中的链路层帧的8比特串。
在检测到与接收报头的条件不同的链路层帧接收时,判定链路层帧的配置
和内容不正常(S15的“否”)。于是检测到发生了形式错误(S16)。
接下来,数据通信设备201执行状态错误检测,利用发送和接收序列
发生器210判断链路层帧的比特串的次序是否正常(S17)。在检测到与正
常序列不同的链路层帧接收时,数据通信设备201判定链路层帧的比特串
的次序不正常(S17的“否”)。于是检测到发生了状态错误(S18)。
最后,数据通信设备201执行超时错误检测,利用发送和接收序列发
生器210判断是否在预定时间之内正常接收到ACK帧(S19)。数据通信设
备201发送数据帧、突发帧或命令帧作为发送帧,并判断是否从发送发送
帧时预定时间之内接收到对发送帧的响应(ACK帧)。在判定预定时间之内
未接收到响应时,判定在预定时间之内未正常接收到ACK帧(S19,“否”)。
于是检测到发生了超时错误(S20)。于是,数据通信设备201在数据接收
时一个接一个地执行编码错误检测、CRC错误检测、形式错误检测、状态错
误检测和超时错误检测。
图17示出了上述错误的分类和检测节点(发送节点或接收节点)。要
指出的是,发送节点是发送发送帧的数据通信设备201,接收节点是接收接
收帧的数据通信设备1。
如上所述,根据本实施例,在数据通信设备201中,利用ACK帧采用
握手通信方法,用于实现无冲突。进行链路层帧的4B5B编码。向链路层帧
添加前导码、SFD和EFD。对时钟再现的要求是由物理层帧的NRZI编码增
加的。由此,可以提高数据通信速度。此外,在向通信路径发送发送帧时,
进行比特错误检测。在从通信路径接收接收帧时,数据通信设备201执行
编码错误检测、CRC错误检测、形式错误检测、状态错误检测和超时错误检
测,由此确保高可靠性。
本公开不仅限于上述实施例,可以如下进行修改或扩展。数据通信设
备201可以是连接到车载LAN的节点或连接到除车载LAN的任何LAN的节
点。
[第四实施例]
(范例1)
在下文中,将参考图18到24和第三实施例中使用的图12到15、17
解释本公开的第四实施例的范例1。图18是示出了根据本公开第四实施例
范例1的数据通信设备配置的功能框图。包括发射机(即发送侧)和接收
机(即接收侧)的数据通信设备301与图11中第三实施例的数据通信设备
201不同之处在于包含选择器321和CRC计算部分322。
此外,像第三实施例中那样,在发送LLF编码器202从发送和接收序
列发生器210接收发送数据时,发送LLF编码器202输出用于标识(即指
定)帧的标识符,表示指出数据写或数据读的远程的比特串、表示数据长
度的尺寸、表示要访问的地址空间的ID和数据(发送数据)。相反,与第
三实施例不同的是,产生链路层帧(LLF)而没有CRC码,并输出到选择器
321和CRC计算部分322。CRC计算部分322产生关于报头部分(即控制信
息)的16比特CRC码和输入的链路层帧的数据部分并将其输出到选择器
321。由发送和接收序列发生器210进行选择器321的切换控制。通过切换
控制,产生链路层帧,从在通信帧中的指定位置布置CRC码并输入到FIFO
203中。此外,像在第三实施例中那样,经由FIFO 203向4B5B编码器204
和5N比特命令编码器205输入链路层帧。
上述链路层帧的帧结构和物理层帧的帧结构具有与第三实施例的图12
中所示相同的相关关系。此外,如第三实施例的图13中所示,将功能分成
层次结构,包含物理层、链路层和API(应用程序接口)层。可以将物理层
分成控制发送(TX)的功能部分和控制接收(RX)的功能部分。
此外,在本范例中,将物理层、链路层和API层与国际标准化组织(ISO)
制订的OSI(开放系统互连)参考模型比较,类似地,如第三实施例的图
14中所示。
下文将参考图19和图20解释确定分配给每个帧的标识符比特数(标
识符长度)的流程。在本范例中,前提是:(i)具有通信网络中最高通信
频率(使用频率)的帧是具有预定数量比特数的ID长度的数据帧,(ii)
具有第二高通信频率的帧是ACK帧;以及(iii)具有第三高通信频率的帧
是命令帧。此外,假设数据通信设备301用于诸如车上安装的车载通信网
络(即车载LAN(局域网))的通信系统中。这样的车载通信网络具有严重
的噪声环境;于是,频繁发生通信故障。结果,ACK帧的通信频率应当是第
二高的。
第一,确定了在通信网络中通信频率最高的数据帧。详细地,Na定义
为连接到通信路径的节点(码片)数;Nb定义为节点需要的地址空间;N、
N1、N2是系数。获得N1以满足Na≤2N1。获得N2以满足Nb=2N2。获得N
为N1+N2。在根据本范例的通信系统中,假设Na≤8。于是可以获得N1=3。
在假设N2=9时,获得N=12。于是,判断ID长度为12比特的数据帧(也称
为12比特ID数据帧)是通信网络中通信频率最高的数据帧。
接下来,在上文确定的ID长度为12比特的数据帧中,指定远程比特
的比特数(远程长度)、尺寸比特的比特数(尺寸长度)、ID比特(ID长度)
的比特数。确定标识符比特的比特数(标识符长度),使得标识符长度、远
程长度、尺寸长度和ID长度的总和比特是8的倍数(8N,即8比特、16比
特、24比特、32比特……)。
亦即,如图19中所示,ID长度为12的数据帧具有1比特的远程长度、
2比特的尺寸长度和12比特的ID长度。确定标识符比特的比特数(标识符
长度)为1比特,使得标识符长度、远程长度、尺寸长度和ID长度的总和
比特是8的最近倍数(即16比特)。详细地讲,如图20中所示,确定分配
给ID长度为12比特的数据帧的标识符为“0”。
接下来,确定标识符的比特数,以分配给与ID长度为12比特的数据
帧相邻的通信频率第二高的ACK帧。ACK指出对请求的响应。确定标识符比
特的比特数(标识符长度)为3比特,使得ACK长度、CRC长度和标识符长
度的总和比特是8的最近倍数(即24比特)。详细地讲,如图20中所示,
确定分配给ACK帧的标识符为“100”。
接下来,确定标识符的比特数,以分配给与ID长度为12比特的数据
帧和ACK帧相邻的通信频率第三高的命令帧。命令指出控制信息。亦即,
如图19所示,命令帧包含5比特的命令长度和16比特的CRC长度。确定
标识符比特的比特数(标识符长度)为3比特,使得命令长度、CRC长度和
标识符长度的总和比特是8的最近倍数(即24比特)。详细地讲,如图20
中所示,确定分配给命令帧的标识符为“101”。
此外,在通信系统的将来扩展中,例如增大地址空间或更长数据长度
数据通信时,可能需要本系统不必要的扩展用途数据帧。数据通信设备301
如下判断标识符长度,即分配给扩展使用数据帧的标识符比特的比特数。
下文的前提如下:扩展使用数据帧包括ID长度为4比特的数据帧、ID长度
为16比特的数据帧、ID长度为24比特的数据帧以及ID长度为32比特的
数据帧。ID长度为4比特的数据帧具有1比特的远程长度、0比特的尺寸
长度和4比特的ID长度。确定标识符比特的比特数(标识符长度)为3比
特,使得标识符长度、远程长度、尺寸长度和ID长度的总和比特是8的最
近倍数(即8比特)。详细地讲,如图20中所示,确定分配给ID长度为4
比特的数据帧的标识符为“110”。
ID长度为16比特的数据帧具有1比特的远程长度、2比特的尺寸长度
和16比特的ID长度。确定标识符比特的比特数(标识符长度)为5比特,
使得标识符长度、远程长度、尺寸长度和ID长度的总和比特是8的最近倍
数(即24比特)。详细地讲,如图20中所示,确定分配给ID长度为16比
特的扩展使用数据帧的标识符为“11100”。ID长度为24比特的数据帧具有
1比特的远程长度、2比特的尺寸长度和24比特的ID长度。确定标识符比
特的比特数(标识符长度)为5比特,使得标识符长度、远程长度、尺寸
长度和ID长度的总和比特是8的最近倍数(即32比特)。详细地讲,如图
20中所示,确定分配给ID长度为24比特的扩展使用数据帧的标识符为
“11101”。
ID长度为32比特的数据帧具有1比特的远程长度、2比特的尺寸长度
和32比特的ID长度。确定标识符比特的比特数(标识符长度)为5比特,
使得标识符长度、远程长度、尺寸长度和ID长度的总和比特是8的最近倍
数(即40比特)。详细地讲,如图20中所示,确定分配给ID长度为32比
特的扩展使用数据帧的标识符为“11110”。此外,突发帧包含几个数据(即
几个数据元)和几个CRC。任意确定突发帧的标识符比特数,与上述数据帧
不同,其中确定标识符比特的比特数(标识符长度),使得标识符长度、远
程长度、尺寸长度和ID长度的总和比特是8的最近倍数。
尽管ID长度为12的突发帧具有1比特的远程长度、4比特的尺寸长度
和12比特的ID长度,但标识符的比特数被确定为7比特。在这里,比特
的总和为24。详细地讲,如图20中所示,确定分配给ID长度为12比特的
突发帧的标识符为“1111100”。此外,尽管ID长度为32的突发帧具有1
比特的远程长度、8比特的尺寸长度和32比特的ID长度,但标识符的比特
数被确定为例如7比特。在这里,比特的总和为48。详细地讲,如图20中
所示,确定分配给ID长度为32比特的突发帧的标识符为“1111101”。要
指出的是,在突发帧中,向对应于每个单元数据的每128比特(即16字节)
增加16比特的CRC码(错误检测部分)。
此外,图21示出了具有12比特ID的突发帧。从开始的标识符经由远
程、尺寸到ID的部分等价于报头。布置第一CRC码以跟随报头之后的单元
数据部分。在本范例中,产生第一CRC作为控制使用检错码,这是用于控
制的检错码,用于利用CRC计算部分(也称为控制使用检错码产生装置或
模块)计算报头和(第一)单元数据部分的组合的目标。因此,可以利用
第一CRC码检测报头中出现的错误。
现在,上述数据通信设备301具有错误检测功能,在数据发送时执行
错误检测过程,在数据接收时执行错误检测过程。在下文中,参考第三实
施例的图15和17,以及图22一个接一个地解释数据发送时的错误检测过
程和数据接收时的错误检测过程。
(1)数据发送时的错误检测过程
数据通信设备301与第三实施例的图15中的数据通信设备201执行基
本相同的数据发送时的错误检测过程的相同S1、S2。
(2)数据接收时的错误检测过程
数据通信设备301执行图22中所示的数据接收时的错误检测。要指出
的是,数据接收时的错误检测过程几乎与图16中第三实施例的数据通信设
备201的数据接收时的错误检测过程相同。差别仅在于S13,其中接收LLF
解码器220执行CRC错误检测(编码错误检测),其判断链路层帧中的报头
以及数据(或数据元)是否正常。
在这样的配置下,数据通信设备301在数据接收时一个接一个地执行
编码错误检测、CRC错误检测、形式错误检测、状态错误检测和超时错误检
测。
此外,错误的内容与第三实施例中相同。此外,错误的分类和检测节
点(发送节点或接收节点)在第三实施例的图17中类似地示出。要指出的
是,发送节点是发送发送帧的数据通信设备301,接收节点是接收接收帧的
数据通信设备301。
下文将参考图23、24解释在接收的突发帧中的单元数据部分的一部分
中检测到CRC错误时执行的过程。如图23(a)所示,利用CRC2检测第二
有序单元数据部分(即DATA2)中的错误。在这种情况下,接收侧需要从发
送侧仅重新发送DATA2。图24示出了重新发送过程序列。(1)发送侧发送
12比特的ID突发帧。(2)接收侧接收帧并答复ACK帧。接收侧使用每个
CRC码执行错误检查。由此,假设检测到DATA2的错误。(3)接收侧发送
需要向发送侧重新发送DATA2的帧。发送侧由此接收重新发送的上述请求
帧。(4)发送侧重新发送DATA2的部分。(5)接收侧接收重新发送的数
据帧(即DATA2),然后答复ACK帧。接收侧再次对重新发送的DATA2进行
错误检查。
图23(b)示出了在以上(4)中由发送侧重新发送的通信帧。通信帧
向(a)的同一报头部分增加DATA2和CRC2。在这种情况下,标识符可以与
(a)中所示的相同以表示突发发送,或表示重新发送包含报头的一部分数
据。此外,图23(c)示出了如下情况:128比特的DATA2被分成两个通信
帧,每个帧包含64比特,并作为独立的两个通信帧重新发送。
如上所述,本范例利用包含具有控制码的报头、具有发送数据的数据
部分和具有CRC码的错误检测部分的帧进行通信。发送侧通过投入控制使
用检错码对错误检测部分中的报头进行错误检测来执行发送。接收侧基于
控制使用检错码进行报头的错误检测。于是,可以基于CRC码检测报头中
错误的出现。此外,发送侧将数据部分分成几个单元数据部分,每个单元
数据部分包括预定数量的比特(例如128个比特(16字节)),并提供几个
错误检测部分,其执行错误检测,以便对应于几个单元数据部分。接收侧
对几个单元数据部分的每个执行错误检测。因此,可以针对突发发送帧中
的每个单元数据部分进行错误检测。
此外,在发送侧,错误检测部分产生CRC码以针对报头和后续第一单
元数据部分两者执行错误检测;于是,可以抑制检错码比特数的增加。此
外,(i)控制使用检错码和(ii)添加到几个单元数据部分的每个的检错
码是同一类型的检错码(即,CRC);发送侧和接收侧的过程都容易。此外,
接收侧向发送侧发送发生错误部分的重新发送请求,其中由CRC码检测错
误;发送侧在接收到重新发送请求时,仅重新发送发生错误的部分。因此,
即使在突发发送具有立刻发送的更长通信帧时,也仅可以再次发送请求的
单元数据部分。于是改善了通信效率。
此外,发送侧向通信帧应用4B5B编码以产生经过4B5B编码的链路层
帧;向经过4B5B编码的链路层帧添加前导码、帧开始部分和帧结尾部分,
产生物理层帧;向物理层帧应用NRZI编码;并在向通信路径发送时执行比
特错误检测并形成错误检测。相反,接收侧向接收的物理层帧应用编码错
误检测、利用CRC码的错误检测、形式错误检测和状态错误检测。此外,
发送侧检测超时错误。因此,将CRC码与其他各种错误检测组合;可以进
一步提高通信可靠性。
(范例2)
图25到27示出了第四实施例的范例2。与范例1相同的装置等被分配
相同的附图标记。主要针对不同部分进行解释,对相同装置等省略解释。
范例2提供了一种过程,其中在通信过程期间错误检测部分中的CRC码的
比特数动态变化。图25从概念上示出了该过程。例如,在由于干扰很少而
错误检测次数很少的通信环境中,将CRC码的比特数保持在16比特。相反,
在CRC错误的检测变得更频繁时,CRC码的比特数按顺序增加到24比特和
32比特。
图26示出了发送侧和接收侧之间的处理序列。图27示出了根据范例2
的数据通信设备331的配置。数据通信设备331包括三个CRC计算部分322A
到322C,分别产生16比特、24比特和32比特的CRC码。将CRC计算部分
322A到322C产生和输出的CRC码输入到选择器323中。由发送和接收序列
发生器333进行选择器323的切换控制。
如图26中所示,(1)首先,发送侧利用CRC计算部分322A产生的16
比特CRC码发送帧。(2)接收侧接收发送的帧,答复ACK帧并进行错误检
查,由此检查错误。(3)接收侧向发送侧发送包含或发出重新发送数据的
请求的帧,请求将附于24比特CRC码。发送侧接收重新发送请求,由此,
变为使用CRC计算部分322B。(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码的比特数。
根据范例2,根据重新发送请求频率,接收侧向发送侧请求改变CRC码
的比特数。发送侧根据请求改变检错码的比特数。因此,可以根据通信环
境改变错误检测的精确度。
本实施例不仅限于上述范例,可以如下进行修改或扩展。可以仅为控
制信息部分准备控制使用检错码。可以根据需要提供状态错误检测装置或
模块、超时错误检测装置或模块、比特错误检测装置或模块、编码错误检
测装置或模块或形式错误检测装置或模块。数据通信设备301、331可以是
连接到车载LAN的节点或连接到除车载LAN的任何LAN的节点。可以将以
上实施例应用于通信系统,其中通信频率最高的帧是12比特长度的数据帧
之外的ID长度的数据帧。此外,可以将以上实施例应用于通信系统,其中
通信频率第二高的帧是命令帧而非ACK帧。
尽管已经参考其优选实施例描述了本公开,但要理解本公开不限于优
选实施例和构造。本公开意在覆盖各种修改和等价布置。此外,尽管优选
各种组合和配置,其他组合和配置,包括更多、更少或单个元件,也在本
公开的精神和范围之内。