本发明涉及解码设备、信息传输系统和解码方法。
背景技术:
专利文献1描述了一种信息块传输方法。在该信息块传输方法中,传输节点包括第二误差校正码编码单元,该第二误差校正码编码单元针对矩阵的每一行已经通过第一误差校正码编码单元执行了误差校正编码的信息块执行误差校正编码,接收节点包括第二误差校正码解码单元,该第二误差校正码解码单元针对每一行已经通过所述第二误差校正码编码单元为每一行执行了误差校正编码的信息块进行解码,并且将解码后的信息块提供给第一误差校正码解码单元。
专利文件2描述了一种串行通信系统,其包括传输设备和接收设备。传输设备包括:第一模式添加单元,其向数据添加包括第一码和第二码模式并且第一码的数量和第二码的数量之间的差为0的N位模式;编码单元,其对已经向其添加模式的数据进行编码,从而保持DC平衡;误差检测码添加单元,其将检测传输期间发生的数据误差的代码转换为保持DC平衡的N位码,并将N位码添加至数据来代替模式;以及传输单元,其在串行通信中传输已经添加了代码的数据。接收设备包括:接收单元,其接收从传输单元传输的数据;误差检测单元,其通过使用添加至所接收数据的代码来执行数据的误差检测;第二模式添加单元,其在误差检测之后添加模式来代替添加至数据的代码;解码单元,其对添加了模式的数据进行解码;以及模式去除单元,其从解码数据中去除模式。
专利文献3描述了一种数据传输设备,该数据传输设备包 括:帧形成单元,其基于位来顺序地形成由多个传输数据项组成的帧;误差校正码添加单元,其在多个顺序形成的帧在时间线中并行布置时,使用多个帧中包括的多个传输数据项中的被布置在在预定位置中多个传输数据项作为计算源数据来计算误差校正码,基于位来将计算的误差校正码划分为多个划分数据项,并将划分数据项添加至多个帧;传输单元,其通过传输线来传输其中误差校正码已经被添加到多个帧的误差校正码添加帧;接收单元,其通过传输线顺序接收误差校正码添加帧;以及误差检测校正单元,其从接收单元顺序接收的多个误差校正码添加帧中包括的多个划分数据项中获取误差校正码,并基于所获得的误差校正码对计算源数据执行误差检测和校正。
专利文献4描述了一种检测接收信号中的误差的方法。该方法包括:奇偶校验检查步骤,通过对接收信号执行奇偶校验检查来检查是否存在一位误差;循环汉明码检查步骤,通过使用生成多项式划分已经去除了奇偶校验位的接收信号来检查是否存在1位误差或2位误差;以及确定步骤,当在循环汉明码检查步骤中没有检测到误差时确定没有发生误差,当在奇偶校验检查步骤和循环汉明码检查步骤中都检测到误差时确定发生1位误差,以及仅在循环汉明码检查步骤中检测到误差时确定发生2位误差或传输异常。
[专利文献1]JP-A-05-284148
[专利文献2]JP-A-2013-239940
[专利文献3]JP-A-2009-141453
[专利文献4]JP-A-2001-102938
技术实现要素:
本发明的目的在于提供解码设备、解码方法和信息传输系统,与使用误差校正码执行误差检测的情况相比,其能够高精度地检测奇数的位误差。
根据本发明的第一方面,提供了一种解码设备,包括:
接收单元,其接收数据,该数据的位数被转换且被编码以使第一码的出现频率和第二码的出现频率之间的比率处在预定范围内,并且数据附有误差校正码,误差校正码包括用于计算编码数据的误差位置的冗余位和编码数据的奇偶校验位;以及
检测单元,当与基于被接收单元接收的编码数据所附的误差校正码中包括的冗余位而计算出的误差位置相对应的校正子的值为第一预定值且在编码数据的解码中发生误差时,或者当校正子的值不是第一值且奇偶校验位的值是第二预定值且在编码数据的解码中发生误差时,检测单元检测到在数据中存在奇数位误差。
根据本发明的第二方面,提供了根据第一方面的解码设备,
其中,当校正子的值不是第一值且奇偶校验位的值不是第二值时,检测单元检测到在数据中存在偶数位误差。
根据本发明的第三方面,提供了根据第一方面或第二方面的解码设备,
其中,当校正子的值不是第一值、奇偶校验位的值是第二预定值并且在使用校正子执行了误差校正的编码数据的解码中发生误差时,检测单元检测到在数据中存在3位以上的奇数位误差。
根据本发明的第四方面,提供了一种信息传输系统,包括:
编码设备,其包括转换单元和传输单元,转换单元转换和编码将被保持的数据的位数使得第一码的出现频率与第二码的出现频率之间的比率处在预定范围内,生成包括用于计算数据的误差位置的冗余位和数据的奇偶校验位的误差校正码,并将生成的误差校正码添加至编码数据,传输单元传输通过转换单元所获取的数据;以及
根据第一方面至第三方面中任一方面所述的解码设备。
根据本发明的第五方面,提供了一种解码方法,包括:
接收数据,该数据的位数被转换且被编码以使第一码的出现频率和第二码的出现频率之间的比率处在预定范围内,并且该数据附有误差校正码,误差校正码包括用于计算编码数据的误差位置的冗余位和编码数据的奇偶校验位;以及
当与基于被接收单元接收的编码数据所附的误差校正码中包括的冗余位而计算出的误差位置相对应的校正子的值为第一预定值且在编码数据的解码中发生误差时,或者当校正子的值不是第一值且奇偶校验位的值是第二预定值且在编码数据的解码中发生误差时,检测在数据中存在奇数位误差。
根据本发明的第一方面、第四方面和第五方面,与使用误差校正码执行误差校正的情况相比,高精度地检测到偶数位误差。
此外,根据本发明的第二方面或第三方面,检测到偶数位。
根据本发明的第四方面,与使用误差校正码执行误差检测的情况相比,高精度地检测到3位以上的奇数位误差。
附图说明
将基于以下附图详细地描述本发明的示例性实施例,其中:
图1是示出根据本发明第一示例性实施例的信息传输系统的结构的实例的示意图;
图2是示出根据第一示例性实施例的编码设备的结构的实例的框图;
图3A至图3E是用于描述编码设备的操作的示图;
图4A是示出误差校正码的实例的示图,以及图4B是示出将被传输的数据的实例的示图;
图5是示出根据第一示例性实施例的解码设备的结构的实例的框图;
图6A至图6E是用于描述解码设备的操作的示图;
图7A和图7B是用于描述解码误差检测的操作的示图;
图8A是用于描述1位误差校正的操作的示图,以及图8B是用于描述2位误差检测的操作的示图;
图9A和图9B是用于描述3位误差检测的操作的示图;
图10是示出通过根据第一示例性实施例的编码设备执行的编码处理程序的内容的示图;
图11是示出通过根据第一示例性实施例的解码设备执行的解码处理程序的内容的示图;以及
图12是示出根据第二示例性实施例的解码设备的结构的实例的框图。
具体实施方式
以下,将参照附图描述本发明的示例性实施例。在以下描述中,将描述本发明的示例性实施例应用于通过两个设备之间的串行传输来发送和接收信息的信息传输系统的情况。
<信息传输系统>
将描述根据本发明第一示例性实施例的信息传输系统的示意性结构。图1是示出根据本发明示例性实施例的信息传输系统的结构的实例的示意图。如图1所示,信息传输系统10包括发送信息的编码设备12以及接收信息的解码设备14。
编码设备12和解码设备14通过传输线16连接。传输线16是用于将串行化数据从编码设备12传输至解码设备14的传输线。
(编码设备)
接下来,将描述编码设备12的结构。图2是示出编码设备的结构的实例的框图。如图2所示,编码设备12包括数据接收单元120、头部和数据包开头(SOP)生成单元122、转换单元123和传输单元130。编码设备12通过诸如现场可编程门阵列(FPGA)、专用集成电路(ASIC)或门阵列之类的集成电路(IC)来安装。编码设备12的功能单元可通过包括中央处理单元(CPU)、随机存取存储器(RAM)和只读存储器(ROM)之 类的计算机来实现,并且这些功能单元的功能可以通过CPU执行存储在ROM中的程序来实现。
数据接收单元120接收并行数据。在本示例性实施例中,将描述使用16位×n块的并行数据的实例。图3A示出了16位×n块的并行数据的实例。数据接收单元120接收16位×n块的并行数据。
头部和数据包开头(SOP)生成单元122获取由数据接收单元120接收的并行数据,根据获取的并行数据生成头部和数据包开头,并输出所生成的头部和数据包开头。头部和数据包开头(SOP)生成单元122输出表示数据包开头的类型的数据(1位)。
转换单元123获取由数据接收单元120接收的并行数据以及由头部和数据包开头(SOP)生成单元122生成的头部和数据包开头。转换单元120对数据进行编码,从而保持直流(DC)平衡,生成包括用于计算编码数据的校正子的冗余位、数据的奇偶校验位和用于保持DC平衡的伪位在内的误差校正码,并将生成的误差校正码添加至8B10B转换数据。转换单元123包括8B10B转换单元124、误差校正码生成单元126和并串(P/S)转换单元128。
8B10B转换单元124获取由数据接收单元120接收的并行数据以及由头部和数据包开头(SOP)生成单元122生成的头部和数据包开头,并将头部和数据包开头添加至所获取的并行数据。8B10B转换单元124获取从头部和数据包开头(SOP)生成单元122输出的表示数据包开头的类型的数据(1位),并使用与数据包开头的类型相对应的8B10B编码方法的转换表。例如,K28.1码和D28.6码被用作数据包开头。
如图3C所示,8B10B转换单元124通过对根据预定的编码方法添加了头部和数据包开头的并行数据进行编码来转换位数。在本示例性实施例中,将描述通过8B10B编码方法来转换位数的实例。具体地,8B10B转换单元124根据8B10B编码方法将8位的信息转换为10位的信息。在8B10B编码方法中,通过使 用预定的转换表将8位的信息转换为10位的信息。在8B10B编码方法中,选择转换模式,诸如在转换数据上均等获得“1”的数量和“0”的数量。在本示例性实施例中,由于16位×n块的数据被用作目标,所以如图3C所示,16位的数据被转换为20位的数据。
在8B10B编码方法中,8位码被转换为10位码,使得保持直流(DC)平衡。DC平衡是指“1”的数量与“0”的数量之间的比率。保持DC平衡是指“1”的出现频率与“0”的出现频率之间的比率在预定范围内,例如表示比率是均匀的。在本示例性实施例中,“0”被用作第一码,“1”被用作第二码。例如,当在传输方向上观看数据时,通过布置位使得“1”和“0”不以预定数量或预定数量以上连续来生成保持DC平均的数据。
关于运行偏差,当最后码的运行偏差是通过8B10B编码方法编码的数据中的正数时,随后发送具有负数运行偏差的码。相反,当其运行偏差为负数时,随后发送具有正数运行偏差的码。这种配置是均等获得“1”的数量和“0”的数量的实例。然而,当“1”的数量和“0”的数量相同时,运行偏差的极性是连续的。
在8B10B编码方法中,与8位输入数据相对应的10位的码被单独定义为运行极性的两种状态,即,“正数”和“负数”。
当前运行偏差为负数的码是“1”的数量等于“0”的数量的码(具有中立偏差)或者“1”的数量大于“0”的数量的码(具有正偏差)。同时,当前运行偏差为正数的码是具有中立偏差的码或者“1”的数量小于“0”的数量的码(具有负偏差)。
例如,当输出当前运行偏差为负数且具有正偏差的码时,下一运行偏差变为负数,因此至少在下一输出位阵列中不生成正偏差。当输出具有中立偏差的码时,下一运行偏差保持为负数。
当输出当前运行偏差为正数且具有负偏差的码时,下一运行偏差变为负数,因此至少在下一输出位阵列中不生成负偏差。当输出具有中立偏差的码时,下一运行偏差保持为正数。
如上所述,在8B10B编码方法中,通过使用根据最后RD 的值来选择输出位是与负偏差相关还是与正偏差相关的编码规则,来控制输出位阵列,使得“0”的数量和“1”的数量彼此相等或近似彼此相等。
误差校正码生成单元126从由8B10B转换单元124转换的并行数据中生成误差校正码(ECC)。本示例性实施例中使用的误差校正码包括用于计算与数据的误差位置相对应的校正子的冗余位、奇偶校验位和用于在中立状态下保持DC平衡的伪位。在本示例性实施例中,使用通过扩展汉明码获取的误差校正码。校正一个位的误差,并且通过使用由扩展汉明码获取的奇偶校验位来检测偶数位误差。
图4A示出了误差校正码的实例。如图4A所示,在本示例性实施例中,生成总共20位的误差校正码,其中,用于保持DC平衡的伪位被添加至通过将用于计算校正子的10个冗余位(S0)至(S9)和奇偶校验位P0进行组合而获得的11位。
如图3D所示,转换单元123将由误差校正码生成单元126生成的20位的误差校正码添加至由8B10B转换单元124转换的20位的并行数据。并串(P/S)转换单元128将添加了误差校正码的并行数据转换为串行位阵列。在本示例性实施例中,20位的头部和20位的误差校正码被添加至20×n位的数据,执行对20×(n+2)位的数据的并串转换,并且通过下述的传输单元130传输作为数据包的转换数据。
传输单元130将由并串(P/S)转换单元128转换的串行数据输出至传输线16。在图3D中示出了传输单元130输出的数据的实例。如图4B所示,当没有传输数据包时,传输单元130传输IDLE码。IDLE码被插入到数据包之前和之后的两部分中。例如,K28.5码和D0.0码被用作IDLE码。
(解码设备)
接下来,将描述解码设备14的结构。图5是示出解码设备的结构的实例的框图。如图5所示,解码设备14包括接收单元140、串并(S/P)转换单元142、缓冲器144、SOP检测单元146、 检测单元147、DC平衡补偿数据添加单元152、8B10B逆转换单元154、8B10B误差计数单元158、确定单元160、误差输出单元162和数据输出单元164。解码设备14通过诸如现场可编程门阵列(FPGA)、专用集成电路(ASIC)或门阵列之类的集成电路(IC)来安装。解码设备14的功能单元可通过包括中央处理单元(CPU)、随机存取存储器(RAM)和只读存储器(ROM)的计算机来实现,并且这些功能单元的功能可以通过CPU执行存储在ROM中的程序来执行。
接收单元140接收通过传输线16从编码设备12传输的串行数据。被接收单元140接收的串行数据是被编码以保持DC平衡的数据,并且是附有误差校正码的数据。误差校正码包括用于计算数据的误差位置的冗余位、数据的奇偶校验位和用于保持DC平衡的伪数据。图6A示出了被接收单元140接收的串行数据的实例。
串并(S/P)转换单元142将接收单元140接收的串行数据转换为并行数据。串并(S/P)转换单元142将转换后的并行数据存储在缓冲器144中。
串并(S/P)转换单元142转换的并行数据被存储在缓冲器144中。
SOP检测单元146从由串并(S/P)转换单元142转换的并行数据中检测数据包开头(SOP),并输出通过从并行数据中去除数据包开头(SOP)而获取的数据。
检测单元147从附于从SOP检测单元146输出的并行数据的误差校正码中所包括的冗余位中计算对应于误差位置的校正子。
当校正子的值不是“0”且奇偶校验位的值为“0”时,检测单元147检测在数据中存在偶数的位误差。在本示例性实施例中,“0”被用作第一预定值,以及“1”被用作第二预定值。
当校正子的值不是“0”且奇偶校验位的值为“1”时,以及当下述的误差校正单元150根据校正子的值执行了位误差校 正的数据的8B10B解码期间发生误差时,检测单元147检测到在数据中存在3位以上的奇数的位误差。
检测单元147包括误差校正码计算单元148、误差校正单元150和逆转换误差检测单元156。
误差校正码计算单元148通过使用图6B所示的从SOP检测单元146输出的并行数据中包括的误差校正码来检测并行数据的位误差。具体地,误差校正码计算单元148根据并行数据中包括的误差校正码的冗余位来计算对应于误差位置的校正子。误差校正码计算单元148基于计算的校正子和误差校正码中包括的奇偶校验位的组合来检测一位误差或偶数位误差。
更具体地,当计算的校正子不为“0”并且误差校正码中包括的奇偶校验位为“0”时,误差校正码计算单元148检测到并行数据的偶数位误差,并将检测结果输出至误差输出单元162。当计算的校正子不为“0”且误差校正码中包括的奇偶校验位为“1”时,误差校正码计算单元148检测到并行数据的奇数位误差,并将检测结果输出至误差校正单元150和逆转换误差检测单元156。
即使在通过误差校正码计算单元148计算的校正子的值为“0”时,也存在三位误差。因此,在本示例性实施例中,通过检查下述的8B10B逆转换单元154发生的解码误差来检测三位误差。
使用以下表达式表示的误差模式e来表示对应于误差位置的校正子。
[表达式1]
其中,i、j、k和m表示位误差的位置。如该表达式所表示的,当i、j和k在表达式中相互不同时,三位误差发生时的校正子是不同于i、j和k的位置m,并且通过下述的误差校正单元150来执行错误的误差校正。
例如,如果误差模式是ei=“010000”(第16位为误差位), ej=“100000”(第32位是误差位),以及ek=“110000”(第48位为误差位),则当基于所述表达式计算校正子时,校正子Sm=“000000”。因此,确定不存在位误差,尽管事实是存在位误差。在本示例性实施例中,通过检查下述的8B10B逆转换单元154发生的8B10B解码误差来检测三位误差。
当基于从误差校正码计算单元148输出的检测结果奇偶校验位为“1”时,即,当存在奇数位误差时,误差校正单元150对存储在缓冲器144中的数据执行1位误差校正。具体地,误差校正单元150从通过误差校正码计算单元148计算的校正子中获取误差位的位置,并校正对应于该位置的位误差。
如图6C所示,DC平衡补偿数据添加单元152添加保持DC平衡的伪位来代替存储在缓冲器144中的并行数据所包括的误差校正码。伪位是用于补偿DC平衡的位,并且例如在本示例性实施例中添加具有0.5的标定比的20位数据。
8B10B逆转换单元154根据8B10B编码方法使用预定的转换表对存储在缓冲器144中的并行数据进行解码,并输出解码数据。因此,如图6D所示,20位的数据被转换为16位的原始数据。8B10B逆转换单元154将16位的解码数据输出至数据输出单元164。在图6E中示出了从8B10B逆转换单元154输出的数据的实例。
当发生8B10B解码误差时,8B10B逆转换单元154向逆转换误差检测单元156输出表示发生解码误差的信息。当通过误差校正码计算单元148计算的校正子的值不是“0”且奇偶校验位的值为“1”时,以及当通过误差校正单元150执行了误差校正的数据的8B10B解码中发生误差时,8B10B逆转换单元154通过使用预定的转换表和运行偏差检测到在数据中存在3位以上的奇数位误差。
8B10B解码误差包括码外误差,在码外误差中,在预定转换表中不存在将被8B10B逆转换单元154解码的解码目标数据,并且表示将被8B10B逆转换单元154解码的解码目标数据的运 行偏差的运行偏差误差违反规则。
当位误差是1位时,由于位误差被误差校正单元150正确地校正,所以不会发生由于8B10B逆转换单元154的解码处理而导致的8B10B解码误差。同时,当位误差是3位以上的奇数位时,由于将被误差校正单元150校正的位是不正确的,所以发生8B10B逆转换单元154的8B10B解码误差(包括运行偏差误差)。
图7A和图7B是用于描述通过8B 10B逆转换单元154的解码处理发生的8B10B解码误差的示图。图7A示出了到目前为止从编码设备12的8B10B转换单元124输出的数据的运行偏差(RD)、接下来将被输出的数据的位模式和位模式的标定比。图7B示出了从编码设备12传输的数据的位模式、在位模式中发生的位误差和由于解码设备14的8B 10B逆转换单元154的解码处理发生的解码误差。图7B所示圆括号之间的值表示当数据例如为10位时“1”的数量。“a”表示码外误差,“b”表示运行偏差误差,以及“c”表示随后数据中发生的运行偏差误差。
如图7A所示,当运行偏差例如为“正数”时,根据8B10B编码方法输出的位阵列被输出作为对应于位模式A或C的数据。同时,当运行偏差例如为“负数”时,根据8B10B编码方法输出的位阵列被输出作为对应于位模式B或D的数据。图7A的位模式E是具有30%以下或70%以上的标定比的数据,并且表示不存在8B10B编码方法的转换表。
当图7A所示的位模式从编码设备12传输至解码设备14时,假设如图7B所示发生1位误差。例如,通过编码设备12传输位模式A(5),在位模式A(5)中发生1位误差,并且解码设备14接收位模式D(6)。解码设备14的8B10B逆转换单元154从位模式D(6)的标定比和当前运行偏差中确定发生运行偏差误差。当接收到具有60%的标定比的数据(正数)时,不论当前运行偏差为正数的事实,都确定发生运行偏差误差。
例如,通过编码设备12传输位模式A(5),在位模式A (5)中发生1位误差,并且解码设备14接收位模式C(4)。在这种情况下,当接收到从编码设备12传输的后续数据时,运行偏差违反规则。解码设备14的8B10B逆转换单元154确定发生运行偏差误差。
例如,通过编码设备12传输位模式C(4),在位模式C(4)中发生1位误差,并且解码设备14接收位模式E(3)。在这种情况下,由于图7A的位模式E(3)在转换表中不存在,所以解码设备14的逆转换误差检测单元156检测到码外误差。
这里,将描述位误差的类型。图8A、图8B、图9A和图9B示出了位误差的实例。
如图8A所示,当在数据内的第i块中发生1位误差时,由于由误差校正码计算单元148计算的校正子的值不是“0”且奇偶校验位为“1”,所以根据校正子的值来检测误差位置,并且通过误差校正单元150来校正1位误差。
如图8B所示,当总共发生包括在数据内的第1块中发生的1位误差和在第i块中发生的1位误差的2位误差时,由于通过误差校正码计算单元148计算的校正子的值不为“0”且奇偶校验位为“0”,所以检测到2位误差。
如图9A所示,当总共发生包括在数据内的第0块中发生的1位误差、在第1块中发生的1位误差和在第i块中发生的1位误差的三位误差时,以及当通过误差校正码计算单元148计算的校正子的值不为“0”且奇偶校验位为“1”时,通过误差校正单元150执行根据校正子的值的误差校正。然而,当发生3位误差时,当执行根据由误差校正码计算单元148计算的校正子的值的误差校正时,不正确地校正与不同于实际位的误差位置的位置相对应的位。当通过8B10B逆转换单元154执行解码处理时,如果如图9A所示存在针对每10位的1位误差,则检测到运行偏差误差。
如图9B所示,当总共发生包括在数据内的第1块中发生的1位误差、在第i块中发生的1位误差和在第j块中发生的1位 误差的三位误差时,以及当通过误差校正码计算单元148计算的校正子的值为“0”且奇偶校验位为“1”时,如果存在针对每10位的1位误差,则通过8B10B逆转换单元154的解码处理检测到运行偏差误差。
当发生4位以上的偶数位误差时,以及当通过误差校正码计算单元148计算的校正子的值不是“0”且奇偶校验位为“0”时,检测到偶数位误差。
当发生4位以上的偶数位误差时,以及当通过误差校正码计算单元148计算的校正子的值为“0”且奇偶校验位为“0”时,如果存在针对每10位的1位误差,则通过8B10B逆转换单元154的解码处理检测到运行偏差误差。
当发生5位以上的奇数位误差时,以及当当通过误差校正码计算单元148计算的校正子的值不为“0”且奇偶校验位为“1”时,如果通过误差校正单元150执行错误的校正且存在针对每10位的1位误差,则通过8B10B逆转换单元154的解码处理检测到运行偏差误差。
当发生5位以上的奇数位误差时,以及当通过误差校正码计算单元148计算的校正子的值为“0”且奇偶校验位为“1”时,如果存在针对每10位的1位误差,则通过8B10B逆转换单元154的解码处理检测到运行偏差误差。
当从8B10B逆转换单元154输出8B10B解码误差时,逆转换误差检测单元156检测到在数据包范围内发生三位以上的误差。逆转换误差检测单元156将表示发生三位以上的误差的信息输出至8B10B误差计数单元158和确定单元160。
8B10B误差计数单元158对通过逆转换误差检测单元156检测的解码误差的数量进行计数。8B10B误差计数单元158输出解码误差的数量。当解码误差的数量等于或大于预定阈值时,信息传输系统10停止发送和接收数据。
当通过SOP检测单元146检测到数据包开头时,确定单元160将由逆转换误差检测单元156检测的检测结果输出至误差输 出单元162。
结果,误差输出单元162输出从确定单元160输出的3位以上的奇数位误差的检测结果和从误差校正码计算单元148输出的偶数位误差的检测结果。
当不存在位误差时,数据输出单元164基于从误差输出单元162输出的检测结果输出从8B10B逆转换单元154输出的16位的数据。
<信息传输系统的操作>
接下来,将描述信息传输系统10的操作。如上所述,在编码设备12和解码设备14中执行信息传输系统10的操作。
<编码设备执行的处理>
首先将描述编码设备12执行的处理。
图10是示出由编码设备12执行的编码处理程序的过程实例的流程图。当输入将被编码的并行数据时,编码设备12执行图10所示的编码处理程序。
在步骤S100中,通过数据接收单元120接收并行数据。
在步骤S102中,通过头部和数据包开头(SOP)生成单元122根据步骤S100中接收的并行数据生成头部和数据包开头。
在步骤S104中,通过8B10B转换单元124将在步骤S102中生成的头部和数据包开头添加至在步骤S100中接收的并行数据。根据8B10B编码方法,通过8B10B转换单元124来转换添加有头部和数据包开头的并行数据的位数。
在步骤S106中,通过误差校正码生成单元126根据在步骤S104中转换位数的并行数据来生成误差校正码。
在步骤S108中,通过将步骤S106中生成的误差校正码添加至在步骤S104中转换位数的并行数据来生成数据包。
在步骤S110中,通过并串(P/S)转换单元128将在步骤S108中生成的数据包转换为串行数据。
在步骤S112中,通过传输单元130将步骤S110中转换的串行数据输出至传输线16,并结束编码处理程序。
<解码设备执行的处理>
接下来,将描述解码设备14执行的处理。
图11是示出由解码设备14执行的解码处理程序的过程实例的流程图。当接收到将被解码的数据时,解码设备14执行图11所示的解码处理程序。
在步骤S200中,通过接收单元140接收由编码设备12通过传输线16传输的串行数据。
在步骤S201中,通过串并(S/P)转换单元142将步骤S200中接收的串行数据转换为并行数据。
在步骤S202中,通过串并(S/P)转换单元142将步骤S201中转换的并行数据存储在缓冲器144中。
在步骤S204中,通过SOP检测单元146从步骤S201中转换的并行数据中检测数据包开头(SOP),并且输出通过从并行数据中去除数据包开头(SOP)而获取的并行数据。
在步骤S206中,通过误差校正码计算单元148根据步骤S201中转换的并行数据中所包括的误差校正码的冗余位来计算校正子。
在步骤S208中,通过误差校正码计算单元148来确定步骤S206中计算的校正子是否为“0”。当校正子为“0”时,处理前进到步骤S216。同时,当校正子不为“0”时,处理前进到步骤S210。
在步骤S210中,通过误差校正码计算单元48确定步骤S201中转换的并行数据中所包括的误差校正码的奇偶校验位是否为“0”。当奇偶校验位为“0”时,处理前进到步骤S214。同时,当奇偶校验位不为“0”时,处理前进到步骤S212。
在步骤S212中,通过误差校正单元150对步骤S202中存储在缓冲器144中的数据执行1位误差校正。
在步骤S214中,通过误差校正码计算单元148来检测偶数位误差。
在步骤S216中,通过DC平衡补偿数据添加单元152来添 加保持DC平衡的伪位以代替存储在缓冲器144中的并行数据中所包括的误差校正码。
在步骤S218中,通过8B10B逆转换单元154根据8B10B编码方法对存储在缓冲器144中的并行数据进行解码,并输出解码数据。
在步骤S220中,通过8B10B逆转换单元154使用预定转换表和运行偏差的值来确定步骤S218中的解码是否发生解码误差。当发生8B10B解码误差时,处理前进到步骤S222。同时,当没有发生8B10B解码误差时,处理前进到步骤S224。
在步骤S222中,通过逆转换误差检测单元156来检测在数据中是否存在3位以上的奇数位误差。
在步骤S223中,8B10B误差计数单元158将解码误差的计数加1。
在步骤S224中,输出存储在缓冲器144中的并行数据,并且结束解码处理程序。
在步骤S226中,输出在步骤S214中检测到的偶数位误差或者在步骤S222中检测到的3位以上的奇数位误差以作为结果,并且结束解码处理程序。
<第二示例性实施例>
尽管在第一示例性实施例中描述了解码设备14包括误差校正单元150,并且在数据中存在奇数位误差时误差校正单元150对存储在缓冲器144中的数据执行1位误差校正。相反,在第二示例性实施例中将描述即使在数据中存在奇数位误差时,也不执行1位误差校正。与第一示例性实施例的解码设备14相同的结构被分配有与第一示例性实施例的附图标记相同的附图标记,并且将省略其描述。
图12是示出根据第二示例性实施例的解码设备214的结构实例的框图。如图12所示,解码设备214包括接收单元140、串并(S/P)转换单元142、缓冲器144、SOP检测单元146、检测单元247、DC平衡补偿数据添加单元152、8B10B逆转换单 元154、8B10B误差计数单元158、确定单元160、误差输出单元162和数据输出单元164。
当校正子的值不为“0”且奇偶校验位为“1”时,以及当通过8B10B逆转换单元154对数据进行8B10B解码中发生误差时,检测单元247检测到在数据中存在奇数位误差。
在第二示例性实施例中,由于对数据不执行1位误差校正,所以检测在数据中是否存在1位以上的奇数位误差。
应该容易理解,在示例性实施例中描述的信息传输系统的结构仅仅是一个实例,并且可以在不背离本发明精神的情况下改变其结构。例如,已经描述了信息传输系统包括编码设备和解码设备,但是可以使用其中设置包括编码单元和解码单元两者的设备并且在各设备之间执行串行传输的信息传输系统。除8B10B转换方法之外,可以通过10B12B转换方法(其中,“1”的数量和“0”的数量之间的差为+2/0/-2)来转换位数。在10B12B转换方法中,当运行偏差为正数时,输出“1”的数量和“0”的数量之间的差为-2的码,当运行偏差为负数时,输出“1”的数量和“0”的数量之间的差为+2的码,以及当运行偏差的极性改变并且输出“1”的数量和“0”的数量之间的差为“0”的码时,不改变运行偏差。
可通过通信单元来提供本发明,并且还可以提供为被存储在诸如CDROM之类的记录介质中。
为了说明和描述的目的提供了本发明的示例性实施例的以上描述。其不旨在是穷尽的或者将本发明限于所公开的精确形式。明显地,许多修改和变化对于本领域技术人员来说是显而易见的。选择和描述上述实施例以更好地解释本发明的原理及其实际应用,从而能够使本领域技术人员理解本发明的各个实施例,以及适合于预期的具体用法各种修改。旨在通过以下权利要求及其等效物来限定本发明的范围。