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 的数据帧格式为:
FPGA UART 系统组成 :如下图所示,FPGA UART 由三个子模块组成:波特率发生器;接收模块;发送模块;
2、模块设计:
系统由四部部分组成:顶层模块;波特率发生器;UART 接收器; UART 发送器
1)顶层模块
异步收发器的顶层模块由波特率发生器、UART 接收器和 UART 发送器构成。
UART 发送器的用途是将准备输出的并行数据按照基本 UART 帧格式转为 TXD 信号串行输出。
评论5
最新资源