[其他ST产品] STM32 SPI读写速度评估

[复制链接]
3383|36
 楼主| ym0sly 发表于 2023-6-29 00:11 | 显示全部楼层 |阅读模式
目的:测试STM32H7 系列芯片的SPI读写速度。

测试环境:使用STM32H743, 逻辑分析仪, cubeIDE;

测试方法:使用了3种方法:软件IO模拟SPI, 软件控制CS+MCU的SPI模块,完全使用SPI模块;

结论:

STM32 SPI读写速度评估:

软件IO模拟SPI,system clock 100M的情况下,1个读/写周期(3byte),大约90-120uS;
软件IO控制CS,system clock 100M的情况下,1个读/写周期(3byte),大约25-35uS;
硬件模块SPI,SPI波特率4M的情况下,1个读/写周期(3byte),大约15-20uS;

 楼主| ym0sly 发表于 2023-6-29 00:11 | 显示全部楼层
测试过程:

1. 软件IO模拟实现SPI

47708649c5bbf94dc6.png
 楼主| ym0sly 发表于 2023-6-29 00:11 | 显示全部楼层
2. 软件控制CS,MCU的SPI模块控制CLK MOSI MISO

  CS的延时比较大,写3byte(24bit)的数据大约需要30微秒。
 楼主| ym0sly 发表于 2023-6-29 00:12 | 显示全部楼层
3. 使用MCU SPI模块实现CS CLK MOSI MISO操作

87246649c5be308abe.png

在SPI baudrate=2M , 写3byte(24bit)的数据大约需要20微秒。上图测量结果可以看到,CS是低电平有效,不对SPI进行操作,该电平为低电平,对外设不友好。
 楼主| ym0sly 发表于 2023-6-29 00:13 | 显示全部楼层
将CS 采用Pull-up mode,CS 使用完毕处于高电平。
70759649c5c387a770.png
30831649c5c3fc58f1.png
szt1993 发表于 2023-6-30 17:46 | 显示全部楼层
SPI通信速率还是比较快,稳定,程序设计简单
Undshing 发表于 2023-7-1 22:10 | 显示全部楼层
这个速度挺快的了
plsbackup 发表于 2023-7-5 10:30 | 显示全部楼层
合理管理SPI的发送和接收缓冲区可以提高数据传输效率。
beacherblack 发表于 2023-7-5 10:46 | 显示全部楼层
SPI的传输速度与时钟频率成正比。
kmzuaz 发表于 2023-7-5 11:32 | 显示全部楼层
可以通过设置主频来调整SPI总线的速度。主频越高,数据传输速度越快。
sheflynn 发表于 2023-7-5 11:56 | 显示全部楼层
传输速度还受到外设负载和电路设计的影响。
bestwell 发表于 2023-7-5 12:02 | 显示全部楼层
尽量减少线路长度和干扰,以最大限度地提高传输速度。
51xlf 发表于 2023-7-5 13:26 | 显示全部楼层
具体的读写速度与所使用的STM32型号、外设驱动程序和应用场景有关
pmp 发表于 2023-7-5 13:34 | 显示全部楼层
SPI速度瓶颈在哪里呢?              
olivem55arlowe 发表于 2023-7-5 14:48 | 显示全部楼层
SPI的通信速率如何设置               
sdCAD 发表于 2023-7-5 16:19 | 显示全部楼层
利用DMA可以实现数据传输,从而提高传输效率和速度。
iyoum 发表于 2023-7-5 16:30 | 显示全部楼层
SPI接口速度可以达到Mbits/s。   
AloneKaven 发表于 2023-7-5 17:58 | 显示全部楼层
spi的理论速度没有上限的好像
bartonalfred 发表于 2023-7-5 20:33 | 显示全部楼层
运行速度到底是多少               
mikewalpole 发表于 2023-7-5 21:47 | 显示全部楼层
较短的数据长度在同样的主频下会有更快的传输速度。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

32

主题

330

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部