资讯动态

SPI通信时序分析-主/从模式的发送和接收

发布时间:2026/10/13 9:43:37 来源:尧图企业网站定制
F407中文手册主/从模式下启动通信序列时序图主模式通信启动发送部分软件等待TXE1向 SPI 发送缓冲区写入第 1 个数据0xF1硬件自动将0xF1载入移位寄存器BSY 置 1SCK 输出 8 个时钟移位收发在第 1 帧 8 个时钟移位期间软件等待 TXE 重新置 1提前将第 2 个数据0xF2写入发送缓冲区第 1 帧 8 个时钟移位完成瞬间硬件自动把缓存里的0xF2载入移位寄存器立刻开启下一组 8 个时钟连续传输同时接收缓冲区存入0xA1RXNE 置 1软件读取清空同理第 2 帧移位期间提前写入0xF3第 2 帧移位结束后硬件无缝载入0xF3移位接收0xA2第 3 帧 8 个时钟全部移位结束后BSY 由硬件复位拉低整段连续传输结束。PS整个过程中主机完全掌控 SCK 时钟总线没有空闲间隔全程都在传输比特流因此 BSY 标志全程保持高电平帧之间不会出现 BSY0 的间隙。接收部分1.8 个 SCK 时钟周期内从机 MISO 上的比特逐位移入硬件移位寄存器2.8 位收完整帧后(0xA1)硬件把移位寄存器的数据拷贝到接收缓冲区RXNE置 1 等待 CPU 读取调用3.SPI 接收只有单级接收缓存如果上一帧数据没被软件读取下一组 8 个时钟收完第二帧后新数据会直接覆盖缓冲区里旧数据造成丢数。从模式从模式的发送和接收过程和主模式基本一致唯一的区别就是BSY位有两个时钟周期的拉低这是因为从机不知道主机什么时候发下一字节硬件需要用 BSY 低电平作为帧分隔边界区分 “上一帧结束” 和 “下一帧开始”避免两帧比特粘连导致移位寄存器错位。其流程就是下图的移位流程

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑