信息与通信]毕业论文“基于fpga的uart模块设计”内容摘要:

设计,并能直接使用功能定义地描述。 常熟理工学院毕业设计 (论文) 4 这就是自顶而下的设计方法,简单分为功能定义、设计输入、功能仿真、逻辑综合、综合后仿真、布局布线、布局布线后仿真、下载验证等 8个步骤 [9]。 本课题,逻辑设计使用的软件为 Altera公司的 Quartus II。 Quartus II的主要特点:Quartus II是一个集成环境,可以完成整个 FPGA开发过程。 Quartus II集成了很多著名的FPGA设计工具,根据设计流程合理应用这些工具,会使工程师的设计工作如鱼得水。 Quartus II界面风格简洁流畅,易学易用。 Quartus II的界面秉承了可视化编程技术。 界面根据设计流程而组织,整个设计过程只需按照界面组织结构依次点击相应的按钮或相应的选项即可。 强大的设计辅助功能。 Quartus II秉承了 Altera设计软件的强大辅助功能。 在编写代码时可以使用编写向导生成文件头和模块框架,也可以使用语言模板帮助编写代码。 在图形输入时可以使用辅助项帮助设计原理图。 另外, Quartus II可以方便地生成 IP Core(IP核 )与高效模块为用户所用,大大减少了设计者的工作量,提高了设计效率和 质量。 Quartus II的集成工具主要分为设计输入工具、综合工具、仿真工具、实现工具和辅助设计工具等5类、 HDL Editor可以完成设计电路的 HDL语言的输入,能根据语法来彩色显示关键字;自带仿真器做仿真,特点是仿真速度快,仿真精度高;综合能力强。 VHDL 语言简介 随着电子技术的发展,集成电路的规模越来越大,复杂程度也越来越高。 对于如此大规模的和 复杂 程度的电路设计问题,传统的门级描述方法显得过于琐碎和难以管理。 而VHDL 语言 具有强大的功能,覆盖面广,描述能力强,可用于从门级、电路级直至系统 级的描述、仿真和综合。 下面简要介绍了 VHDL 语言。 VHDL 的英文全名是 VeryHighSpeed Integrated Circuit Hardware DescriptiON Language, 诞生于 1982 年。 1987 年底, VHDL 被 IEEE 和 美国 国防部确认为标准硬件描述语言。 自 IEEE 公布了 VHDL 的标准版本, IEEE1076(简称 87版 ) 之后,各 EDA 公司相继推出了自己的 VHDL 设计环境,或宣布自己的设计工具可以和 VHDL 接口。 此后 VHDL 在电子设计领域得到了广泛的接受,并逐步取代了原有的非 标准的硬件描述语言。 1993 年,IEEE 对 VHDL 进行了修订,从更高的抽象层次和系统描述能力上扩展 VHDL 的内容,公布了新版本的 VHDL,即 IEEE 标准的 10761993 版本(简称 93 版)。 现在, VHDL 和 Verilog作为 IEEE 的工业标准 硬件 描述 语言 ,又得到众多 EDA 公司的支持。 在电子工程领域,已成为事实上的通用硬件描述语言。 有专家认为 : 在新的世纪中, VHDL 与 Verilog 语言将承担起大部分的数字系统设计任务。 VHDL 主要用于描述数字系统的结构 、 行为 、 功能和常熟理工学院毕业设计 (论文) 5 接口。 除了含有许多具有硬件特征的语句外, VHDL 的语言形式和描述风格与句法是十分类似于一般的计算机高级语言。 VHDL 的程序结构特点是将一项工程设计 —— 或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或称 可视 部分 , 及端口 ) 和内部(或称不可视部分), 即设计 实体的内部功能和算法完成部分。 在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其它的设计就可以直接调用这个实体。 这种将设计实体分成内外部分的概念是 VHDL 系统设计的基本点。 概括的说, VHDL 具有以下主要优点: VHDL 支持层次化 设 计,可以在 VHDL 的环境下,完成从简练的设计原 始描述,经过层层细化求精,最终获得可直接付诸生产的电路级或版图参数描述的全过程。 VHDL 有良好的可读性。 它可以被计算机接受,也容易被读者理解。 用 VHDL 书写的源文件,既是程序又是文档,既是技术人员直接交换信息的文件,又可作为合同签约者之间的文件。 VHDL 有良好的可移植性。 作为一种已被 IEEE 承认的工业标准, VHDL 事实上已成为通用的硬件描述语言,可以在不同的设计环境和系统平台中使用。 使用 VHDL 可以延长设计的生命周期。 因为 VHDL 的硬件描述与工艺技术无关,不会因为工艺变化而使描述过时。 与工艺技术有关的 参数可通过 VHDL 提供的属性加以描述,工艺改变时,只需要修改相应程序中的属性参数即可。 VHDL 支持对大规模设计的分解和已有设计的再利用。 VHDL 可以描述复杂的电路系统,支持对大规模设计进行分解,由多人、多项目组来共同承担和完成。 标准化的规则和风格,为设计的再利用提供了有力的支持。 本文的研究内容 本课题的内容就是要用 VHDL语言在 FPGA上实现一个通用异步收发器,首先根据通用异步收发器的具体性能与要求将 UART分为几个模块的组合,采用 TopDown的层次化设计方法和硬件描述语言 (VHDL)来编写 内部的逻辑功能模块,然后运用 Quartus II的 综合工具以及Quartus II的 仿真工具中对其进行综合优化以及仿真验证,最后下载到实物开发板上进行调试。 主要的研究内容有如下几点: 第一步:熟悉 FPGA的设计开发流程以及通用异步收发器 (UART)的各个子模块的功能,掌握各个模块之间的联系与工作流程,熟悉 UART通信协议 (RS232协议 )。 第二步:用 VHDL语言编写通用异步收发器内部的各个子模块以及顶层模块的程序代码。 常熟理工学院毕业设计 (论文) 6 第三步:在 Quartus II集成的软件开发环境中对其进行逻辑综合、仿真验证、布局 布线、以及最后的硬件实现。 本文的结构 第一章主要指出本课题的提出背景以及研究意义,以及与本研究该课题相关的技术及开发环境。 第二章着重介绍了通用异步收发器的理论内容,包括 UART通信时各模块的工作特性及串行通信协议。 第三章主要对 UART的结构设计,包括系统设计 以及各个模块的设计过程进行了分析。 第四章主要是对设计完成后的 UART进行逻辑综合, 功能模拟及时序仿真 ,同时分析逻辑综合和仿真结果,最后下载到 FPGA实验板中进行实物验证。 第五章是结束语,主要分析本课题所取得的研究成果以及有待改进的不足之 处。 小节 本章首先介绍了此课题的研究背景和研究意义,然后阐述了与该课题相关的内容:UART 芯片研究状况、 FPGA 特点、 VHDL 语言,最后分析了该课题的研究方法和研究内容。 常熟理工学院毕业设计 (论文) 7 第二章 UART 理论基础 UART 是通用异步收发器的英文缩写,它包括了 RS23 RS49 RS42 RS422 和 RS485等接口标准规范和总线标准规范,即 UART 是异步串行通信口的总称。 而 RS23 RS49RS42 RS422 和 RS485 等,是对应各种异步串行通信口的接口标准和总线标准,它规定了通信口的电气特 性、传输速率、连接特性和接口的机械特性等内容。 UART 是异步 串行通信 方式,通信的发送方和接收方各自有独立的时钟,传输的速率由双方约定。 串行通信分为两种类型:同步通信方式和异步通行方式。 UART 是一种串行异步通信方式。 它是各种设备之间进行通信的关键模块,允许在串行链路上进行全双工的通信。 在发送端,并行的数字信号需要转化成串行信号才能通过有线或无线传输到另外一台设备;而在接收端,串行信号必须要被恢复成并行信号才能进行数据处理。 UART 就是用来处理这种数据与串口之间的串并和并串转换的。 本章首先介绍 UART 的基 本结构,然后阐述一些有关串行通信的知识,在串行通信基础知识介绍中对同步通信也作了简要介绍。 UART 原理 通用异步接收 /发送器 UART用于将并行数据转换成串行形式;串行输入时,又将串行形式转换成并行形式。 图 UART基本结构,它的组成包括 [10]: 图 UART基本结构 (1)UART内核 内核模块是 UART设计的核心部分,内部为控制逻辑,它接收来自微处理器或上层部件常熟理工学院毕业设计 (论文) 8 的控制信号,执行其所要求的操作,并输出状态信息和控制信号。 在数据接收时, UART内核模块负责控制波特率发生器和 移位寄存器,控制移位寄存器在波特率时钟的驱动下同步接收同时保存 RS232接收端口上的串行数据。 在数据发送时, UART内核模块首先根据待发送数据、奇偶校验位和停止位的设置产生完整的发送序列 (包括起始位、数据位、奇偶校验位和停止位 ),之后控制移位寄存器将发送序列加载到移位寄存器的内部寄存器里,最后控制波特率发生器驱动移位寄存器将数据串行输出。 (2)信号监测器 对串行输入端 (RXD)的输入信号进行实时监测,一旦发现新的数据信号监测器立即发送信号通知 UART内核。 (3)移位寄存器 移位寄存器用来存储输入或者输 出的数据。 发送时,微处理器将待发数据送入发送数据寄存器,然后对待发数据格式化,包括起始位、奇偶校验位和停止位。 将格式化后的数据送到发送移位寄存器,然后按先前规定的波特率串行输出。 接收时,串行输入设备通过UART的串行输入端口发送串行数据到 UART的接收器。 一旦串行输入端口电位由高电平变到低电平,接收器就认为接收到起始位,并把后续的数据位依次移入接收移位寄存器。 当接收一个完整数据后,就送往内核的接收移位寄存器,并通知微处理器或上层部件读取接收到的数据。 (4)波特率发生器 UART的发送和接收是按照相同的波特 率进行收发的。 波特率发生器产生的时钟频率是根据给定的的波特率算出的。 (5)奇偶校验器 为了使传送数据过程更可靠,在 UART中设置了错误标志 —— 奇偶错误。 在接收时,奇偶校验器检查接收到的每一个字符码中“ l”的个数,若不符合要求,则发出奇偶校验出错信息。 发送时则根据待发送数据计算出奇偶校验标志,由内核加载到发送数据中。 (6)总线选择器 总线选择模块选择奇偶校验器的输入是数据接收总线还是数据发送总线。 (7)计数器 计数器模块的功能是在可控的输入时钟驱动下进行计数,当达到计数上阈时给 UART内核一个提示信号。 常熟理工学院毕业设计 (论文) 9 串行通信基础知识 串行通信传送的一组组的字符信息通常称为信息帧,为了正确得到发送和接收这些数据帧,就要求数据通信中实现同步通信,同步就是通信双方协调发送和接收之间的动作。 通信双方必须对数据传输方式、同步控制方式、差错处理、应答方式和数据格式等问题做出一组规定并共同遵守来实现同步,这种规定即为通信协议。 串行通信分为异步通信和同步通信两种,相应的串行通信协议中则分有异步通信协议和同步通信协议。 串行通信 工作方式 串行通信是把传输的数据一位一位地顺序传送的一种通信方式。 在传送一个字节数据时, 每次将数据依次发送至单根传输线上;或者反过来,从单根传输线上依次地接收数据,然后组合成一个字节数据。 因其需要的数据线少、传送距离长、可靠性高而广泛用于外设与计算机之间的通信,如终端、打印机、磁盘等。 但由于传送数据格式繁琐、速度慢、效率低、实时性差,而无法应用于高速实时数据通信。 串行通信的有如下三种 [11]: 1. 单工方式 单工方式只允许数据按一个固定的方向传送。 采用这种方式时,就已经确定了通信方式中的一方为接收端,并且这种方式是不可改变的。 2. 半双工方式 这种方式下的通信双方 A和 B都具有接收和发送能力。 但通信线只 有一条,因此在特定的时刻双方只能有一个发送而另一个接收或一方接收,另一方发送。 决不允许 A和 B同时接收或同时发送。 3. 双工方式 全双工具有两条独立的通信线,一条专门用作发送,另一条为接收。 这就克服了单工或半双工带来的 A和 B双方不能同时既发送又接收的缺点。 因此,为保证实现全双工通信任务, A和 B双方的串行接口必须具备一套完全独立的发送器和接收器。 串行异步通信 串行异步通信是计算机通信中最常用的数据信息传输方式。 接收和发送双方不使用共同的参考时钟,但要求发送的每一位数据都必须经过事前格式化。 发送时以字符 为单位在其前后分别加“起始位 ” 和“停止位”,用以指示每一数据的开始和结束来进行传输,字符之间没有固定的时间间隔要求,而每个字符中的各位则以固定的时间传送。 由于要给每一位数据位加起始位、停止位,故传送效率不及同步通信高,但对接收与发送时钟的同步要求降低了。 常熟理工学院毕业设计 (论文) 10 1. 串行异步通信的数据格式 收发双方取得同步的方法是在字符格式中设置起始位和停止位,在一个有效字符正式发送前,发送器先发送一个起始位,然后发送有效字符位,在字符结束时再发送一个停止位,起始位到停止位构成一帧,故这种通信方式又称为起止式异步通信方式。 在一帧信息传 送之前,传输线逻辑上处于 1状态,在传送字符信息的时候。 先发送起始位逻辑 O,紧随其后发送 5到 8位的数据信息位,从低位到高位顺序排列,就是说先传低位后传高位,在字符的最高位之后是一个可选择的奇偶校验位,可以选择奇校验、偶校验或无校验。 在奇偶校验位之后是标志着一帧字符结束的停止位。 这。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。