




已阅读5页,还剩12页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
湖南文理学院课程设计报告 课程名称: 编码器设计 系 部: 电气与信息工程学院 专业班级: 学生姓名: 指导教师: 完成时间: 报告成绩: 评阅意见: 评阅教师 日期 1 目目 录录 目 录1 一、系统设计2 1.1 课题目标及总体方案2 1.2hdb3 码简介 3 1.2.1 数字基带信号3 1.2.2 nrz,ami,hdb3 码之间的对应关系3 1.2.3 hdb3 码的编码规则4 二、软件模块设计5 2.1 quartus 简介5 2.2整体系统实现方法5 2.3插“v”模块的实现 .6 2.4 插“b”模块的实现7 2.5单双极性变换模块的实现8 三、实验结果及讨论10 四、心得体会11 五、参考文献12 六、附 录13 6.1 实验源程序及注释13 2 一一、 系系统统 设设计计 1.11.1 课题目标及总体方案课题目标及总体方案 数字基带信号的传输是数字通信系统的重要组成部分。在数字通信中,有些场合可 不经过载波调制和解调过程,而对基带信号进行直接传输。采用 ami 码的信号交替反转, 有可能出现四连零现象,这不利于接收端的定时信号提取。而 hdb3 码因其无直流成份、 低频成份少和连 0 个数最多不超过三个等特点,而对定时信号的恢复十分有利。针对数 字基带传输系统中 hdb3 信号的特点,采用基于 cpldfpga 的 verilog hdl 语言,在 quartus的环境中,实现 hdb3 数字基带信号的编码器设计。 总体设计流程图如下图 1: 仿真不通过 回顾 veriloghdl 语言设计 分析 hdb3 码编码器功能 确定设计方案 应用 vhdl 进行编程 对系统仿真测试、选择合 适芯片并定义管脚 系统功能的硬件测 试 调试达到要求、完成 设计 图图 1 1 总体设计流程图总体设计流程图 3 1.21.2 hdb3hdb3 码简介码简介 1.2.1 数字基带信号数字基带信号 数字基带信号的传输是数字通信系统的重要组成部分之一。在数字通信中,有些场 合可不经过载波调制和解调过程,而对基带信号进行直接传输。为使基带信号能适合在 基带信道中传输,通常要经过基带信号变化,这种变化过程事实上就是编码过程。于是, 出现了各种各样常用码型。不同码型有不同的特点和不同的用途。 作为传输用的基带信号归纳起来有如下要求:1 希望将原始信息符号编制成适合与 传输用的码型;2 对所选码型的电波形,希望它适宜在信道中传输。可进行基带传输的 码型较多。 1、ami 码 ami 码称为传号交替反转码。其编码规则为代码中的 0 仍为传输码 0,而把代码中 1 交替地变化为传输码的+1-1+1-1, 、 、 、 。 举例如下。 消息代码:0 1 1 1 0 0 1 0 、 、 、 ami 码:0 +1 -1 +1 0 0 -1 0 、 、 、或 0 -1 +1 -1 0 0 +1 0 、 、 、 ami 码的特点: (1) 无直流成分且低频成分很小,因而在信道传输中不易造成信号失真。 (2) 编码电路简单,便于观察误码状况。 (3) 由于它可能出现长的连 0 串,因而不利于接受端的定时信号的提取。 2、hdb3 码 这种码型在数字通信中用得很多,hdb3 码是 ami 码的改进型,称为三阶高密度双 极性码。它克服了 ami 码的长连 0 传现象。 1.2.2 nrz,ami,hdb3 码之间的对应关系码之间的对应关系 假设信息码为 0000 0110 0001 0000,对应的 nrz 码、ami 码,hdb3 码如下图 2 所示。 4 1.2.3 hdb3 码的编码规则码的编码规则 hdb3 码的编码规则: (1)将消息代码变换成 ami 码; (2)检查 ami 码中的连 0 情况,当无 4 个以上的连 0 传时,则保持 ami 的形式不变; 若出现 4 个或 4 个以上连 0 时,则将 1 后的第 4 个 0 变为与前一非 0 符号(+1 或- 1)同极性的符号,用 v 表示(+1 记为+v,-1 记为-v (3)检查相邻 v 符号间的非 0 符号的个数是否为偶数,若为偶数,则再将当前的 v 符 号的前一非 0 符号后的第 1 个 0 变为+b 或-b 符号,且 b 的极性与前一非 0 符号的极 性相反,并使后面的非 0 符号从 v 符号开始再交替变化。 举例如下: 代码 1 0 1 0 1 1 0 0 0 0 0 1 1 0 0 0 0 1 hdb3 码 +1 0 -1 0 +1 -1 0 0 0 -1 0 +1 -1 +1 0 0 +1 -1 v、b -v +b +v hdb3 码的特点如下: (1) 基带信号无直流成分,且只有很小的低频成分; (2) 连 0 串符号最多只有 3 个,利于定时信息的提取; (3)不受信源统计特性的影响。 图图 2 hdb3 波形图波形图 5 二二、 软软件件模模块块设设计计 2.12.1 quartusquartus 简介简介 quartus ii 是 altera 公司的综合性 pld/fpga 开发软件,支持原理图、 vhdl、veriloghdl 以及 ahdl(altera hardware description language)等多种设计输入 形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整 pld 设计 流程。 quartus ii 可以在 xp、linux 以及 unix 上使用,除了可以使用 tcl 脚本完成设计流程 外,提供了完善的用户图形界面设计方式。具有运行速度快,界面统一,功能集中,易 学易用等特点。 quartus ii 支持 altera 的 ip 核,包含了 lpm/megafunction 宏功能模块库,使用户可 以充分利用成熟的模块,简化了设计的复杂性、加快了设计速度。对第三方 eda 工具的 良好支持也使用户可以在设计流程的各个阶段使用熟悉的第三方 eda 工具。 此外,quartus ii 通过和 dsp builder 工具与 matlab/simulink 相结合,可以方便地实 现各种 dsp 应用系统;支持 altera 的片上可编程系统(sopc)开发,集系统级设计、嵌 入式软件开发、可编程逻辑设计于一体,是一种综合性的开发平台。 maxplus ii 作为 altera 的上一代 pld 设计软件,由于其出色的易用性而得到了广泛 的应用。目前 altera 已经停止了对 maxplus ii 的更新支持,quartus ii 与之相比不仅仅是 支持器件类型的丰富和图形界面的改变。altera 在 quartus ii 中包含了许多诸如 signaltap ii、chip editor 和 rtl viewer 的设计辅助工具,集成了 sopc 和 hardcopy 设计流程,并 且继承了 maxplus ii 友好的图形界面及简便的使用方法。 altera quartus ii 作为一种可编程逻辑的设计环境, 由于其强大的设计能力和直观易 用的接口,越来越受到数字系统设计者的欢迎。 2.22.2 整体系统实现方法整体系统实现方法 hdb3 码编码器模型如图 3 所示: 6 hdb3 码 代码输入 输输入 插 “v” 插 “b” 单/双极性 变换 整个 hdb3 编码器主要包含 3 个功能部分:插“v” 、插“b”和单极性码转变成双极 性码。各部分之间采用同步时钟作用,并且带有一个异步的复位(清零)端口。下面将 详细介绍各个部分的设计流程。 除以上 3 个编码功能模块外,还有顶层主函数模块(包含分频)及信号产生模块(本程 序选用 m 序列) ,在此不再赘述,详见附录源程序。 2.32.3 插插“v v”模块的实现模块的实现 插“v”模块的功能实际上就是对消息代码里的四连 0 串的检测即当出现四个连 0 串的时 候,把第四个“0”变换成为符号“v” (“v”可以是逻辑“1”高电平) ,而在其他 情况下,则保持消息代码的原样输出。同时为了减少后面工作的麻烦,在进行插“v”时, 用“11”标识它, “1”用“01”标识, “0”用“00”标识。 插“v”符号的设计思想很简单:首先判断输入的代码是什么(用一个条件语句判断) ,如果输入的是“0”码,则接着判断这是第几个“0”码,则把这一位码元变换成为 “v”码。在其他条件下,让原代码照常输出。插“v”模块的程序框图如图 4 所示。 图图 3 3 hdb3hdb3 码编码器模型码编码器模型 7 2.42.4 插插“b b”模块的实现模块的实现 插“b”模块的功能是保证附加“v”符号后的序列不破坏“极性交替反转”造成的无直 流特性,即当相邻“v”符号之间有偶数个非 0 符号的时候,把后一小段的第 1 个“0” 变换成一个非破坏符号“b”符号。插“b”模块的程序框图如图 5。 图图 4 4 插插“v”“v”模块的程序框图模块的程序框图 8 2.52.5单双极性变换模块的实现单双极性变换模块的实现 根据 hdb3 的编码规则,我们可以知道, “v”的极性是正负交替的,余下的“1”和 “b”看成一体且是正负交替的,同时满足“v”的极性与前面的非零码极性一致。由此 我们可以将其分别进行极性变换来实现。从前面的程序知道, “v” 、 “b” 、 “1”已经分别 用双相码“11” 、 “10” 、 “01”标识, “0”用“00”标识,所以通过以下的程序可以很容 易实现。如下图 6 为实现极性变换功能的流程图。 图图 5 5 插插“b”“b”模块的程序框图模块的程序框图 9 “01”:标识为+1; “11”:标识为-1; “b”符号的极性与前一非零符号相反, “v”极性符号与前一非零符号一致。因此将 “v”单独拿出来进行极性变换(由前面已知“v”已经由“11”标识,所以很好与其他 的代码区别) ,余下的“1”和“b”看成一体进行正负交替,这样就完成了 hdb3 的编码。 图图 6 6 实现极性变换功能的流程图实现极性变换功能的流程图 10 三三、 实实验验结结果果及及讨讨论论 经过多次的排查和修改,以及总结,使用编译器编译,编译器提示编译文件正确,再下 载到 epm240t100c5 芯片中进行调试,示波器显示波形与仿真波形一致,达到了本次课 设设计的目标。 quartus 软件仿真波形如下图 7: 输出为 4 位,高 2 位为符号位(01=+1 11=-1 00=0) ,低 2 位为数值位(00=0 01=1 11=v 10=b) 上图中 code_out 是十进制显示,例如“7” ,即“0111” ,实则“+v” 。 图图 7 7 系统仿真波形图系统仿真波形图 11 四四、 心心得得体体会会 分频的时候分的尽量大一些,我们的是 2 的 8 次方分频,导致的结果是仿真的时候 需要设定很大的时间,也就导致了仿真时间的加长。 此次专业综合课程设计,让我受益匪浅。课设之初,我们认真查找、学习了关于 hdb3 编译码和 quartus 软件的资料和文献作为课程设计的知识储备。经过自己的努力, 在老师耐心细致的指导和同学的帮助下,我顺利完成了课程设计,也掌握了专业综合系 统设计的基本方法,达到了预期的目的。 本次课程设计是为了培养我们的动手能力,学好专业知识,光满足于课本是不够的。 正所谓“纸上得来终觉浅,绝知此事要躬行” ,实践才能出真知。我体会到成功就是在不 断摸索着前进中实现的,遇到问题我们不能灰心、烦躁,甚至放弃,而要静下心来仔细 思考,分部检查,找出最终的原因进行改正,这样才会有进步,才会一步步向自己的目 标靠近,才会取得自己所要追求的成功。另外,我要感谢学院给了我这次学习和研究的 机会,我还要感谢王立老师的悉心辅导和同学的帮助,我学到了很多东西,感受颇深。 有什么不懂不明白的地方要及时请教或上网查询,只要认真钻研,动脑思考,动手实践, 就没有弄不懂的知识,解决不了的问题。除此之外,我也发现了自己的不足,语言表达 能力还不够强,编程能力还不足,有些预先的想法都未能实现。我相信通过查阅相关资 料,不断开阔眼界,并在以后的实践中不断磨练自己,能力一定会有提高。 12 五五、 参参考考文文献献 ll 通信原理.樊昌信,曹丽娜.国防工业出版社,2007 22 altera cpld maxii240_570 学习板使用指南 33 段吉海,黄智伟.基于 cpld/fpga 的数字通信系统建模与设计.电子工业出版社, 2004 44 肖明波译.通信系统仿真原理与无线应用.机械工业出版社.2005 13 六六、 附附 录录 6.16.1 实验源程序及注释实验源程序及注释 /v 模块程序 输出与输入之间关系 :01=1 11=v 00=0 module insert_v(clk,code_in,code_out); input clk,code_in; output code_out; reg 1:0 code_out; reg 2:0 count=0; /记录 0 的个数 always(posedge clk) begin if(code_in=0) begin count=count+1; if(count=3) /连续出现 4 个 0,输出为 v,并清零 count begin code_out=b11; count=0; end else code_out=b00; end else if(code_in=1) begin code_out=b01; count=0; end else code_out=b00; end endmodule /b 模块程序 输出与输入之间关系 :00=0 01=1 11=v 10=b module insert_b(clk,code_in,code_out); input clk; input 1:0 code_in; /b 模块的输入为 v 模块的输出 output 1:0 code_out; /b 模块的输出为两位 reg 1:0 code_out; reg count=0; /count 记录两次 000v 之间 1 的个数的奇偶,若为奇数个,不变,否则变 为 b00v 14 reg 1:0 s1=0,s2=0,s3=0; /移位寄存器 reg firstv=0; /表示是否出现了 000v always(posedge clk ) begin s1=code_in; /每次在时钟上升沿的时候以为移位寄存器移一位 s2=s1; s3=s2; if(code_in=b00) /输入为 0,输出不变 code_out=s3; else if(code_in=b01) /输入为 1,输出不变,奇偶改变 begin count=count+1; code_out=s3; end else if(code_in=b11) /输入为 v begin if(firstv=0) /判断之前是否出现了 000v begin firstv=1; /没出现,则输出不变,并记录此次 v code_out=s3; end else begin /之前出现了 000v,判断出现 1 的奇偶性 if(count=0) code_out=b10; /1 的个数为偶数,输出 b,否则输出不变 else begin count=0; code_out=s3; end end end else code_out=b00; end endmodule /单双极性变换模块:01=+1 11=-1 00=0 module polarity(clk,code_in,code_out); input clk; input 1:0 code_in; /输入为 b 模块的输出 output 3:0 code_out; /输出为 4 位,高两位表示极性 15 reg 3:0 code_out; reg flag; /判断是否需要极性转换 always(posedge clk) begin if(code_in=b00) /输入为 0 码时,则输出信号为 0000 code_out=2b00,code_in; else if(code_in=b11) /输入为 v 时,flag 不变,即极性不变 begin if(flag=1) code_out=2b11,code_in; else code_out=2b01,code_in; end else if(code_in=b01|code_in=b10) /输入为 1 或 b 码时,flag3 取反,即极性改变 begin if(flag=1) begin code_out=2b01,code_in; flag=0; e
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 河南省鹤壁市淇县第一中学2026届化学高二第一学期期末学业水平测试试题含答案
- 江苏省南京市南京一中2026届化学高一上期末教学质量检测试题含解析
- 2026届河南省豫北名校联盟高二化学第一学期期中监测试题含解析
- 2026届福建省连城县一中化学高一第一学期期中经典试题含解析
- 浙江省钱清中学2026届化学高一第一学期期末学业水平测试模拟试题含解析
- 2025年数字版权交易合同模板
- 2025版土地储备及开发利用买卖合同范本
- 2025版特色农业产业养鸡场土地租赁与农业科技创新合作合同
- 2025年水利工程车载泵租赁及设备租赁合同
- 2025年牛运输车辆环保排放及节能改造合同
- 收集整理-小儿推拿常用穴(附每个穴位图)
- 农业投入品管理使用制度范本
- 人教版高中(水平五)《体育与健康》全一册《篮球基本战术-策应战术配合》教学设计
- 应对中国气候挑战:为转型提供融资实现净零未来
- YY/T 0196-2005一次性使用心电电极
- GB/T 24218.3-2010纺织品非织造布试验方法第3部分:断裂强力和断裂伸长率的测定(条样法)
- 系统工程原理 - 国防科技大学信息系统与管理学院
- 华为IPD流程管理全部课件
- 2021年唐山迁安市教师进城考试笔试试题及答案解析
- 三菱变频器d700说明书
- 涉外导游英语口语实训教程整套课件完整版PPT教学教程最全电子讲义教案(最新)
评论
0/150
提交评论