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 的数据帧格式为:STARTD0D1D2D3D4D5D6D7PSTOP起始位数 据 位校验位停止位FPGA UART 系统组成 :如下图所示,FPGA UART 由三个子模块组成:波特率发生器;接收模块;发送模块;2、模块设计:系统由四部部分组成:顶层模块;波特率发生器;UART 接收器; UART 发送器1)顶层模块 异步收发器的顶层模块由波特率发...