Skip to main content

tplogin.cn首页 > 新闻资讯 >

UART通信总线

2022-03-05 21:50 浏览:

什么是总线协议(通信协议):

总线其实就是两个模块之间通信的线路
协议是遵循的规则
总线协议就是两个模块在通信线路上传输信息需要遵守的规则,双方按照协议来收发信息

总线本质就是一些导线或者电线。

作用:用于在计算机不同部件之间去传输数据或者信息。

总线传输的本质是传输一些高低电平的信号(即电信号)

通信:用于不同计算机之间进行数据或信息交互的时候使用

UART

Universal Asynchronous Receiver Transmitter 即通用异步收发器,是一种通用的串行、异步通信总线。该总线有两条数据线,可以实现全双工的发送和接收。在嵌入式系统中常用于主机与辅助设备之间的通信。

UATR:是一种总线协议/通信协议

串口协议(UART):--》点对点通信(只有收发双方)

并行和串行

并行通信(八个位同时发送)

串行通信(八个位按顺序一个一个发送)

单工和双工

单工: 数据传输只支持数据在一个方向上传输

半双工: 允许数据在两个方向上传输,但是,在某一时刻,只允许数据在一个方向上传输,它实际上是一种切换方向的单工通信;

全双工:允许数据同时在两个方向上传输,因此,全双工通信是两个单工通信方式的结合,它要求发送设备和接收设备都有独立的接收和发送能力。

只有一条数据线一般是半双工(如iic),如果有两条数据线一般是全双工(如串口、SPI)

波特率

波特率用于描述UART通信时的通信速度,其单位为bps(bit per second)即每秒钟传送的bit的数量

波特率每秒钟传输的码元

比特率每秒钟传送的二进制位(bit)的数据

如果发送方发送01或 0011(时序图时一样的)

接收方如果确定是哪一个呢--》通过掐时间(即波特率:规定每一秒钟发送多少个数据)

UART帧格式

串口协议规定:数据线在空闲时为高电平

此规定决定了串口收发数据时起始位一般为0,否则区分不了什么时候为数据位的开始。

串口协议规定:发送数据时一般先发低位再发高位

串口一次可以发5-8位(只是我们习惯性认为是8位,因为我们学习时,遇到的基本都是8位)

串口一次最多只能发送一个字节(为什么这么规定:防止累积误差的发生)

如果想要发送10个字节,必须得是一个字节一个字节发送。

前一个字节到停止位后再去发起始位,重复这个过程。

硬件连接

同步通信和异步通信

同步通信: 带时钟同步信号传输。

-SPI,IIC通信接口

异步通信:不带时钟同步信号。

-UART(通用异步收发器),单总线

UART控制器

一般情况下处理器中都会集成UART控制器

我们使用UART进行通信时候只需对其内部的相关寄存器进行设置即可

串口控制器本质就是一个硬件电路 里面就有自己发送器和接收器

我们如何去控制外围设备呢?

通过对内部的相关寄存器进行设置即可

串口只定义收发时序,没定义高低电平具体是多少(这时我们看到下一讲RS232、RS485)。

RS232、RS485电气层/物理层协议--》依赖于串口,收发器还是串口,编程时还是用UART

提高抗干扰能力、提高传输距离、提高传输速度

相关文章