marshallemon 发表于 2026-4-1 15:29:25

ercircle 发表于 2026-4-1 15:23
1.5V 也能正常工作,而且比3.3V可以工作频率更高一些。

2.每次上电都要设置下


1,那你的意思是我如果想工作在5V下,就只能降低SPI的频率了?
2,5V供电下SPI最高可以工作在多高的频率?
3,另外是如果是5V状态下降频使用,是修改SPI的分频值,还是修改高速SPI的分频值?主从机都需要修改成相同的分频值吗?我记得之前使用8A8K64D4时,从机只需要设置MCU的主时钟和SPI的模式即可,无需设置SPI的频率,因为CLK是来自于主机

ercircle 发表于 2026-4-1 15:35:00

marshallemon 发表于 2026-4-1 15:29
1,那你的意思是我如果想工作在5V下,就只能降低SPI的频率了?
2,5V供电下SPI最高可以工作在多高的频率 ...

5V tx 120M rx 20M


主要控制master的spi频率,spi分频或者hsspi分频都可以,从机的一般设置在最高不用改。

marshallemon 发表于 2026-4-1 16:31:43

ercircle 发表于 2026-4-1 15:35
5V tx 120M rx 20M




对着时钟树看了一下你的时钟配置,高速外设频率是104M?此时代码里配置SPI分频是2,高速SPI分频是10,此时SPI实际工作的频率为是52M?还是10.4M? 如果是10.4M,这个和你说的5V 下 rx可以做到20M不符啊?

ercircle 发表于 2026-4-1 17:23:23

marshallemon 发表于 2026-4-1 16:31
对着时钟树看了一下你的时钟配置,高速外设频率是104M?此时代码里配置SPI分频是2,高速SPI分频是10,此 ...


master 修改 HSSPI1_SetClockDivider(4); 即为20M。
HSIOCLK由PLL得204M,SPI二分频102M,HSSPI五分频20.4M



Master:DMA模式 rx反而工作频率更低大概10M.非DMA模式20M左右。
Slave:tx 20M左右,rx 40M~60M.

也可以通过测量spi clk确认工作频率:


页: 1 2 [3]
查看完整版本: 发现一个SPI接口有趣的问题