STM32——SPI

SPI 通信

SPI 是一种同步的全双工通信,支持一主多从

采用四根通信线

SCK(CK) : 串行时钟线

MOSI(DO) : 主机输出从机输入

MISO(DI) : 主机输入从机输出

SS(CS) : 从机选择

##移位寄存器

SPI 移位寄存器的时钟源由主机 波特率发生器提供,产生的时钟通过SCK接入从机的移位寄存器

主机高位通过MOSI输出到从机的低位

从机的高位通过MISO输出到主机的低位

这样SCK跳变8次 主机和从机就可以交换1个字节数据

SPI基本时序

  1. 起始条件:SS从高电平切换到低电平
  2. 终止条件:SS从低电平切换到高电平

交换一个字节

CPOL 时钟极性

CPHA 时钟相位

  1. 模式0 (CPOL =0 CPHA =0)
    CPOL=0:空闲状态,SCK低电平
    CPHA=0:SCK第一个边沿移入数据,第二个边沿移出数据

SCK此时需要在上升沿开始前先移出一个数据 所以在SS的下降沿直接移出一个数据

SCK上升沿移入数据

  1. 模式1 (CPOL =0 CPHA =1)
    CPOL=0:空闲状态,SCK低电平
    CPHA=1:SCK第一个边沿移出数据,第二个边沿移入数据

在SS高电平时MISO为高阻态 SS低电平时MISO为低阻态(防止多个从机输出)

SCK此时第一个边沿为上升延 移出数据 第二个边沿为下降沿 移入数据

  1. 模式2 (CPOL =1 CPHA =0)
    CPOL=1:空闲状态,SCK高电平
    CPHA=0:SCK第一个边沿移入数据,第二个边沿移出数据
  2. 模式3 (CPOL =1 CPHA =1)
    CPOL=1:空闲状态,SCK高电平
    CPHA=1:SCK第一个边沿移出数据,第二个边沿移入数据
相关推荐
Ryan.F2 小时前
电容(capacitance)
单片机·嵌入式硬件
捷瑞电子工坊2 小时前
深入理解CMSIS内核函数:__disable_irq() 与 __enable_irq()
stm32·嵌入式系统·cmsis·中断控制·临界区保护
夜月yeyue2 小时前
SOME/IP 服务模型
linux·服务器·单片机·安全·车载系统
夜月yeyue2 小时前
SOME/IP-SD 服务发现故障
网络·单片机·网络协议·tcp/ip·安全·服务发现
LCG元3 小时前
【实战】STM32 从零实现 Modbus RTU 从站:寄存器映射、CRC 校验与串口中断解析
stm32·单片机·嵌入式硬件
尼喃3 小时前
PW1555平芯微代理商,DFN3X3-10封装耐受30V浪涌非持续工作
嵌入式硬件
云泽8084 小时前
深入浅出 STM32(十九):从寄存器原理到 volatile 避坑实战
stm32·单片机·嵌入式硬件
恒锐丰小瑞5 小时前
率能SS6623E 20V/4.3A/单通道直流电机驱动IC,低导通电阻(110mΩ)与多重保护,用于电子锁/玩具/机器人
单片机·嵌入式硬件·机器人
wuyk5555 小时前
《WiFi 嵌入式物联网开发全套实战》| 第01章 WiFi整体架构详解:BSS/ESS/AP/STA模式彻底区分
开发语言·stm32·单片机·嵌入式硬件·mcu·物联网·51单片机