前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >UART接口简介_uart接口速度

UART接口简介_uart接口速度

作者头像
全栈程序员站长
发布2022-11-04 15:41:53
1.1K0
发布2022-11-04 15:41:53
举报

大家好,又见面了,我是你们的朋友全栈

UART即通用异步收发传输器(Universal Asynchronous Receiver/Transmitter),它是一种串行通信的物理接口形式。它将要传输的资料在串行通信与并行通信之间加以转换。作为把并行输入信号转成串行输出信号的芯片,UART通常被集成于其他通讯接口的连结上。

一、UART硬件连接

UART有4个pin(VCC, GND, RX, TX), 用的TTL电平, 低电平为0(0V),高电平为1(3.3V或以上)。如下图:

1-20112R22922405.png
1-20112R22922405.png

引脚介绍:

    • VCC:供电pin,一般是3.3v,在我们的板子上没有过电保护,这个pin一般不接更安全
    • GND:接地pin,有的时候rx接受数据有问题,就要接上这个pin,一般也可不接
    • RX:接收数据pin
    • TX:发送数据pin

二、UART通信简介

UART最好的一点是它只使用两根线就可以在设备之间传输数据。在UART通信中,两个UART直接相互通信。发送UART将来自CPU等控制设备的并行数据转换为串行形式,并将其串行发送到接收UART,接收UART然后将串行数据转换回接收设备的并行数据。在两个UART之间传输数据只需要两根线。数据从发送UART的Tx引脚流向接收UART的Rx引脚:

UART接口简介(图2)
UART接口简介(图2)

UART以异步方式发送数据,这意味着没有时钟信号将发送UART的位输出与接收UART的位采样同步。发送UART不是时钟信号,而是将开始和停止位添加到正在传输的数据包中。这些位定义数据包的开始和结束,因此接收UART知道何时开始读取位。

当接收UART检测到起始位时,它开始以称为波特率的特定频率读取输入位。波特率是数据传输速度的度量,以每秒位数(bps)表示。两个UART必须以大致相同的波特率运行。发送和接收UART之间的波特率只能相差10%左右。

两个UART还必须配置为发送和接收相同的数据包结构。

UART协议如下:

UART接口简介(图3)
UART接口简介(图3)

空闲位:

UART协议规定,当总线处于空闲状态时信号线的状态为‘1’即高电平。

起始位:

开始进行数据传输时发送方要先发出一个低电平’0’来表示传输字符的开始。因为当UART数据传输线不传输数据时,它通常保持在高电压电平。为了开始数据传输,发送UART将传输线从高电平拉至低电平一个时钟周期。当接收UART检测到高电压到低电压转换时,它开始以波特率的频率读取数据帧中的位。

数据位:

起始位之后就是要传输的数据。如果使用奇偶校验位,则它可以是5位到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位的高电平。为了通知传输数据包的结束,UART发送端会将数据传输线从低电压驱动至高电压至少两位持续时间。

波特率:

数据传输速率使用波特率来表示,单位bps(bits per second),常见的波特率9600bps,115200bps等等,其他标准的波特率是1200,2400,4800,19200,38400,57600。举个例子,如果串口波特率设置为9600bps,那么传输一个比特需要的时间是1/9600≈104.2us。

三、UART传输步骤

3.1 发送UART从数据总线并行接收数据:

UART接口简介(图4)
UART接口简介(图4)

3.2 发送UART将起始位,奇偶校验位和停止位添加到数据帧:

UART接口简介(图5)
UART接口简介(图5)

3.3 整个数据包从发送UART串行发送到接收UART。接收UART以预先配置的波特率对数据线进行采样:

UART接口简介(图6)
UART接口简介(图6)

3.4 接收UART丢弃数据帧中的起始位,奇偶校验位和停止位:

UART接口简介(图7)
UART接口简介(图7)

3.5 接收UART将串行数据转换回并行并将其传输到接收端的数据总线:

UART接口简介(图8)
UART接口简介(图8)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年9月14日 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档