SPI通信详解-学习笔记

参考原文地址


SPI:高速、全双工,同步、通信总线


  1. SPI主从模式
    SPI分为主、从两种模式,一个SPI通讯系统需要包含一个(且只能是一个)主设备,一个或多个从设备。提供时钟的为主设备 (Master),接收时钟的设备为从设备(Slave),SPI接口的读写操作,都是由主设备发起。当存在多个从设备时,通过各自的片选信号进行管理。
  2. SPI信号线
    SPI接口一般使用四条信号线通信:
    SDI(数据输入),SDO(数据输出),SCK(时钟),CS(片选)
    MISO: 主设备输入/从设备输出引脚。该引脚在在主模式下接收数据,从模式下发送数据。(输出为发送,输入为接收)
    MOSI: 主设备输出/从设备输入引脚。该引脚在主模式下发送数据,在从模式下接收数据。
    SCLK:串行时钟信号,由主设备产生。
    CS/SS:从设备片选信号,由主设备控制。它的功能是用来作为"片选引脚",也就是选择指定的从设备,让主设备可以单独地与特定从设备通讯,避免数据线上的冲突。
  3. SPI设备选择
    当SPI主设备想读/写[从设备]时,它首先拉低[从设备]对应的CS线CS是低电平有效 ),接着开始发送工作脉冲到时钟线上(SCLK),在相应的脉冲时间上,[主设备]把信号发到MOSI实现"写",同时可对MISO采样而实现"读"。
    SPI只有主模式和从模式之分,没有读和写的说法,外设的写操作和读操作是同步完成的。
  4. SPI通信的四种模式
    即设置SCLK时钟信号线的信号为有效信号,通过CPOL(时钟极性)和CPHA(时钟相位)来控制我们主设备的通信模式:
  5. **时钟极性(CPOL)**定义了时钟空闲状态电平:
    CPOL=0,表示当SCLK=0时处于空闲态,所以有效状态就是SCLK处于高电平时
    CPOL=1,表示当SCLK=1时处于空闲态,所以有效状态就是SCLK处于低电平时
  6. 时钟相位(CPHA)定义数据的采集时间:
    CPHA=0,在时钟的第一个跳变沿(上升沿或下降沿)进行数据采样,在第2个边沿发送数据
    CPHA=1,在时钟的第二个跳变沿(上升沿或下降沿)进行数据采样,在第1个边沿发送数据

相关推荐
玩转单片机与嵌入式3 小时前
一个成熟的嵌入式AI系统,是长什么样子的?
人工智能·单片机·嵌入式硬件·嵌入式ai
Wave8455 小时前
从单片机开发看透网络底层:Wi-Fi、TCP/IP 与 HTTP 的通俗解析
网络·单片机·tcp/ip
xiaotao1315 小时前
02-机器学习基础: 监督学习——线性回归
学习·机器学习·线性回归
墨黎芜6 小时前
ArcGIS从入门到精通——地图符号、注记的初步使用
学习·arcgis·信息可视化
小李云雾6 小时前
FastAPI重要知识点---中间件(Middleware)
学习·程序人生·中间件·fastapi·middleware
.Cnn6 小时前
JavaScript 前端基础笔记(网页交互核心)
前端·javascript·笔记·交互
小夏子_riotous6 小时前
Docker学习路径——3、常用命令
linux·运维·服务器·学习·docker·容器·centos
STLearner7 小时前
WSDM 2026 | 时间序列(Time Series)论文总结【预测,表示学习,因果】
大数据·论文阅读·人工智能·深度学习·学习·机器学习·数据挖掘
玩转单片机与嵌入式7 小时前
不会 Python、不会深度学习,也能在STM32上跑AI模型吗?
人工智能·单片机·嵌入式硬件·嵌入式ai
redaijufeng7 小时前
网络爬虫学习:应用selenium获取Edge浏览器版本号,自动下载对应版本msedgedriver,确保Edge浏览器顺利打开。
爬虫·学习·selenium