STM32标准库开发—SPI通信介绍

SPI通信在这里插入图片描述

硬件电路

在这里插入图片描述
在这里插入图片描述

注意:为避免输入信号(MISO)造成冲突,只有被SS选中的设备才能使用MISO进行通信,空闲状态下该引脚呈现高阻态模式

SPI信号移位示意图

在这里插入图片描述

主机与从机通过交换时序实现数据传输,无论要与不要都需要双方移位寄存器的数据进行互换,才能完成数据的传输。在每个时钟信号,从自身寄存器移出一位数据,移入到对方的移位寄存器,从最高位开始移动。

SPI时序

SPI时序基本单元

在这里插入图片描述

SPI交换时序(模式0)

在这里插入图片描述
在这里插入图片描述

注意:由于在第一个边沿就要将输入移入到寄存器中,所以数据要在第一个边沿信号前就放置到数据总线上。在SS被拉低后,将要立即将一位数据放到数据总线上

SPI交换时序(模式1)

在这里插入图片描述
在这里插入图片描述

SPI交换时序(模式2)

在这里插入图片描述
在这里插入图片描述

SPI交换时序(模式3)

在这里插入图片描述
在这里插入图片描述

总结:
CPOL(Clock Polarity,时钟极性)决定空闲状态时,时钟信号线的高低电平
CPHA(Clock Phase,时钟相位)决定移入数据的边沿位置
移出数据意味着从自身寄存器中的最高位将一位数据移出到信号线上
移入数据意味着从信号线上读取一位数据移入到自身寄存器中的末尾

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-22 08:16:03       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-22 08:16:03       106 阅读
  3. 在Django里面运行非项目文件

    2024-01-22 08:16:03       87 阅读
  4. Python语言-面向对象

    2024-01-22 08:16:03       96 阅读

热门阅读

  1. 129 验证二叉搜索树

    2024-01-22 08:16:03       60 阅读
  2. Spring和Spring Boot的区别

    2024-01-22 08:16:03       51 阅读
  3. Nginx会话保持

    2024-01-22 08:16:03       51 阅读
  4. 机器学习、深度学习、人工智能的区别与联系

    2024-01-22 08:16:03       51 阅读
  5. vue组件间通信

    2024-01-22 08:16:03       52 阅读
  6. 安装python版opencv的一些问题

    2024-01-22 08:16:03       53 阅读