毕业设计基于FPGA的曼彻斯特编码器的设计

上传人:仙*** 文档编号:33884567 上传时间:2021-10-19 格式:DOC 页数:49 大小:1.61MB
收藏 版权申诉 举报 下载
毕业设计基于FPGA的曼彻斯特编码器的设计_第1页
第1页 / 共49页
毕业设计基于FPGA的曼彻斯特编码器的设计_第2页
第2页 / 共49页
毕业设计基于FPGA的曼彻斯特编码器的设计_第3页
第3页 / 共49页
资源描述:

《毕业设计基于FPGA的曼彻斯特编码器的设计》由会员分享,可在线阅读,更多相关《毕业设计基于FPGA的曼彻斯特编码器的设计(49页珍藏版)》请在装配图网上搜索。

1、 毕业设计(论文)题目: 基于FPGA的曼彻斯特编码器的设计 系 别 信息工程系专业名称 电子信息工程班级学号 078205224学生姓名 指导教师 二O一一 年 六月 毕业设计(论文)任务书I、毕业设计(论文)题目:基于FPGA的曼彻斯特编码器的设计II、毕 业设计(论文)使用的原始资料(数据)及设计技术要求:MIL-STD-1553B是一种集中控制式、时分指令/响应型多路串行数据总线标准,具有高可靠性和灵活性,已经成为现代航空机载系统设备互联的有效解决方案,广泛地应用于飞机、舰船、坦克等武器平台上,并且越来越多地应用到民用领域。MIL-STD-1553B总线上的数据以双相曼彻斯特编码的方式

2、传输。1553B总线曼彻斯特码编码器的主要功能就是把来自外部的并行二进制数据转化为1553B总线上传输的串行信息,并且对这些串行数据进行曼彻斯特码编码,再加上同步头和奇偶效验位,使之成为能够以1553B总线协议所要求的格式在总线中进行传输。本课题基于FPGA平台实现曼彻斯特编码器的设计。III、毕 业设计(论文)工作内容及完成时间:第 1周-第 3周:资料查找、方案论证、英文资料翻译、开题报告撰写。第 4周-第 7周:学习MIL-STD-1553B总线的相关知识,熟悉曼彻斯特编码器原理。第 8周-第14周: 熟悉FPGA编程,使用VHDL语言完成曼彻斯特编码器的设计。第15周-第17周:归总系

3、统文档,撰写毕业论文。第18周:准备答辩。第 1周-第 3周:资料查找、方案论证、英文资料翻译、开题报告撰写。 、主 要参考资料:1.徐志军.EDA技术与VHDL设计M.北京:电子工业出版社,2009.2.潘松,赵敏.EDA技术及其应用M.北京:科学出版社,2008.3.李洪伟等.基于Quartus II的FPGA/CPLD设计M.北京:电子工业出版社,2006.4.杨凯. MIL-STD-1553B总线曼彻斯特码编码器的设计与实现D.四川大学,2006.5.唐剑,王勇. MIL-STD-1553B总线曼彻斯特码编码器的CPLD实现J.技术与市场,2008,2.6.石红梅,刘泳. 采用FPGA

4、实现1553B总线接口专用芯片设计C. 第十三届全国遥测遥控技术年会论文,2004.7.解传军,王海滨. 基于FPGA的航空总线协议接口设计J. 电子设计工程,2009,5.8.郑友泉.现场可编程门阵列J.世界电子元器件,2005,10. 信息工程 系 电子信息工程 专业类 0782052 班学生(签名): 填写日期: 2010 年 11 月 20 日指导教师(签名): 助理指导教师(并指出所负责的部分): 系主任(签名):附注:任务书应该附在已完成的毕业设计说明书首页。学士学位论文原创性声明本人声明,所呈交的论文是本人在导师的指导下独立完成的研究成果。除了文中特别加以标注引用的内容外,本论文

5、不包含法律意义上已属于他人的任何形式的研究成果,也不包含本人已用于其他学位申请的论文或成果。对本文的研究作出重要贡献的个人和集体,均已在文中以明确方式表明。本人完全意识到本声明的法律后果由本人承担。作者签名: 日期: 年 月 日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权南昌航空大学科技学院可以将本论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 作者签名: 日期:导师签名: 日期:基于FPGA的曼彻斯特编码器的设计学生

6、姓名:林 玉 班级:0782052 指导老师:邹 琼 摘要:电子技术与航空产业飞速发展,已成为我国支柱产业之一。我国政府高度重视航空航天产业发展,“十二五”期间将进一步加大政府支持力度,促进航空航天产业快速发展。在飞机制造中,航空电子系统是其中重要的组成部分,而航空电子系统中数据总线是关键技术之一。11553B作为一种通用的军事标准协议,它对数据总线的电气和协议特性进行严格的规范和约束,现已广泛运用于航空电子综合系统。该标准对航空飞机所需的数字命令响应,分时复用等数字总线技术提出了一系列的要求,其中包括数据总线的传输和协议格式。本文首先对FPGA和曼彻斯特编码相关原理进行概述,尤其是航空数据总

7、线MIL-STD-1553B。其次是对其系统组成的介绍,本次设计主要包括两大部分,并串转换器、曼彻斯特编码器。最后着重讲述该系统在quartus 软件下的运行和仿真。1553B总线协议中对传输的字类型进行了规范和分类:分别是命令字、状态字和数据字。本次论文的设计主要着重于该协议总线接口内部的曼彻斯特码编码器,作为总线接口的重要组成部分,曼彻斯特编码器担负着码型编写、奇偶校验等重要任务,使数据能够以1553B所定义的标准形式在数据总线中进行传输。 关键词:FPGA,曼彻斯特编码,1553B总线,串并转换 指导老师签字: Design of Manchester Encoder Based on

8、FPGAStudent Name: Lin Yu Class: 0782052Supervisor: Zou QiongAbstract: Electronics and Aviation technology industry developed rapidly. Our country attaches great importance to the development of aerospace industry.In the period of Twelfth of Five-Year government will support further increase Aviation

9、, it will Promote the rapid development of the aerospace industry.In aircraft manufacturing,Avionics System is an important part of the Aviation.The avionics system is the key technology of data bus. 1553B takes one kind of military standard,it has carried on the strict standard and the restraint to

10、 the electricity and the protocol characteristic of data bus,and it has already widely used in the aviation electron systemThis standard propose a series of requests to the digital bus technology which are obligatory to the aviation airplane numeraI/Order/response,time sharing multiple use,including

11、 data bus information flow and function formatThis article first introduces about the FPGA and Manchester Encoder,especially MIL-STD-1553B.Next is the introduction of its two composition unit,It including String and convert and Manchester Encoder.Fhen the one that told emphatically is quartusof Oper

12、ation and Simulation,in the1553Bs protocol,the word types which transmitted in the 1553B bus has carried on the standard classification,they are the order word、the status word and the data wordthe design for this paper mainly emphatically in the protocol bus interface interior Manchester code encode

13、g as the bus interface important constituent,the encoder is shouldering the parallelserial Ixansformation,the code compilation,the parity check and so on the important task,enables the data according to the standard form which defines by 1553B to carry on the transmission in the data bus.Keywords: F

14、PGA, Manchester Encoder, 1553B, String and convert Signature of Supervisor: 目 录1 绪论1.1选题的依据和意义11.2项目研究内容和任务11.3论文内容及结构22 FPGA原理及开发工具2.1 FPGA原理32.2 Quartus及开发语言43 曼彻斯特编码原理3.1 1553B数据总线83.2 曼彻斯特编码原理104 系统总体设计4.1 系统设计要求114.2 系统设计思路114.3 系统设计框图125 系统模块设计5.1 并串转换器的设计135.2 曼彻斯特编码器设计146系统仿真及结果分析6.1 并串转换器仿真

15、及结果分析196.2曼彻斯特编码器仿真及结果分析266.3系统总体仿真及结果分析297 结论及展望34参考文献35致谢36附录A37附录B41 基于FPGA的曼彻斯特编码器的设计1 绪论 1.1选题的依据和意义航空航天产业是国家综合国力的集中体现和重要标志,是国家先进制造业的重要组成部分,是国家科技创新体系的一支重要力量。促进航空航天产业快速发展。在飞机制造中,航空电子系统是其中重要的组成部分,而航空电子系统中数据总线是关键技术之一。MIL-STD-1553B是目前广泛适用于航空电子领域的协议标准,它具有传输稳定、抗干扰、负荷轻、速率高等优点。其主要被欧美军方用于军事系统,在战斗机、航天设备、

16、驱逐舰等军用设施上得到了非常多的运用和实践。为了适应现代军事斗争的需要,近年来,我国在新型战斗机、驱逐舰的研制中已开始采用1553B标准。但是,由于该标准的核心技术为欧美公司所垄断。因此,自主研发基于MIL-STD-1553B总线标准的协议芯片及产品具有重要的战略意义。目前,此类器件在国内还较少出现,对于整个1553B体系架构的把握尚未形成,我们急需改变这种不利情况。自主研发1553B相关产品首先必须解决曼彻斯特码的编码、解码。本文的主要工作就是研究1553B曼彻斯特码编码器的设计及实现。曼彻斯特码编码器是1553B总线接口中最为重要的器件之一,它直接关系到总线数据能否严格按照MIL-SID-

17、1553B标准协议来进行传输,是其三种类型字传递的门户端口器件。本课题设计就是基于FPGA的曼彻斯特编码器的设计。1.2项目研究内容和任务本项目主要研究MIL-STD-1553B上的曼彻斯特码编码器的软件设计和实现。技术上采用FPGA作为硬件平台,为了使FPGA器件能顺利完成曼码的编码任务,它应该包括这样几个部分:1.并串转换器的设计并串转换器的主要工作是将16位由前端输入的并行数据转换为曼彻斯特能够编码的串行数据。它主要由时钟信号、转换使能信号控制。2.曼彻斯特编码器的设计在每个周期的开头加同步字头,数据输入时间持续16个周期,期间对数据进行编码。若输入的数据信元为“1”,编码就通过输出一个

18、下降沿来表示,当输入数据为“0”时,编码则输出一个上升沿。数据位输入结束后,编码器将对输入的数据信元进行奇偶校检,如果在输入的数据信元中“1”的个数为奇数,编码器输出一个上升沿,反之若数据信元中“1”的个数为偶数则输出一个下降沿。3.软件设计的仿真Quartus借助EDA工具中的编译器、综合器、适配器、时序仿真器和编程器等工具进行相应的处理,才能使已完成的设计在FPGA上进行硬件实现并得到测试结果。EDA工具有多种途径完成目标系统的输入,如HDL文本输入方式、原理图输入方式、状态图输入方式以及混合输入方式等。相对而言,HDL文本输入方式是最基本也是最直接的输入方式。将通过实例具体介绍基于Qua

19、rtus II的VHDL文本输入流程,包括设计的输入、综合、适配、仿真测试和编程下载等。1.3论文内容及结构第2章 介绍了FPGA的有关原理,及它的设计流程,vhdl语言的概述等;第三章介绍了曼彻斯特编码的有关知识,尤其介绍了1553B数据总线;第四章对本文框架进行了讲述,有设计思路的比较和设计框图;第五章介绍了主要的两大模块:串并转换模块和曼彻斯特编码模块;第六章对该系统功能进行了仿真验证;第七章是对本次设计的小结和展望。2 FPGA原理及开发工具2.1 FPGA原理FPGA( FieldProgrammable Gate Array),即现场可编程门阵列,它是在PAL、GAL、CPLD等可

20、编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。PI IOB 图2.1 FPGA的基本结构 目前以硬件描述语言(Verilog或VHDL)所完成的电路设计,可以经过简单的综合与布局,快速的烧录至 FPGA 上进行测试,是现代 IC 设计验证的技术主流。这些可编辑元件可以被用来实现一些基本的逻辑门电路(比如AND、OR、XOR、NOT)或者更复杂一些的组合功能比如解码器或数学方程式。在大多数的FPGA里面,这些可编辑的元件里也包含记忆元件例如触发器(Flipflop)或者其他更加完

21、整的记忆块。 FPGA采用了逻辑单元阵列LCA(Logic Cell Array)这样一个新概念,内部包括可配置逻辑模块CLB(Configurable Logic Block)、输出输入模块IOB(Input Output Block)和内部连线(Interconnect)三个部分,如图2.1。FPGA的基本特点主要有: 1.采用FPGA设计ASIC电路,用户不需要投片生产,就能得到合用的芯片。 2.FPGA可做其它全定制或半定制ASIC电路的中试样片。 3.FPGA内部有丰富的触发器和IO引脚。 4.FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一。 5.FPGA采用

22、高速CHMOS工艺,功耗低,可以与CMOS、TTL电平兼容。 可以说,FPGA芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。目前FPGA的品种很多,有XILINX公司的Virtex系列、TI公司的TPC系列、ALTERA公司的Stratix系列等。 FPGA是由存放在片内RAM中的程序来设置其工作状态的,因此,工作时需要对片内的RAM进行编程。用户可以根据不同的配置模式,采用不同的编程方式。加电时,FPGA芯片将EPROM中数据读入片内编程RAM中,配置完成后,FPGA进入工作状态。掉电后,FPGA恢复成白片,内部逻辑关系消失,因此,FPGA能够反复使用。FPGA的编程无须专用的FPG

23、A编程器,只须用通用的EPROM、PROM编程器即可。当需要修改FPGA功能时,只需换一片EPROM即可。这样,同一片FPGA,不同的编程数据,可以产生不同的电路功能。因此,FPGA的使用非常灵活。 FPGA提供了一种“自顶向下的全新的设计方法。这种设计方法首先从系统设计入手,在顶层进行功能方框图的划分和结构设计,在图表级进行仿真、纠错,并用硬件描述语言对高层次的系统行为进行描述,在系统级进行验证。然后用综合优化工具生成具体门电路的网表,其对应的物理实现级可以是印刷电路板或专用集成电路。由于设计的主要仿真和调试过程是在高层次上完成的,这不仅有利予早期发现结构设计上的错误,避免设计工作的浪费,而

24、且也减少了逻辑功能仿真的工作量,提高了设计的一次成功率。 2.2 Quartus及开发语言 Quartus II 是Altera公司的综合性PLD开发软件,支持原理图、VHDL、VerilogHDL以及AHDL(Altera Hardware Description Language)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。一、VHDL语言的发展历史 本次毕业设计就是应用VHDL语言,是一种用于数字电路设计的高级语言。VHDL全名是Very-High-Speed Integrated Circuit HardwareDescriptio

25、n Language,诞生于1982年。1987年底,VHDL被IEEE和美国国防部确认为标准硬件描述语言 。自IEEE公布了VHDL的标准版本,IEEE-1076(简称87版)之后,各EDA公司相继推出了自己的VHDL设计环境,或宣布自己的设计工具可以和VHDL接口。此后VHDL在电子设计领域得到了广泛的认可,并逐步取代了原有的非标准的硬件描述语言。1993年,IEEE对VHDL进行了修订,从更高的抽象层次和系统描述能力上扩展VHDL的内容,公布了新版本的VHDL,即IEEE标准的1076-1993版本,(简称93版)。现在,VHDL和Verilog作为IEEE的工业标准硬件描述语言,又得到

26、众多EDA公司的支持,在电子工程领域,已成为事实上的通用硬件描述语言。有专家认为,在新的世纪中,VHDL与Verilog语言将承担起大部分的数字系统设计任务。VHDL语言是一种用于电路设计的高级语言。它在80年代的后期出现。最初是由美国国防部开发出来供美军用来提高设计的可靠性和缩减开发周期的一种使用范围较小的设计语言,它的应用主要是应用在数字电路的设计中。目前,它在中国的应用多数是用在FPGA/CPLD/EPLD的设计中。当然在一些实力较为雄厚的单位,它也被用来设计ASIC。二、Quartus II下的FPGA设计Quartus II为硬件电路的设计提供了很大的方便。FPGA之所以能够广泛应用

27、于电路设计中,就是因为它们有使用相当方便的开发软件工具包,通过编程工具和软件的配合使用,对器件芯片可以进行流畅的开发、校验。FPGA特别适用于正向设计,即从电路原理图或各种硬件描述语言到芯片成品的设计,在这些设计流程中,设计人员对特别底层的硬件知识并不需要特别的了解和掌握,完全可以从功能应用出发,根据任务需求,自顶向下地进行电路设计。下面我们来看看FPGA的设计流程,Quartus II环境下的FPGA设计过程主要包括5个步骤:设计输入 运用电路原理图输入、HDL文本输入等方式,表达设计思想,指定所用HIGA器件的型号,分配其外部管脚。综合将原理图、HDL语言等设计输入翻译成由基本电路逻辑单元

28、组成的连接网表,供布局布线器进行实现。布局布线根据连接网表文件,进行布局布线的分析和优化,完成FPGA器件内、外的虚拟连接。仿真仿真分为功能仿真和时序仿真。功能仿真验证电路功能是否符合设计要求;时序仿真包含了延时信息,能较好反映芯片的工作情况。编程和配置成功编译后,将生成的编程文件下载到目标FPGA系统中调试;调试成功后,烧写到FPGA的配置芯片中。建立项目文件建立设计文件 原理图输入文本输入有错 编译综合 无错有错 软件仿真无错选芯片,映射管脚无错有错 编译下载 实验成功 图2.2 软件开发流程三、 Quartus的仿真仿真分为功能仿真和时序仿真。通常,功能仿真用于验证电路的功能是否正确。本

29、次设计主要是在quartus软件中进行功能仿真验证。仿真的一般步骤如下: 新建波形编辑文件; 设置仿真时间区域; 保存文件; 导入欲观察的信号节点; 编辑激励信号; 设置数据格式; 设置仿真器参数; 启动仿真和观察仿真结果。3 曼彻斯特编码原理3.1 1553B数据总线数据总线是为不同的系统之间提供数据和信息交换的媒介,这就类似于个人计算机和办公自动化系统之间局域网式的互连,MIL-STD-1553B总线协议是在1978年诞生于美国国防部的,它早前作为的是一种定义了数据总线电气和协议特性的军事标准。一、 1553B的历史发展与应用 MIL-STD-1553B是一种在航空电子系统中广泛运用的总线

30、协议,它的全称是飞机内部时分命令多路响应数据总线,它的发展可以追溯到1968年。美国政府军事部门经过三年的修订,于1973年8月公布了MIL-STD-1553,这个内部标准的第一个使用者就是F-16战斗机。而美国国防部1975年4月30日所发布的MIL-STD-1553A就是在此基础上不断发展衍变而来,并为F-16战斗机和AH-64A Apache直升机所首先运用。在此之后,通过一系列现实操作所积累起来的经验,在1553A的基础上,SAE又加入了许多定义和额外的应用能力于其中,这就是1553B标准协议,它于1978年9月21日由SAE公布,一直沿用至今。不过1553B也在不断进行着一些改动。为

31、了将该标准仅仅应用于空军系统,1980年美国空军曾经对1553B标准的应用选择实施了诸多限制,但是工业界却普遍认为这样的做法大大低估了1553B的应用能力,它应该拥有更广泛的使用权限。现在的MIL-STD-1553B在军用航空电子系统中应用范围非常广泛,比如卫星通信系统、国际空间站的空间地址探寻、大规模交通控制、航空燃料补给等等,甚至包括在了一系列的发射器和服务器中,比如飞行器和发射器的基本接口。除此以外,海军的舰艇、潜水艇、陆军的直升机和坦克,这些都用到了1553B总线协议;对商业领域来说,地铁、产品制造生产线也已运用到了该标准协议。 二、1553B数据总线规则1553B总线上的信息是以消息

32、(Message)的形式调制成曼彻斯特码进行传输的。每条消息最长由32个字组成,所有的字分为三类:命令字、数据字和状态字。每类字的长度为20位,有效信息位是16位,每个字的前3位为单字的同步字头,而最后1位是奇偶校验位。有效信息(16位)及奇偶校验位在总线上以曼彻斯特码的形式进行传输,传输一位的时间为1 S(即码速率为1MHz)。同步字头占3位,先正后负为命令字和状态字,先负后正为数据字。在这三种类型的字中,命令字位于每条消息的起始部分,其内容规定了该次传输的具体要求。1553B总线曼彻斯特码编码器的主要功能就是把来自外部的并行二进制数据转化为1553B总线上传输的串行信息,并且对这些串行数据

33、进行曼彻斯特码编码,再加上同步头和奇偶校验码,使之成为能够以1553B总线协议所要求的格式在总线中传输的数据。0-2位 中间3-18位数据位 19位 前三位同步字头 中间16位数据位 最后第20位奇偶校验位 图3.1 1553B的数据格式 三、 1553B总线的传输1553B总线能挂31个远置终端,1553B总线采用指令/响应型通信协议,它有三种终端类型:总线控制器(BC)、远程终端(RT)和总线监视器(BM);信息格式有BC到RT、RT到BC、RT到RT、广播方式和系统控制方式;传输媒介为屏蔽双绞线,1553B总线耦合方式有直接耦合和变压器耦合;1553B总线为多冗余度总线型拓扑结构,具有双

34、向传输特性,其传输速度为1Mbps传输方式为半双工方式,采用曼彻斯特码进行编码传输。采用这种编码方式是因为适用于变压器耦合,由于直接耦合不利于终端故障隔离,会因为一个终端故障而造成整个总线网络的完全瘫痪,所以其协议中明确指出不推荐使用直接耦合方式。状态字只能由RT发出,它的内容代表RT对BC发出的有效命令的反馈。BC可以根据状态字的内容来决定下一步采取什么样的操作。数据字既可以由BC传输到某RT,也可以从某RT传输至BC,或者从某RT传输到另一RT,它的内容代表传输的数据。 1553B总线上消息传输的过程是:总线控制器向某一终端发布一个接收/发送指令,终端在给定的响应时间范围内发回一个状态字并

35、执行消息的接收/发送。BC通过验收RT回答的状态字来检验传输是否成功并做后续的操作。消息是构成1553B总线通讯的基本单位,如果需要完成一定的功能,就要将多个消息组织起来,形成一个新的结构叫做帧(Frame)。完成一个消息的时间称为消息时间,两个消息之间的间隔称为消息间隔时间,完成一个帧的时间称为帧时间。在实际应用中这三种时间都是可以通过编程设置的。3.2 曼彻斯特编码原理 曼彻斯特编码,也叫做相位编码(PE),是一个同步时钟编码技术,被物理层使用来编码一个同步位流的时钟和数据。在曼彻斯特编码中,用电压跳变的相位不同来区分1和0,即用正的电压跳变表示0,用负的电压跳变表示1。因此,这种编码也称

36、为相应编码。由于跳变都发生在每一个码元的中间,接收端可以方便地利用它作为位同步时钟,这种编码也称为自同步编码。 曼彻斯特编码电平跳变的规则是:低电平的中间时刻跳变表示0,用高电平中间时刻的跳变表示1,如下图3.2所示。因而这样防止时钟同步的丢失,或来自低频率位移在贫乏补偿的模拟链接位错误。在这个技术下,实际上的二进制数据被传输通过这个电缆,不是作为一个序列的逻辑1或0来发送的。它具有自同步能力和良好的抗干扰性能。但每一个码元都被调成两个电平,所以数据传输速率只有调制速率的1/2。下跳为1上跳为0 图3.2 曼彻斯特编码 下面是一段数据串行信号1000100111,在上图中可以看出曼彻斯特编码信

37、号的跳变都发生在中间时刻,它按照曼彻斯特的编码规则,可以表示1001100111。如下图3.3所示。 图3.3 信号的曼彻斯特编码4 系统总体设计4.1 系统设计要求 本课题的设计要求和技术指标:1MIL-STD-1553B总线上的数据以双相曼彻斯特编码的方式传输。2编码器把来自外部的并行二进制数据转化为串行信息。3. 对串行数据进行曼彻斯特码编码,再加上同步头和奇偶效验位。4. 能够以1553B总线协议所要求的格式在总线中进行传输。 本毕设毕业圆满的完成了上述任务。 4.2 系统设计思路 根据系统的设计要求,需要解决外部数据的并串转换和数据编码问题,而曼彻斯特编码器是本文的设计重点,思路如下

38、: 发送数据命令 在每个周期的开头加同步字头,数据输入时,输入时间将持续16个编码周期,若输入的数据信元为“1”,编码就通过输出一个下降沿来表示,当输入数据为“0”时,编码则输出一个上升沿。数据位输入结束后,编码器将对输入的数据信元进行奇偶校检,如果在输入的数据信元中“1”的个数为奇数,编码器输出一个上跳变电平,反之若数据信元中“1”的个数为偶数则输出一个下跳变电平,如图4.1所示。 检查周 期码型转换生成同步字头移位及奇偶校验 图4.1 编码器设计思路 4.3 系统设计框图根据上述系统的设计要求,系统主要由两大模块组成:并串转换器、曼彻斯特编码器。在系统外部由16位并行信号线供给,经过系统的

39、两个模块后输出曼彻斯特编码信号。在信号的编码方面本设计经过很多次修改,编码没有信号的丢失,并且奇偶校验位的数据匹配,完全满足系统设计的四点要求,系统框图如4.2所示。 FPGA系统 并行数据输入系统数据输出端曼彻斯特编 码并串转换模 块 图4.2 系统原理框图5 系统模块设计5.1 并串转换器的设计串并转换主要工作是将16位并行数据转换为曼彻斯特能够编码的串行数据。它主要由时钟信号、转换使能信号控制。当sl信号高电平时就开始输出当前十六位并行数据。它的流程图如图5.1所示。 开始是判断Sl由低变高电平否储存当前输入数据是移16位完成否否判断结束 移位 否 是判断结束是结束 图5.1 并串转换流

40、程图 程序代码如下: library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity p_to_s isport(sl,clkl:in std_logic; datain:in std_logic_vector(15 downto 0); q:out std_logic);end p_to_s;architecture behav of p_to_s issignal tmpreg:std_logic_vector(15 downto 0);

41、beginq=tmpreg(15);process(sl,clkl)beginif(clklevent and clkl=1)thenif(sl=0)thentmpreg=datain;elsefor i in 15 downto 1 looptmpreg(i)=tmpreg(i-1);end loop; tmpreg(0)=0;end if;end if;end process;end behav;在quartus中生成相应的并串转换模块如图5.2所示。端口有时钟信号、并串转换使能信号、16位并行数据输入端和一位串行数据输出端。 图5.2 并串转换器图5.2 曼彻斯特编码器设计曼码编码过程可

42、分为三部分:1)检测编码周期是否开始,产生同步字头;2)进行输入数据的曼彻斯特编码3)产生奇偶校验位并对其进行编码,编码周期结束。编码器的设计流程如图5.3所示: 当使能信号为高电平时,编码周期开始,当同步选择信号SS为“1”,输出信号为命令同步,若为“0”,表示输出信号为数据同步,当输入数据使能信号 send为“1”时,表明允许数据输入,输入时间将持续16个编码周期,若输入的数据信元 din为“1”,编码就通过输出一个下降沿来表示, 当输入数据为“0”时,编码则输出一个上升沿。数据位输入结束后,编码器将对输入的数据信元进行奇偶校检,如果在输入的数据信元中“1”的个数为奇数,编码器输出一个上升

43、沿,反之若数据信元中“1”的个数为偶数则输出一个下降沿。 开始01判断ss 命令同步 数据同步01判断din 下降沿 上升沿1的个数奇数偶数 下降沿 上升沿否判断结束是结束 图5.3 曼彻斯特编码流程上述的流程图中ss为同步选择信号,din为数据输入信号。曼彻斯特编码器的代码如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;Entity encode iS port(rst :in std_logic; -复位信号 clk :in st

44、d_logic; -基准时钟信号 ss : in std_logic; -同步选择信号 In_en: in std_logic; -输入选择信号 Date_in: in std_logic; -编码信元输入端 Date_out:out std_logic; en_out: buffer std_logic); -编码信元输出端end encode;Architecture behave of encode isSignal tem_register: std_logic_vector(5 downto 0);Signal counter:std_logic_vector(5 downto 0)

45、;Signal in_counter: std_logic;Signal bit_temp: std_logic;Signal odd_bit: std_logic; -奇偶校检信号BeginDate_out=tem_register(5);process(rst,clk) begin if rst=0then tem_register=000000; counter=000000; in_counter=0; odd_bit =0; bit_temp=0; en_out=0; -各信号初始化 elsif(clkevent and clk =1)then if in_en=1 then if

46、counter=000000 then en_out=0; if ss=1 then tem_register=111000; -命令同步字产生 else tem_register=000111; -数据同步字产生 end if; elsif counter=100110then if odd_bit=1then tem_register(5)=0; else tem_register(5)=1; end if; elsif counter=100111 then if odd_bit=1then tem_register(5)=1; else tem_register(5)=0; -奇偶校检

47、的产生 end if; else tem_register(5 downto 1)=tem_register(4 downto 0); if in_counter=0then if date_in=1then tem_register(0)=1; bit_temp=0; odd_bit=not odd_bit; else tem_register(0)=0; bit_temp=1; -对输入数据进行编码 end if; else tem_register(0) = bit_temp; end if; in_counter=not in_counter; end if; counter=coun

48、ter+1; if counter=101000then counter=000000; odd_bit =0; en_out=1; end if; end if; end if;end process;end behave; 在quartus中生成相应的曼彻斯特编码器模块。输入端口有时钟信号、复位信号、输入使能信号、串行输入信号端、和编码信号输出端及输出使能信号。 图5.4 曼彻斯特编码器6系统仿真及结果分析6.1 并串转换器仿真及结果分析打开Quartus软件,新建一个工程为encode,如图6.1所示。 图6.1 新建工程文件encode 单击Finish按钮完成encode工程的新建。

49、新建完工程文件后,就建立并串转换模块。选择FileNew命令或是单击新建图标,在弹出的New对话框中选择VHDL File选项,单击OK按钮,如图6.2所示。 图6.2 新建并串转换VHDL文件新建完VHDL文件以后就开始输入VHDL代码,在quartus中,如下图6.3所示。 图6.3 并串转换VHDL代码输入在输入完代码以后,就保存当前文件,点保存快捷方式,命名为p_to_s文件名。下一步就是开始编译,在编译前要在project navigator 框中点击p_to_s的右键set as top-level Entity。接下来就是对并串转换进行编译。可以在quartus中直接点击编译快捷

50、方式。结果如图6.4所示。 图6.4 并串转换编译结果工程编译成功后,必须对其功能和时序特性进行仿真测试,以了解设计结果是否满足原设计要求。Quartus II提供的波形文件为Vector Waveform File,即VWF。新建波形文件进行仿真,选择FileNew命令或是单击新建图标,选择Vector Waveform File项。如下图6.5所示。 图6.5 新建并串转换的波形文件在向量波形文件的Name下方的空白处,双击鼠标左键,弹出Insert Node or Bus对话框如图6.6所示,单击Node Finder按钮,弹出Node Finder对话框,如图6.7所示。 图6.6 添加端口对话框 图6.7 Node Finder选择对话框在弹出的图6.7框中点击list按钮,再点击按钮,最后点OK按钮。这波形文件的端口都已经添加进去了。然后就是设置端口的波形。在编译之后就是对模块进行仿真,在quartus软件中点击processing菜单中的simulator tool。然后加载之前创建的波形文件”p_to_s“。在下图6.8所示图中点generate function simulation netlist按钮。创建完网表文件之后就可以点击start按钮。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!