嵌入式领域,FPGA的串口通信接口设计,VHDL编程,altera平台

2019-12-29 19:15发布

一、FPGA的UART设计前准备

1、准备硬件开发板一个,altera芯片就行,成本低;

2、熟悉VHDL硬件描述语言编程及其调试方法;

3、熟练使用软件开发工具使用,QuartusII9.0,仿真工具modelsim。

4、做UART串口设计之前先上网学习UART原理,实现FPGA接口电路设计。

二、UART简介

UART(Universal Asynchronous Receiver Transmitter通用异步收发器)是一种应用广泛的短距离串行传输接口。常常用于短距离、低速、低成本的通讯中。8250、8251、NS16450等芯片都是常见的UART器件。基本的UART通信只需要两条信号线(RXD、TXD)就可以完成数据的相互通信,接收与发送是全双工形式。TXD是UART发送端,为输出;RXD是UART接收端,为输入。

1、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(位/秒)。