经测试的FPGA串口通信VHDL程序.pdf

  1. 1、本文档共22页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
经测试的FPGA串口通信VHDL程序.pdf

实验三、FPGA 串行通用异步收发器设计 实验目的:1、掌握QuartusII6.0 等EDA 工具软件的基本使用; 2 、熟悉VHDL 硬件描述语言编程及其调试方法; 3、学习用FPGA 实现接口电路设计。 实验内容: 本实验目标是利用 FPGA 逻辑资源,编程设计实现一个串行通用异步收发器。实验环 境为EDA 实验箱。电路设计采用VHDL 硬件描述语言编程实现,开发软件为QuartusII6.0 。 1、UART 简介 UART (Universal Asynchronous Receiver Transmitter 通用异步收发器)是一种应用广泛 的短距离串行传输接口。常常用于短距离、低速、低成本的通讯中。8250 、8251、NS16450 等芯片都是常见的UART 器件。 基本的UART 通信只需要两条信号线(RXD 、TXD )就可以完成数据的相互通信,接 收与发送是全双工形式。TXD 是UART 发送端,为输出;RXD 是UART 接收端,为输入。 UART 的基本特点是: (1)在信号线上共有两种状态,可分别用逻辑1 (高电平)和逻辑0 (低电平)来区分。 在发送器空闲时,数据线应该保持在逻辑高电平状态。 (2 )起始位(Start Bit ):发送器是通过发送起始位而开始一个字符传送,起始位使数 据线处于逻辑0 状态,提示接受器数据传输即将开始。 (3 )数据位(Data Bits ):起始位之后就是传送数据位。数据位一般为8 位一个字节的 数据(也有6 位、7 位的情况),低位(LSB)在前,高位(MSB)在后。 (4 )校验位(parity Bit ):可以认为是一个特殊的数据位。校验位一般用来判断接收的 数据位有无错误,一般是奇偶校验。在使用中,该位常常取消。 (5 )停止位:停止位在最后,用以标志一个字符传送的结束,它对应于逻辑1 状态。 (6 )位时间:即每个位的时间宽度。起始位、数据位、校验位的位宽度是一致的,停 止位有0.5 位、1 位、1.5 位格式,一般为 1 位。 (7 )帧:从起始位开始到停止位结束的时间间隔称之为一帧。 (8 )波特率:UART 的传送速率,用于说明数据传送的快慢。在串行通信中,数据是 按位进行传送的,因此传送速率用每秒钟传送数据位的数目来表示,称之为波特率。如波特 率9600=9600bps (位/秒)。 UART 的数据帧格式为: START D0 D1 D2 D3 D4 D5 D6 D7 P STOP 起始位 数 据 位 校验位 停止位 FPGA UART 系统组成 :如下图所示,FPGA UART 由三个子模块组成:波特率发生器; 接收模块;发送模块; 2、模块设计: 系统由四部部分组成:顶层模块;波特率发生器;UART 接收器; UART 发送器 1)顶层模块 异步收发器的顶层模块由波特率发生器、UART 接收器和UART 发送器构成。 UART 发送器的用途是将准备输出的并行数据按照基本UART 帧格式转为TXD 信号串 行输出。 UART 接收器接收RXD 串行信号,并将其转化为并行数据。 波特率发生器就是专门产生一个远远高于波特率的本地时钟信号对输入 RXD 不断采 样,使接收器与发送器保持同步。 2 )波特率发生器 波特率发生器实际上就是一个分频器。 可以根据给定的系统时钟频率(晶振时钟)和要求的波特率算出波特率分频因子,算出 的波特率分频因子作为分频器的分频数。 波特率分频因子可以根据不同的应用需要更改。 3 )UART 接收器 由于串行数据帧和接收时钟是异步的,由逻辑1 转为逻辑0 可以被视为一个数据帧的起 始位。 然而,为了避免毛刺影响,能够得到正确的起始位信号,必须要求接收到的起始位在波 特率时钟采样的过程中至少有一半都是属于逻辑0 才可认定接收到的是起始位。由于内部采 样时钟bclk 周期(由波特率发生器产生)是发送或接收波特率时钟频率的 16 倍,所以起始 位需要至

文档评论(0)

tangtianbao1 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档