STM32 SPI发送波形

文章目录

  • STM32 SPI发送波形
  • 前言
  • 一、SPI的四种波形
  • 二、连续和不连续传输
    • 1.连续传输
    • 2.不连续传输
  • 三、实测波形
  • 总结

前言

本文主要内容为STM32 的SPI发送波形,不涉及相关软件配置,相关内容网络上一搜就有很多参考。


一、SPI的四种波形

根据SPI协议,STM32发送的波形有四种可能,如图所示,主要分为两种时钟相位(CPHA)和时钟极性(CPOL)。

关于时钟极性,也有很多人把它理解为第一个边沿,第二个边沿:也有人觉得CPHA=0时,时钟是从第一个边沿启动,这样理解不是很准确。其实还有第二种理解方式,那就是它们都是 第 2 T \cfrac{2}{T} T2​ 的边沿信号,如下图所示:


我个人感觉这样比第几个边沿好理解一些。


二、连续和不连续传输

1.连续传输

首先,连续传输或者不连续传输都是针对主设备(Master)而言。连续传输就是指发送完数据后,时钟没有空闲,立即进行下一次传输。如图所示。

2.不连续传输

不连续传输和连续传输相反,在完成一次传输之后,时钟会有一段空闲。如图所示。

关于什么情况下是连续传输,什么情况下是间断传输,官方手册有这么一段说明。

大概意思就是,你的软件运行足够快,能够检测到TXE标志,并且立即将数据写入SPI_DR寄存器,那么就可以实现连续传输,否则,就只有间断传输。
然而实际情况就是,无论你是使用轮询方式,或者中断方式,甚至使用寄存器编写程序,也不可能使用软件做到连续传输,除非你将SPI的频率降得很低。
而想要实现连续传输,只要一种方式,那就是使用硬件完成以上操作,也就是使用DMA进行发送数据。


三、实测波形

以下波形是使用HAL库,采用轮询方式发送三个字节(0xaa,0x55,0x34)的波形图。通道1为时钟信号,通道2为MOSI信号。可以看到,每发送一个字节的数据,时钟就会空闲一段时间。

以下波形是使用HAL库,采用DMA方式发送三个字节的波形图,可以看到,24个时钟完全连在一起。

本次实验的SPI配置模式为 CPHA = 0, CPOL = 0,可以看到,刚开始的半个周期,时钟出现了一些毛刺,同时MOSI引脚的数据变为高,这也说明了在CPHA=0时,时间会提前半个周期开始,而不是从第一个边沿信号开始。


总结

以上就是今天要讲的内容,本文仅仅简单介绍了STM32的SPI发送波形,仅供参考。

STM32 SPI发送波形相关推荐

  1. STM32 SPI详解

    目录 1.SPI简介 2.SPI特点 2.1.SPI控制方式 2.2.SPI传输方式 2.3.SPI数据交换 2.4.SPI传输模式 3.工作机制 3.1.相关缩写 3.2.CPOL极性 3.3.CP ...

  2. 通俗理解STM32 SPI通信(主从双机SPI通信)

    STM32 SPI通信 高速全双工的通信总线 SPI 通讯使用 3 条总线及片选线,3 条总线分别为 SCK.MOSI.MISO,片选线为NSS(CS) NSS 信号线由高变低 ,是 SPI 通讯的起 ...

  3. STM32 SPI TX FIFO处理

    有没有遇到这种情况,在MCU 的SPI作为slave时,为了提高传输效率,提升速率,会提前将数据写入TX FIFO中,一般情况下不会出问题,但有些SPI Host 的波形不规范,例如下面: 在传输数据 ...

  4. STM32 SPI难点浅析

    我用的是战舰STM32开发板,两个知识点,一:是STM32 SPI的原理:二:用STM32自带的SPI对外部flash(W25Q64)的读写. 一:STM32 SPI的原理       先上图: 主模 ...

  5. 解决STM32 SPI 半残废 NSS无法拉高

    众所周知,STM32  SPI是个半残废,NSS无法自动拉高,所以使用SPI 从机会一直使能,当主机是一对多的时候,就会出现SPI从机互相干扰的问题. 我利用GPIO中断,代替NSS引脚,使用过程如下 ...

  6. STM32——SPI接口

    STM32--SPI接口 宗旨:技术的学习是有限的,分享的精神是无限的. 一.SPI协议[SerialPeripheral Interface] 串行外围设备接口,是一种高速全双工的通信总线.在ADC ...

  7. stm32 SPI、FLASH

    main.c FLASH:掉电后数据不丢失,U 盘.SD 卡.SSD 固态硬盘.STM32 芯片内部用于存储程序的设备,都是 FLASH 类型的存储器.FLASH芯片(W25Q64)是一种使用 SPI ...

  8. stm32 SPI架构

    STM32 芯片集成了专门用于 SPI 协议通讯的外设. 通讯引脚:SPI 硬件架构从 MOSI.MISO.SCK 及 NSS 线展开:STM32 芯片有多个 SPI 外设,它们的 SPI 通讯信号引 ...

  9. STM32 SPI NSS 作用

    STM32 SPI NSS 作用 原创 2017年06月16日 11:18:14 142 SSM可以控制内部NSS引脚与SSI(一个寄存器,软件模式)相连,还是与NSS外部引脚(真正的STM32引脚, ...

最新文章

  1. SAP库存历史库存表更新逻辑
  2. JRoll 2 使用文档(史上最强大的下拉刷新,滚动,无限加载插件)
  3. spring boot 邮件端口_1 分钟教会你用 Spring Boot 发邮件
  4. WebPart的三种部署方法
  5. 操作系统——概念、功能、特征及发展分类
  6. 初学python100例-案例10 python兔子生兔子 多种不同解法 青少年python编程 少儿编程案例讲解
  7. cpu真假有没有装机测试软件,有了她装机被骗很难 实用电脑检测软件推荐
  8. 绿米Aqara、飞利浦等设备,如何与智汀使用同一个APP实现跨品牌互联?
  9. mysql的double类型数据_mysql数据类型double和decimal区别详解
  10. Python将阿拉伯数字转化为中文大写
  11. python基础(24)IO编程
  12. 简单说 用CSS做一个魔方旋转的效果
  13. 中国信息化系统集成行业协会:企业信息化系统集成
  14. C++ opencv imread读不进来图片
  15. 白帽子黑客与网络安全工程师带你:远程桌面漏洞利用与Windows7计算机攻防实战
  16. nslookup type值_nslookup命令详解
  17. day01 -云计算简介与华为云计算解决方案
  18. python实现按键精灵找色点击功能,使用pywin32和Pillow库
  19. 微软Windows多媒体技术介绍
  20. NB-IoT产品项目开发问题汇总

热门文章

  1. matlab:一维数组
  2. 一阶电路暂态响应的结果分析。_线性动态电路可视化分析
  3. 调节e18-d80nk的测量距离_方管前置镜光学测量仪器测量范围5视度测量精度高
  4. 关不掉的APP——永不停止的应用程序
  5. 洛谷B2066 救援(ceil上取整)
  6. 指南-示例-luat示例-camera
  7. w3cshool之JavaScript 基础
  8. 俄罗斯套娃素数c语言解法,求俄罗斯套娃素数(BFS)
  9. 2021年全球乙酸正丁酯收入大约1783.2百万美元,预计2028年达到2216.7百万美元
  10. C/C++实习面试(一)