文章目录[隐藏]
UART
即通用异步收发器,是一种通用的串行、异步通信总线,该总线有两种数据线,可以实现数据的发送和接收,在嵌入式系统中常用于主机与辅助设备之间的通信。
通信基础-并行和串行
并行通信
串行通信
单工通信
双工通信
半双工:发送和接收不可以同时进行
全双工:发送和接收可以同时进行
波特率:
波特率是用于描述UART通信时的通信速度,其单位为bps,即每秒钟传送的bit的数量(位)(不是字节)
UART帧格式
校验位可有可无
硬件连接
UART控制器
一般情况下处理器都会集成UART控制器,我们使用UART进行通信时候只需对其内部的相关寄存器进行设置即可。
SPI简介
SPI总线
SPI是串行外设接口的缩写,SPI是一种高速的、全双工、同步的串行通信总线;SPI采用主从方式工作,一般有一个主设备和一个或多个从设备;SPI需要至少四根线,分别是MISO、MOSI、SCLK、CS(chip select)。SPI使用引脚较少且布线方便。
什么时候会比四根线多?
答:多个从机的时候
寻址方式
当主设备要和某个从设备进行通信时,主设备需要先向对应的从设备的片选线上发射使能信号(高电平或者低电平,根据从机而定)表示选中该设备
通信过程
SPI总线在进行数据传输时,先传递高位,后传递低位;数据线为高电平表示逻辑“1”,低电平表示逻辑‘0’;一个字符传送完成后无需应答即可开始下一字节的传送;SPI总线采用同步方式工作,时钟线在上升沿或下降沿时发送器向数据器上发送数据,在紧接着的下降沿或上升沿时接收器从数据线上读取数据,完成一位数据传送,八个时钟周期即可完成一个字节数据的传送。
极性和相位:
SPI总线有四种不同的工作模式,取决于极性(CPOL)和相位(CPHL)这两个因素
CPOL表示SCLK空闲时的状态
CPOL=0,空闲时SCLK为低电平
CPOL=1,空闲时SCLK为高电平
CPHA表示采样时刻
CPHA=0,每个周期的第一个时钟沿采样
CPHA=1,每个周期的第二个时钟沿采样
需要特别说明的是,对于一个特定的从设备来说,一般在出厂时就会将其设计为某种特定的工作模式;我们在使用时就必须保证主设备的工作模式和该从设备保持一致,否则是无法进行通信的;所以一般我们需要对主设备的CPOL和CPHA进行配置。
IIC和SPI异同
相同点
- 均采用串行、同步的方式
- 均采用TTL电平,传输距离和应用场景相似
- 均采用主从方式进行工作
不同点:
- IIC为半双工,SPI为全双工
- IIC有应答机制,SPI无应答机制
- IIC通过向总线广播从机地址来寻址,SPI通过向对应从机发送使能信号来寻址
- IIC的时钟极性和时钟相位固定,SPI的时钟极性和时钟相位可调
版权声明:本文为CSDN博主「SDU在读摸鱼生」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_44861091/article/details/121503056
暂无评论