基于FPGA的UART串口通信实验

时间:2025-05-02  作者:Diven  阅读:0

1. UART串口简介

基于FPGA的UART串口通信实验

串口是“串行接口”的简称,即采用串行通信方式的接口。串行通信将数据字节分成一位一位的形式在一条数据线上逐个传送,其特点是通信线路简单,但传输速度较慢。

因此串口应用于嵌入式、工业控制等领域中对数据传输速度要求不高的场合。本实验我们将使用FPGA开发板上的UART串口完成上位机与FPGA的通信。

串行通信分为两种方式:同步串行通信和异步串行通信。

同步串行通信需要通信双方在同一时钟的控制下,同步传输数据;

异步串行通信是指通信双方使用各自的时钟控制数据的发送和接收过程。

UART是采用异步串行通信方式的通用异步收发传输器(universal asynchronous receiver-transmitter),在发送数据时将并行数据转换成串行数据来传输,在接收数据时将接收到的串行数据转换成并行数据。

UART串口通信需要两根信号线来实现,一根用于串口发送,另外一根负责串口接收。

UART在发送或接收过程中的一帧数据由4部分组成,起始位、数据位、奇偶校验位和停止位,如图所示。

其中,起始位标志着一帧数据的开始,停止位标志着一帧数据的结束,数据位是一帧数据中的有效数据。

校验位分为奇校验和偶校验,用于检验数据在传输过程中是否出错。

奇校验时,发送方应使数据位中1的个数与校验位中1的个数之和为奇数;

接收方在接收数据时,对1的个数进行检查,若不为奇数,则说明数据在传输过程中出了差错。

同样,偶校验则检查1的个数是否为偶数。

异步串行通信数据格式 

UART通信过程中的数据格式及传输速率是可设置的,为了正确的通信,收发双方应约定并遵循同样的设置。

数据位可选择为5、6、7、8位,其中8位数据位是最常用的,在实际应用中一般都选择8位数据位;

校验位可选择奇校验、偶校验或者无校验位;

停止位可选择1位(默认),1.5或2位。

串口通信的速率用波特率表示,表示每秒传输二进制数据的位数,单位是bps(位/秒),常用的波特率有9600、19200、38400、57600以及115200等。

在设置好数据格式及传输速率之后,UART负责完成数据的串并转换,而信号的传输则由外部驱动电路实现。

电信号的传输过程有着不同的电平标准和接口规范,针对异步串行通信的接口标准有RS232、RS422、RS485等,定义了接口不同的电气特性,如RS-232是单端输入输出,而RS-422/485为差分输入输出等。

RS232接口标准出现较早,可实现全双工工作方式,即数据发送和接收可以同时进行。

在传输距离较短时(不超过15m),RS232是串行通信最常用的接口标准,本章主要介绍针对RS-232标准的UART串口通信。

RS-232标准的串口最常见的接口类型为DB9,样式如图所示,工业控制领域中用到的工控机一般都配备多个串口,很多老式台式机也都配有串口。

但是笔记本电脑以及较新一点的台式机都没有串口,一般通过USB转串口线来实现与外部设备的串口通信。

DB9接口

USB串口线

DB9接口定义以及各引脚功能说明如下图所示,我们一般只用到其中的2(RXD)、3(TXD)、5(GND)引脚,其引脚在普通串口模式下一般不使用,如果大家想了解,可以自行百度下。

DB9接口定义

2. 实验任务

上位机通过串口调试助手发送数据给FPGA,FPGA通过串口接收数据并将接收到的数据发送给上位机,完成串口数据环回。

猜您喜欢

现代电子产品中,封装技术的选择对设备的性能和尺寸起着很重要的作用。SIP(系统级封装)是将多个电子组件集成在一起的封装形式,其尺寸为21.9x9.2mm,正在逐...
2025-02-21 12:46:03

二极管是重要的电子元器件,应用于各种电子设备中。主要功能是允许电流在一个方向流动,而阻止在相反方向流动。本文将详细介绍二极管的三个主要作用,包括整流、限压和开关...
2025-03-30 08:01:07

贴片电阻上的「102」标识代表其阻值为1000欧姆,也就是1kΩ。 这是一种通用的数字编码方式,其中前两位数字表示有效数值,最后一位数字表示10的n次方 (n为...
2024-11-26 11:29:39

刀柄、刀片及其配件在各个行业中是重要配件,应用领域。在厨房领域,各种刀具的刀柄和刀片设计直接影响烹饪效率和安全性。无论是家庭厨师还是专业大厨,高品质的刀具可以提...
2008-04-10 00:00:00

生物粘液的生理特性是监测人类健康状况和帮助了解疾病发展的重要生理指标,因为粘液特性(例如,粘度)与炎症和其他疾病高度相关。然而,使用纯医学成像来感知粘液粘度目前...
2023-12-06 10:24:00

贴片电阻3001并非指阻值大小,而是指的封装尺寸。3001表示该电阻的长宽分别为3.0mm和1.0mm。 阻值大小通常用数字和字母组合标注在电阻表面,例如102...
2024-11-29 10:26:18

现代产品设计中,配件的作用愈发重要。尤其是在一些特定行业,配件不仅能够提高产品的功能性,还能够提升用户体验。今天,我们将重点介绍一种名为“Accessories...
2025-02-27 13:06:07

贴片电阻,又称片式电阻或SMD电阻,是一种小型化的电子元件,应用于电子电路中。其主要作用是限制电流的流动,并在电路中分压。要点:尺寸小巧:贴片电阻采用表面贴装技...
2024-11-29 10:25:59


贴片电阻上的「010」并不是直接表示电阻值的大小,而是采用了一种数字编码方式。其中「010」代表的是100欧姆。 为了方便理解和计算,我们通常将电阻值用kΩ(千...
2024-11-26 11:29:24