CN1007021B - 通过择多检测和校正误差的方法 - Google Patents

通过择多检测和校正误差的方法

Info

Publication number
CN1007021B
CN1007021B CN 85101066 CN85101066A CN1007021B CN 1007021 B CN1007021 B CN 1007021B CN 85101066 CN85101066 CN 85101066 CN 85101066 A CN85101066 A CN 85101066A CN 1007021 B CN1007021 B CN 1007021B
Authority
CN
China
Prior art keywords
data
majority
transmitting
cyclic permutation
register
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.)
Expired
Application number
CN 85101066
Other languages
English (en)
Other versions
CN85101066A (zh
Inventor
辻川宏俊
丸山勉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Priority to CN 85101066 priority Critical patent/CN1007021B/zh
Publication of CN85101066A publication Critical patent/CN85101066A/zh
Publication of CN1007021B publication Critical patent/CN1007021B/zh
Expired legal-status Critical Current

Links

Images

Landscapes

  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

根据本发明,每一个数据总计被传送三次。一次是传送原始数据,另一次是传送原始数据的反相数据,剩下的一次是传送置换原始数据的所有的位的数据。通过将反相数据和位循环置换数据再转换为它们的原来形式,接收器重新构成数据并探测这些数据和单独传送的原始数据之间的多数。例如,利用循环移位寄存器按预先确定的位数右循环或左循环原始数据得出位循环置换数据。接收器必须执行跟发送器的位置换操作反方向的位置换操作。

Description

本发明涉及检测和校正在二个装置之间传输的数据中发生的误差、特别是通过择多检测和修正误差的方法。
误差检测码如循环冗余校验码(CRC)经常用于串行总线中。根据误差检测,接收器要求发送器重新传输相同的数据。在通常的系统中,企图用误差检测和数据重新传输的方法校正误差。一些系统采用能校正错误的代码,这种能力称之为ECC。
在很多情况中,在通过串行总线传送的数据中发生的误差是一位差错,因此单一误差校正和二重误差探测的SEC/DED代码足以探测和校正误差。然而在并行总线中,因为可能出现一位和多位误差,故需要不同的解决方法。在这些解决方法中,比较简单而可靠的是再现原始数据的择多方法。发送装置(如中央处理机)反复地将相同数据传送到并行总线,同时,与并行总线相连的接收装置(如打印机)将众多的接收到的数据彼此比较,并通过择多再现原始数据。在那种情况中,如在日本公布的已审查的专利申请54-3336和日本公布的未审查的专利申请55-107357中描述的那样,借助于发送数据和它的反相形式能够增加误差检测能力。
如果在并行总线中,个别线出现永久故障,已有技术的择多方案不能检测。原因是当在接收器中执行择多时,包含永久误差(如总是“1”)的相同数据反复地被传送,因之也作为原始数据被再现。除永久性故障以外,在个别线较长时间出现故障的情况中,也是这样。
因此,本发明的任务是提供用择多检测和校正误差的方法,该方法使接收器即使在并行总线中出现永久和/或长期故障时,也能从被传送 的数据中检测出误差。
根据本发明,每一个数据(在下面所描述的方案中的一个字节数据)总计被传送三次。一次是传送原始数据,另一次是传送原始数据的反相数据,剩下的一次是传送置换原始数据的所有的位的数据。通过将反相数据和位循环置换数据再转换为它们的原来形式,确定这些数据和单独传送的原始数据之间的多数接收器来重建数据。例如,利用循环移位寄存器按预先确定的位数右循环或左循环原始数据得出位循环置换数据。接收器必须执行跟发送器的位置换操作反方向的位置换操作。
按照本发明,如果仅在一个数据中出现了差错,通过择多完全校正该差错是可能的,而差错出现在两个或三个顺序传输的数据中时,接收器也能够正确地探测(在某些情况,也可以校正)该差错。
图1给出了能应用本发明的系统方框图。
图2是表示控制器12中数据传送部分结构实例的方框图。
图3是表示打印机14中数据接收部分结构实例的方框图。
图1给出能应用本发明的系统结构。虽然它包括用并行总线10互相连接的控制器12(例如中央处理机)和打印机14,但本发明不仅仅受这种装置的组合所限制。当将一字节的数据D发送到打印机14时,控制器12通过反相D产生反相数据 D,通过循环置换D的所有位产生位循环置换数据D,并顺序地将这些数据发送到并行总线10中。虽然图1中以D、 D和D的顺序发送,但也能采用任意一种顺序。
打印机14分别接收跟D、 D和D相应的数据A、 B和C′。如果A=D, B= B和C′=D就没有问题,但即使让控制器12和打印机14处于最好的环境中,也不能使并行总线10免受一定的噪音影响,此外,在并行总线10的某些线路中,可能发生断路或短路。由噪音引起的差错暂时地使个别位或者从“0”变到“1”,或者从“1”变到“0”。根 据统计规律,大多数差错是从“0”变到“1”。如果噪音的影响被限制在字节的传送时间内,借助于二次以上地传送相同数据D以及如已有技术中所讲到的在接收器中采用择多逻辑,能获得正确的数据。然而,如果噪音的影响延长至超过多于一个字节时传递时间,接收器会将一个错误数据作为正确数据再现,例如当相同误差发生在至少是三个数据D′中的二个时。本发明通过传递D、 D和D代替传送三次D克服了这类现象。
打印机14暂时地存贮数据A的接收字节并将 B和C′分别转换为它们的原来形式。根据转换,B由反相 B而产生,而C是将与在控制器12中所进行的位置换操作方向相反的操作加到C′上而产生的。如果A=B,B=C和A=C中至少一个是真实的,那么打印机14把比较数据作为D,否则打印机14通知控制器12出现了一个错误。
图2表示出控制器12中数据传送部分的结构实例。它包括三个分别带有输出门26、28和30的寄存器20、22和24以及一个反相器32。控制器12将被传送的一字节的数据D施加到内部总线34上。当 D寄存器22接收通过反相器32反相的数据 D时,D寄存器20和D寄存器24接收数据D的原有形式。D寄存器24是一个具有循环通道36的循环移位寄存器,通道36从最低有效位位置延伸到最高有效位位置。当D寄存器24接收数据D时,它按照预定的位数n,通过循环通道36循环移位数据D。N可以是1和数据D的位数减1(在这种情况下是7)之间并包括1和7的任意一个数字。为简便起见,在此假设右循环一位。
对应于第一传送时钟脉冲C1的时间,输出门26将存放在D寄存器20中的原始数据D输出到并行总线10,对应于第二传送时钟脉冲C2的时间,输出门28将存放在 D寄存器22中的反相数据 D输出,而相 应于第三传送时钟脉冲C3的时间,输出门30将存放在D寄存器24中的位循环置换数据D输出。D、 D和D三个数据的输出顺序可以通过变化使用的传送时钟脉冲C1、C2和C3的顺序而改变。
尽管在图1的例子中,D*寄存器24是一个循环移位寄存器,但也可以用任何能用于灵活地改变数据D中每一位的位置的装置。例如,数据D的高四位和低四位可以互换,重要的是数据D的第ⅰ位必须变成D*中除第ⅰ位以外的位。
图3给出了打印机14中数据接收部分的结构实例。它包括三个分别带有输入门46、48和50的寄存器40、42和44,一个反相器52以及一个择多逻辑线路54。打印机14分别通过输入门46,48和50将接收的数据A、 B和C′顺序地输入到A寄存器40, B寄存器42和C′寄存器44中。输入到A寄存器40中的数据A以其原来形式传送到择多逻辑线路54中。输入到 B寄存器42中的数据 B由反相器52反相,然后转送到择多逻辑线路54中。输入到C′寄存器44中的数据C′,经过循环通道56,左循环移位一位后(或右循环移位7位),传送到择多逻辑线路54中。如前所述,C′寄存器44必须执行相对于控制器12中D寄存器24所执行的位置换操作相反的操作。
择多逻辑线路54逐次地比较三个接收数据A、B和C,如果A=B,B=C和C=A中至少一个是真实的话,它将已比较的数据作为D输出,或者如果三者中没有一个是真实的话,它指出发生了错误,也就是说所有数据A、B和C都是不同的。显然,当A、B和C三个数据中只有一个数据发生差错时,通过择多可获得正确数据。因此,下面叙述的一些情况是在二个或三个数据中出现差错的情况。
假设从控制器12发送出的数据D、 D和D如下:
D=10010110
D=01101001
D=01001011
又假设从左开始,相应的位数是0、1、2、……7。如果并行总线10中传送位0的线出现总是“1”的故障,通过打印机14接收的数据变成如下:
A=10010110
B=11101001
C′=11001011
将 B和C′再转换成它们原来的形式,所得如下:
B=00010110
C=10010111
其中,A、B和C彼此都不同,因此择多逻辑线路检测出误差。如果总是为“1”的故障出现在位1、位4、位6或位7时(这些位中每一位在三个数据中都有两个是“1”),这样也只在一个数据中产生差错,通过择多仍能得到原始数据。
其次,假设除永久故障以外的一些故障使数据D和 D中的位2强行置示“1”,则打印机14接收的数据如下:
A=10110110
B=01101001
C′=01001011
将 B和C′再转换为它们的原来形式,所得如下:
B=10010110
C=10010110
从中可得出B=C,因此择多逻辑54将比较数据作为D输出。
当在两个或三个数据中出现多位差错时,可采用同样的原理。然而,跟一位差错的情况相比,这种情况中得到正确的D的可能性变得小一些。

Claims (2)

1、在一个用于通过并行总线从第一装置传送数据至第二装置的系统中,一种采用择多检测和校验误差的方法,其特征为:在所说第一装置中形成一个反相数据和位循环置换数据,反相数据是通过传送的原始数据反相而成,位循环置换数据是在上述原始数据中通过置换位而形成的;所说原始数据、反相数据和位循环置换数据通过并行总线顺序地传送到第二装置中;在第二装置中,反相数据和位循环置换数据再分别转换为原来形式,在再转换的数据和原始数据中确定一个多数。
2、如权利要求1所述的方法,其特征在于,所说位循环置换数据通过预先确定的位数,按照预定方向循环移位原始数据而形成,并且是通过所说预先确定的位数,沿相反于所说预定方向的方向,在所说第二装置中循环移位该数据而还原为原来形式的。
CN 85101066 1985-04-01 1985-04-01 通过择多检测和校正误差的方法 Expired CN1007021B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 85101066 CN1007021B (zh) 1985-04-01 1985-04-01 通过择多检测和校正误差的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 85101066 CN1007021B (zh) 1985-04-01 1985-04-01 通过择多检测和校正误差的方法

Publications (2)

Publication Number Publication Date
CN85101066A CN85101066A (zh) 1987-01-10
CN1007021B true CN1007021B (zh) 1990-02-28

Family

ID=4791608

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 85101066 Expired CN1007021B (zh) 1985-04-01 1985-04-01 通过择多检测和校正误差的方法

Country Status (1)

Country Link
CN (1) CN1007021B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR0147150B1 (ko) * 1995-06-29 1998-09-15 김주용 디코더를 이용한 순환 리던던시 체크 오류 검출 및 정정 장치
GB2454193B (en) * 2007-10-30 2012-07-18 Sony Corp Data processing apparatus and method
US8885761B2 (en) 2003-03-25 2014-11-11 Sony Corporation Data processing apparatus and method
US8179954B2 (en) 2007-10-30 2012-05-15 Sony Corporation Odd interleaving only of an odd-even interleaver when half or less data subcarriers are active in a digital video broadcasting (DVB) standard
DK2204002T3 (da) 2007-10-30 2013-06-17 Sony Corp Anordning og fremgangsmåde til databehandling
CN101221205B (zh) * 2007-11-27 2011-11-02 埃派克森微电子(上海)股份有限公司 数字芯片系统的模式控制方法
CN101783098B (zh) * 2009-01-16 2012-03-07 晶锜科技股份有限公司 串行传输装置及其信号传输方法
CN102325003B (zh) * 2011-07-14 2014-02-12 海能达通信股份有限公司 数据错误检测的方法及设备

Also Published As

Publication number Publication date
CN85101066A (zh) 1987-01-10

Similar Documents

Publication Publication Date Title
KR900006920B1 (ko) 다수결에 의한 착오 검출 및 정정 방법
US4077028A (en) Error checking and correcting device
US8050174B2 (en) Self-healing chip-to-chip interface
US5384788A (en) Apparatus and method for optimal error correcting code to parity conversion
US6173414B1 (en) Systems and methods for reduced error detection latency using encoded data
JPH0328094B2 (zh)
KR20070006764A (ko) 폴트 허용한계 및 증가된 안정성을 제공하는 데이터 통신모듈
US5784383A (en) Apparatus for identifying SMP bus transfer errors
US6701469B1 (en) Detecting and handling bus errors in a computer system
CN112526979A (zh) 一种多重冗余架构的串行通信接口诊断系统及方法
CN1007021B (zh) 通过择多检测和校正误差的方法
US5081629A (en) Fault isolation for multiphase clock signals supplied to dual modules which are checked by comparison using residue code generators
US4710935A (en) Parity detection system for wide bus circuitry
JPH087697B2 (ja) 制御情報のインテグリティを維持するための装置及び方法
US6055660A (en) Method for identifying SMP bus transfer errors
US3305830A (en) Error correcting redundant logic circuitry
JPH0442691B2 (zh)
JPS62293441A (ja) デ−タ出力方式
JP4296967B2 (ja) 通信システム
US20240202086A1 (en) Circuits, systems, and methods for ecc fault detection
KR100215860B1 (ko) 반도체 메모리 테스트회로
SU1051533A2 (ru) Сумматор в коде "м из N
EP0152974A1 (en) Arrangement for checking the parity bit-containing bit groups
CN116301612A (zh) 星载Flash存储器ECC优化方法
JPH04267631A (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
C13 Decision
GR02 Examined patent application
C14 Grant of patent or utility model
GR01 Patent grant
C19 Lapse of patent right due to non-payment of the annual fee
CF01 Termination of patent right due to non-payment of annual fee