CN103297185A - 发送和接收系统及方法 - Google Patents
发送和接收系统及方法 Download PDFInfo
- Publication number
- CN103297185A CN103297185A CN2012103778330A CN201210377833A CN103297185A CN 103297185 A CN103297185 A CN 103297185A CN 2012103778330 A CN2012103778330 A CN 2012103778330A CN 201210377833 A CN201210377833 A CN 201210377833A CN 103297185 A CN103297185 A CN 103297185A
- Authority
- CN
- China
- Prior art keywords
- packet
- data
- transmission
- serial
- transceiver
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0078—Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
- H04L1/0079—Formats for control data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0061—Error detection codes
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Abstract
本发明提供了发送和接收系统及方法。所述发送和接收系统包括第一收发设备和第二收发设备。第一收发设备包括生成单元和发送单元。生成单元通过将数据包识别信息附加到其上附加有差错检测码的发送数据来生成用于发送的数据包,并且使用一个代码作为数据包识别信息,该代码能够检测到在用于发送的数据包的传输期间的传输所引起的一位差错。所述发送单元对用于发送的数据包的位数进行变换并且发送经过变换的用于发送的数据包。第二收发设备包括接收单元和校正单元。接收单元对发送的数据包执行位数的逆变换。校正单元检测经过逆变换的数据包的数据包识别信息中的一位差错并且校正该差错。
Description
技术领域
本发明涉及发送和接收系统及方法。
背景技术
已知这样一种方法:通过给要被发送的头部信息和数据中的每一个附加循环冗余校验(CRC)码来生成数据包,发送数据包,以及在接收侧使用CRC码来执行差错检测。一种这样的示例性方法是快速外围组件互连(PCI express)(注册商标),其是一种高速串行接口标准(例如,见PIC-SIG董事会认可的更高性能串行I/O的PCI-Express规范
(http://www.pcisig.com/news_room/news/press_releases_archive/2002_07_23/2002_07_23.pdf))。
在诸如PCI express的通信系统中,采用了将8位数据变换成10位数据并且发送变换后的10位数据的8B/10B变换来保证DC平衡(例如,见日本未经审查的专利申请公开No.59-10056)。
如果在实现8B/10B变换的传输路径中出现差错,则一个代码会变成一个不同的代码。在上述的PCI express通信系统中,给头部信息附加CRC码,以使得头部信息冗余,从而导致传输效率的降低。相反,如果不给头部信息附加CRC码,则即使在传输路径中出现差错,差错也不会被检测到,从而可能错误地识别数据包。
发明内容
本发明的一个目的是提供一种发送和接收系统及方法,其能够检测或检测和校正不使用差错检测码来进行构造的数据包识别信息中出现的一位差错。
本发明提供了以下的发送和接收系统及方法。
根据本发明的一方面,提供了一种发送和接收系统,其包括第一收发设备及第二收发设备。第一收发设备包括生成单元和发送单元。生成单元通过将数据包识别信息附加至其上附加有差错检测码的发送数据来生成用于发送的数据包,并且将一个代码用作数据包识别信息,该代码能够检测到在用于发送的数据包的传输期间的传输所引起的一位差错。发送单元对用于发送的数据包的位数进行变换并且发送经过变换的用于发送的数据包。第二收发设备包括接收单元和校正单元。接收单元对第一收发设备的发送单元发送的用于发送的数据包进行位数的逆变换。校正单元检测由接收单元已经进行了位数逆变换的用于发送的数据包的数据包识别信息中的一位差错并且校正该差错。
根据本发明的第二方面,生成单元将按预定顺序排列的多个预定代码用作数据包识别信息,而校正单元基于多个预定代码和预定顺序来检测和校正数据包识别信息中的一位差错。
根据本发明的第三方面,提供了一种发送和接收方法,其包括:通过将数据包识别信息附加到其上附加有差错检测码的发送数据来生成用于数据包的数据包,以及将一个代码用作数据包识别信息,该代码能够检测到在用于发送的数据包的传输期间的传输所引起的一位差错;对用于发送的数据包进行位数变换并且发送经过变换的用于发送的数据包;对被发送的用于发送的数据包进行位数的逆变换;以及检测经过逆变换的用于发送的数据包的数据包识别信息中的一位差错,并且校正该差错。
根据本发明的第一和第三方面,当不使用差错检测码进行构造的数据包识别信息中出现一位差错时,可以检测到该差错或者检测和校正该差错。
根据本发明的第二方面,与不采用当前构造的情况相比,降低了用作数据包识别信息的代码的数量。
附图说明
将基于以下附图详细描述本发明的各示例性实施例,其中:
图1是示出了根据本发明的第一示例性实施例的发送和接收系统的构造的一个示例的框图;
图2是示出了根据第一示例性实施例的发送数据包的构造的一个示例的示意图;
图3A是示出了与差错的10种样式相对应的经过8B/10B逆变换的样式的示意图;
图3B是示出了与差错的10种样式相对应的经过8B/10B逆变换的样式的示意图;
图3C是示出了与差错的10种样式相对应的经过8B/10B逆变换的样式的示意图;
图3D是示出了与差错的10种样式相对应的经过8B/10B逆变换的样式的示意图;
图3E是示出了与差错的10种样式相对应的经过8B/10B逆变换的样式的示意图;
图3F是示出了与差错的10种样式相对应的经过8B/10B逆变换的样式的示意图;
图3G是示出了与差错的10种样式相对应的经过8B/10B逆变换的样式的示意图;
图3H是示出了与差错的10种样式相对应的经过8B/10B逆变换的样式的示意图;
图4是以发送数据和接收数据之间的关系来表示图3A、图3E、和图3H中的差错样式的表;
图5A是图示了第二收发设备在正常模式下的操作的一个示例的流程图;
图5B是图示了第二收发设备在重新发送模式下的操作的一个示例的流程图;
图6A是图示了正常模式的一个特定示例的时序图;
图6B是图示了重新发送模式的一个特定示例的时序图;
图6C是图示了正常模式的另一特定示例的时序图;
图7A至图7E是比较示例的时序图;以及
图8是图示了根据本发明的第二示例性实施例的发送数据包的构造的一个示例的示意图。
具体实施方式
以下,将参照附图来描述本发明的示例性实施例。在附图中,功能上实质相同的组件被给予相同的附图标记,并且将省略对相同组件的重复描述。
第一示例性实施例
图1是示出根据本发明的第一示例性实施例的发送和接收系统的构造的一个示例的框图。发送和接收系统1包括通过用于串行地发送和接收信息的传输路径3而彼此连接的第一收发设备2及第二收发设备4。传输路径3包括第一通道31、第二通道32、第三通道33和第四通道34。
第一收发设备的构造
第一收发设备2包括输入输出控制器21;与第一通道31、第二通道32、和第三通道33相对应地设置的发送数据包生成器22,8B/10B变换器(8B10B)23A、23B和23C,以及并行/串行变换器(P/S)24A、24B和24C;以及与第四通道34相对应地设置的串行/并行变换器(S/P)25、10B/8B变换器(10B8B)26以及重新发送控制器27。发送数据包生成器22是生成单元的一个示例。8B/10B变换器23A、23B和23C以及并行/串行变换器24A、24B和24C是发送单元的示例。串行/并行变换器25和10B/8B变换器26是接收单元的示例。
第二收发设备的构造
第二收发设备4包括与第一通道31、第二通道32、和第三通道33相对应地设置的串行/并行变换器(S/P)41A、41B和41C,10B/8B变换器(10B8B)42A、42B、和42C,ID差错检测和校正单元43A、43B、和43C,以及CRC单元44A、44B、和44C;与第四通道34相对应地设置的重新发送请求单元45、8B/10B变换器(8B10B)46和并行/串行变换器(P/S)47;以及输入输出控制器48。串行/并行变换器(S/P)41A、41B和41C以及10B/8B变换器(10B8B)42A、42B和42C是接收单元的示例。ID差错检测和校正单元43A、43B、和43C是校正单元的示例。CRC单元44A、44B和44C是检测单元的示例。8B/10B变换器46和并行/串行变换器47是发送单元的示例。
传输路径
在第一示例性实施例中,传输电信号的电缆被用作传输路径3。作为选择,传输光信号的光缆可以用作传输路径3。当使用光缆时,需要在发送侧和接收侧设置光电变换器。构成传输路径3的通道31、32、33和34中的每一个均包括两条线路。这两条线路可以是传输差分信号的差分传输线路。构成传输路径3的通道数量不限于四个。
第一和第二收发设备的每一个部件的构造
第一收发设备2的输入输出控制器21例如与再现设备交换数据。第二收发设备4的输入输出控制器48例如与视频显示设备交换数据。第一收发设备2的输入输出控制器21具有将发送数据保持一段预定时间的发送缓冲器(未示出)。发送数据可以被保持直到正面确认(ACK)被接收到为止。不仅可以与再现设备和视频显示设备交换数据,而且可以与图像数据生成设备和图像形成设备交换数据。
第一收发设备2的发送数据包生成器22包括与第一通道31、第二通道32和第三通道33相对应地设置的CRC生成器221A、221B和221C。发送数据包生成器22将要被传递的诸如图像信息之类的数据(发送数据)布置成数据包,从而产生发送数据包。发送数据包生成器22将一个代码用作指定发送数据包的序列识别符(ID),该代码能够检测到在发送数据包的传输期间的传输所引起的序列ID中的一位差错。发送数据包生成器22将按预定顺序排列的多个预定代码用作序列ID。后面将详细描述发送数据包。发送数据包是用于发送的数据包的一个示例。
第一收发设备2的重新发送控制器27响应于从第二收发设备4发送到第一收发设备2的重新发送请求而向输入输出控制器21提供重新发送指令。
作为一次8B/10B变换,第一收发设备2的8B/10B变换器23A、23B和23C和第二收发设备4的8B/10B变换器46将位数从8位变到10位,并且输出以10位为单位的数据。使用变换表,第一收发设备2的10B/8B变换器26和第二收发设备4的10B/8B变换器42A、42B和42C对10位数据执行作为位数的逆变换的8B/10B逆变换(10B/8B变换),并且输出以8位为单位的数据。8B/10B变换是用于执行DC平衡调节,以在发送数据中适度地包括多个0和多个1。在已知的8B/10B变换的系统中,以8位为单位的数据块被变换成0与1的比例接近50%的10位数据,以调节DC平衡,其中上述比例被预先确定。
第一收发设备2的并行/串行变换器24A、24B和24C及第二收发设备4的并行/串行变换器47将并行数据变换成串行数据(P/S变换)并且输出串行数据,它们所具有的寄存器用于设置例如衰减信号波形中的DC分量的去加重、强调信号波形中的高频分量的预加重以及差分电压来作为电源接通时的缺省设置。
第一收发设备2的串行/并行变换器25及第二收发设备4的串行/并行变换器41A、41B和41C将串行数据变换成并行数据(S/P变换),它们所具有的寄存器用于设置例如补偿传输路径3中出现的信号波形的恶化的均衡器作为电源接通时的缺省设置。
正常模式时,ID差错检测和校正单元43A、43B和43C在没有按照预定顺序使用多个代码(诸如D0.0至D31.0、D0.4至D31.4和D0.7至D31.7)时检测序列ID差错(以下将称为“ID差错”),所述多个代码被预先确定为用于指定被接连发送的发送数据包的序列ID,并且ID差错检测和校正单元43A、43B和43C基于预定代码和预定顺序来校正ID差错从而校正序列ID。后面将详细描述ID差错检测和校正单元43A、43B和43C在重新发送模式和再次重新发送模式下的操作。
CRC单元44A、44B和44C从第一收发设备2发出的发送数据包中提取数据,并且验证CRC。如果没有CRC差错,则CRC单元44A、44B和44C合并数据并且将数据输出至输入输出控制器48。如果存在CRC差错,则CRC单元44A、44B和44C向重新发送请求单元45发出指示存在差错的通知以及用于指定发送数据包的序列ID。
一旦接收到来自CRC单元44A、44B和44C的CRC差错通知,重新发送请求单元45就生成用于请求重新发送的数据包,并且将生成的数据包发送到第一收发设备2。用于请求重新发送的数据包包括指示该数据包用于请求重新发送的头部和请求被重新发送的数据包的序列ID。
可以使用诸如现场可编程门阵列(FPGA)和专用集成电路(ASIC)之类的硬件电路来部分地或全部地构造第一和第二收发设备2和4的各组件。可选地,通过使中央处理单元(CPU)根据诸如后面将描述的图5A和图5B所示的程序进行操作来在第一和第二收发设备2和4的每个计算机上实现第一和第二收发设备2和4的各组件(除了S/P和P/S变换器之外)。
发送数据包的结构
图2示出了第一收发设备2的发送数据包生成器22生成的发送数据包的构造的一个示例。发送数据包100具有固定的长度,包括2字节的头部110、256字节的数据120、2字节的CRC码130和表示发送数据包100结束的2字节的结束数据包140。头部110包括起始数据包111和8位序列ID 112,其中起始数据包111包括表示发送数据包100的开始的诸如K28.2的K码。序列ID 112是发送数据包100的识别信息的一个示例。CRC码130是差错检测码的一个示例。
CRC生成器221A、221B和221C基于发送数据通过进行计算来生成CRC码130。发送数据包生成器22通过将头部110,CRC生成器221A、221B和221C生成的CRC码130以及结束数据包140附加到发送数据120上来生成发送数据包100。
差错样式(pattern)
现在参照图3A至图3H,来描述序列ID 112的差错样式。图3A至图3H示出了与10种差错样式相对应的经过8B/10B逆变换的接收数据。在图3A至图3H中,左侧一列的D00.0至D31.7表示进行8B/10B变换之前的发送数据,而1位至10位表示开始出现差错的位的位置。
当要发送8位数据时,经过8B/10B变换之后,8位数据变成了10位数据。该10位数据具有1位差错的可能性具有10种样式。当数据是Dxx.y时,xx与0至31的5个最低有效位相对应,而y与0至7的3个最高有效位相对应。
差错包括序列ID 112中的差错(ID差错)和CRC码130中的差错(下文将称为“CRC差错”)。另外,差错包括两种类型:一种差错是虽然在变换表中存在对应数据但是数据被编码成一个不同的代码;另一种差错是在变换表中没有对应数据(在表中不存在,表示成NIT)。例如,参照图3A,当发送数据D00.0从8位数据变换成10位数据时,如果在开始的第一位出现差错,则D00.0被变换成D00.2接收数据。当发送数据D00.0从8位数据变换成10位数据时,如果在从开始数的第三位出现差错,则由于在变换表中没有对应数据,则结果变成NIT差错。
图4是以发送数据和接收数据之间的关系来表示图3A、图3E和图3H中的差错样式的表。在图4中,双环表示正确的接收数据,而单环表示出现一位差错的接收数据。当Dxx.0作为发送数据被发送时,如从图3A可以清楚地看到,Dxx.0、Dxx.1、Dxx.2、Dxx.5或者Dxx.6可作为接收数据被接收。当Dxx.4作为发送数据被发送时,如从图3E可以清楚地看到,Dxx.1、Dxx.2、Dxx.3、Dxx.4、Dxx.5或Dxx.6可作为接收数据被接收。当Dxx.7作为发送数据被发送时,如从图3H可以清楚地看到,Dxx.1、Dxx.2、Dxx.3、Dxx.5、Dxx.6或者Dxx.7可作为接收数据被接收。
作为序列ID 112,可以使用一个能够将一位差错校正为正确的序列ID 112的代码(所述一位差错是发送数据包被传输到第二收发设备4期间的传输所引起的差错),尤其是可以按预定顺序(诸如从具有较小数字的代码到具有较大数字的代码的顺序)使用多个预定代码(诸如多个ID,即D00.0至D31.0(见图3A)、D00.4至D31.4(见图3E)和D00.7至D31.7(见图3H)的96种组合),并且重复使用这些代码。因此,当8B/10B变换器23A、23B和23C将序列ID112从8位数据变换为10位数据并且发送该10位数据时,即使10位中的任意一位出现差错,该差错也能被检测到,而不会将该差错作为错误的序列ID,并且该差错可以被校正为正确的序列ID 112。当重新发送时序列ID中出现NIT差错时,该差错不会被校正,因此,请求再次重新发送。
第一示例性实施例的操作
现在参照图6A至图6C,来根据图5A和图5B中所示的流程图来描述根据第一示例性实施例的操作的一个示例。图5A示出了正常模式下第二收发设备4的操作的一个示例,图5B示出了重新发送模式下第二收发设备4的操作的一个示例。图6A示出了正常模式的一个具体示例。图6B是出了重新发送模式的一个具体示例。图6C示出了重新发送模式的另一个具体示例。
第一收发设备2的CRC生成器221A、221B和221C基于从输入输出控制器21输出的发送数据120通过执行计算来生成CRC码130。发送数据包生成器22通过将头部110、CRC码130和结束数据包140附加到要被传输的数据120来生成发送数据包100。此时,重复使用图3A、图3E和图3H所示的D00.0至D31.0、D00.4至D31.4和D00.7至D31.7作为多个序列ID 112。
发送数据包生成器22生成的发送数据包100通过8B/10B变换器23A、23B和23C进行了8B/10B变换,从8位数据变换为10位数据。10位数据通过并行/串行变换器24A、24B和24C从并行数据变换为串行数据。串行数据从第一收发设备2经由第一通道31、第二通道32和第三通道33被发送到第二收发设备4。
(1)正常模式
第二收发设备4接收作为空闲信号的K28.5,直到接收到发送数据包100为止(S1)。第二收发设备4一旦接收到发送数据包100,串行/并行变换器41A、41B和41C就将发送数据包100从串行数据变换成并行数据。并行数据通过10B/8B变换器42A、42B和42C进行8B/10B逆变换,从10位数据变换成8位数据,并且8位数据被输入到ID差错检测和校正单元43A、43B和43C。
一旦接收到空闲信号之外的信号,ID差错检测和校正单元43A、43B和43C就确定该信号是否是头部110(S2)。由于所接收到的空闲信号之外的信号是表示起始数据包111的K28.2代码,因此确定该信号是头部110(在S2中为是)。ID差错检测和校正单元43A、43B和43C接收包含在头部110中的序列ID 112(S3)。
ID差错检测和校正单元43A、43B和43C确定序列ID 112是否为差错(ID差错)(S4)。当检测到ID差错(在S4中为是)时,ID差错检测和校正单元43A、43B和43C将该错误的序列ID校正为正确的序列ID 112(S5),并且将发送数据包100输出到CRC单元44A、44B和44C(S6)。当没有检测到ID差错(在S4中为否)时,ID差错检测和校正单元43A、43B和43C不对序列ID 112进行校正,并且将发送数据包100输出到CRC单元44A、44B和44C(S6)。
例如,如图6A所示,假设"D27.0"、"D28.0"、"D29.0"、"D30.0"、"D31.0"、"D0.4"、"D1.4"、"D2.4"和"D3.4"作为多个序列ID 112从第一收发设备2发出。当第二收发设备4第三个接收到的发送数据包100的序列ID 112由于传输期间的差错变为"D29.2"而不是"D29.0"时,ID差错检测和校正单元43A、43B和43C确定"D29.2"不属于预定代码,并且将"D29.2"校正为作为正确代码的"D29.0"。当第二收发设备4第七个接收到的发送数据包100的序列ID 112由于传输期间的差错变为"D1.3"而不是"D1.4"时,ID差错检测和校正单元43A、43B和43C确定"D1.3"不属于预定代码,并且将"D1.3"校正为作为正确代码的"D1.4"。
CRC单元44A、44B和44C执行CRC码130的CRC计算(S7)。如果没有CRC差错(在S7中为否),则CRC单元44A、44B和44C确定该接收是正常的并且将序列ID 112写入存储器(S8)。CRC单元44A、44B和44C合并数据120并且将数据120输出到输入输出控制器48。如果存在CRC差错(在S7中为是),CRC单元44A、44B和44C从存储器读取最后一次写入的序列ID 112,并且将该CRC差错和通过将读取的序列ID加一获得的序列ID 112通知给重新发送请求单元45。
为了请求对具有通知中给出的序列ID 112的发送数据包的重新发送,重新发送请求单元45产生用于请求重新发送的数据包,模式改变为重新发送模式(S9)。用于请求重新发送的数据包通过8B/10B变换器46进行8B/10B变换,从8位数据变换为10位数据,而10位数据通过串行/并行变换器47从并行数据变换为串行数据。该串行数据经由传输路径3的第四通道34从第二收发设备4发送到第一收发设备2。
例如,如图6B所示,假设"D29.0"、"D30.0"和"D31.0"作为序列ID 112从第一收发设备2发出。当第二收发设备4第一个接收到的发送数据包100的CRC码130由于传输期间的差错变为CRC差错时,重新发送请求单元45请求对序列ID为"D29.0"的数据包的重新发送。
当第一收发设备2接收到用于请求重新发送的数据包时,用于请求重新发送的数据包被串行/并行变换器25从串行数据变换为并行数据,并且并行数据通过10B/8B变换器26进行8B/10B逆变换,从10位数据变换为8位数据。该8位数据被输入到重新发送控制器27。
重新发送控制器27从用于请求重新发送的数据包中提取序列ID112,该用于请求重新发送的数据包被从第二收发设备4发送到第一收发设备2。重新发送控制器27指示输入输出控制器21重新发送具有所提取的序列ID 112的数据包。
输入输出控制器21向发送数据包生成器22发送保持在用于重新发送的发送缓冲器中的对应于所提取的序列ID的数据。当被指示生成发送数据包时,发送数据包生成器22生成发送数据包。重新生成的发送数据包100经过如上所述的8B/10B变换和并行/串行变换,然后被发送到第二收发设备4。
(2)重新发送模式
第二收发设备4接收作为空闲信号的K28.5,直到接收到发送数据包100为止(S11)。一旦第二收发设备4接收到发送数据包100,发送数据包100就被串行/并行变换器41A、41B和41C从串行数据变换成并行数据。并行数据通过10B/8B变换器42A、42B和42C进行8B/10B逆变换,从10位数据变换成8位数据,以及8位数据被输入到ID差错检测和校正单元43A、43B和43C。
一旦接收到空闲信号之外的信号,ID差错检测和校正单元43A、43B和43C就确定该信号是否是头部110(S12)。由于接收到的空闲信号之外的信号是表示起始数据包111的K28.2,因此确定该信号是头部110(在S12中为是)。ID差错检测和校正单元43A、43B和43C接收包括在头部110中的序列ID 112(S13)。
ID差错检测和校正单元43A、43B和43C确定序列ID 112是否是ID差错(S14)。当检测到ID差错时,如果该差错是NIT差错之外的ID差错,则ID差错检测和校正单元43A、43B和43C将该错误的序列ID校正为正确的序列ID 112(S15),并且确定接收到的序列ID112与重新发送的ID(异常接收时写入存储器的序列ID 112)是否匹配(S16)。如果接收到的序列ID 112与重新发送的ID匹配(在S16为是),则ID差错检测和校正单元43A、43B和43C将该发送数据包输出到CRC单元44A、44B和44C(S17)。当没有检测到ID差错(在S14中为否)时,ID差错检测和校正单元43A、43B和43C确定接收到的序列ID 112是否为重新发送的ID(S16)。
CRC单元44A、44B和44C执行CRC码130的CRC计算(S18)。如果没有CRC差错(在S18中为否),则CRC单元44A、44B和44C确定接收正常并且将序列ID 112写入存储器(S19)。CRC单元44A、44B和44C合并数据120并且将数据120输出到输入输出控制器48。如果存在CRC差错(在S18中为是),则CRC单元44A、44B和44C从存储器读取最后一次写入的序列ID 112并且将CRC差错和通过将读取的序列ID加一获得的序列ID 112通知给重新发送请求单元45。
为了再次请求对具有通知中给出的序列ID 112的发送数据包的重新发送,重新发送请求单元45产生用于请求重新发送的数据包,并且模式改变为再次重新发送模式(S20)。用于请求重新发送的数据包通过8B/10B变换器46进行8B/10B变换,从8位数据变换为10位数据,然后通过并行/串行变换器47将该10位数据从并行数据变换成串行数据。该串行数据然后经由传输路径3的第四通道34从第二收发设备4发送到第一收发设备2。
当在步骤S14检测到ID差错时,如果该差错是NIT差错,则序列ID 112被写入存储器,并且模式改变为再次重新发送模式(S20)。如果在步骤S16确定序列ID 112与重新发送的ID不匹配(S16中为否),则该数据被丢弃(S21)。
例如,如图6B所示,当由于第一个"D29.0"的CRC码130是CRC差错而进行重新发送请求时,第二收发设备4的ID差错检测和校正单元43A、43B和43C丢弃在已经请求重新发送的"D29.0"到达之前已经到达的具有"D30.0"和"D31.0"的发送数据包100。接收到的"D29.4"被校正为"D29.0"。
例如,如图6C所示,假设"D29.0"、"D30.0"和"D31.0"作为序列ID 112从第一收发设备2发出。当第二收发设备4第一个接收到的发送数据包100的CRC码130由于传输期间的差错变成CRC差错时,重新发送请求单元45请求对序列ID为"D29.0"的数据包的重新发送。
ID差错检测和校正单元43A、43B和43C丢弃在已经请求重新发送的"D29.0"到达之前已经到达的具有"D30.0"的发送数据包100。由于下一个接收到的发送数据包100的序列ID 112是NIT差错,这可能是已经请求重新发送的"D29.0"。因此,"D29.0"被请求再次重新发送。
第一收发设备2响应于第一重新发送请求发送"D29.0"和"D30.0",然后响应于对"D29.0"的第二次重新发送请求发送"D29.0"和"D31.0"。
第二收发设备4的ID差错检测和校正单元43A、43B和43C接收"D29.0"和"D30.0",然后再次接收"D29.0"。因此,ID差错检测和校正单元43A、43B和43C丢弃了该"D29.0",并且接收下一个"D31.0"。
比较示例
图7A至图7E是比较示例的时序图。参照图7A,数据项按照序列ID的顺序从第一收发设备2发出。如果在No.3处出现CRC差错,则第二收发设备4请求对No.3的重新发送。响应于重新发送请求,第一收发设备2按照序列ID的顺序重新发送从No.3开始的数据项,从而第二收发设备4能够以正确顺序接收数据。
参照图7B,数据项按照序列ID的顺序从第一收发设备2发出。如果在No.3处出现CRC差错,则第二收发设备4请求对No.3进行重新发送。响应于该重新发送请求,第一收发设备2按照序列ID顺序重新发送从No.3开始的数据项。如果序列ID由于在重新发送请求到达之前刚发送的No.5而变成No.3,则第二收发设备4不能对这个No.3与重新发送的No.3进行区分,从而可能将No.5的数据错误地接收作为No.3的数据。而且,正确的No.3被丢弃。
参照图7C,如果在No.3处出现CRC差错,则第二收发设备4请求对No.3的重新发送。响应于该重新发送请求,第一收发设备2按照序列ID的顺序重新发送从No.3开始的数据项。然而,如果序列ID变为No.6,则该No.6不能与在重新发送请求到达之前已连续发送的No.6区分开,因此这个No.6被丢弃。
参照图7D,如果在No.3处出现CRC差错和NIT差错,则第二收发设备4请求对No.3的重新发送。响应于该重新发送请求,第一收发设备2按照序列ID的顺序重新发送从No.3开始的数据项。如果序列ID引起NIT差错,则请求再次重新发送No.3。
参照图7E,如果在No.3处出现CRC差错和NIT差错,则第二收发设备4请求对No.3的重新发送。响应于该重新发送请求,第一收发设备2按照序列ID的顺序重新发送从No.3开始的数据项。如果在重新发送请求到达之前刚刚发送的序列ID引起了NIT差错,则请求再次重新发送No.3。如果已经请求再次重新发送的No.3变为No.5,则接收侧不能将该No.5与连续发送的No.5区分开,从而可能错误地接收错误的数据。
如图7B和图7C所示,当传输差错出现并且序列ID变为不同数字时,不能正确地发送信号。当序列ID引起NIT差错时,可以通过进行重新发送请求或者再次重新发送请求来处理该差错。然而,如果序列ID变为不同数字时,该序列ID可能被错误地识别。
第一示例性实施例的优势
根据第一示例性实施例,由于能够识别出现在数据包识别信息中的一位差错的代码被用作数据包识别信息,因此即使一位差错出现在其中没有使用差错检测码进行构造的数据包识别信息中,该差错也能被检测到并且被校正。即使在序列ID在重新发送或者再次重新发送期间变为一个不同数字时,错误的序列ID也可以被校正为正确的序列ID。然而,NIT差错是不能校正的。
第二示例性实施例
图8是示出根据本发明的第二示例性实施例的发送数据包的构造的一个示例的示意图。由于发送和接收系统与图1所示的相同,因此将省略对它的描述。
根据第二示例性实施例的发送数据包100A与第一示例性实施例的不同之处在于头部110的构造;然而,其余构造与第一示例性实施例的相同。即,根据第二示例性实施例的发送数据包100A具有固定的长度,并且包括2字节的头部110、256字节的数据120、2字节的CRC码130和表示发送数据包100A结束的2字节的结束数据包140。头部110包括起始数据包111、3位通道号113和5位序列ID 112,其中起始数据包111表示发送数据包100A的开始,包括诸如K28.2的K码。通道号113和序列ID 112是发送数据包100A的识别信息的示例。
即使在发送数据包100A被传输到第二收发设备4期间的传输引起了一位差错,也可以使用一个能够将错误的序列ID校正为正确的序列ID 112的代码,尤其是多个预定代码(诸如用于第一通道31的D00.0至D31.0(见图3A)、用于第二通道32的D00.4至D31.4(见图3E)和用于第三通道33的D00.7至D31.7(见图3H)这些ID的5个最低有效位)按照预定顺序(诸如从具有较小数字的代码到具有较大数字的代码的顺序)被用作序列ID 112,并且这些代码被重复使用。
对应于第一通道31的ID差错检测和校正单元43A会错误地接收Dxx.1、Dxx.2、Dxx.5或者Dxx.6。在这种情况下,Dxx.1、Dxx.2、Dxx.5或者Dxx.6被校正为Dxx.0。
对应于第二通道32的ID差错检测和校正单元43B会错误地接收Dxx.1、Dxx.2、Dxx.3、Dxx.5或者Dxx.6。在这种情况下,Dxx.1、Dxx.2、Dxx.3、Dxx.5或者Dxx.6被校正为Dxx.4。
对应于第三通道33的ID差错检测和校正单元43C会错误地接收Dxx.1、Dxx.2、Dxx.3、Dxx.5或者Dxx.6。在这种情况下,Dxx.1、Dxx.2、Dxx.3、Dxx.5或者Dxx.6被校正为Dxx.7。
第二示例性实施例的优势
根据第二示例性实施例,由于头部包括通道号,则单个ID差错检测和校正单元能够检测和校正ID差错。
已经提供了对上述的对本发明示例性实施例的描述,以用于图示和说明目的。其意图不是为了对本发明进行穷举或者将本发明限于所公开的具体形式。显然的是,多种变型和改变对于所属领域的技术人员而言是显而易见的。选择和描述这些实施例是为了最好地说明本发明的原理及其实际应用,从而使得所属领域的其他技术人员能够理解本发明的各个实施例和适于预期的特定应用的各种变型。其意图是本发明的保护范围由随附权利要求及其等价物限定。
例如,在不偏离本发明范围的情况下,可以省略根据示例性实施例的一个或一些组件。在根据示例性实施例的流程中,可以增加、删除、和/或替换一个或多个步骤。示例性实施例中使用的程序可以存储在诸如光盘只读存储器(CR-ROM)之类的记录介质中并且可以以记录介质形式提供。
Claims (3)
1.一种发送和接收系统,包括:
第一收发设备;以及
第二收发设备,
其中,第一收发设备包括:
生成单元,其通过将数据包识别信息附加到发送数据上来生成用于发送的数据包,其中发送数据附加有差错检测码,所述生成单元将一个代码用作数据包识别信息,该代码能够检测到在用于发送的数据包的传输期间由传输所引起的一位差错,以及
发送单元,其对用于发送的数据包的位数进行变换并且发送经过变换的用于发送的数据包,以及
其中,第二收发设备包括:
接收单元,其对所述第一收发设备的发送单元发送的用于发送的数据包进行位数的逆变换,以及
校正单元,其检测已经被所述接收单元进行了位数的逆变换的用于发送的数据包的数据包识别信息中的一位差错并且校正该差错。
2.根据权利要求1所述的发送和接收系统,其中所述生成单元将按预定顺序排列的多个预定代码用作数据包识别信息,以及
其中所述校正单元基于所述多个预定代码和所述预定顺序来检测和校正所述数据包识别信息中的一位差错。
3.一种发送和接收方法,包括:
通过将数据包识别信息附加到其上附加有差错检测码的发送数据来生成用于发送的数据包,并且将一个代码用作数据包识别信息,该代码能够检测到在用于发送的数据包的传输期间由传输所引起的一位差错;
对用于发送的数据包进行位数的变换以及发送经过变换的用于发送的数据包;
对被发送的用于发送的数据包进行位数的逆变换;以及
检测经过逆变换的用于发送的数据包的数据包识别信息中的一位差错并且校正该差错。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012042242A JP5982869B2 (ja) | 2012-02-28 | 2012-02-28 | 送受信システム及びプログラム |
JP2012-042242 | 2012-02-28 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103297185A true CN103297185A (zh) | 2013-09-11 |
CN103297185B CN103297185B (zh) | 2018-01-26 |
Family
ID=49004649
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210377833.0A Active CN103297185B (zh) | 2012-02-28 | 2012-10-08 | 发送和接收系统及方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8621314B2 (zh) |
JP (1) | JP5982869B2 (zh) |
CN (1) | CN103297185B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106210749A (zh) * | 2014-12-26 | 2016-12-07 | 富士施乐株式会社 | 解码设备、信息传输系统和解码方法 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012124642A (ja) * | 2010-12-07 | 2012-06-28 | Fuji Xerox Co Ltd | 受信装置、データ転送装置、及びプログラム |
TWI686085B (zh) * | 2012-11-29 | 2020-02-21 | 日商索尼半導體解決方案公司 | 攝像裝置及圖像感測器之資料傳送方法、資訊處理裝置及資訊處理方法以及程式 |
JP7020991B2 (ja) * | 2018-05-01 | 2022-02-16 | 株式会社東芝 | 信号制御回路 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5608738A (en) * | 1993-11-10 | 1997-03-04 | Nec Corporation | Packet transmission method and apparatus |
JP2000032055A (ja) * | 1998-07-16 | 2000-01-28 | Toshiba Corp | 情報データ多重化伝送システム |
JP3356146B2 (ja) * | 1999-12-22 | 2002-12-09 | 日本電気株式会社 | 通信端末 |
US20030204806A1 (en) * | 2002-04-26 | 2003-10-30 | Fuji Xerox Co., Ltd. | Signal transmission system |
US6748567B1 (en) * | 2001-05-01 | 2004-06-08 | Zettacom, Inc. | Method and system for error correction over serial link |
CN1926813A (zh) * | 2004-03-17 | 2007-03-07 | 索尼爱立信移动通讯股份有限公司 | 特设网的选择性报头错误校正 |
CN101312387A (zh) * | 2007-05-24 | 2008-11-26 | 富士施乐株式会社 | 数据传输设备、数据发送和接收装置以及数据传输系统 |
US7802167B1 (en) * | 2006-02-08 | 2010-09-21 | Pmc-Sierra Us, Inc. | Apparatus and method for detecting extended error bursts |
CN102571267A (zh) * | 2010-12-07 | 2012-07-11 | 富士施乐株式会社 | 数据接收装置、数据传送设备以及数据接收方法 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4486739A (en) | 1982-06-30 | 1984-12-04 | International Business Machines Corporation | Byte oriented DC balanced (0,4) 8B/10B partitioned block transmission code |
JPS60154746A (ja) | 1984-01-25 | 1985-08-14 | Chino Works Ltd | 伝送装置 |
FR2595522A1 (fr) * | 1986-03-06 | 1987-09-11 | Cimsa Sintra | Procede et dispositif de transmission de donnees numeriques par messages organises en trames |
US4860292A (en) * | 1987-08-13 | 1989-08-22 | Digital Equipment Corporation | Communication protocol |
US5072449A (en) * | 1989-12-21 | 1991-12-10 | Stratacom, Inc. | Packet framing using cyclic redundancy checking |
US5128945A (en) * | 1989-12-21 | 1992-07-07 | Stratacom, Inc. | Packet framing using cyclic redundancy checking |
JPH04211547A (ja) * | 1990-03-20 | 1992-08-03 | Fujitsu Ltd | 同期回路 |
JPH04334234A (ja) * | 1991-05-10 | 1992-11-20 | Nec Corp | 多重処理形atmセル誤り訂正回路 |
ES2068105B1 (es) * | 1992-11-30 | 1995-11-01 | Alcatel Standard Electrica | Metodo y dispositivo de deteccion y correccion de errores en cabeceras de celulas atm. |
US6243846B1 (en) * | 1997-12-12 | 2001-06-05 | 3Com Corporation | Forward error correction system for packet based data and real time media, using cross-wise parity calculation |
US5870412A (en) * | 1997-12-12 | 1999-02-09 | 3Com Corporation | Forward error correction system for packet based real time media |
US6711709B1 (en) * | 1998-06-24 | 2004-03-23 | Unisys Corporation | Integrated block checking system for rapid file transfer of compressed data |
US6430159B1 (en) * | 1998-12-23 | 2002-08-06 | Cisco Systems Canada Co. | Forward error correction at MPEG-2 transport stream layer |
US7069495B2 (en) * | 2000-10-30 | 2006-06-27 | Telefonaktiebolaget Lm Ericsson (Publ) | Bit error resilience for an internet protocol stack |
JP5454224B2 (ja) * | 2010-02-25 | 2014-03-26 | ソニー株式会社 | 記憶装置および記憶システム |
-
2012
- 2012-02-28 JP JP2012042242A patent/JP5982869B2/ja active Active
- 2012-09-04 US US13/603,124 patent/US8621314B2/en not_active Expired - Fee Related
- 2012-10-08 CN CN201210377833.0A patent/CN103297185B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5608738A (en) * | 1993-11-10 | 1997-03-04 | Nec Corporation | Packet transmission method and apparatus |
JP2000032055A (ja) * | 1998-07-16 | 2000-01-28 | Toshiba Corp | 情報データ多重化伝送システム |
JP3356146B2 (ja) * | 1999-12-22 | 2002-12-09 | 日本電気株式会社 | 通信端末 |
US6748567B1 (en) * | 2001-05-01 | 2004-06-08 | Zettacom, Inc. | Method and system for error correction over serial link |
US20030204806A1 (en) * | 2002-04-26 | 2003-10-30 | Fuji Xerox Co., Ltd. | Signal transmission system |
CN1926813A (zh) * | 2004-03-17 | 2007-03-07 | 索尼爱立信移动通讯股份有限公司 | 特设网的选择性报头错误校正 |
US7802167B1 (en) * | 2006-02-08 | 2010-09-21 | Pmc-Sierra Us, Inc. | Apparatus and method for detecting extended error bursts |
CN101312387A (zh) * | 2007-05-24 | 2008-11-26 | 富士施乐株式会社 | 数据传输设备、数据发送和接收装置以及数据传输系统 |
CN102571267A (zh) * | 2010-12-07 | 2012-07-11 | 富士施乐株式会社 | 数据接收装置、数据传送设备以及数据接收方法 |
Non-Patent Citations (2)
Title |
---|
I.A.AREF, ET AL.: "RTL-level modeling of an 8B/10B encoder-decoder using SystemC", 《2008. WOCN "08. 5TH IFIP INTERNATIONAL CONFERENCE ON WIRELESS AND OPTICAL COMMUNICATIONS NETWORKS》 * |
张磊: "基于纠错技术的高速串行编解码器研究与设计", 《中国优秀硕士学位论文全文数据库(电子期刊)》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106210749A (zh) * | 2014-12-26 | 2016-12-07 | 富士施乐株式会社 | 解码设备、信息传输系统和解码方法 |
CN106210749B (zh) * | 2014-12-26 | 2019-04-19 | 富士施乐株式会社 | 解码设备、信息传输系统和解码方法 |
Also Published As
Publication number | Publication date |
---|---|
JP5982869B2 (ja) | 2016-08-31 |
US20130227370A1 (en) | 2013-08-29 |
CN103297185B (zh) | 2018-01-26 |
JP2013179476A (ja) | 2013-09-09 |
US8621314B2 (en) | 2013-12-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11347580B2 (en) | Method of encoding data | |
EP2140689B1 (en) | Automated compliance testing for video devices | |
JP5295135B2 (ja) | 無線通信チャネルを通した非圧縮されたビデオ伝送方法およびシステム | |
US7908405B2 (en) | Solution for consumer electronics control | |
KR102516027B1 (ko) | 헤더 처리 장치, 프로세서 및 전자장치 | |
US9160646B2 (en) | Data transmission system and data transmission device | |
US8103942B2 (en) | Data transmission apparatus, data transmission device, data reception device and data transmission system | |
JP5987319B2 (ja) | 送受信システム及びプログラム | |
CN103297185A (zh) | 发送和接收系统及方法 | |
JP2018501706A5 (zh) | ||
US20130326286A1 (en) | Data transfer apparatus and data transfer method | |
US11032100B2 (en) | Communication devices and methods | |
CN101018107B (zh) | 数据发送设备、数据接收设备、数据发送方法、和数据接收方法 | |
JP4988544B2 (ja) | データ処理装置およびデータ処理方法並びにプログラム | |
JP2016197904A (ja) | 送受信システム及びプログラム | |
CN110891154B (zh) | 一种视频容错传输系统与容错发送装置 | |
CN103475446A (zh) | 发送和接收系统以及发送和接收方法 | |
JP2015165625A (ja) | バルク伝送装置およびバルク伝送システムおよびバルク伝送方法 | |
US20120144257A1 (en) | Receiving apparatus, data transfer apparatus, data receiving method and non-transitory computer readable recording medium | |
CN103631740A (zh) | Sd卡在spi模式下传输自适应字节对齐的方法及电路 | |
US20160139860A1 (en) | Communication system, image forming apparatus and communication method | |
CN114064533A (zh) | 一种rs-485信号极性的识别方法 | |
JP2009164786A (ja) | データ転送システムおよびデータ転送方法 | |
TW201517561A (zh) | 無線通訊裝置、無線通訊系統及其等之無線通訊方法 | |
JP2013250956A (ja) | データ転送装置、データ転送方法、及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder | ||
CP01 | Change in the name or title of a patent holder |
Address after: Tokyo Patentee after: Fuji film business innovation Co.,Ltd. Address before: Tokyo Patentee before: Fuji Xerox Co.,Ltd. |