通信UART、I2C、SPI

内部通信UARTI2CSPI

目录

1.UART

2.I2C

3.SPI


1.UART

 全双工异步通信,有两根线发送与接收。

UART串口通信需要两个信号线来实现,一根用于串口发送,另外一根负责串口接收。

一开始高电平,然后拉低表示开始位,接着8个数据位,然后校验位,最后拉高表示停止位,并且进入空闲状态,等待下一次的数据传输。

起始位:先发出逻辑0的信号,表示传输开始。

数据位:支持 4、5、6、7、8 位等,完成约定后才能正确地传输。

检验位 目前简单常用的数据校验方式是奇偶校验    协议就变成了:开始+数据+停止。

停止位:一个字符结束标志。

波特率为 9600/,数据位为 8 位,无校验位。波特率表示它表示每秒传输二进制数据的位数

由于波特率为 9600,时钟50Mhz. 因此我需要的计数为:50000000/9600≈5208。每位占用时间1s/9600=104166ns。

2.I2C

半双工通信

 IIC总线分别由SDA(串行数据线)和SCL(串行时钟线)及上拉电阻组成。

在总线空闲时SCLSDA由上拉电阻拉高保持高电平状态

IIC总线的传输速率在标准模式下可达100kbit/s;快速模式下可达400kbit/s;高速模式下可达3.4Mbit/s

起始与终止信号:SCL为高期间,

             SDA : 由高到低,起始信号

             SDA:由低到高,终止信号

ACK(从机应答):拉低代表收到数据

3.SPI

高速、全双工、同步通信总线 。由一个主模块和一个或多个从模块组成。

MISO(主设备数据输入)、MOSI(主设备数据输出)、SCLK(时钟)和CS/SS(片选)

SPI的时钟极性和时钟相位特性可以设置4种不同的SPI通信操作模式

主设备发起信号,将CS/SS拉低,启动通信。

主设备通过发送时钟信号,来告诉从设备进行写数据或者读数据操作(采集时机可能是时钟信号的上升沿(从低到高)或下降沿(从高到低),因为SPI有四种模式,后面会讲到),它将立即读取数据线上的信号,这样就得到了一位数据(1bit)。

两个移位寄存器中的内容就被交换。

CPOL:时钟极性, 表示 SPI 在空闲时, 时钟信号是高电平还是低电平。

CPHA:时钟相位, 表示 SPI 设备是在 SCK 管脚上的时钟信号变为上升沿时触发数据采样, 还是在时钟信号变为下降沿时触发数据采样。

CPOL= 0CPHA=0SCK串行时钟线空闲是为低电平,数据在SCK时钟的上升沿被采样,数据采样是在上升沿,数据发送是在下降沿。

  • 8
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
UART(通用异步收发传输器)、I2C(串行外设接口)和SPI(串行外设接口)是常见的串行通信协议,它们在通信方式、性能和用途上有所不同。 首先是UART,它是一种异步串行通信协议,用于在设备之间传输数据。UART使用单个数据线和一个或多个控制线,通过发送和接收数据帧进行通信UART适用于简单的点对点通信,通常用于连接基于串口的设备,如调制解调器、电脑终端和传感器。 其次是I2C,它是一种两线制的串行通信协议,用于连接多个外设与主控设备。I2C使用一个时钟线和一个数据线,通过设备地址和数据来进行通信I2C具有多主控和多从设备的能力,支持设备之间的快速通信,并且可以通过总线上的特殊命令来进行设备寻址和数据传输。 最后是SPI,它是一种高速全双工的串行通信协议,用于连接多个外设与主控设备。SPI使用四根线(时钟线、数据输入线、数据输出线和片选线),通过时钟同步和数据传输来实现通信SPI适用于高速数据传输和对时序要求严格的应用,如存储器芯片、显示器和传感器。 综上所述,UARTI2CSPI是不同的串行通信协议。UART适用于简单的点对点通信I2C适用于连接多个设备的通信,而SPI适用于高速数据传输和时序要求严格的场景。在选择使用哪种协议时,需要根据具体应用需求来确定。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

若忘即安

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值