USART教程

一、UART
通用异步收发传输器(Universal Asynchronous Receiver/Transmitter,通常称作UART) 是一种串行异步收发协议,应用十分广泛。UART工作原理是将数据的二进制位一位一位的进行传输。在UART通讯协议中信号线上的状态位高电平代表’1’低电平代表’0’。当然两个设备使用UART串口通讯时,必须先约定好传输速率和一些数据位。

二、硬件连接
硬件连接比较简单,仅需要3条线,注意连接时两个设备UART电平,如电平范围不一致请做电平转换后再连接,如下图所示:
在这里插入图片描述

①、TX:发送数据端,要接对面设备的RX
②、RX:接收数据端,要接对面设备的TX
③、GND:保证两设备共地,有统一的参考平面

三、软件通信协议
UART作为异步串口通信协议的一种,工作原理是将数据的字节一位接一位地传输。协议如下:
在这里插入图片描述
①、空闲位:
UART协议规定,当总线处于空闲状态时信号线的状态为‘1’即高电平
②、起始位:
开始进行数据传输时发送方要先发出一个低电平’0’来表示传输字符的开始。因为空闲位一直是高电平所以开始第一次通讯时先发送一个明显区别于空闲状态的信号即为低电平。
③、数据位:
起始位之后就是要传输的数据,数据可以是5,6,7,8,9位,构成一个字符,一般都是8位。先发送最低位最后发送最高位。
④、奇偶校验位:
数据位传送完成后,要进行奇偶校验,校验位其实是调整个数,串口校验分几种方式:
④.1.无校验(no parity)
④.2.奇校验(odd parity): 如果数据位中’1’的数目是偶数,则校验位为’1’,如果’1’的数目是奇数,校验位为’0’。
④.3.偶校验(even parity): 如果数据为中’1’的数目是偶数,则校验位为’0’,如果为奇数,校验位为’1’。
④.4.mark parity: 校验位始终为1
④.5.space parity: 校验位始终为0
⑤、停止位:
数据结束标志,可以是1位,1.5位,2位的高电平。
⑥、波特率:
数据传输速率使用波特率来表示,单位bps(bits per second),常见的波特率9600bps,115200bps等等,其他标准的波特率是1200,2400,4800,19200,38400,57600。举个例子,如果串口波特率设置为9600bps,那么传输一个比特需要的时间是1/9600≈104.2us。
在这里插入图片描述
以9600 8 N 1(9600波特率,8个数据位,没有校验位,1位停止位)为例,这是目前最常用的串口配置,现在我们传输’O’'K’两个ASCII值,'O’的ASCII为79,对应的二进制数据为01001111 ,'K’对应的二进制数据为01001011 ,传输的格式数据如下图所示:
在这里插入图片描述
串口波特率为9600,1bit传输时间大约为104us,传送一个数据实际是10个比特(开始位,8个数据位,停止位),一个bytes传输速率实际为9600*8/10=7680bps。
四、通信接口介绍
1、处理器与外部设备通信的两种方式:
并行通信:数据各个位同时传输。(速度快,占用引脚资源多)
串行通信:数据按位顺序传输(一位一位传输)。(占用引脚资源少,速度相对较慢)

2、串行通信三种传送方式
**①、单工:**数据传输只支持数据在一个方向上传输
**②、半双工:**允许数据在两个方向上传输,但是,在某一时刻,只允许数据在一个方向上传输,它实际上是一种切换方向的单工通信;
**③、全双工:**允许数据同时在两个方向上传输,因此,全双工通信是两个单工通信方式的结合,它要求发送设备和接收设备都有独立的接收和发送能力。

3、串行通信的通信方式
同步通信:带时钟同步信号传输。(-SPI,IIC通信接口)
异步通信:不带时钟同步信号。(-UART(通用异步收发器),单总线)
在这里插入图片描述
五、RS-232串口通讯标准和接口定义
5.1 物理层
这里讲解RS-232标准,RS-232标准主要规定了信号的用途,通讯接口以及信号的电平标准。
使用RS-232标准串口的设备间通讯结构图如下:
在这里插入图片描述
两个通讯设备的“DB9接口”之间用串口线建立起连接,串口线中使用RS-232标准传输数据信号。由于RS-232电平标准的信号不能直接被控制器直接识别,所以信号需要经过一个“电平转换芯片”转换成控制器能识别的“TTL标准”电平信号。
通讯使用的电平标准详细表如下:
在这里插入图片描述
常见的电子电路中常用TTL的电平标准。理想状态下使用5V表示二进制逻辑1,使用0V表示二进制逻辑0。为了增加串口通讯的远距离传输及抗干扰能力,它使用-15V表示逻辑1,+15V表示逻辑0。
在稍旧式的计算机中一般会有RS-232标准的COM接口,也称为DB9接口。
在这里插入图片描述
其中接线口以针式引出信号线的称为公头,以孔式引出信号线的称为母头。
DB9 接口中的公头及母头的各个引脚的标准信号线接法:

在这里插入图片描述
六、STM32的USART简介
①、 通用同步异步收发器是一个串行通信设备,可以灵活的与外部设备进行全双工数据交换。有别与USART,还有一个UART,它在USART基础上裁剪掉了同步通信功能,只有异步通信。
简单区分同步和异步就是看通信时需不需要对外提供时钟输出,我们平时用的串口通信基本都是 UART。
②、 串口通信一般是以帧格式传输数据,即一帧一帧传输,每帧包含有起始信号、数据信息、停止信息,可能还有校验信息。
③、 USART 满足外部设备对工业标准 NRZ 异步串行数据格式的要求,并且使用了小数波特率发生器,可以提供多种波特率,使得它的应用更加广泛。
④、 USART 支持同步单向通信和半双工单线通信;还支持局域互连网络 LIN、智能卡(SmartCard)协议与 lrDA(红外线数据协会) SIR ENDEC规范。
⑤、 USART支持使用 DMA,可实现高速数据通信。

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值