【STM32】SPI回顾

news/2024/10/6 19:22:32/

一、定义
在这里插入图片描述
SPI是Motorola首先提出的全双工四线同步串行外围接口,采用主从模式(Master-Slave)架构。

二、单机与多机通信

在这里插入图片描述
4线SPI器件有四个信号:时钟(SPI CLK, SCLK)、主机输出从机输入(MOSI)、主机输入从机输出(MISO)、片选(CS/NSS)。
在这里插入图片描述
在MOSI、MISO和SPI主从机内部的数据寄存器构成一个数据串行传输的环路,在时钟SCLK的控制下实现数据的环形传输。

2.2 多机通信

在这里插入图片描述

三、工作模式

SPI总线有四种工作方式,其中使用的最为广泛的是模式0和模式3方式。

CPOL(Clock Polarity):时钟极性选择

  • CPOL=0 SPI总线空闲时(片选引脚为高电平),时钟线为低电平 ;
  • CPOL=1 SPI总线空闲时(片选引脚为高电平),时钟线为高电平。

CPHA(Clock Phase):时钟相位选择

  • CPHA=0 在SCLK第一个跳变沿,主机对MISO引脚电平采样;主机的数据发送则在第二个跳变沿。
  • CPHA=1 在SCLK第二个跳变沿,主机对MISO引脚电平采样。主机的数据发送则在第一个跳变沿。

汇总

  • CPHA=0、CPOL=0:此时空闲态时,SCLK处于低电平,数据采样是在第1个边沿,就是SCLK由低电平到高电平的跳变,所以数据采样是在上升沿(准备数据),(发送数据)数据发送是在下降沿。
  • CPHA=0、CPOL=1:此时空闲态时,SCLK处于高电平,数据采集是在第1个边沿,即SCLK由高电平到低电平的跳变,所以数据采集是在下降沿,数据发送是在上升沿
  • CPHA=1、CPOL=0:此时空闲态时,SCLK处于低电平,数据发送是在第1个边沿,即SCLK由低电平到高电平的跳变,所以数据采样是在下降沿,数据发送是在上升沿。
  • CPHA=1、CPOL=1:此时空闲态时,SCLK处于高电平,数据发送是在第1个边沿,即SCLK由高电平到低电平的跳变,所以数据采集是在上升沿,数据发送是在下降沿。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
关于跳变沿

  • 模式3中的第一跳变沿告诉从机可以读取MOSI引脚电平;第二跳变沿主机可以可靠读取MISO引脚电平。
  • 在项目开发当中,用的比较多是模式0(2.4G无线传输模块:NRF24L01;RFID模块:RC522)和模式3(SPI FLASH:W25Q128)。

http://www.ppmy.cn/news/1535461.html

相关文章

netty之SpringBoot+Netty+Elasticsearch收集日志信息数据存储

前言 将大量的业务以及用户行为数据存储起来用于分析处理,但是由于数据量较大且需要具备可分析功能所以将数据存储到文件系统更为合理。尤其是一些互联网高并发级应用,往往数据库都采用分库分表设计,那么将这些分散的数据通过binlog汇总到一个…

62. 环境贴图2

环境贴图作用测试 实际生活中光源照射到一个物体上,这个物体反射出去的光线也会影响其他的物体,环境贴图就是用一种简单方式,近似模拟一个物体周边环境对物体表面的影响。 测试:对于PBR材质,如果threejs三维场景不添…

LeetCode题练习与总结:完全平方数--279

一、题目描述 给你一个整数 n ,返回 和为 n 的完全平方数的最少数量 。 完全平方数 是一个整数,其值等于另一个整数的平方;换句话说,其值等于一个整数自乘的积。例如,1、4、9 和 16 都是完全平方数,而 3 …

501、二叉搜索树中的众数

1、题目描述 . - 力扣(LeetCode) 要求:给一个包含重复值的BST,找出并返回BST中的众数(出现频次最高的元素)。 注:如果树中有不止一个众数可以按任意顺序返回,即如果有多个众数多个都要返回。 ps&#xff1…

“图像识别技术:重塑生活与工作的未来”

“图像识别技术:重塑生活与工作的未来”这个标题非常具有吸引力和前瞻性。它突出了图像识别技术在现代社会中的重要地位,以及它如何深刻地影响我们的日常生活和工作方式。以下是对这个标题的一些解读: 重塑生活: 图像识别技术正在…

No.2 笔记 | 网络安全攻防:PC、CS工具与移动应用分析

引言 在当今数字化时代,网络安全已成为每个人都应该关注的重要话题。本文将总结一次关于网络安全攻防技术的学习内容,涵盖PC端和移动端的恶意程序利用,以及强大的渗透测试工具Cobalt Strike的使用。通过学习这些内容,我们不仅能够了解攻击者的手法,更能提高自身的安全意识和防…

cnn突破四(生成卷积核与固定核对比)

cnn突破三中生成四个卷积核,训练6万次,91分,再训练6万次,95分,不是很满意,但又找不到问题点,所以就想了个办法,使用三个固定核,加上三层bpnet神经网络,看看效…

C# 游戏引擎中的协程

前言 书接上回,我谈到了Unity中的协程的重要性,虽然协程不是游戏开发“必要的”,但是它可以在很多地方发挥优势。 为了在Godot找回熟悉的Unity协程开发手感,不得不自己做一个协程系统,幸运的是,有了Unity的…