首先,了解实验的大体要求,该实验要求我们对16位数据进行crc编码,生成22位数据;再将22位crc编码进行解码成16位数据,且判断数据是否在传输过程中发生一位错,两位错的情况,若出错,则必须对数据进行纠正。因此该实验要进行两个的电路图的设计。
一、16位crc并行编码电路设计
1.解题思路
①已知该实验输入的是16位数据,输出22位crc编码数据,其中包括16位原始数据,6位校验位,其中一位为总的奇偶校验位(校验位的位数也可由k+r<=2^r-1得到)。因此此时的r=5(不包含奇偶校验位),选择的多项式g(x)位数则为r+1=6位,此时我选择的多项式是g(x)=100101(该多项式不固定,选择其它六位的多项式也是可以的)。
②crc编码原理:原始16位数据q(x),左移r=5位成21位q’(x)(即后面补r个0),再与多项式100101做模2运算,得到的r位的余数,将该余数替换掉q’(x)后面的r位,即将它后面的r个0替换成该余数。如图所示r5r4r3r2r1便是得到的余数,而r6是总的奇偶校验位,对所有数据进行异或便可得到该偶校验位r6。
③由于要采用并行编码,又有以下公式
因此可先对该16位数据按位与该多项式进行模2除运算,再根据其实际数据进行异或操作。
举个例子:
因此根据该思路,先将16位原始数据所对应位置上取1时,与g(x)进行模2除运算得到各自的5位余数,再用选择器进行根据每一位数据选择输入的是余数还是0,最后将16个输入数据进行异或,即可得到5位最终的余数。
③选择器的使用原理:
此时选择器的选择端连接的是d1,由于d1数据位宽为1,则选择器有2^1=2个输入端。当d1为0,则输入0端的数据即00;若d1为1时,则输入1端的数据即0a。
因此根据选择器的选择原理,将16位数据di(i=1,2…16)作为选择端控制每位数据输入的是00还是该位与多项式进行模2运算后的余数,最后将最终输入的16个5位数据进行异或,即可得到最终的余数。
2.求16位与多项式的余数
如上图所示,di(i=1,2…16)分别位数crc编码的第7,8,9…22位上,因此其各自取1时与多项式模2除运算后的余数如下所示:
3.电路图设计
(r6是总的偶校验位)
二、16位crc并行解码电路设计
该电路会比较难理解,要进行检错以及数据纠正得到原始的16位数据。
1.检错原理
① 接收方在接受到crc编码后,将该编码与多项式进行模2除运算,得到余数r’,再根据q(假设q为总的奇偶检验位,将所有数据进行异或可得)的值进行判断数据是否产生错误,及产生错误后是一位错还是两位错。其检查原理同海明码的检错原理相同。
有以下情况:
①当r’ =0,q=0,表示数据无出错;
②r’ !=0,q=1,表示发生一位数据出错;
③r’ =0,q=1,表示该奇偶校验位出错,即发生一位出错;
④r’ !=0,q=0,表示发生两位数据出错。
②求余数时,可参照设计crc编码时求余数的方法
因为crc编码最后的r位少于多项式位数,因此可将最后r位看作一个整体,让它与多项式进行模2除运算后,得到的余数显然是它本身,因此让它与其它16位数据与g(x)模2除后所得的余数进行异或,即可得最后接收方检验的余数。
如下图所示,箭头所指的该5位数据位便是其最终得到的余数(异或门输出位宽为5)。
2.纠错,得原始16位数据
①若crc编码发生出错,而它的出错位可能为第7,8,9…22位(不考虑第1到6位,因为我们要得的原始16位数据处于第7…22位上,因此只需要判断这些位是否出错,若出错对它们进行纠正,再输出即可)。因此将crc编码按位取反后再与g(x)进行模2除运算,若余数为0,则说明该位出错,因此将余数取反为1,再与该位数据进行异或从而纠正该位的数据;若余数不为0,则说明该数据位并未发生传输错误,因此对该余数取反为0,再与该位的数据进行异或得到的数据仍为该数据位。(x异或0=x,x异或1=x反)
②crc编码按位取反(即按位异或1)后再与g(x)进行模2除运算,根据公式可化成
crc编码%g(x)异或该数据位取1%g(x)。
例如:假设第7位出错
crc%100101异或100 0000%100101=crc%100101异或0a。
3.电路图设计:
以下为完整电路图
以下分开截图
4.通过测试
注:①(“老母亲帮的叮嘱‘)希望好好理解下实验原理,再去做,就不会产生太多的错误短路什么的!!!
②做编码的实验时,注意要检查下该隧道是否连接上了数据
③在解码的电路设计,常量0和余数都是五位,所以设置其对应器件位宽是五位的。
例如以下的器件(不止这些数据位是5位,就不一一举出了)
如果设置位宽不对,后面可能会产生短路即显示红线!!!
④太多用错逻辑门的,要好好理解下原理再去做就不会花太多时间卡在这一关啦
以下是常被用错的逻辑门,至于原理为何用这些门,上面解题思路讲到了,这里就不说了哈
包括 ADAS 和电动汽车在内,功率电感器在汽车电气化进程中的重要作用
波峰焊工艺中,波峰焊喷头不移动的原因是什么
2021年中国智能家居设备出货量超2.2亿台 华为、Aqara稳居第一梯队
CAN隔离网桥中继器集线器系列应用方案
射频PCB仿真优化应用
16位CRC并行编解码电路原理图
HSD的防反接方案2
三维扫描仪对汽车部件转向节的测量汽车精密铸造件的三维尺寸检测服务
灿芯半导体亮相ICCAD 2022
5G发牌四周年 | 携手共进,共建更加繁荣的数字中国
Peerless by Tymphany扬声器驱动器 由Digi
8月回顾丨一周快讯【144期】机智云入选物联网行业优秀成功应用案例/数字生态优秀创新案例
苹果让机器人做回收 每小时能拆解200台手机
ac转dc电源方案有哪些?
紧抓复苏期机遇,首届2020深圳(国际)人工智能展确定8月底召开
VR技术支持!无人机通过声呐捕捉鱼类
三电极方法测试评价锂电池性能
空客公司Skyways无人机进行岸船投送测试
5G霸屏模式持续,手机市场整体复苏趋势有望加速
面向大电流、快速瞬态响应噪声敏感型应用的多相解决方案