STM32---SPI原理

简介

SPI 是串行外围设备接口。
首先在其 MC68HCXX 系列处理器上定义的。
SPI 接口主要应用在 EEPROM,FLASH,实时时钟,AD转换器,还有数字信号处理器和数字信号解码器之间。
SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为 PCB 的布局上节省空间,提供方便,正是出于这种简单易用的特性,现在越来越多的芯片集成了这种通信协议,STM32有 SPI接口。
SPI接口一般使用 4 条线通信:

  • MISO 主设备数据输入,从设备数据输出。
  • MOSI 主设备数据输出,从设备数据输入。
  • SCLK 时钟信号,由主设备产生。
  • CS 从设备片选信号,由主设备控制。
    在这里插入图片描述

SPI 主要特点有:

  • 可以同时发出和接收串行数据;
  • 可以当作主机或从机工作;
  • 提供频率可编程时钟;
  • 发送结束中断标志;
  • 写冲突保护;
  • 总线竞争保护等。

spi四种模式

SPI的相位(CPHA)和极性(CPOL)分别可以为0或1,对应的4种组合构成了SPI的4种模式(mode)

  • Mode 0 CPOL=0, CPHA=0
  • Mode 1 CPOL=0, CPHA=1
  • Mode 2 CPOL=1, CPHA=0
  • Mode 3 CPOL=1, CPHA=1  
    时钟极性CPOL: 即SPI空闲时,时钟信号SCLK的电平(1:空闲时高电平; 0:空闲时低电平)
    时钟相位CPHA: 即SPI在SCLK第几个边沿开始采样(0:第一个边沿开始; 1:第二个边沿开始)  
    sd卡地spi常用的是mode 0 和mode 3,这两种模式的相同的地方是都在时钟)上升沿采样传输数据,区别这两种方式的简单方法就是看空闲时,时钟的电平状态,低电平为mode 0 ,高电平为mode 3。 
    在这里插入图片描述

步骤:

(1)配置相关引脚的复用功能,使能 SPI2 时钟
(2)初始化 SPI2,设置 SPI2 工作模式
(3)使能 SPI2
(4)SPI 传输数据
(5)查看 SPI 传输状态

下图为STM32F1 和W25Q128连接电路图
在这里插入图片描述

发布了42 篇原创文章 · 获赞 85 · 访问量 2274

猜你喜欢

转载自blog.csdn.net/weixin_44955712/article/details/103690827