SPI原理及其工作模式笔记

1.概述

SPI是一种高速的,全双工,同步的通信总线。通常标准的SPI使用4个引脚。两个 SPI 设备之间通信必须由主设备 (Master) 来控制从设备 (Slave). 一个 Master 设备可以通过提供 Clock 以及对 Slave 设备进行片选 (Slave Select) 来控制多个 Slave 设备。并且 Slave 设备的 Clock 由 Master 设备通过 SCK 管脚提供给 Slave 设备, Slave 设备本身不能产生或控制 Clock, 没有 Clock 则 Slave 设备不能正常工作。
4个引脚对应如下:

  1. SCLK – 时钟信号,由主设备产生
  2. SDO/MOSI – 主设备数据输出,从设备数据输入
  3. SDI/MISO – 主设备数据输入,从设备数据输出
  4. CS – 从设备使能信号,由主设备控制

在这里插入图片描述

2.SPI总线传输的四种模式

SPI传输的模式由CPOL:clock polarity 时钟的极性,和CPHA:clock phase 时钟的相位控制。
CPOL:表示 SPI 总线在空闲时, 时钟信号是高电平还是低电平。
当CPOL=0,表示总线空闲状态时,时钟为低电平。
当CPOL=1,表示总线空闲状态时,时钟为高电平。

CPHA:表示数据采样(对于主机来说就是接收数据)在时钟的第几个边沿。
当CPHA=0,在时钟周期的第一个时钟边沿采样。
当CPHA=1,在时钟周期的第二个时钟边沿采样。

在这里插入图片描述

在这里插入图片描述

2.1传输的四种模式图解

CPOL=0,CPHA=0。总线空闲状态为低电平,在时钟周期的第一个时钟边沿采样。
此模式下,时钟第一个边沿为上升沿,意味着在时钟的上升沿进行对数据采样。

在这里插入图片描述
CPOL=0,CPHA=1。总线空闲状态为低电平,在时钟周期的第二个时钟边沿采样。
此模式下,时钟第二个边沿为下降沿,意味着在时钟的下降沿进行对数据采样。
在这里插入图片描述
CPOL=1,CPHA=0。总线空闲状态为高电平,在时钟周期的第一个时钟边沿采样。
此模式下,时钟第一个边沿为下降沿,意味着在时钟的下降沿进行对数据采样。
在这里插入图片描述
CPOL=1,CPHA=1。总线空闲状态为高电平,在时钟周期的第二个时钟边沿采样。
此模式下,时钟第二个边沿为上升沿,意味着在时钟的上升沿进行对数据采样。
在这里插入图片描述

2.2传输模式实验

CPOL=0,CPHA=0。主设备(Master)采样和发送数据0x55

在这里插入图片描述
CPOL=0,CPHA=1。主设备(Master)采样和发送数据0x55
在这里插入图片描述

3.四线SPI Dual SPI 和六线SPI Quad SPI

对于SPI Flash场景,有标准spi flash,dual spi , quad spi 三种类型,分别对应3-wire, 4-wire, 6-wire,在相同clock下,线数越多,传输速率越高。
三根线:CS、CLK、SIO1一个时钟周期发送1个bit。
四根线:CS、CLK、SIO1、SIO2一个时钟周期发送2个bit。
六根线:CS、CLK、SIO1、SIO2、SIO3、SIO3一个时钟周期发送4个bit。
在这里插入图片描述
8-pin 封装. 各 pin 的意义:

  1. CS , chip select, 芯片使能引脚. CS拉高时, 芯片处理省电模式, 各数据引脚(D0/D1/D2/D3)处理高阻态.
    CS拉低时芯片工作, 数据引脚可以传输数据.
  2. DO 用于输出数据或状态. 正常情况下只有DI/DO作为IO引脚, 启用 Quad 模式需要置QE(Quad Enable)位.
    QE=1时, WP和HOLD分别变为IO2,IO3.
  3. WP pin, 低电平有效, 以保护状态寄存器不被写入.
  4. GND 接地
  5. DI用于输入指令, 地址或数据.
  6. CLK, 提供输入输出操作的同步时钟.
  7. HOLD pin, 当多个芯片共用 SPI 总线时非常有用. HOLD 为低电平时, DO 引脚变为高阻态, 且此时 DI/CLK上的信号被忽略. 相当于芯片此时不工作. 假设对一个 SPI FLASH 的页写操作只进行到一半, 此时一个中断来了,
    另一个更高优先级的任务要占用 SPI 总线, 此时就可以使用 HOLD 拉低来暂停 SPI FLASH 内部的工作,等到任务切换回来再让操作继续下去.
  8. VCC, 2.7 ~ 3.6V

4.参考链接

[1]: 《嵌入式–Flash操作中的标准SPI,Dual SPI,Quad SPI》
[2]: 《spi flash 操作 》
[3]: 《【嵌入式】SPI原理及其四种工作模式 》
[2]: 《SPI总线: 你真的懂它 ? 》

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值