1、3.3 3.3 常用差错控制编码方法常用差错控制编码方法 教学目的教学目的 熟悉和掌握各种差错控制编码方法熟悉和掌握各种差错控制编码方法 掌握各种差错控制编码的应用掌握各种差错控制编码的应用3.3 3.3 常用差错控制编码方法常用差错控制编码方法 3.3.1 3.3.1 奇偶校验编码奇偶校验编码 3.3.2 3.3.2 方阵校验码方阵校验码 3 3.3.3 3.3 恒比码恒比码 3 3.3.4 3.4 正反码正反码 3 3.3.5 .3.5 循环冗余校验编码(循环冗余校验编码(CRCCRC)3.3.6 3.3.6 卷积码卷积码 差错控制的核心就是抗干扰编码,为差错控制的核心就是抗干扰编码,为了
2、提高通信系统的检错和纠错能力,人们了提高通信系统的检错和纠错能力,人们创造出许多差错控制编码,比较常用的有创造出许多差错控制编码,比较常用的有奇偶校验编码、循环冗余校验编码、卷积奇偶校验编码、循环冗余校验编码、卷积码码等。等。3.3.1 3.3.1 奇偶校验编码奇偶校验编码 又称奇偶监督编码,或又称奇偶监督编码,或垂直冗余校验(垂直冗余校验(VRC,Vertical Redundancy Check),),在计算机数在计算机数据传输中应用广泛。据传输中应用广泛。编码规则编码规则:将所要传输的数据码元分组,在分组将所要传输的数据码元分组,在分组数据后面加数据后面加一位一位监督码(校验位),使得该
3、组监督码(校验位),使得该组码连同监督码在内的码组中码连同监督码在内的码组中“1”的个数为的个数为奇数奇数(奇校验)或偶数(偶校验)(奇校验)或偶数(偶校验)。按照编码规则检查如果发现不符,就按照编码规则检查如果发现不符,就说明产生差错,但不能明确差错的具体位置即说明产生差错,但不能明确差错的具体位置即不能纠错。不能纠错。公式表示公式表示:设码组长度为:设码组长度为n,表示为,表示为(an-1,an-2,a1,c0)其中前)其中前n-1位为信息位为信息位,第位,第n位位c0为监督位为监督位 奇校验:奇校验:an-1an-2a1c0=1 1即即 c0=an-1an-2a111偶校验偶校验:an-
4、1an-2a1c0=0=0 即即c0=an-1an-2a1奇偶校验编码奇偶校验编码 特点:特点:无论信息位为多少位,监督位只有一位。无论信息位为多少位,监督位只有一位。只能检测信息码组中奇数个错误,对只能检测信息码组中奇数个错误,对偶数个个错误无能为力;错误无能为力;信息位越长信息位越长,效率越高效率越高.奇偶校验编码奇偶校验编码 实例实例 写出下列二进制序列的偶校验码:写出下列二进制序列的偶校验码:1001110 1001110 0101111 0101111 n写出下列二进制序列的奇校验码:n1100101 n0110010 10011100010111111100101101100100
5、3.3.2 方阵校验码方阵校验码 又称又称行列监督码行列监督码,矩阵码矩阵码,纵向冗余校验码,纵向冗余校验码(LRC,Lognitudinal Redundancy Check),),它的码元受到行和列两个方向奇偶监督,又称它的码元受到行和列两个方向奇偶监督,又称二二维奇偶校验码维奇偶校验码。编码规则编码规则:使的每个码元受到使的每个码元受到纵向(列)和横向纵向(列)和横向两次监督;两次监督;将欲发送的信息码按行排成一个矩阵,矩阵中每一行为将欲发送的信息码按行排成一个矩阵,矩阵中每一行为一码组,每行的最后加上一个奇偶监督码元;一码组,每行的最后加上一个奇偶监督码元;矩阵中的每一列是由不同码组相
6、同位置的码元组成,在矩阵中的每一列是由不同码组相同位置的码元组成,在每列最后也加上一个监督码元,进行奇偶校验;每列最后也加上一个监督码元,进行奇偶校验;最后按最后按行或列行或列码组的顺序发送码组的顺序发送。XXXXXXXX X XXXXXXXXXXXX X X XXXXXXXXX X XXXXXXX 方阵校验码结构方阵校验码结构实例实例 信息码元信息码元监督码元(偶)监督码元(偶)111001001101001010000111000100011100111101101111n发送端在发送时则按列(或行)的顺序传输:111010 110011 100001 010100 001111接收端仍将
7、码元排成发送时方阵形式,然后按行、列进行奇偶校验 特点:特点:可以检测出某行某列上的奇数个错误和长度可以检测出某行某列上的奇数个错误和长度不大于行(列)数的突发错误。不大于行(列)数的突发错误。可以检测出可以检测出某行或某列某行或某列上偶数个错误上偶数个错误不能纠正差错数正好是不能纠正差错数正好是4 4的倍数且位置在的倍数且位置在行行列矩阵列矩阵/子矩阵子矩阵的的4 4个顶点上的差错个顶点上的差错 方阵校验码方阵校验码失效!失效!信息码元信息码元监督码元(偶)监督码元(偶)1110010011010010100001110001000111001111011011113.3.3 恒比码恒比码(
8、定比码定比码)编码规则编码规则:恒比码中每码组中恒比码中每码组中“1”和和“0”个数保持恒定比例,接收端在检测个数保持恒定比例,接收端在检测接收到的码组中接收到的码组中“1”的数目是否对就知的数目是否对就知道是否出错。道是否出错。实例:实例:我国电传机传输汉字时使用数字代表汉字,我国电传机传输汉字时使用数字代表汉字,采用的所谓采用的所谓“保护电码保护电码”就是一种就是一种“3:2”或或“5中取中取3”的恒比码。的恒比码。C52=10个许用码个许用码组组 英文电报采用英文电报采用“7中取中取3”或或“4:3”恒比码,恒比码,共有共有C73=35个许用码组个许用码组3.3.4 正反码正反码_能简单
9、纠错的编码能简单纠错的编码 多用于多用于10单位电码的前向自动纠错设备中,单位电码的前向自动纠错设备中,能能纠正一位差错,纠正一位差错,发现大部分两位错,差错发现大部分两位错,差错编码和差错控制结合起来控制。以编码和差错控制结合起来控制。以10单位电单位电码为例:码为例:n=k+r 且且 k=r=5 1.编码规则编码规则:(1)当信息码中当信息码中“1”的个数为奇数时,监督码与的个数为奇数时,监督码与信息码相同(正码)信息码相同(正码)10101 10101(2)当信息码中当信息码中“1”的个数为偶数时,监督码与的个数为偶数时,监督码与信息码相反(反码)信息码相反(反码)10100 01011
10、 2.解码方法解码方法:(1)将接收到信息码与监督码按相应的将接收到信息码与监督码按相应的码位模码位模2加(异或),得到一个新的加(异或),得到一个新的5位码组。位码组。(2)根据接收到的根据接收到的信息码信息码中中“1”的个数:的个数:if“1”的个数为奇数,则取新的个数为奇数,则取新5位码组为校位码组为校验码组验码组 if“1”的个数为偶数,则取新的个数为偶数,则取新5位码组的反位码组的反码为校验码组码为校验码组正反码正反码正反码判决表正反码判决表校验码组的组成校验码组的组成判决差错情况判决差错情况1全全“0”无错无错24个个“1”一个一个“0”信息码中有一位出错,信息码中有一位出错,出错
11、位置就是检验码组出错位置就是检验码组中中0所对应的位置所对应的位置34个个“0”一个一个“1”监督码中有一位出错,监督码中有一位出错,出错位置就是检验码组出错位置就是检验码组中中1所对应的位置所对应的位置4其他其他差错个数差错个数1个个n(3),最后可按下表,根据检验码组中“1”的个数进行判断及纠正可能发现的错码 实例:实例:已知信息码已知信息码11010使用正反码差错控制方式,使用正反码差错控制方式,试问下列接收端收到的数据是否有错?能试问下列接收端收到的数据是否有错?能否纠正?否纠正?11010 11010 10010 11010 11010 01010 10000 11010(1)编码:
12、编码:11010(信息码)(信息码)11010(监督码)(监督码)11010 11010(正反码)(正反码)(2)解码:解码:接收端接收端11010 11010 接收端接收端10010 11010 接收端接收端11010 01010 接收端接收端10000 11010 判断判断:11010 +11010 00000 结果为结果为0,正确。,正确。10010 +11010 01000 由于接收信息码中为偶数个由于接收信息码中为偶数个1,所以检验码取反,所以检验码取反,10111,信息码中有一位出错,根据判决信息码中有一位出错,根据判决2,出错位置就是检验码,出错位置就是检验码组中组中0所对应的位
13、置,纠正后为所对应的位置,纠正后为11010 11010 +01010 10000 由于接收信息码中为奇数个由于接收信息码中为奇数个1,所以检验码不变,根据判,所以检验码不变,根据判决决3,监督码码中有一位出错,出错位置就是检验码组中,监督码码中有一位出错,出错位置就是检验码组中1所对应的位置,纠正后为所对应的位置,纠正后为11010 10000 +01010 01010 检验码中检验码中1的个数的个数1,根据判决,根据判决4,无法判断和纠错,无法判断和纠错作业作业 已知信息码已知信息码10010使用正反码差错控制方式,使用正反码差错控制方式,试问下列接收端收到的数据是否有错?能试问下列接收端
14、收到的数据是否有错?能否纠正?否纠正?11010 01101 10010 10010 10010 01101 10010 01001 11010 +01101 10111 由于接收信息码中为奇数个由于接收信息码中为奇数个1,所以检验码不变,根据判,所以检验码不变,根据判决决2,信息码中有一位出错,出错位置就是检验码组中,信息码中有一位出错,出错位置就是检验码组中0所所对应的位置,纠正后为对应的位置,纠正后为10010。10010 +11010 01000 由于接收信息码中为偶数个由于接收信息码中为偶数个1,所以检验码取反,所以检验码取反,10111,信息码中有一位出错,根据判决信息码中有一位出
15、错,根据判决2,出错位置就是检验码,出错位置就是检验码组中组中0所对应的位置,纠正后为所对应的位置,纠正后为11010 10010 +01101 11111 由于接收信息码中为偶数个由于接收信息码中为偶数个1,所以检验码取反,所以检验码取反,11111,1的个数大于的个数大于1,结果错误结果错误,不能纠正不能纠正 10000 +01010 01010 检验码中检验码中1的个数的个数1,根据判决,根据判决4,无法判断和纠错,无法判断和纠错 3.3.5 循环冗余校验编码循环冗余校验编码(CRC)Cyclic Redundancy checking(CRC)循循环冗余校验,又称多项式码。环冗余校验,
16、又称多项式码。在循环冗余校验中,不是通过将各比特位在循环冗余校验中,不是通过将各比特位相加来得到期望的校验,而是通过在数据相加来得到期望的校验,而是通过在数据单元末尾加一串冗余比特,称作单元末尾加一串冗余比特,称作循环冗余循环冗余校验码校验码或或循环冗余校验余数循环冗余校验余数,使得整个数,使得整个数据单元可以被另一个预定的二进制数所整据单元可以被另一个预定的二进制数所整除。除。1.CRC校验基本思想校验基本思想 CRC校验的基本思想是:(1)(1)根据欲发的根据欲发的k位信息生成一个位信息生成一个r比特的序比特的序列,称 为 帧 校 验 序 列列,称 为 帧 校 验 序 列 F C S(F
17、r a m e checking Series)。)。(2 2)求出实际发送的数据帧()求出实际发送的数据帧(k+rk+r位),位),这这个帧所对应二进制序列恰好能够被某个预先个帧所对应二进制序列恰好能够被某个预先确定的确定的数数(生成多项式)整除。(生成多项式)整除。(3 3)接收器用相同的数)接收器用相同的数(生成多项式)(生成多项式)去除去除传来的帧。如果无余数,则认为无差错;如传来的帧。如果无余数,则认为无差错;如果余数不为果余数不为0 0,刚认为传输出错。,刚认为传输出错。奇偶校验对一个字符校验一次,适合异奇偶校验对一个字符校验一次,适合异步通讯;而步通讯;而CRC对一个数据块(对一
18、个数据块(frame)校验一次,适合同步通讯。在串行同步校验一次,适合同步通讯。在串行同步通信中,几乎都使用这种校验方法。如通信中,几乎都使用这种校验方法。如磁盘信息的读磁盘信息的读/写等。写等。2.CRC校验常用场合校验常用场合 CRC码生成和校验基本分为三步码生成和校验基本分为三步:第一步:在数据单元第一步:在数据单元(k(k位)的末尾加位)的末尾加上上r r个个0 0。r r是一个比预定除数的比特位是一个比预定除数的比特位数数(r(r十十1)1)少少1 1的数。的数。第二步:采用二进制除法将新的加长第二步:采用二进制除法将新的加长的数据单元(的数据单元(k+rk+r位位)除以除以除数除数
19、。由此。由此除法产生的除法产生的余数余数就是循环冗余码校验就是循环冗余码校验码。码。3.CRC码的生成码的生成 第三步:求第三步:求CRCCRC循环冗余校验码循环冗余校验码(K+r)被除数被除数+r(余数余数)如果余数位数小于如果余数位数小于r,最左的缺省位数为,最左的缺省位数为0。如果余数为如果余数为0,则则r=0。CRC码的生成码的生成 CRC码校验码校验:到达接收方的数据单去除以用来产生到达接收方的数据单去除以用来产生循环冗余校验余数的循环冗余校验余数的G G(X X)。)。如果余数如果余数0 0,将通过检验。如果余数,将通过检验。如果余数非零,将通不过检验。非零,将通不过检验。4.CR
20、C码的校验码的校验 任何一个二进制数序列可以和一个只含有任何一个二进制数序列可以和一个只含有0和和1两个系数的代数多项式建立起一一对两个系数的代数多项式建立起一一对应的关系。因此,用来求应的关系。因此,用来求CRC码的那个除码的那个除数通常用多项式来表示。原因如下:数通常用多项式来表示。原因如下:代数多项式很短代数多项式很短 可以通过多项式来进行概念的数学证明。可以通过多项式来进行概念的数学证明。5.多项式多项式 多项式多项式 任何一个任何一个n位的二进制数都可以用一个位的二进制数都可以用一个n-1 次的次的多项式来表示多项式来表示,这种多项式叫这种多项式叫码多项式(又叫信息(又叫信息多项式)
21、多项式)。码多项式与二进制序列之间的一一对应关系:码多项式与二进制序列之间的一一对应关系:(an-1 an-2a1a0)N A(x)=an-1Xn-1+an-2Xn-2+a1X+a0X0码多项式多项式多项式 二进制序列实例二进制序列实例 以以n=3位二进制数为例位二进制数为例 二进制数二进制数 对应多项式对应多项式 000 001 010 011 100 101 111 01xx+1x2x2+1x2+x+1n1011011 x6+x4+x3+x+1nx5+x4+x2+x 110110 码多项式运算法则码多项式运算法则:二进制码多项式的加减运算为二进制码多项式的加减运算为 模模2加运算,加运算,
22、即两个码多项式相加时,对应项系数进行即两个码多项式相加时,对应项系数进行模模2加减。加减。乘除运算与普通多项式类似;乘除运算与普通多项式类似;模模2加减:即各位做不带进位、借位的按加减:即各位做不带进位、借位的按位加减。这种加减运算实际上就是逻辑位加减。这种加减运算实际上就是逻辑上的异或运算。即加法和减法等价。上的异或运算。即加法和减法等价。码多项式码多项式 生成多项式生成多项式G(x):求求CRC码时所用的码时所用的“除数除数”所对应的多项所对应的多项式叫式叫生成多项式。在串行通信中通常使用下列三种生成多在串行通信中通常使用下列三种生成多项式项式G(X)来产生)来产生CRC码。码。CRC-1
23、6CRC-16:G(x)=XG(x)=X1616+X+X1515+X+X2 2+1+1,美国二进制同,美国二进制同步系统中采用。步系统中采用。CRC-CCITTCRC-CCITT:G(x)=XG(x)=X1616+X+X1212+X+X5 5+1+1,CCITTCCITT推荐。推荐。CRC-32CRC-32:G(x)=XG(x)=X3232+X+X2626+X+X2323+X+X2222+X+X1616+X+X1212+X X1111+X+X1010+X+X8 8+1X+1X7 7+X+X5 5+X+X4 4+X+X2 2+X+1+X+1码多项式码多项式 循环冗余码生成器采用模循环冗余码生成器
24、采用模2 2除法。下图显除法。下图显示了这一过程。示了这一过程。CRCCRC校验器的功能完全像发生器一样,当校验器的功能完全像发生器一样,当收到附加了收到附加了CRCCRC码的数据后,做同样的模码的数据后,做同样的模2 2 除法。如果余数是全除法。如果余数是全0 0,则将,则将CRCCRC码丢码丢弃,接受数据。否则,丢弃收到的数据。弃,接受数据。否则,丢弃收到的数据。6.CRC码生成器和校验器码生成器和校验器 CRC校验码的生成器和校验器校验码的生成器和校验器r个比特0数据g(x)CRC校验码r+1r余数先发数据位先发数据位后发校验位后发校验位g(x)余数r+1r数据0接收,非接收,非0拒绝拒
25、绝数据发送方发送方接收方接收方 0G(X)111010100011010 CRC校验码校验码 信息码信息码 CRC冗余校验码冗余校验码7.CRC码性能码性能 CRCCRC码是很有效的差错校验方法。码是很有效的差错校验方法。除了正好除了正好数据块的比特值是按除数值变化的错误外,数据块的比特值是按除数值变化的错误外,循环冗余校验循环冗余校验(CRC)将检测出其他所有错误。将检测出其他所有错误。而且,常用的而且,常用的CRC除数通常有除数通常有17,或是,或是33个比特,使得不可检测的错误可能降低到几个比特,使得不可检测的错误可能降低到几乎近于零。乎近于零。CRC接收电路再配上适当的硬件电路不仅可接
26、收电路再配上适当的硬件电路不仅可以检错,而且可以纠错,纠错能力很强特别以检错,而且可以纠错,纠错能力很强特别适合检测突发性错误,在数据通信中得到较适合检测突发性错误,在数据通信中得到较广泛的应用。广泛的应用。检错性能检错性能 能检测出全部单个错误能检测出全部单个错误 能检测出全部随机二位错误能检测出全部随机二位错误 能检测出全部奇数个错误能检测出全部奇数个错误 能检测出全部长度小于能检测出全部长度小于k位的突发错误位的突发错误 能以能以1-(1/2)k-1概率检测出长度为(概率检测出长度为(k+1)位的突发性错误位的突发性错误课堂练习题课堂练习题 设某一循环码,其生成多项式为设某一循环码,其生
27、成多项式为G(X)=X5+X2+1,试求出信息序列,试求出信息序列1101010101011的循环校验码的循环校验码CRC(要求(要求写出计算步骤)。写出计算步骤)。设某一循环码,其生成多项式为设某一循环码,其生成多项式为G(X)=X5+X4+X2+1,试求出信息序列,试求出信息序列1010001100的的CRC循环校验码(要求写出循环校验码(要求写出计算步骤)。计算步骤)。3.3.6 卷积卷积码码 1.概述概述 2.编码器编码器 3.解码器解码器1.概述概述 前面介绍的编码方法都是前面介绍的编码方法都是线性分组码线性分组码,即监督码,即监督码只负责监督检验本码组中的信息码元。只负责监督检验本
28、码组中的信息码元。如果每组的监督码元不但与本组码的信息码元有如果每组的监督码元不但与本组码的信息码元有关,而且还与前面若干组信息码元有关,即不是关,而且还与前面若干组信息码元有关,即不是分组校验而是分组校验而是每个监督码元对它的前后码元都实每个监督码元对它的前后码元都实行监督,前后相连,具有连环监督的作用行监督,前后相连,具有连环监督的作用;因此;因此我们称为我们称为连环码连环码,即,即卷积码卷积码。卷积码由卷积码由 P.Elias于于1955年最先提出,整个编解年最先提出,整个编解码过程一环扣一环,连锁地进行下去。码过程一环扣一环,连锁地进行下去。2.编码器编码器aiai-1a2a1a0R2
29、R1信息入口连环码输出模模2加法器加法器ab b3a3b2a2b1a1b0a0移位寄存器移位寄存器移位寄移位寄存器存器b 0=a 0b 1=a 0 a 1b 2=a 1 a 2 b 3=a 2 a 3 b i=a i-1 a i2.编码器编码器(1)编码器输出过程编码器输出过程 第一次,第一次,前半拍开关接到前半拍开关接到a输出输出a0,后半拍开,后半拍开关倒向关倒向b输出输出b0=a0 0=a0 第二次,第二次,前半拍开关接到前半拍开关接到a输出输出a1,后半拍开,后半拍开关倒向关倒向b输出输出 b1=a1 a0 第第i次,前半拍开关接到次,前半拍开关接到a输出输出ai,后半拍开关,后半拍开
30、关倒向倒向b输出输出bi=ai ai-1 2.编码器编码器(2)连环码结构:连环码结构:信息码信息码:an-1an-2aia1a0监督码监督码 bn-1bn-2bib1b0连环码输出序列连环码输出序列bn-1an-1biaib2a2b1a1b0a0即即“信息码信息码 监督码监督码 信息码信息码”,一个信息码与一个,一个信息码与一个校验码构成一组但每个校验码校验码构成一组但每个校验码bi=ai ai-1除了与本组码除了与本组码有关还与前一组信息码有关,故称为卷积码。有关还与前一组信息码有关,故称为卷积码。iiiaabaabaabaabab132321210100.3.解码器解码器 R1R2R3&
31、ab接收到的监督码接收到的监督码计算出的监督码计算出的监督码判决电路判决电路123解解码码输输出出解解码码输输入入Si Si-1连环码入口连环码入口解码解码器器 解码思路:解码思路:移位寄存器移位寄存器R1、R2及模及模2加法器加法器1构成与发送构成与发送端一样的编码器,用来计算监督码和解码输出。端一样的编码器,用来计算监督码和解码输出。用用模模2加法器加法器2将计算出的监督码与接收到的监将计算出的监督码与接收到的监督码进行比较,即先督码进行比较,即先对对ai编码产生新的监督编码产生新的监督码码bi,再与,再与bi异或异或,if结果为结果为0 then正确正确 else出出错。错。根据第根据第
32、2步的输出进行判决,由判决电路完成步的输出进行判决,由判决电路完成 由判决结果通过由判决结果通过加法器加法器3输出结果输出结果 解码器解码器 设接收的码序列设接收的码序列b3a3b2a2b1a1b0a0其其解码过程为:解码过程为:(1)第零第零拍拍,前半拍电子开关倒向前半拍电子开关倒向a,移位寄存器移位寄存器R1移出移出a0,R2移出移出0,故加法器,故加法器1结果生成一个结果生成一个a0 0=a0。后半拍电子开关倒向后半拍电子开关倒向b结果结果,接收到接收到b0,生成,生成S0=b0(=a0)a0 ,R3为为0故与门输出故与门输出0 又又R2输出为输出为0,所以加法器,所以加法器3输出为输出
33、为0 解码器解码器 (2)第一第一拍拍 前半拍电子开关倒向前半拍电子开关倒向a,R1移出工移出工a1,R2移出移出a0加法器加法器1输出输出a1 a0 后半拍电子开关倒向后半拍电子开关倒向b,加法器,加法器2输入输入b1,加法器加法器2输出输出 S1=b1 (a1 a0)在第一拍后半期当在第一拍后半期当b1 出现在输入端时,出现在输入端时,就可对就可对a0做判断。做判断。解码器解码器 (3)第二第二拍拍 前半拍电子开关倒向前半拍电子开关倒向a,R1移出工移出工a2,R2移出移出a1,加法器,加法器1输出输出a2 a1 后半拍电子开关倒向后半拍电子开关倒向b,加法器,加法器2输入输入b2加法器加
34、法器2输出输出 S2=b2 (a2 a1)在第二拍后半期当在第二拍后半期当b2 出现在输入端时,出现在输入端时,就可对就可对a1做判断。做判断。(4)依次类推,)依次类推,当b3出现在输入端时,就可对a2做判断规则如规则如P69。解码方程解码方程 模模2加法器加法器2的输出对我们判决正确性至关的输出对我们判决正确性至关重要。重要。1332322121101)(.)()()(iiiibaaSbaaSbaaSbaaS解码器解码器 判决规则:判决规则:当当Si及及Si+1都为都为“0”时,时,ai正确正确 当当Si及及Si+1都为都为“1”时,必定是时,必定是ai出错出错 当当Si为为“1”而而 S
35、i1为为“0”时,必定是时,必定是ai-1、bi中有一个出错,故判决中有一个出错,故判决ai无错无错 当当Si1为为“1”时,而时,而 Si为为“0”时,必定是时,必定是ai+1、bi+1中有一个出错,故判决中有一个出错,故判决ai无错无错寄存器:寄存器:是能够寄存一组二进制信息的是能够寄存一组二进制信息的逻辑部件逻辑部件。由由D D型触发器组成的型触发器组成的4 4位寄存器位寄存器补充:寄存器补充:寄存器触发器触发器 能寄存一位二进制信息的单元电路称为能寄存一位二进制信息的单元电路称为触发器触发器。触发。触发器有两个输出端:器有两个输出端:“1”1”端和端和“0”0”端端(见下页图)。(见下
36、页图)。两个输出端的极性总是相反两个输出端的极性总是相反(“1”1”端为高电平,端为高电平,“0”0”端就为低电平;端就为低电平;“1”1”端为低电平,端为低电平,“0”0”端就为高电端就为高电平)平)触发器有两种稳定状态触发器有两种稳定状态。一种是:。一种是:“1”1”端为高电平,端为高电平,“0”0”端为低电平,另一种是:端为低电平,另一种是:“1”1”端为低电平,端为低电平,“0”0”端为高电平。约定触发器为前一种状态时处于端为高电平。约定触发器为前一种状态时处于“1”1”状态,存的信息是状态,存的信息是“1”1”;为后一种状态时触为后一种状态时触发器处于发器处于“0”0”状态,存的信息
37、是状态,存的信息是“0”0”。没有外界作没有外界作用,触发器状态保持不变,即所存的信息不变。用,触发器状态保持不变,即所存的信息不变。在一定的外界作用下,触发器能从一种状态变到另一种状态并保持住。触发器的输出端触发器的输出端D D型触发器型触发器D触发器触发器 在在SETSET端(置端(置“1”1”端)加一负脉冲,触发器变为端)加一负脉冲,触发器变为“1”1”状态。状态。在在CLRCLR端(置端(置“0”0”端)加一负脉冲,触发器变为端)加一负脉冲,触发器变为“0”0”状态。状态。平常,平常,SETSET端和端和CLRCLR端为高电平。端为高电平。CPCP端为接收脉冲(或称打入脉冲)输入端为接
38、收脉冲(或称打入脉冲)输入端。端。当当CPCP端没有接端没有接收脉冲时,即一直处于固定的电位时,触发器的状态保持收脉冲时,即一直处于固定的电位时,触发器的状态保持不变。在不变。在CPCP端加一接收脉冲,在脉冲的上升沿(由低变高)端加一接收脉冲,在脉冲的上升沿(由低变高)时,时,如果此刻代码输入端如果此刻代码输入端D D为为0 0,则触发器变为,则触发器变为0 0,如果,如果D D为为1 1,则触发器变为则触发器变为1 1。也就是说,也就是说,接收的信息接收的信息(或说成打入到触发器中的信息)(或说成打入到触发器中的信息)取决于接收脉冲的取决于接收脉冲的上升沿上升沿时刻代码输入端的状态时刻代码输入端的状态。接收脉。接收脉冲过后冲过后D D型触发器的状态保持不变。型触发器的状态保持不变。由由D触发器构成触发器构成4位移位寄存器位移位寄存器