news 2026/7/6 4:12:46

SPI、UART和I2C通信协议

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
SPI、UART和I2C通信协议

SPI

SPI是串行外设接口(Serial Peripheral Interface)的缩写。SPI是一种串行、全双工、同步的通信总线,支持主从模式。

通信逻辑线:

  • MISOMaster input slave output主机输入,从机输出(数据来自从机);
  • MOSIMaster output slave input主机输出,从机输入(数据来自主机);
  • SCLKSerial Clock串行时钟信号,由主机产生发送给从机;
  • CSChip Select片选信号,由主机发送,以控制与哪个从机通信,通常是低电平有效信号。

通信过程:

  • 主机先将CS信号拉低,这样保证开始接收数据;
  • 接收端检测到时钟的边沿信号时,它将立即读取数据线上的信号,这样就得到了一位数据(1bit);
  • 主机发送到从机时:主机产生相应的时钟信号,然后数据一位一位地将从MOSI信号线上进行发送到从机;
  • 主机接收从机数据:如果从机需要将数据发送回主机,则主机将继续生成预定数量的时钟信号,并且从机会将数据通过MISO信号线发送。

优点:

  • 全双工串行通信;
  • 高速数据传输速率;
  • 简单的软件配置;
  • 极其灵活的数据传输,不限于8位,可以是任意大小的字;
  • 非常简单的硬件结构。从机不需要唯一地址(与I2C不同);从机使用主机时钟,不需要精密时钟振荡器/晶振(与UART不同);不需要收发器(与CAN不同)。

缺点:

  • 没有硬件从机应答信号(主机可能在不知情的情况下无处发送);
  • 通常仅支持一个主设备;
  • 需要4根引脚(与I2C不同);
  • 没有定义硬件级别的错误检查协议;
  • 与RS-232和CAN总线相比,传输距离非常短;

IIC

SPI是一种串行、半双工、同步的通信总线,支持主从模式。

用于微控制器(MCU)和外围设备(从设备)进行通信的一种总线,属于(一主多从一个主设备(Master),多个从设备(Slave))的总线结构总线上的每个设备都有一个特定的设备地址,以区分同一I2C总线上的其他设备

通信逻辑线:

  • 串行时钟线(SCL)
  • 串行数据线(SDA)

通信过程:

1.数据有效位规定

SCL为低电平,SDA允许变化;SCL为高电平,SDA不允许变化,SDA高电平代表1,低电平代表0。

2.空闲状态

当IIC总线的数据线SDA和时钟线同时处于高电平时,规定为总线的空闲状态。

3.起始信号和终止信号

SCL为高电平期间:

  • SDA:由低到高 – 起始信号
  • SDA:由高到低 – 终止信号

4.应答信号

发送器每发送一个字节(8个bit),就在时钟脉冲9期间释放数据线,由接收器反馈一个应答信号。

  • 应答信号为低电平时,规定为有效应答(ACK,简称应答位),表示接收器已经成功地接受了该字节
  • 应答位为高电平时,规定为非应答信号(NACK),一般表示接收器接收该字节没有成功。

5.总线寻址

(1)IIC协议规定采用7bit的寻址字节(寻址字节是起始信号后的第一个字节)其位定义如下:

| 7 | 6 | 5 | 4 |3 |2|1| 0|

D7 ~ D1位组成从机地址。 D0位是数据传送的方向,0:表示主机向从机写数据,1:表示主机由从机读数据。

6.通信过程

以主设备往从设备中写寄存器为例

  1. 首先由由主机发送一个开始信号,
  2. 然后主机在数据线上广播从机地址
  3. 确定数据的传输方向(是读还是写)
  4. “A”代表应答,表示主机找到了从机。
  5. 主机发送一个字节数据,从机接收到后,会返回给主机一个应答信号,直到主机发送完数据,或者从机返回一个NACK信号,表示从机不再接收主机发送的数据。
  6. 主机发送一个stop信号。此次数据传输完成。

UART

SPI是一种串行、半双工、异步的通信总线。

通信逻辑线:

  • TX:数据发送
  • RX:数据接收

通信过程:

通信双方采用约定的波特率。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/6 4:11:18

三甲医院系统“裸奔”?我用腾讯AI搭子,憋出了个标杆级权限方案!

最近,我接到了一个让人后背发凉的“烫手山芋”。 一家三甲医院的客户找到我,说他们底层操作系统的权限开放得实在太大了,简直处于“裸奔”边缘。他们希望我能帮忙设计一套基于堡垒机和操作系统层面的权限规范管理方案。 需求很明确&#xf…

作者头像 李华
网站建设 2026/7/6 4:11:15

基于multisim的音响放大系统设计20Hz-20KHz

设计一个至少包括前置放大,音调调节、音量控制和功率放大4级的音响系统, 输入电压幅度大于5mV小于100mV。 (1) 负载阻抗 (通常为RL8—10Ω左右) (2) 额定功率 不小于5W(输出无明显失真时的单路最大输出功率Po&#xff…

作者头像 李华
网站建设 2026/7/6 4:01:06

液冷板年产50万片,抽检2%够吗?焊接在线检测三真相

所谓激光焊接在线检测,就是在激光焊接的同时,用光学传感器实时监测焊缝的熔深、气孔和飞溅——不等焊完就知道焊得好不好,而不是焊完之后再"拆盲盒"。 一、50万片冷板,200万条焊缝的质量盲区 先算一笔简单的账&#x…

作者头像 李华
网站建设 2026/7/6 3:58:15

ransformer进阶之路:#4 attention从如何「工作」到「为何」如此高效

比如,Transformer 的强大能力要归功于注意力模块。但最关键的问题来了:它到底是怎么做的?为什么要这么做。本篇试着回答这个问题,帮助大家理解。输入序列如何到达注意力模块的?注意力模块存在于编码器栈和码器栈的每个…

作者头像 李华
网站建设 2026/7/6 3:56:00

CSS View Transitions:页面过渡要连续,也要可控

CSS View Transitions:页面过渡要连续,也要可控 一、转场不是加一层动画 View Transitions API 让页面状态变化可以获得更连续的视觉过渡。它适合列表到详情、主题切换、局部布局变化等场景。但转场不是给页面加一层炫技动画,而是帮助用户理解…

作者头像 李华
网站建设 2026/7/6 3:54:44

设备实景动态映射:电力场站视频孪生隐患智能识别技术

设备实景动态映射:电力场站视频孪生隐患智能识别技术摘要传统变电站、换流站、储能电站运维存在设备模型静态固化、视频与设备坐标脱节、缺陷二维定位无空间维度、多源监测数据孤岛、隐患预判滞后、故障溯源缺少虚实联动证据六大行业痛点。 镜像视界浙江科技有限公司…

作者头像 李华