文章目录
- 前言
- 一、简介
- 1、优点
- 2、缺点
- 二、数据格式
- 三、波特率
- 1、定义
- 2、波特率和采样频率
- 四、常见接口电平
- 1、TTL电平
- 2、RS232(负逻辑)
- 3、RS485
前言
2023.4.22 世界地球日
一、简介
UART
:Universal Asynchronous Receiver/Transmitter,通用异步收发器
- 广泛的应用在各类MCU和SOC产品上
- “不需要额外的时钟线进行数据的同步传输”。即只要信号拉低,即可开始传送数据(不在时钟沿发送数据)
- 一个数据的发送方和一个数据的接收方
1、优点
- 通信只需要两条数据线;一个发送,一个接收
- 无需时钟信号
- 有奇偶校验位,方便通信的差错检查
- 只需要接收端和发送端设置好数据包结构,即可稳定通信,要设置好波特率
2、缺点
- 数据帧最大支持9位数据(没有校验位的时候最大为9个数据)
- 不支持多主机或多从机的主从系统
二、数据格式
一帧数据由起始位
、数据位
、校验位
和停止位
组成,没有数据传输时为空闲位
起始位:0,接收方检测到低电平时,开始接收数据
(需要起始位的原因:由于UART没有控制线,要让接收方知道什么时候开始接收数据,就在传输时把信号线拉低)
数据位:5、6、7、8位,从数据的最低位开始传输
(数据位可变的原因:UART是一种低速总线,每多发一位都占用不少的时间(由传输波特率决定),所以可以根据传输数据的特点,采用不同位宽以节约数据传输的时间。)
校验位:可有可无,检查发送数据中1的个数,是包含校验位在内
的个数。
以偶校验
位来说,如果一组给定数据位中1的个数是奇数,补一个bit为1,使得总的1的个数是偶数。
以奇校验
位来说,如果给定一组数据位中1的个数是奇数,补一个bit为0,使得总的1的个数是奇数。
停止位:1/1.5/2位的高电平。当发送完停止位之后,UART总线进入空闲
空闲位:1,无数据传输
三、波特率
1、定义
每秒钟传输的数据位数,bit/s
clk=100 MHz,波特率=9600,T=10 ns
1s/9600 = 104166 ns,也就是传输1bit需要104166ns,也就是10416个时钟周期,所以需要对时钟进行分频
2、波特率和采样频率
两者是不同的概念,在数据的传输中,信号可能受到一些干扰而产生一些抖动(比如说电磁兼容性设计中的近端串扰),如果接收端只对这些信号进行一次采样,那么它有可能采样到的是不准确的数据,所以接收端在采样时,通常都要采样多次,然后通过处理获得准确的数据。(波特率是采样多次后得到的准确数据,采样数据可能会发生错误)
16倍数据波特率的时钟:每个数据有16个时钟采样,取中间值
四、常见接口电平
1、TTL电平
晶体管-晶体管逻辑集成电路:Transistor-Transistor Logic
- 低电平:0 ~ -5V
- 高电平:0 ~ 5V
- 输入高电平最小2V,输出高电平最小2.4V,典型值
3.4V
- 输入低电平最大0.8V,输出低电平最大0.4V,典型值
0.2V
2、RS232(负逻辑)
- 高电平:-3V~-15V
- 低电平:+3~+15V
下面是传输数据01010101,从最低位开始传输
3、RS485
差分信号,可以抑制共模干扰,因此在恶劣的环境中拥有很好的抗干扰性,比较稳定
- 高电平:+2 ~ 6V
- 低电平:-2 ~ -6V