SPI协议核心知识点总结,面试必问!!
SPI协议核心知识点总结,面试必问!!
SPI的特点:
① 同步通信 → 有时钟线,主机给节奏
② 全双工 → 收发同时进行,效率高
③ 主从结构 → 主机永远是发起方,从机只能听指挥
常见场景:Flash芯片(W25Q64)、TFT屏、SD卡、ADC芯片……
🔶SCK(Serial Clock) 时钟线,Master输出,给整个通信打节拍 "几号拍子采数据"就靠这根线定
🔶 MOSI(Master Out Slave In) 主→从 的数据线 Master说话,Slave听
🔶 MISO(Master In Slave Out) 从→主 的数据线 Slave回话,Master听
🔶 CS / SS(Chip Select) 片选线,低电平有效 Master拉低哪根CS,就是在"点名"哪个Slave
------
数据收发过程 一轮SPI通信到底发生了啥?核心原理就一句话:两个移位寄存器首尾相连,时钟一推,数据就交换
---
每来一个SCK时钟沿:
→ Master的寄存器往外移1bit(通过MOSI发给Slave)
→ Slave的寄存器也往外移1bit(通过MISO发给Master)
8个时钟周期之后,两边寄存器的数据就完全互换了,所以SPI天生全双工,发和收同时进行,没有任何浪费 有些场景其实只需要单向传数据(比如驱动LCD屏只发不收),这时候MISO可以不接,省根线
---
模式0(CPOL=0, CPHA=0)← 最常用,大部分器件默认 SCLK空闲低,第一个上升沿采样
模式1(CPOL=0, CPHA=1) SCLK空闲低,第一个下降沿采样
模式2(CPOL=1, CPHA=0) SCLK空闲高,第一个下降沿采样
模式3(CPOL=1, CPHA=1) SCLK空闲高,第一个上升沿采样
---
CPOL = 时钟空闲时的电平
0 → 空闲低电平
1 → 空闲高电平
-
CPHA = 数据在哪个边沿采样
0 → 第一个边沿采样
1 → 第二个边沿采样
#嵌入式[话题]# #单片机[话题]# #找工作[话题]# #电子信息[话题]# #stm32[话题]# #秋招[话题]# #校招[话题]# #春招[话题]#
