版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
武汉理工大学《专业课程设计3(通信原理)》课程设计说明书基带码型变换设计-密勒码码型变换技术指标(1)设计密勒码的编译码电路;(2)输入信号为24位的周期NRZ码(3)编译码延时小于3个码元宽度基本原理《基带码型变换设计——密勒码码型变换》,也就是利用仿真软件MAXPLUSII设计密勒码型变换的编码和译码电路,实现密勒码的编码、解码过程。该电路设计的中心问题在于按照密勒码的编码规则实现信源码的逻辑变换,我们先分析密勒码的编译码原理。查阅《通信原理》可知,MILLER码又称延迟调制码。其编码规则是二进制信息“1”码用码元间隔中心点出现跃变表示,即用“10”或“01”表示;二进制信息“0”码有两种情况:单个“0”时,在码元间隔内不出现电平跃变,且与相邻码元的边界处也不跃变;在连“0”时,在两个“0”码的边界处出现电平跃变,即“00”与“11”交替。至于译码部分,根据教材资料可知,其译码可借助于密勒码与BPH码的关系求得。观察图1波形,此处NRZ码为‘0101001’,密勒码为‘00011110001110’,BPH码为‘01100110010110’。可知,BPH码的下跳沿对应着密勒码的跳变沿。所以,我们可以用BPH码下跳沿去触发双稳态电路,即可输出密勒码。图1对应NRZ码的密勒码波形图设计方案及功能分析分析密勒码的编译码原理后,我做出了以下两种设计方案。3.1方案一方案一,是以VHDL的穷举编程实现密勒码的编解码。分析密勒码的编码规则我们可以发现以下规则:1)密勒码用‘10’和‘01’表示信号‘1’,用‘00’和‘11’表示信号‘0’;2)两个信源码之间对应的密勒码没有跳变,即当前码的编码受到前一个码的影响。综合以上两条,我们可以在程序中利用各种顺序语句罗列出编码时可能碰到的所有的情形,并给出对应的编码解。在下表1中,列出了所得的米勒码编码情况。其中,信号输入为DATA,信号输入时刻前一位为Sav1,对应的密勒码输出为Sav2,输出为Do。DATASav1Sav2Do000011001100010111011000100001101110110110111001表1各种情况下的密勒码编码输出即当前输入信号DATA有0,1两种可能;前一密勒输出有00,11,01,10四种情况;综合起来就是8种情况,以DATA及Sav2为条件因子,作为顺序语句的条件。对应此逻辑以“IFTHENELSIF”语句编写了如下程序:libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entitymiller_encoderisport(datain:instd_logic; en:instd_logic; clk:instd_logic; encodeout:outstd_logic_vector(1downto0) );end;architecturefuncofmiller_encoderisbeginprocess(en,clk,datain)variablesav1:std_logic:='1';variablesav2:std_logic_vector(1downto0):="01";beginif(en='0')thenencodeout<="00";elseif(clk'eventandclk='0')then if(datain='1'andsav1='1'andsav2="01")then encodeout<="10"; sav2:="10"; sav1:='1'; elsif(datain='1'andsav1='1'andsav2="10")then encodeout<="01"; sav2:="01"; sav1:='1'; elsif(datain='0'andsav1='1'andsav2="01")then encodeout<="11"; sav2:="11"; sav1:='0'; elsif(datain='0'andsav1='1'andsav2="10")then encodeout<="00"; sav2:="00"; sav1:='0'; elsif(datain='0'andsav1='0'andsav2="00")then encodeout<="11"; sav2:="11"; sav1:='0'; elsif(datain='0'andsav1='0'andsav2="11")then encodeout<="00"; sav2:="11"; sav1:='0'; elsif(datain='1'andsav1='0'andsav2="00")then encodeout<="01"; sav2:="01"; sav1:='1'; elsif(datain='1'andsav1='0'andsav2="11")then encodeout<="10"; sav2:="10"; sav1:='1'; endif;endif;endif;endprocess;endfunc;同样的逆向采用穷举法实现米勒码解码,解码VHDL程序如下:libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entitymiller_decoderisport(encodein:instd_logic_vector(1downto0); en:instd_logic; clk:instd_logic; decodeout:outstd_logic );end;architecturefuncofmiller_decoderisbeginprocess(en,clk,encodein)beginif(en='0')thendecodeout<='0';elseif(clk'eventandclk='0')thenif(encodein="11"orencodein="00")thendecodeout<='0';elsif(encodein="10"orencodein="01")thendecodeout<='1';endif;endif;endif;endprocess;endfunc;3.2方案二方案二,是使用硬件电路实现米勒码的编译码。其编码原理是以NRZ码与BS信号异或生成BPH码,然后输入以D1触发器构成的双稳态电路产生密勒码。解码原理是通过D3触发器获得密勒码的下跳沿的有效信息与密勒码(密勒码本身包括上跳沿有效信息)相异或,整合,再使用D4触发器采样,最终获得解码输出。其编译码过程如下:编码:输入数据NRZ码与位同步信号BS取反后相异或,生成BPH码;BPH码输入D1触发双稳态电路,生成密勒码。译码:将输出的密勒码输入触发器D2的D端,将2BS信号延迟后送入D2;D2生成信号OUT3输入D3;将2BS信号延迟后送入D3,将D3生成信号OUT2与密勒码相与,生成信号OUT1输入触发器D4;将BS信号取反后延迟送入触发器D4,即可输出密勒码解调输出。编码、解码电路图如图2(MAX+PLUS2绘制)。图2方案二编解码电路图根据方案二,在MAX+PLUS2中的波形编辑器中仿真,得到图3。图3方案二波形仿真图其中NRZ为信号输入,miller为编码输出,OUTmiller为译码输出,由图可知电路很好的实现了译码,并且延迟不超过2个码元宽度。ENDTIME设置为10us,时钟周期为100ns。3.3方案比较上述两种方案,其各有各的特点。对于方案一,它的优点是纯编程实现,难度小,容易理解,容易设计。而且,密勒码编解码中出现的状态仅仅只有8种,所以采取穷举法很合适。但本方案也有其缺陷,如果该设计是一个大型的,逻辑状态比较多的设计,那么,穷举法编程很不合适了。同时,在此设计中还需要设置编码时的初始条件,由此带来了些许麻烦。所以把方案一作为实际操作方案并不太合适。对于方案二,方案二的逻辑设计比较完善,多方参照资料可知方案二及其改进方案便是应用于实际的密勒码编译码方法。方案二中,采用器件较少较简单,占用逻辑单元少,不易出错,而且在设计原理上的理解也不是很难。其中,器件使用少使得器件延时小,时钟信号能稳定输入各个D触发器,这样系统稳定性得到提高。综上所述,以上两种方案里,方案二比较适合实际烧写。CPLD时序和功能仿真参照以上两种方案的对比,我选定采用方案二作为实际烧写的实现方案。对于方案二,在选定了设计器件为EPM7128SLC84-15后锁定管脚重新进行编译,编译成功。此时,我们利用MAX+PLUS2软件对该方案进行时序和功能仿真。对于方案二,最终采用的电路图如图4。图4方案二实际烧写电路图分析仿真波形,方案二的电路可以成功仿真出密勒码的编码、解码功能。在此设定的码元周期为100ns,仿真时间ENDTIME=3.2us,仿真了3X8=24位的波形。根据方案二的设计思路,以NRZ码与BS码异或得到BPH码,再以BPH码下跳沿触发双稳态电路生成密勒码。解码时对密勒的上下跳变采样,最终还原成NRZ码。图5时序仿真波形分析波形可知,NRZ码输入为:01010011,BPH编码输出为:0110011001011010,密勒码编码输出为:0001111000111001。图6时序仿真波形分析波形可知,NRZ码输入为:01010101,BPH编码输出为:0110011001100110,密勒码编码输出为:0001111000011110。图7时序仿真波形分析波形可知,NRZ码输入为:00011001,BPH编码输出为:0101011010010110,密勒码编码输出为:0011000110001110。综合以上三图,两处仿真编码输出与理论编码输出完全相同,可知编码正确。观察BPH码与miller码波形,可知BPH码下跳沿对应着密勒码的跳变沿,符合本方案的设计思路。再观察NRZ输入码与OUTmiller输出码波形,OUTmiller的波形相对NRZ码波形有两个码元的延迟,满足“编译码延时小于3个码元宽度”的设计要求。硬件电路调试及结论5.1硬件电路调试对于以上实现方案,经过时序仿真后,进行了管脚锁定以及编译。对于实现方案具体的引脚设定如下:NRZ-35,BS-33,2BS-36,BPH-39,MILLER-37,OMILLER-41。引脚锁定如图6。图8实现方案二管脚锁定图管脚锁定之后在通信原理实验箱上成功进行了烧写。烧写成功后在实验箱上进行测试。将信号源电路打开,烧写用模块打开,使用默认的分频后,将信号源BS,2BS,NRZ,FS分别接入测试模块。用示波器测试各点波形,BPH编码、密勒码编码、密勒码解码波形均正常,实际的延迟小于2位。可知方案二硬件调试后满足设计要求,设计成功。5.2结论本次课程设计是关于基带码型中密勒码的码型变换,主要任务有提出可行的设计方案;运用可编程逻辑器件的仿真软件MAXPLUSII完成以上的设计原理图;对设计原理图或程序进行编译并选择CPLD器件实现功能和时序的仿真;将编码程序下载至已选择的CPLD芯片中,在实验电路板上连接相应的线路,调试电路,测试码型变换编码和译码输出点波形。相应的有三个技术要求。经过对方案二的设计,CPLD时序和功能仿真,硬件电路调试,完成了设计的主要任务。并且完成了密勒码的编译码电路的设计,输入信号满足24位的周期NRZ码,编译码的延时为2个码元宽度,小于3个码元宽度的设计指标。所以,所有的技术指标均满足。综上,本次的课程设计成功的达到了技术指标中的各项要求,即本密勒码变换设计是成功的。心得体会此次课程设计,时间相对充裕,而且各科课程均已完结,所以可以认认真真详细的做这个课程设计。一个星期用来找资料设计电路并仿真,一个星期烧写调试及撰写课设报告,这样两个星期下来,虽然累点,但收获也是很大的。这是第三次做课设,对课程设计的流程可以说是相当熟悉的了,所以这次课设做下来相对平静些,没有忙乱的不知从哪里下手。“磨刀不误砍柴工”,从原理下手。我想,把密勒码的编译码原理理解透彻,设计电路就能驾轻就熟,出错的地方就会少些。设计仿真阶段,出现的问题主要是软件的使用不熟练,对原件的作用理解不够清楚,如延时器。对于原理图中用不用延时器,我反复思考。在MAX+PLUS2里仿真波形时,用不用延时器对最终结果基本没有影响,所以我开始的时候去掉了延时器。而在将程序烧写到试验箱上开始用示波器测试波形时,问题出现了,其中密勒码、BPH码、OUTmiller码等的输出波形出现严重的失真。开始觉得是有电磁干扰,检查电路以及插头等部位后,波形失真依旧,便感觉是电路的原因了。反复修改,加上延时器后,输出波形正常。最终顺利的在规定时间内完成调试。软件电路仿真跟硬件电路调试,得到的结果有区别。在软件调试阶段,软件电路仿真得到的结果跟理论结果基本相同,输出波形相当符合要求,得出电路设计是正确的结论。然而,在硬件电路调试阶段,用示波器得出的波形则相当的差强人意。抛开延时问题不谈,在密勒码输出波形上,就有周期内的编码正确,而相邻周期的连接出编码就出现问题。与做相同题目的同学谈论,发现他的波形跟我的有相同的问题,探讨无果,决定询问老师,得出是相邻周期点,电平跳变的缘故导致这个时候的编码不对。在此间,学到了很多东西,如质疑和求实的精神。课程设计,是一种锻炼自己学习能力的过程,要能够自主学习,自主分析,能有自我监督的态度。这个过程中,我又熟悉了一遍MAX+PLUS2软件的操作,并且对《通信原理》的基带码型部分也重新温习了一遍,对我的知识巩固有很大的作用。两个星期过去,课程设计也就告一段落,但我的学习是不会终止的。在此,也向指导老师致谢,感谢能在课设期间耐心帮助解答问题。参考文献[1]樊昌信,曹丽娜.通信原理(第6版).国防工业出版社,2009年2月.[2]伍时和,吴友宇.数字电子技术基础.清华大学出版社,2009年4月.[3]廖裕平,陆瑞强.CPLD数字电路设计.清华大学出版社,2001年10月.附录:8.1安装调试实验报告8.1.1安装调试过程记录在成功完成实验方案仿真及编译后,得到.pof烧写用文件。将其烧写到实验箱上,操作过程如下:1)首先将烧写用下载电缆一端插入电脑LPT1(并行口,打印机口),另一端插入烧写用实验模块的插口,确认连接无误(凹凸对准),开始烧写。2)进入MAX+PLUS2操作界面,在“HardwareType”下拉框中选择“ByteBlasterMV”,打开目标板电源。3)在“Max+plusII”操作界面下选择“Programmer”,开始烧写。实现方案烧写成功。4)拔掉下载线,关闭实验模块电源,开始检测芯片的逻辑功能。5)将实验箱上的信号源模块的BS,FS,2BS,NRZ用导线对应接入测试模块的BS,FS,2BS,NRZ接口,在信号源处选择默认分频,将24位NRZ码设置为111100001111000011110000,为便于观察和检测采用了简单的周期性波形做初步测试。6)将红色夹子接上要测试的两路输入,黑色夹子接测试模块的GND,减小干扰。7)两个红色夹子依次接测试模块上的BS,2BS,NRZ,BPH,RZ,ORZ,调整示波器,观察对比其波形并记录。8)方案成功测试完毕。波形记录参见测试波形记录及分析。8.1.2测试波形记录及分析对于实现方案,实际测得的波形如下:分析实测波形图可知,由图NRZ-BPH波形对比可知,3个周期24位NRZ码(11110000)对应BPH码编码成功;由图BPH-RZ波形对比可知,BPH码下降沿触发密勒码跳变沿,即密勒码编码成功);由图NRZ-ORZ波形对比可知,密勒码解码输出对应NRZ输入完全正确,且延时小于3个码元时间。综上,实现方案成功的实现了密勒码的编码解码过程,并且符合技术要求。BS-NRZ波形对比BS-BPH波形对比BS-RZ波形对比NRZ-BPH波形对比NRZ-RZ波形对比
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 互联网技术外包合同
- 重型货物仓储运输合同
- 培训咨询服务评估合同
- 【项目管理】邵洪芳 教材精讲班教案 34-第3章-3.2.3-专业分包与劳务分包合同管理(二)
- 2024的林业承包合同
- 2024年劳动合同样本范文
- 森林经营中的濒危物种保护策略考核试卷
- 建设放射性金属矿精细化管理系统考核试卷
- 土木工程中的建筑物医院设计与施工考核试卷
- 广告投放方式与效果评估考核试卷
- wincc全套脚本总结
- 欧洲3000年历史地图演变【第二部分】
- 中小学校长信息化领导力标准(试行)
- 管道口径、流速、压力、流量之间的计算公式
- 国际航运市场(FFA)
- 空竹活动总结
- (完整版)银行账户共管协议最新(精华版)
- 实验五鱼体测量及描述
- 金属线材反复弯曲试验记录
- Thebestjobintheworld
- 最终版加气机使用说明书
评论
0/150
提交评论