当前位置: 首页 > news >正文

stm32f4xx-SPI

文章目录

  • 一、SPI简介
  • 二、单机与多机通信
    • 1.单击通信
    • 2.多机通信
  • 二、通信细节
    • 1.寻址方式
    • 2.通信过程
    • 3.相位和极性
      • 3.1CPHA = 0,CPOL = 0
      • 3.2CPHA = 0,CPOL = 1
      • 3.3CPHA = 1,CPOL = 0
      • 3.4CPHA = 1,CPOL = 1
  • 三、I2C和SPI的异同
    • 1.相同点
    • 2.不同点

一、SPI简介

SPI(serial peripheral interface)串行外设接口,SPI是一种高速的,全双工,同步的通信总线

在这里插入图片描述

二、单机与多机通信

1.单击通信

在这里插入图片描述

2.多机通信

在这里插入图片描述

二、通信细节

1.寻址方式

spi寻址是通过向对应从设备上的片选线CS上发送使能信号

在这里插入图片描述

2.通信过程

在这里插入图片描述

3.相位和极性

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

CPOL(Clock Polarity):时钟极性选择,为0时SPI总线空闲时,时钟线为低电平 ;为1时SPI总线空闲时,时钟线为高电平

CPHA(Clock Phase):时钟相位选择,为0时在SCLK第一个跳变沿,主机对MISO引脚电平采样;为1时在SCLK第二个跳变沿,主机对MISO引脚电平采样。

SPI总线有四种不同的工作模式,取决于极性CPOL和相位CPHL
在这里插入图片描述

在这里插入图片描述

3.1CPHA = 0,CPOL = 0

在这里插入图片描述

3.2CPHA = 0,CPOL = 1

在这里插入图片描述

3.3CPHA = 1,CPOL = 0

在这里插入图片描述

3.4CPHA = 1,CPOL = 1

在这里插入图片描述

模式0(2.4G无线传输模块:NRF24L01)

模式3(SPI FLASH:W25Q128)

三、I2C和SPI的异同

1.相同点

  • 均采用串行、同步方式
  • 均采用TTL电平,传输距离和应用场景类似
  • 均采用主从方式工作
  • 均先发送高位再发送低位

2.不同点

  • 数据传输方向不同:I2C为半双工,SPI为全双工
  • 传输数据机制不同:I2C有应答机制,SPI无应答机制
  • 寻址方式不同:I2C通过向总线广播从机地址来寻址,SPI通过向对应从机发送使能信号来寻址
  • 时钟极性和时钟相位不同:I2C的时钟极性和时钟相位固定,SPI的时钟极性和时钟相位可调

相关文章:

  • 关于google search console工具提交sitemap.xml无法抓取的问题解决办法
  • leetcode-包含min函数的栈-93
  • 在win下,python如何调用.so库
  • AHB传输---突发操作
  • SCP收容物131~140
  • 边缘计算在视频监控领域的应用
  • Eureka简介与使用浅析
  • 消息队列-RabbitMQ:延迟队列、rabbitmq 插件方式实现延迟队列、整合SpringBoot
  • IDEA开发环境热部署
  • springboot/ssm宠物领养救助平台Java流浪动物救助管理系统web
  • uni-app之android原生插件开发
  • 数据结构 队列
  • 高数(下) 第十二章:无穷级数
  • LeetCode·每日一题·940.不同的子序列 || · 动态规划
  • 【云原生】Elasticsearch + kibana on k8s 讲解与实战操作
  • 神经网络过拟合什么意思,神经网络中解决过拟合
  • win11toast:python桌面通知工具
  • 【cloud Alibaba】(四)分布式事务处理——Seata
  • [算法入门笔记] 19. 有序表
  • (Java岗)秋招打卡!一本学历拿下美团、阿里、快手、米哈游offer
  • Java反射小练之手写BeanUtils的copyProperties(Upgrade)
  • 软件测试过程:单元测试,集成测试,系统测试,验收测试,回归测试
  • 入门力扣自学笔记177 C++ (题目编号:769)
  • QT中QThread的各个方法,UI线程关系,事件关系详解(5)
  • 深度学习:LeNet-5实现服装分类(PyTorch)
  • 核酸系统架构设计
  • 基于Matlab模拟、检测和跟踪飞机着陆进场中异常的仿真(附源码)
  • 面试官:服务端推送到Web前端有哪几种方式?
  • selenium使用篇_键盘鼠标事件
  • Java第17章 - I/O流(一)
  • STM32F103移植FreeRTOS必须搞明白的系列知识---4(FreeRTOSConfig.h配置文件)
  • C语言中的字符串转数字函数常见问题详解