bps(bit per second)
,即每秒钟传送 bit
的数量UART
(Universal Asynchronous Receiver Transmitter),即通用异步收发器。
特点:
1、有两根数据线(RXD
、TXD
)
2、串行、异步通信
3、全双工通信
4、点对点通信:接收端和发送端(两个设备)
应用:在嵌入式系统中,常用于主机和辅助设备之间的通信
时序图
UART
每次通信只能发送一个字节,不能够累计发送(避免累计误差);若要发送多个字节数据,需要先发送一个字节,然后结束通信,再开始通信,发送下一个字节
因为是异步通信,没有时钟线,所以通过波特率来区分 01
还是0011
硬件连接图
一般情况下,SOC会集成 UART
控制器,在使用UART进行通信的时候只需要对其内部的相关寄存器进行设置,即可完成通信
USART
是通用同步/异步收发器(带同步时钟线 USART_CK
),只是一种协议方式,根据不同电平方式分为 RS232
协议和RS485
协议。
UART
串口通信存在的问题:
1、电气接口不统一
2、抗干扰能力差:UART
直接使用 TTL
信号表示 0
和 1
,但 TTL
信号的抗干扰能力很差,传输过程中很容易出错
3、通信距离短:因为 TTL
信号的抗干扰能力较差,所以其通信距离也很短。一般只用于一个电路板上两个不同芯片之间的通信(板载间通信)
RS232
协议:(点对点通信)
1、基于串口,所以时序图和 UART
串口一致
2、在电气层上做了一些改变,统一电气接口(定义了一个标准的连接器,标准中对连接器的每个引脚的作用加以规定,还对信号的电平加以规定)
3、抗干扰能力变强,通信距离变长(一般可达15米)
4、电气接口为 DB-9
,一般使用 RXD
、TXD
、GND
这三条线
5、规定逻辑为 1
的电平为 -5V到-15V
;规定逻辑为 0
的电平为 +5V到+15V
硬件连接:
RS232
协议存在的问题:
1、接口的信号电平值较高,易损坏接口电路的芯片
2、与 TTL
电平不兼容,需要电平转换芯片才能与 TTL
电路连接
3、通信速度低
4、易产生共模干扰,抗噪声干扰性弱
5、通信距离15米,还是较短
RS485
协议
特点:(半双工通信)
1、采用差分信号进行数据传输(双绞线),使用两线间电压差为 +2V到+6V
表示逻辑0
;两线间电压差为 -2V到-6V
表示逻辑1
,从而实现了远距离通信(1500米);且在电子噪声较大的环境下,能够有效传输信号
2、允许连接多个收发器,具有多站能力,也就是可以建立一个设备网络
3、RS485
接口信号的电平比RS232
降低了,所以不易损坏接口电路的芯片
硬件连接图(设备网络,RS485总线上挂载多个设备,主从机制参考 I2C
总线)
120Ω电阻用来消除信号线上的共模干扰
划分:
硬件连接图
起始信号: 当 SCL
处于高电平时,SDA
由高变低
停止信号: 当SCL
处于高电平时,SDA
由低变高
字节传送与应答: 发送器发送一个字节数据(先传送高位,再传送低位);接收器发送 应答位 来回应,(1位低电平应答)
同步信号:
传输数据期间,
当 SCL
为低电平期间,发送器向数据线上发送一位数据,在此期间数据线上的信号允许发生改变
当SCL
为高电平期间,接收器从数据线上读取一位数据,在此期间数据线上的信号不允许发生改变(因为SCL
为高电平时,数据线上信号改变会被认为是起始信号或者停止信号)
SPI
(Serial Peripheral Interface)是串行外设接口的缩写,是一种高速、全双工、同步的串行通信总线;最少有四根线:MISO
(主设备输入、从设备输出),MOSI
(主设备输出、从设备输入),SCLK
(时钟线),CS
(片选线)
SPI
采用主从方式工作,一般有一个主设备和一个或多个从设备
极性和相位: (根据芯片手册来判断)
SPI
总线有四种不同的工作模式,取决于 极性(CPOL) 和 相位(CPHA)
CPOL
表示 SCLK
空闲时的状态:
当 CPOL
= 0,SCLK
低电平表示总线空闲
当 CPOL
= 1,SCLK
高电平表示总线空闲
CPHA
表示采样时刻:
当 CPHA
= 0,每个周期的第一个时钟沿采样,相位为0
当 CPHA
= 1,每个周期的第二个时钟沿采样,相位为1
I2C
和 SPI
的异同