ImageVerifierCode 换一换
格式:DOC , 页数:67 ,大小:1.71MB ,
资源ID:4697495      下载积分:14 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/4697495.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(基于fpga的曼切斯特编码的设计.doc)为本站上传会员【快乐****生活】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

基于fpga的曼切斯特编码的设计.doc

1、毕业设计 东北大学毕业设计(论文) 东北大学继续教育学院教务处 毕业设计(论 文) GRADUATE DESIGN (THESIS) 设计(论文)题目 基于FPGA的曼切斯特编码的设计 学 生 学习中心 专 业 电气工程及其自动化 指导教师 III 摘 要 在

2、电信领域,曼彻斯特码是一种数据通讯线性码,它的每一个数据比特都是由至少一次电压转换的形式所表示的。它是一种超越传统数字传输的信道编码技术,同时被认为是一种自定时码。自定时就意味着完全可以实现数据流的精确同步。每一个比特都准确的在一个预先定义时期的时间中被传送。曼彻斯特编码已经被许多高效率且被广泛使用的电信标准所采用,例如以太网电讯标准。曼彻斯特编码具有隐含时钟、去除了零频率信号的特性,使得它在石油勘探测井中得到广泛的应用[1]。 本文对曼彻斯特编码相关原理和FPGA进行概述,介绍了其编解码规则。对其特点和应用范围进行了说明。提出了曼彻斯特编解码方案,重点运用Verilog HDL语言对其编解

3、码的描述。最后讲述该系统在QuartusⅡ 软件下的运行和仿真。 关键词:FPGA;曼彻斯特编解码;Verilog HDL语言 目 录 1.曼彻斯特码概述 1 1.1 曼彻斯特码简介 1 1.2 曼彻斯特码原理 1 1.3曼彻斯特编解码 2 1.3.1 编码 3 1.3.2 解码 5 2.曼彻斯特编解码实现方法比较 6 2.1 集成方法实现 6 2.2 软件编解码 7 2.2.1单片机实现 7 2.2.2 FPGA/CPLD实现 8 2.2.3 方案选择 8 3.FPGA原理及平台简介 8 3.1 FPGA原理与特点 10 3.2 QUART

4、US II及HDL语言 13 3.2.1 基于QUARTUS II的FPGA设计 13 3.2.2 VERILOG HDL简介 16 4.系统总体设计 19 4.1 编码器 19 4.2解码器 23  4.3时钟模块 27 5.系统测试与仿真 28 5.1 曼彻斯特编码仿真 28 5.1.1 编码分析 34 5.2 曼彻斯特解码仿真 35 5.2.1 解码分析 36 6.结论及展望 37 参考文献 38 附录 40 1.曼彻斯特码概述 1.1 曼彻斯特码简介 在电信领域,曼彻斯特码 (也称作相位码或者PE)是一种数据通讯线性码,它的每一个数据比特都是由至

5、少一次电压转换的形式所表示。曼彻斯特编码因此被认为是一种自定时码。自定时意味着是可以实现数据流的精确同步。每一个比特都准确的在一预先定义时间时期的时间中被传送[2]。 曼彻斯特码又称双向码。它是对每个二进制代码分别利用两个具有两个不同相位的二进制新码去取代的码。 双向码的特点是只用两个电平。与用高、低电平表示0, 1的非归零二进制码相比,在连0或连1的情况下,更易于提取同步时钟信息,又无直流漂移,编、译码过程比较简单,且有强的抗干扰能力。 1.2 曼彻斯特码原理 曼彻斯特码是一种常用的用于数字基带传输的码型。它是一种用跳变沿(而非电平)来表示要传输的二进制信息(0或1),一般规定在位元

6、中间用向下跳变表示“1”,用向上跳变表示“0”。 曼彻斯特编码提供了一种简单的方法——在长时间段内没有电平跳变的情况下,仍然能够对任意的二进制序列进行编码,并且防止低通模拟电路中低频直流飘移所引起的比特错误以及防止在这种情况下同步时钟信号的丢失[3]。如果保证传送的编码交流信号的直流分量为零并且能够防止中继信号的基线漂移,那么很容易实现信号的恢复和防止能量的浪费。所以曼彻斯特码具有丰富的位定时信息。 同时,有许许多多的复杂的编码方法中,在达到同等目的情况下只需要减少带宽负荷并且只有减少的同步信号相位。二进制码与曼彻斯特码波形的对比关系如图1-1。 图1-1 二进制码与曼彻斯特码波

7、形 1.3曼彻斯特编解码 本次论文曼彻斯特编解码由编码模块和解码模块二个部分组成。编码模块提供时钟源,并且对输入的待传送原码进行编码,将其转换成曼彻斯特码并发送。解码模块用则是将曼彻斯特码整形后利用同步时钟模块提供的同步信号把它转换成原码输出。二个相对独立的模块相互协同工作共同完成曼彻斯特编解码工作。 1.3.1 编码 曼彻斯特编码是一种自同步的编码方式,即时钟同步信号就隐藏在数据波形中。曼彻斯特编码电平跳变的规则是:低电平的中间时刻跳变表示为‘0’,用高电平中间时刻的跳变表示为‘1’,如下图1-2所示。因而这样防止时钟同步的丢失,或来自低频率位移在贫乏补偿的模拟链接位错误,在这个技术

8、下,实际上的二进制数据被传输通过这个电缆,不是作为一个序列的逻辑1或0来发送的。它具有自同步能力和良好的抗干扰性能。但每一个码元都被调成两个电平,所以数据传输速率只有调制速率的1/2。 图1-2 曼彻斯特编码 下面是一段数据串行信号“110110001”,在上图中可以看出曼彻斯特编码信号的跳变都发生在中间时刻,它按照曼彻斯特的编码规则,可以表示“110110001”,如图3-3所示。 图3-3 信号的曼彻斯特编码 曼彻斯特编码,常用于局域网传输。在曼彻斯特编码中,编码简单的二进制序列时,长周期没有转换级别因而导致时钟同步的丢失,或来自低频率位移在贫乏补偿的模拟链接位错误,根

9、据这样的情况,曼彻斯特编码提供了一个简单的方式。而在这中技术下,二进制数据被传输通过这个电缆,不是作为一个序列的逻辑1或0来发送的。相反地,这些位被转换为一个稍微不同的格式,这样使用直接的二进制编码有很多的优点。 在曼彻斯特编码中,用电压跳变的相位不同来区分1和0,即用正的电压跳变表示0,用负的电压跳变表示1。因此,这种编码也称为相应编码。由于跳变都发生在每一个码元的中间,接收端可以方便地利用它作为位同步时钟,因此,这种编码也称为自同步编码。所以,每一位的中间有一跳变,位中间的跳变既作为时钟信号,又作为数据信号;从高到向低跳变表示“1”,从低到向高跳变表示“0”。还有一种是差分曼彻斯特编码,

10、每位中间的跳变仅提供时钟定时,而用每位开始时有无跳变表示“0”或“1”,有跳变为“0”,无跳变为“1”。 曼彻斯特码由于其特殊的性能,被广泛应用于小功率无线传输系统中[4]。曼彻斯特编码最大的优点是:数据和同步时钟统一编码,曼码中含有丰富的时钟信号,直流分量基本为零,接收器能够比较容易恢复同步时钟,并同步解调出信号,具有很好的抗干扰性能,这使他更适合信道传输。 1.3.2 解码 解码器需要将收到的曼彻斯特码解码,得出16位并行数据,并给出各种校验结果。解码过程为: 1、同步头检测,当检测到同步头后触发整个解码过程开始,并给出同步头类型。 2、检测到同步头后,计数器cnt开始计数,在c

11、nt的控制下进行解码。包括码型转换与移位操作,同步头类型输出、曼彻斯特码型校验、奇偶校验、字连续性校验等。 3、当码的串并转换以及各种校验都完成后,给出并行数据和校验结果信号,在cnt的控制下最终给出数据有效信号read。协议模块可在该信号有效(高电平)时检测其他校验信号,并决定是否取走并行数据。   解码器一直监视数据输入线,当接收到有效的同步头和两个有效的曼彻斯特码数据位后,便开始输出。 2.曼彻斯特编解码实现方法比较 2.1 集成方法实现 集成方法实现曼彻斯特数据的编解码功能,一般采用专用的曼彻斯特编码译码器,如HD—15530或HD—6408,数据的串并转换与信号合成都通过数

12、字电路完成。但这种方法存在许多不足之处:第一,在利用集成芯片方法实现曼彻斯特编解码传输时,对编解码器时序要求很高,使得上下位机同步比较困难;第二,这种方法会导致硬件电路过于庞大、复杂,而且也增加了系统调试的难度[5]。 2.2 软件编解码 软件方法实现曼彻斯特编解码主要有高速单片机实现和FPGA/CPLD实现两种。 2.2.1单片机实现 单片机实现曼彻斯特编解码功能,是比较常见的。一般AVR单片机实现曼彻斯特编解码中接受监视器的单片机程序需要完成数据接收、曼彻斯特编解码、数据处理、显示、异常情况报警等任务。在接收数据时,因为小功率无线传输通道干扰比较严重,单片机又对所有的ICP1引

13、脚跳变沿都响应,它的中断级别又比较高。这些都很大程度上加大了单片机的负担,严重时会造成单片机的其它任务得不到执行。而且在利用单片机或专用芯片进行编解码时,对传输的数据只能进行奇偶校验,在条件比较恶劣的场合,特别是在无线通信,数据极易出错,奇偶校验不能检测出这类突发性错误;再者单片机的串口通信和专用芯片在传输速率和每帧的有效数据位数等方面都作了严格的限制。因此,还有在要求高速传输速率的场合,单片机和专用芯片都难以实现[6]。 2.2.2 FPGA/CPLD实现 在现代电子设计领域,VHDL和现场可编程逻辑器件的广泛应用使数字系统设计更为灵活,大大缩短了开发周期。现场可编程逻辑门阵列(Fiel

14、d Programmable Gate Array: FPGA)是新型的高密度可编程逻辑器件。它是可编程阵列逻辑(PAL),门阵列逻辑(GAL)等逻辑器件的基础上发展起来的,同以往的PAL,GAL想比较,FPGA的规模较大,适合于时序、组合等逻辑电路应用场合,它可以替代几十甚至上百块通用ASIC芯片,这种芯片具有可编程性和实现方案可重构的特点。FPGA器件的主要优点:功能集成度高,系统设计快,设计灵活,可靠性高,费用低。 2.2.3 方案选择 综上所述,本设计采用基于FPGA的设计方案,充分利用FPGA功能集成度高,系统设计快,设计灵活等优越性,大大提高设计的周期,减少PCB面积。 3.

15、FPGA原理及平台简介 目前以硬件描述语言(Verilog HDL或VHDL)所完成的电路设计,可以经过简单的综合与布局,快速的烧录至 FPGA 上进行测试,是现代 IC 设计验证的技术主流。这些可编辑器件可以被用来实现一些基本的逻辑门电路(比如AND、OR、XOR、NOT)或者更复杂一些的功能电路,比如解码器或数学方程式。在大多数的FPGA里面,这些可编辑的元件里也包含记忆元件例如触发器(Flip-flop)或者其他更加完整的记忆块。FPGA采用了逻辑单元阵列LCA(Logic Cell Array)模型,内部包括可配置逻辑模块CLB(Configurable Logic Block)、输

16、出输入模块IOB(Input Output Block)和内部连线(Interconnect)三个部分[7],图3-1是FPGA的结构图。 图3 -1 FPGA结构图 3.1 FPGA原理与特点 大部分FPGA器件采用了查找表结构,查找表的原理类似于ROM,其物理结构是静态储存器(SRAM),N个输入项的逻辑函数可以由一个2N位容量的SRAM来实现,函数值存放在SRAM中,SRMA的地址线起输入线作用,地址即输入变量值,SRMA的输出为逻辑函数值,由连线开过实现与其他功能的连接。而实际上FPGA器件的查找表的输入项一般不超过5个,多于5个输入变量的逻辑函数由多个查找表组合或级联实现

17、 FPGA利用小型查找表(16×1RAM)来实现组合逻辑,每个查找表连接到一个D触发器的输入端,触发器再来驱动其他逻辑电路或驱动I/O,由此构成了既可实现组合逻辑功能又可实现时序逻辑功能的基本逻辑单元模块,这些模块间利用金属连线互相连接或连接到I/O模块。FPGA的逻辑是通过向内部静态存储单元加载编程数据来实现的,存储在存储器单元中的值决定了逻辑单元的逻辑功能以及各模块之间或模块与I/O间的连接方式,并最终决定了FPGA所能实现的功能,FPGA可以进行数十万次的编程。 用户可对FPGA内部的逻辑模块和I/O模块重新配置,以实现用户的逻辑,因而也被用于对CPU的模拟。用户对FPGA的编程数

18、据放在Flash芯片中,通过上电加载到FPGA中,对其进行初始化。也可在线对其编程,实现系统在线重构,这一特性可以构建一个根据计算任务不同而实时定制的CPU,这是当今研究的热门领域。 和其他可编程逻辑器件一样,FPGA也由未完成的逻辑阵列所组成,通过将这些逻辑阵列连接到一起来完成一定的功能。像PAL一样,各个阵列单元之间的互连是可以编程的。 FPGA采用了逻辑单元阵列结构,内部包括可配置逻辑模块CLB、输出输入模块IOB和内部连线三个部分。FPGA的基本特点主要有: 1、采用FPGA设计ASIC电路,用户不需要投片生产,就能得到合用的芯片。 2、FPGA可做其它全定制或半定制ASI

19、C电路的中试样片。 3、FPGA内部有丰富的触发器和I/O引脚。 4、FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一。 5、FPGA采用高速CHMOS工艺,功耗低,可以与CMOS、TTL电平兼容。 FPGA是由存放在片内RAM中的程序来设置其工作状态的,因此,工作时需要对片内的RAM进行编程。用户可以根据不同的配置模式,采用不同的编程方式。加电时,FPGA芯片将EEPROM中数据读入片内编程RAM中,配置完成后,FPGA进入工作状态。掉电后,FPGA恢复成白片,内部逻辑关系消失,因此,FPGA能够反复使用。这样,同一片FPGA不同的编程数据可以产生不同的电

20、路功能,因此FPGA的使用非常灵活。 FPGA提供了一种"自顶向下"的全新的设计方法。这种设计方法首先从系统设计入手,在顶层进行功能方框图的划分和结构设计,再对图表进行仿真、纠错,并用硬件描述语言对高层次的系统行为进行描述,在系统级进行验证。然后用综合优化工具生成具体门电路的网表,其对应的物理实现级可以是印刷电路板或专用集成电路。由于设计的主要仿真和调试过程是在高层次上完成的,这不仅有利于早期发现结构设计上的错误,避免设计工作的浪费,而且也减少了逻辑功能仿真的工作量,有效降低设计风险。 3.2 Quartus II及HDL语言 Quartus II 是Altera公司

21、的CPLD/FPGA集成开发软件,具有完善的可视化设计环境,并具有标准的EDA工具接口。它支持原理图、VHDL、VerilogHDL以及AHDL(Altera Hardware Description Language)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程[9]。 3.2.1 基于Quartus II的FPGA设计 Quartus II为硬件电路的设计提供了很大的方便。FPGA之所以能够广泛应用于电路设计中,就是因为它们有使用相当方便的开发软件工具包,通过编程工具和软件的配合使用,对器件芯片可以进行流畅的开发、校验。FPGA特别适

22、用于正向设计,即从电路原理图或各种硬件描述语言到芯片成品的设计,在这些设计流程中,设计人员对特别底层的硬件知识并不需要特别的了解和掌握,完全可以从功能应用出发,根据任务需求,自顶向下地进行电路设计,图3-2为 Quartus II设计开发流程图,具体如下: 1、设计输入(Design Entry) 运用电路原理图输入、HDL文本输入等方式,表达设计思想,指定所用HIGA器件的型号,分配其外部管脚。包括原理图输入、HDL文本输入、EDIF网表输入及波形输入等几种方式。 2、编译(Compilation) 先根据设计要求设定编译方式和编译策略,如器件选择、逻辑综合方式的选择

23、等。然后根据设定的参数和策略对设计项目进行网表提取、逻辑综合、器件适配,并产生报告文件、延时信息文件以及编程文件,供分析、仿真和编程使用。 3、仿真(Simulation) 仿真包括功能仿真、时序仿真和定时分析,用以验证设计项目的逻辑功能和时序关系的正确性。功能仿真验证电路功能是否符合设计要求;时序仿真包含了延时信息,能较好反映芯片的实际工作情况。 仿真一般按如下步骤进行: (1)新建波形编辑文件; (2)设置仿真时间区域;保存文件; (3)导入欲观察的信号节点;编辑激励信号; (4)设置数据格式;设置仿真器参数; (5)启动仿真和观察仿真结果。 4、编程与验证(Progra

24、m and Verification) 成功编译后,将生成的编程文件下载到目标FPGA系统中调试;调试成功后,烧写到FPGA的配置芯片中。用得到的编程文件通过编程电缆配置PLD,加入实际激励,进行在线测试。 设计过程中,如果出现错误,这需要重新回到设计输入阶段,改正错误或调整电路后重复上述过程。 图3-2 Quartus II设计开发流程 3.2.2 Verilog HDL简介 Verilog HDL是在用途极为广泛的C语言的基础上发展起来的一种硬件描述语言,它是由GDA(Gateway Design Automation)公司的PhilMoorby在1983年末首创的,最初只设

25、计了一个仿真与验证工具,之后又陆续开发了相关的故障模拟与时序分析工具。1985年Moorby推出它的第三个商用仿真器Verilog-XL,获得了巨大的成功,从而使得Verilog HDL迅速得到推广应用。1989年Cadence公司收购了GDA公司,使得VerilogHDL成为了该公司的独家专利。1990年CADENCE公司公开发表了Verilog HDL,并成立LVI组织以促进Verilog HDL成为IEEE标准,即IEEE Standard 1364-1995. Verilog HDL的最大特点就是易学易用,如果有C语言的编程经验,可以在一个较短的时间内很快的学习和掌握。 Veril

26、og HDL主要特性: l 基本逻辑门,例如and、or和nand等都内置在语言中。开关级基本结构模型,例如PMOS和NMOS等也被内置在语言中。 l 用户定义原语(UDP)创建的灵活性。用户定义的原语既可以是组合逻辑原语,也可以是时序逻辑原语。 l 时延描述:提供显式语言结构指定设计中的端口到端口的时延及路径时延和设计的时序检查。 l 描述方式:可采用三种不同方式或混合方式对设计建模。这些方式包括:行为描述方式—使用过程化结构建模;数据流方式—使用连续赋值语句方式建模;结构化方式—使用门和模块实例语句描述建模。在行为级描述中, Verilog HDL不仅能够在RTL级上进行设计描述,

27、而且能够在体系结构级描述及其算法级行为上进行设计描述。同时,Verilog HDL 支持混合方式建模,即在一个设计中每个模块均可以在不同设计层次上建模。 l 数据类型:Verilog HDL中有两类数据类型:线网数据类型和寄存器数据类型。线网类型表示构件间的物理连线,而寄存器类型表示抽象的数据存储元件。 l 层次设计:能够描述层次设计,可使用模块实例结构描述任何层次,设计能够在多个层次上加以描述,从开关级、门级、寄存器传送级(RTL)到算法级,包括进程和队列级,能够使用内置开关级原语在开关级对设计完整建模。能够使用门和模块实例化语句在结构级进行结构描述。Verilog HDL不再是某些公司

28、的专有语言而是IEEE标准。设计的规模可以是任意的;语言不对设计的规模(大小)施加任何限制。 l 功能扩展:Verilog HDL语言的描述能力能够通过使用编程语言接口(PLI)机制进一步扩展。PLI是允许外部函数访问Verilog 模块内信息、允许设计者与模拟器交互的例程集合。 l 测试仿真:可用于生成模拟激励和指定测试的验证约束条件,例如输入值的指定。Verilog HDL 能够监控模拟验证的执行,即模拟验证执行过程中设计的值能够被监控和显示。这些值也能够用于与期望值比较,在不匹配的情况下,打印报告消息。 4.系统总体设计 基于现场可编程门阵列(FPGA),研究曼彻斯特编解码器的实

29、现,采用Verilog HDL硬件描述语言进行电路建模并测试。本设计包含编码和解码两个模块。曼彻斯特的编码一次发送11位数据,其中编码头3位,为111,8位有效数据,奇校验1位;曼彻斯特解码一次接收11位数据,其中编码头3位,为111,有效码8位,奇校验位1位。 4.1 编码器 编码过程可分为三部分:1)检测编码周期是否开始,产生同步字头;2)进行输入数据的曼彻斯特编码;3)产生奇偶校验位并对其进行编码,编码周期结束。下面是曼彻斯特编码结构图。 由于曼彻斯特编码是将NRZ 普通二进制数据与其位率时钟信号相异或而得,因此,首先要产生位率时钟信号,同时,要解决位率时钟与NRZ 码的同步问题

30、保证NRZ 每个码元宽度占用一个周期的位率时钟信号,并且保证NRZ 码元输入时,立即产生位率时钟,这样就可以保证位率时钟与NRZ 码的同步。保证了位率时钟与NRZ 码同步, 然后将NRZ 码与位率时钟异或,便可以得到最终的曼彻斯特编码。本设计是在第一个位率时钟下降沿开始产生曼彻斯特编码, 在位率时钟出现下降沿时,将NRZ 码与位率时钟异或,相当于与“0”异或,在位率时钟出项上升沿时,将NRZ 码与位率时钟异或,相当于与“1”,输入8 位NRZ 码,产生16 位曼彻斯特编码,最终输出转换完成标志位[10]。 图4-1 曼彻斯特编码 编码过程包含了发送信号电平沿检测模块、曼彻斯特编

31、码模块、时钟分频模块和数据位发送技术模块。编码电路模块提供时钟源,并且对输入的待传送原码进行编码,将其转换成曼彻斯特码并发送。        发送信号电平沿检测模块主要功能就是检测mfs信号上升沿,当检测到mfs上升沿后使能时钟信号clk1x_en。程序如下: always @(posedge clk16x or negedge rst) begin if(!rst) begin mfs1 <= 1'b0; mfs2 <= 1'b0; end else begin

32、 mfs2 <= mfs1; mfs1 <= mfs; end end 时钟分频模块,当检测到mfs上升沿后使能时钟信号clk1x_en;当数据发送完成时,失能clk1x_en。其中含有16位时钟分频,将clk16x经16分频得单倍时钟clk1x。在复杂时序电路设计中通过引入时钟使能信号可减少设计中的时钟信号,提高电路的可靠性。程序如下: always @(posedge clk16x or negedge rst) begin if(!rst) clk1x_en <= 1'b0

33、 else if(mfs1==1'b1&&mfs2==1'b0) //检测到mfs上升沿时,使能clk1x_en clk1x_en <= 1'b1; else if(bit_cont==4'b1011) //当数据发送完成时,失能clk1x_en clk1x_en <= 1'b0; end //16时钟分频 always @(posedge clk16x or negedge rst) begin if(!rst) clkdiv <= 4'b0000;

34、 else if(clk1x_en==1'b1) clkdiv <=clkdiv + 1'b1; //16分频计数 else clkdiv <= 4'b0000; end assign clk1x = clkdiv[3]; //clk16x经16分频得单倍时钟clk1x 数据位发送计数模块根据时钟信号发送数据给编码器,达到同步,并同时进行计数。 图4-2 编码器RTL模块图 曼彻斯特编码模块,当检测到mfs上升沿时将mdata数据送mbuf缓存。一次发送11位数据,其中编码头3位,为111,8位有效数据,奇校验位

35、1位,再进行曼彻斯特的数据编码。程序见附录。 4.2解码器 曼彻斯特解码是分曼彻斯特信号电平沿检测模块、时钟分频模块和曼彻斯特解码模块三个模块组成的。 时钟分频模块的作用是将时钟信号分频后,产生一个与曼彻斯特码新号同频的时钟信号和一个16倍曼彻斯特码信号频率的时钟信号。这两个时钟信号被分别送入解码器,其中同步时钟信号的控制信号由解码器产生。 解码器的作用是检测数据,根据曼彻斯特码的特点判断数据的同步头和数据位,并产生控制信号来控制分频器同步时钟信号的输出[11]。 图4-3 曼彻斯特解码 整个程序的设计思路是解码器以很高的频率对曼彻斯特码信号进行采样,如果发现当前采样值与前一个采

36、样值不同,即检测到曼彻斯特码的跳变边沿,则通知分频器开始同步时钟,同时开始判断数据的同步头。如果在之后的1.5T[12]时间内,没有检测到曼彻斯特码的跳变边沿,则判断为同步头,当同步头被检测到后,则开始监测数据。 曼彻斯特解码,一次接收11位数据,其中编码头3位,为111,有效码8位,奇校验位1位 module manch_rxd( input rst, //复位 input clk16x, //16倍时钟 input min, //曼彻斯特接收端 output reg rdy,

37、 //接收完毕标志 output [7:0] mdata //接收解码数据并行输出端 ); wire clk1x; //单倍时钟 reg clk1x_en; //时钟使能,高电平有效 reg [3:0] clkdiv; //时钟分频计数器,将16倍时钟分为单倍时钟 reg mjs1; //状态寄存器 reg mjs2; //状态寄存器 reg odd; //奇校验位 reg nrz; //曼彻斯特解码二

38、进制码 reg [7:0] mbuf; //数据接收缓存 reg [3:0] next; //下一个状态标志 reg [3:0] current; //当前状态标志 reg ztj1; //状态机标志 reg ztj2; //状态机标志 wire cyd; //检测标志 曼彻斯特信号电平沿检查模块该模块始终检测同步头,并给出同步头类型。 //检测min上升沿 always @(posedge clk16x or negedge rst) b

39、egin if(!rst) begin mjs2 <= 1'b0; mjs1 <= 1'b0; end else begin mjs2 <= mjs1; mjs1 <= min; end end  4.3时钟模块 该模块将曼彻斯特码自带的时钟信号分离,得到clk2_en,并在该信号有效(高电平)时采样,经过三级寄存器保持输出的曼彻斯特码信号rx_data_reg_2。采样时刻总出现在每个码元正负电平的中点处,而这也是曼彻斯特码采样的最佳时刻。 收到的曼彻斯特码rx_data为异步信号,通过DF

40、F1,DFF2,DFF3三级采样保持电路可消除亚稳态。edge_ check在每个曼码电平跳变后产生一个脉冲,该信号将对cnt_clk2和clk2_en同步清零,以达到调整相位的目的。cnt_clk2是一个6进制计数器,当计数到1时通过比较器给出同步置位脉冲set,它将对clk2_en同步置1。 曼彻斯特解码模块该电路将检测并输出同步头类型、奇偶校验结果、曼彻斯特码检测结果、字连续性检测结果。程序见附录。   计数器cnt是一个40进制计数器,在cnt的控制下完成整个解码过程。当收到同步头有效信号sync_1时,将计数器

41、使能信号cnt_enb置为有效(高电平),并在其控制下开始计数。 图4-4 解码器RTL模块图 5.系统测试与仿真 5.1 曼彻斯特编码仿真 在QuartusⅡ平台下新建一个工程为"mancst",如图5-1所示。 单击“Finish”按钮完成“encode”工程的新建。新建完工程文件后,就建立并串转换模块。选择"File"→"New"命令或是单击新建图标,在弹出的"New"对话框中选择"Verilog File"选项,单击"OK"按钮,如图5-2所示。新建完Verilog文件以后就开始Verilog代码,在quartusⅡ中,如图5-3所示. 图5-1 新建工程文件ma

42、ncst 图5-2新建编码Verilog文件 在输入完代码以后,就保存当前文件,点保存快捷方式,命名为“manch_txd”文件名。下一步就是开始编译,在编译前要在“project navigator” 框中点击manch_txd的右键“set as top-level Entity”。接下来就是对并串转换进行编译。可以在quartusⅡ中直接点击编译快捷方式。结果如图5-4所示。 工程编译成功后,必须对其功能和时序特性进行仿真测试,以了解设计结果是否满足原设计要求。Quartus II提供的波形文件为“Vector Waveform File”

43、即VWF。 新建波形文件进行仿真,选择“File”→“New”命令或是单击新建图标,选择“Vector Waveform File”项。如图5-5所示。 图5-3 编码Verilog代码输入图 5-4 并串转换编译结果图 5-5 新建编码的波形文件 在向量波形文件的“Name”下方的空白处,双击鼠标左键,弹出“Insert Node or Bus”对话框如图5-6所示,单击“Node Finder”按钮,弹出“Node Finder”对话框,如图5-7所示。 图5-6 添加端口对话框 图5-7 Node Finder选择对话

44、框 在弹出的图5-7框中点击“list”按钮,再点击》按钮,最后点“OK”按钮。这波形文件的端口都已经添加进去了。然后就是设置端口的波形。 在mdata端口中输入“01010101”8位二进制,显示为十六进制“55”。rdy和mfs军事高电平出发。分别对其进行设置,目的是让rdy出发后mfs再开始。 在编译之后就是对模块进行仿真,在quartus”Ⅱ软件中点击processing”菜单中的“simulator tool”。然后加载之前创建的波形文件“manch_txd”。在图5-8所示图中点“generate function simulation netlist”按钮。创建完网表文件之

45、后就可以点击“start”按钮。 图5-8 编码 simulator tool 在图5-8所示的图中,仿真运行之后就可以点击report按钮。结果如图5-9所示。 图5-9 曼彻斯特编码仿真结果 5.1.1 编码分析 从图5-9 中的结果可以看到在mdata端口中输入“01010101”8位二进制,当时钟使能后开始编码。 5-10 编码仿真分析图 从5-10编码仿真分析图是可以看出对一个简单的8位二进制码进行编码,得到了一个16位曼彻斯特码。图中还是可以看出输出的曼彻斯特特码“101010101010”。其中还存在一些毛刺,但是设计出曼彻斯特编码器还是满足曼彻斯特编码的要求。

46、如图5-11 是编码器RTL View图。 5-11 编码器RTL View 5.2 曼彻斯特解码仿真 在同一个工程文件下,建立曼彻斯特解码模块。选择“File”→“New”命令或是单击新建图标,在弹出的“New”对话框中选择“Verilog HDL File”选项,单击“OK”按钮。在输入完代码以后,就保存当前文件,点保存快捷方式,命名为“encode”文件名。下一步就是开始编译。在编译成功后,必须对其功能和时序特性进行仿真测试,以了解设计结果是否满足原设计要求。新建波形文件进行仿真,然后就是添加输入端口和按照要求对输入信号进行编辑。仿真结果如图5-12所示。

47、 5-12 曼彻斯特解码仿真 5.2.1 解码分析 从5-12解码仿真分析图是可以看出在对“101010101010”16位曼码进行解码,得到16进制数码55,表示为二进制即为“01010101” ,见图5-13 解码仿真分析。设计出曼彻斯特编码器还是满足曼彻斯特编码的要求。图5-14解码器RTL View。 5-13 曼彻斯特解码仿真分析 图5-14解码器RTL View。 6.结论及展望 本次设计实现了任务书中规定的要求,实现了曼彻斯特编码器。本人学习这门课程也才半年的时间,但是在本次毕业设计中学到了很多知识。在毕设的过程中,我参考了很多教材和网上的资料。我相信对我

48、以后的继续深造会有很大影响。 本论文讨论了曼彻斯特编解码器的设计与实现。在数字通信中,同步问题是一个研究的重点。在测井通信系统中,复杂多变的外界环境,对通信的性能提出了更高的要求,所以在通信系统中,良好的位同步的实现对于解码以及整个通信系统的正常工作的意义重大。 为了达到设计要求,设计了曼切斯特编解码器。讨论了曼彻斯特编解码器的实现方案,就其各方面进行分析比较,确定了实现方案,然后重点介绍了同步时钟信号提取仿真及实现。 参考文献 [1] 吴爱平. 基于FPGA的等精度频率计的设计.石油仪器,2005,4:17~19 [2] 武 鹏,毕君懿.1553B总线中曼彻斯特编解码器的设计[J

49、]. 现代电子技术,2011,34(4):61-64. [3] 李 刚. 基于FPGA的曼彻斯特码数据解码系统设计[M] .科技创新导报,2009ND.29 [4] 熊晓东.数控测井微型地面系统[M].石油工业出版社,2002(11). [5] 胡亚平.1553B 远程终端的设计[J]. 安徽电子信息职业技术学院学报,2008,7(4):55-56. [6] 曹素芝,张善从.光纤通道与MIL-STD-1553B协议的兼容性设计[J]. 计算机测量与控制,2010,18(7):1624-1626. [7] 任爱锋.基于FPGA的嵌入式系统设计[M].西安电子科技大学出版社,2004(

50、1). [8] Cyclone Device Handbook 2003 [9] 孙 涛,张华春. 基于1553B 协议的总线控制器和远程终端的FPGA 实现[J]. 中国科学院研究生院学报,2010,27(4):523-529. [10] 牛 茜, 靳 鸿. 基于有限状态机的1553B总线解码器设计[J]. 电子测试,2010(12):74-78. [11] 张 飞, 王焕玉, 徐玉朋等. 基于FPGA控制实现的1553B总线通讯设计[J]. 航天控制,2010,28(6):67-71. [12] HD15530 Datasheet[DB/0L].http://www.21

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服