[学习资料] 硬件SPI与软件模拟SPI速率对比

[复制链接]
4083|22
 楼主| wwppd 发表于 2023-5-21 15:02 | 显示全部楼层 |阅读模式
直接测量CLK的波形。

(1)模拟SPI
1.png
2.png

可以看出,使用模拟SPI的时候是1.8MHz。

(2)硬件SPI


可以看出,使用硬件SPI的时候是12MHz 。
3.png
4.png

硬件SPI速率远大于软件SPI,因此为了提高cpu的利用率,应尽量选择使用硬件SPI。



tpgf 发表于 2023-6-6 11:56 | 显示全部楼层
为什么软件模拟和纯硬件不能达到同样的速率呢
nawu 发表于 2023-6-6 13:08 | 显示全部楼层
无论是硬件spi还是软件spi  他们速度的瓶颈是不是都在io上啊
aoyi 发表于 2023-6-6 13:52 | 显示全部楼层
为什么会相差这么多呢 对于iic是不是也存在这个差距?
zljiu 发表于 2023-6-6 14:10 | 显示全部楼层
楼主的这两个数据都是在相同的时钟相同的波特率配置下的波形吗
gwsan 发表于 2023-6-6 14:24 | 显示全部楼层
zljiu 发表于 2023-6-6 14:10
楼主的这两个数据都是在相同的时钟相同的波特率配置下的波形吗

明显波特率是不一样的啊  但是为什么要配置成不一样的呢
tfqi 发表于 2023-6-6 14:44 | 显示全部楼层
gwsan 发表于 2023-6-6 14:24
明显波特率是不一样的啊  但是为什么要配置成不一样的呢

我猜测 软件模拟spi能够配置到的波特率上限就是这个
jkl21 发表于 2023-6-10 15:38 | 显示全部楼层
硬件SPI和软件模拟SPI的实现方法和性能表现会受到具体硬件平台和外设的影响。
robertesth 发表于 2023-6-10 15:51 | 显示全部楼层
如果要求不高或者只需要低速通信的情况下,软件模拟SPI可以作为一种替代方案。
louliana 发表于 2023-6-10 16:06 | 显示全部楼层
可以选择使用硬件SPI或软件模拟SPI进行数据交换。
uptown 发表于 2023-6-10 16:12 | 显示全部楼层
硬件SPI使用专门的SPI控制器进行数据传输,具有高速、低CPU占用率、易于实现等优点;而软件模拟SPI则需要使用GPIO等通用IO口进行实现,在数据传输速率、CPU占用率等方面不如硬件SPI。
robincotton 发表于 2023-6-10 16:24 | 显示全部楼层
硬件SPI和软件模拟SPI的主要区别在于数据传输速率
jackcat 发表于 2023-6-10 16:32 | 显示全部楼层
运行速率相同的情况下哪一个传输速率更快?   
fengm 发表于 2023-6-10 16:40 | 显示全部楼层
硬件SPI通常能够达到几十MHz的传输速率,甚至更高,具有传输速度快且稳定等优点。
loutin 发表于 2023-6-10 16:51 | 显示全部楼层
数据传输速率可达到几百kHz甚至MHz级别
mnynt121 发表于 2023-6-10 17:25 | 显示全部楼层
软件模拟SPI 受到CPU负载、代码复杂度等因素的影响,可能会导致传输精度降低和传输失败等问题。
youtome 发表于 2023-6-10 17:32 | 显示全部楼层
软件模拟SPI则是通过单片机软件控制GPIO口的电平变化来模拟SPI时序,因为需要经过CPU处理,所以传输速率较慢,一般在1MHz以下。
hudi008 发表于 2023-6-10 17:37 | 显示全部楼层
spi和I2c的速率是多少?               
lzbf 发表于 2023-6-10 17:47 | 显示全部楼层
肯定没有SPI硬件控制器所能达到速度更快。
chenjun89 发表于 2023-6-10 22:29 来自手机 | 显示全部楼层
如果IO的翻转速率快于硬件SPI就可以
您需要登录后才可以回帖 登录 | 注册

本版积分规则

55

主题

3100

帖子

2

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