目的:测试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;
测试过程:
1. 软件IO模拟实现SPI
2. 软件控制CS,MCU的SPI模块控制CLK MOSI MISO
CS的延时比较大,写3byte(24bit)的数据大约需要30微秒。
3. 使用MCU SPI模块实现CS CLK MOSI MISO操作
在SPI baudrate=2M , 写3byte(24bit)的数据大约需要20微秒。上图测量结果可以看到,CS是低电平有效,不对SPI进行操作,该电平为低电平,对外设不友好。
将CS 采用Pull-upmo'k