嵌入式之总线协议:1、UART

嵌入式之总线协议:1、UART

目录
第一章 UART 帧格式讲解
第二章 UART 寄存器讲解
第三章 UART 编程
第四章 输出重定向
第五章 RS232、RS485协议原理与应用



前言

串口认知


一、UART简介

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

下面对关键概念进行解析:

1、串行/并行

通信
在这里插入图片描述

1.1 并行

并行通信时数据的各个位同时传送,可以字或字节为单位并行进行。并行通信速度快,但用的通信线多、成本高,故不宜进行远距离通信。
计算机或PLC各种内部总线就是以并行方式传送数据的。

在这里插入图片描述
总线在传递数据的时候传递的是高低电平的信号。
并行数据传输:

1.2 串行

UART:通用异步首发器(Universal Asynchronous Receiver Transmitter),是一种通用的串行、异步通信总线。
在这里插入图片描述

2、异步

基本过程;
数据发送和接收,不是同一个时钟;

扫描二维码关注公众号,回复: 15874486 查看本文章

3、单工和双工通信

3.1 单工通信

在这里插入图片描述

3.2 半双工

可以双向发送;但是不能同时双向发送数据;

半双工

3.3 全双工

通用异步首发器(Universal Asynchronous Receiver Transmitter),是一种通用的串行、异步通信总线。
双向发送数据,并可以同时发送。
全双工

4、波特率

波特率用于描述UART通信时的通信速度,单位:bps(bit per second),即每秒传输的bit数据量。
1 byte=8 bit;

二、UART帧格式

空闲位:空闲时候数据线上为高电平
起始位:串行通信时候需要先发低电平信号。用于区别空闲状态的信号。
数据位:数据位可以发送5-8位,发送顺序为:先发低位,后发高位;(大小端)
校验位:遵循奇偶校验,即1的个数是偶数就置1,奇数置0。校验位可有可无,根据需求,如果要求发送的速度快准确性不要求,可以不用校验位;如果要确保数据准确性,那要使用校验位。;
停止位:表示一次通信的结束,数据线上为高电平,可以为1位、1.5位、或者2位;

在这里插入图片描述
假定有一个char类型的数据:
char的定义为 8 位 :0X55
转换为 二 进 制 为 :0101 0101

在这里插入图片描述
如何区分上图:
波特率:每秒种传输的二进制位的个数;
通过掐时间,去确定一个0,或者两个0;
通过统计时间来区分发送了几个0几个1,因为波特率规定了通信速度;如波特率为1bps,那么发送 1位 需要 1s ;如果时间用了2s,那么一定是发送了 2位 ;

为了避免累积误差,所以规定一次性最多发送1字节(byte)即8个位(bit)。
异步通信:

三、硬件连接

交叉连接:
在这里插入图片描述

四、UART控制器

一般情况处理器都会集成UART控制器,方便在使用UART进行通信时候只需要对其内部的相关寄存器进行设置即可。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/yechen1/article/details/128135790