海明码的生成和校验Word文件下载.docx
- 文档编号:14149954
- 上传时间:2022-10-19
- 格式:DOCX
- 页数:17
- 大小:366.49KB
海明码的生成和校验Word文件下载.docx
《海明码的生成和校验Word文件下载.docx》由会员分享,可在线阅读,更多相关《海明码的生成和校验Word文件下载.docx(17页珍藏版)》请在冰豆网上搜索。
2.2.3纠正模块的设计与实现1
2.3仿真调试1
第3章编程下载与硬件测试1
3.1编程下载1
3.2硬件测试及结果分析1
参考文献1
附录(程序清单或电路原理图)1
第1章总体设计方案
1.1设计原理
海明校验码是由理查得·
海明(RichardHanmming)于1950年提出的,它不仅具有检测错误的能力,同时还具有给出错误所在的准确位置的能力,这在通信领域有着很广泛的应用。
海明码是奇偶校验的一种扩充。
它采用多位校验码的方式,在这些校验位中的每一位都对不同的信息数据位进行奇偶校验,通过合理地安排每个校验位对原始数据进行校验位组合,可以达到发现错误,纠正错误的目的。
(1)数据位和校验位的关系
假设数据位有m位,如何设定校验位k的长度才能满足纠正一位错误的要求呢?
我们这里做一个简单的推导。
k位的校验码可以有2k个值。
如果能够满足:
2k>
=m+k+1,在理论上k个校验码就可以判断是哪一位(包括信息码和校验码)出现问题。
(2)海明码的编码规律
若海明码的最高位号为m,最低位号为1,即HmHm-1…H2H1,则海明码的编码规律通常是:
a.校验位与数据位之和为m,每个校验位Pi在海明码中被分在
2i-1的位置,其余各位为数据位,并按从低向高逐位依次排列的关系分配各数据位。
b.海明码的每一位Hi(包含数据位和校验位本身)由多个校验位校验,其关系是被校验的每一位位号要等于校验它的各校验位的位号之和。
这样安排的目的,是希望校验的结果能正确反映出出错位的位号。
1.2设计思路
(一)海明码的生成:
因为要求的是8位的二进制数据,所以此处的m为8,按照数据位和校验位的对应关系,k应为4,故海明码的总位数为12,可表示为:
H12——H1,4个校验位P4~P1对应的海明码位号分别为:
H8/H4/H2/H1,则有如下排列关系:
D8D7D6D5P4D4D3D2P3D1P2P1
按照海明码的原理得出如下的表格:
海明码位号
数据位/校验位
参与校验的校验位位号
被校验位的海明码位号=校验位位号之和
H1
P1
1
1=1
H2
P2
2
2=2
H3
D1
1,2
3=1+2
H4
P3
4
4=4
H5
D2
1,4
5=1+4
H6
D3
2,4
6=2+4
H7
D4
1,2,4
7=1+2+4
H8
P4
8
8=8
H9
D5
1,8
9=1+8
H10
D6
2,8
10=2+8
H11
D7
1,2,8
11=1+2+8
H12
D8
4,8
12=4+8
P1=D1⊕D2⊕D4⊕D5⊕D7
P2=D1⊕D3⊕D4⊕D6⊕D7
P3=D2⊕D3⊕D4⊕D8
P4=D5⊕D6⊕D7⊕D8
(二)海明码的校验:
海明码校验函数(S函数)及校验过程
<
偶校验>
S1=P1⊕D1⊕D2⊕D4⊕D5⊕D7
S2=P2⊕D1⊕D3⊕D4⊕D6⊕D7
S3=P3⊕D2⊕D3⊕D4⊕D8
S4=P4⊕D5⊕D6⊕D7⊕D8
1.3设计环境
·
硬件环境:
伟福COP2000型计算机组成原理实验仪、XCV200实验板、微机;
EDA环境:
Xilinxfoundationf3.1设计软件、COP2000仿真软件。
图1.1Xilinxfoundationf3.1设计平台
第2章详细设计方案
2.1顶层方案图的设计与实现
实现海明码的生成与校验逻辑功能,采用原理图设计输入方式完成,电路实现基于XCV200可编程逻辑芯片。
完成原理图的设计后,把输入/输出信号安排到XCV200指定的引脚上去,实现芯片的引脚锁定。
2.1.1设计方案
顶层图形文件是由产生(如图2.1),出错(如图2.2)和纠正(如图2.3)三个模块元件组装而成的一个完整的设计实体组成。
图2.1产生模块
图2.2出错模块
图2.3纠正模块
2.1.2器件的选择与引脚锁定
(1)器件的选择
由于硬件设计环境是基于伟福COP2000型计算机组成原理实验仪和XCV200实验板,故采用的目标芯片为XlinxXCV200可编程逻辑芯片。
(2)引脚锁定
把顶层图形文件中的输入/输出信号安排到XlinxXCV200芯片指定的引脚上去,实现芯片的引脚锁定。
图形文件中的输入/输出信号
XCV200芯片引脚信号
CHANSHENGT.IN1
P94
CHANSHENGT.IN2
P95
CHANSHENGT.IN3
P96
CHANSHENGT.IN4
P97
CHANSHENGT.IN5
P100
CHANSHENGT.IN6
P101
CHANSHENGT.IN7
P102
CHANSHENGT.IN8
P103
CHUCUO.IN1
P79
CHUCUO.IN2
P80
CHUCUO.IN3
P81
JIUZHENG.O1
P170
JIUZHENG.O2
P169
JIUZHENG.O3
P168
JIUZHENG.O4
P149
JIUZHENG.O5
P153
JIUZHENG.O6
P154
JIUZHENG.O7
P155
JIUZHENG.O8
P156
CHANSHENG.O1
P78
CHANSHENG.O2
P93
CHANSHENG.O3
P99
CHANSHENG.O4
P107
CHANSHENG.O5
P108
CHANSHENG.O6
P109
CHANSHENG.O7
P124
CHANSHENG.O8
P125
CHANSHENG.O9
P147
CHANSHENG.O10
P152
CHANSHENG.O11
P178
CHANSHENG.O12
P184
2.2底层模块的设计与实现
海明码生成与校验设计电路是由3个模块组成,其中产生模块是由8个输入端输入海明码的8位数据位,经异或门求得校验位P1,P2,P3,P4,由此输出12位海明码;
出错模块是由三八译码器来改变输入数据的某一位,从而产生错误的海明码;
纠正模块是对错误的数据进行纠正修改。
2.2.1产生模块的设计与实现
(1)元件结构
海明码产生模块,原理是通过输入的数据IN1~IN8按照公式:
P1=D1⊕D2⊕D4⊕D5⊕D7,
P2=D1⊕D3⊕D4⊕D6⊕D7,
P3=D2⊕D3⊕D4⊕D8,
P4=D5⊕D6⊕D7⊕D8,
生成了4位校验码P1/P2/P3/P4,从而得出了12位海明码。
图2.4产生模块部电路
(2)功能仿真
对产生模块进行功能仿真,验证其功能的正确性。
图2.5产生模块仿真
结果分析:
输入IN1-IN8为10011001,输出O1-O12为1,结果是正确的海明码。
2.2.2出错模块的设计与实现
本模块的原理是通过3线8线译码器的3进1出,输出一个1,与8位输入数据中的一位异或,使之发生错误,从而得出一组错误的数据。
图2.6出错模块部电路
对创建的出错元件进行功能仿真,验证其功能的正确性
图2.7出错模块仿真
输入IN1-IN3为000,输入IN1-IN8为10011001,输出O1-O8为1,其中O1为出错位,产生了一位错误。
2.2.3纠正模块的设计与实现
(1)元件的部结构
原理是通过公式:
S1=P1⊕D1⊕D2⊕D4⊕D5⊕D7,
S2=P2⊕D1⊕D3⊕D4⊕D6⊕D7,
S3=P3⊕D2⊕D3⊕D4⊕D8,
S4=P4⊕D5⊕D6⊕D7⊕D8,连成的电路对数据进行校验,判断数据是哪一位出错,并对出错的那一位与错误数据异或,从而得出正确的数据。
图2.8纠正模块部电路
对纠正模块进行功能仿真,验证其功能的正确性
图2.9纠正模块仿真
2.3仿真调试
仿真调试是为了验证设计电路逻辑功能的正确性,输入8位二进制数据位生成12位海明码,中间经三八译码器来改变一位数据位,经校验电路修改,最后输出正确的8位二进制数据位。
仿真调试时采用两组数据
IN1~IN8
第一组数据
10011001
第二组数据
11001100
(1)创建仿真信号
在进行仿真时,输入数据位用了上面的两组数据。
第一组数据,IN1~IN8为10011001,生成的海明码O1~O12为1。
第二组数据,IN1~IN8为11001100,生成的海明码O1~O12为0。
这两组数据又经三八译码器改变其中一位错的数据输入到纠正电路里,经纠正校验后输出原本的数据位,最终实现了海明码生成和校验功能。
(2)仿真结果
功能仿真结果如图2.10、图2.11所示,仿真数据结果如表2.3所示。
对表中容进行计算,可以看出功能仿真结果是正确的,进而说明此次电路设计成功。
表2.3:
输入数据8位数据(CS.IN1~IN8)
3线8线译码器输入(CC.IN3~IN1)
输出海明码
(CS.O1~O12)
错误的数据(CC.O1~O8)
000(第一位)
00011001
001第二位)
10001100
图2.10第一组数据功能仿真结果
图2.11第二组数据功能仿真结果
第3章编程下载与硬件测试
3.1编程下载
利用XilinxISE的编程下载功能,下载编译我的工程,从而得到的*.bin文件,即可下载到XCV200实验板的XCV200可编程逻辑芯片中,完成编译下载。
3.2硬件测试及结果分析
利用XCV200实验板进行硬件功能测试。
海明码数据位的输入数据通过XCV200实验板的输入开关实现,输出数据通过XCV200实验板的LED指示灯实现,其对应关系如表3.1所示。
表3.1XCV200实验板信号对应关系
XCV200实验板
CHANSHENG.IN1
K0:
CHANSHENG.IN2
CHANSHENG.IN3
3
CHANSHENG.IN4
CHANSHENG.IN5
5
CHANSHENG.IN6
6
CHANSHENG.IN7
7
CHANSHENG.IN8
K1:
CHUCUO.IN2
CHUCUO.IN3
CHANSHENG.O1—CHANSHENG.O12
B7—A4
输入数据,逐个测试输出结果,即用XCV200实验板的开关K0、K1输入数据,同时观察LEDA和LEDB的输出,得到如表3.2所示的硬件测试结果。
表3.2硬件测试结
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 明码 生成 校验