[STM32F4] STM32F407ZET6无法实现40M SPI

[复制链接]
3031|17
 楼主| 原来你在这里 发表于 2019-4-22 21:12 | 显示全部楼层 |阅读模式
本帖最后由 原来你在这里 于 2019-4-22 21:15 编辑

项目里面需要使用SPI去驱动一个WiFi模块,之前一直配置的是21M SPI1 CLK,但由于速度不够,需要将SPI速度提高到40M。经过试验,将SPI1的CLK直接在原来四分频的基础上改为二分频,即配置SPI1速度到42M,示波器观察频率正确。但为了实现40M,修改系统时钟为160M,经过分频,可以实现SPI1四分频为20M,但二分频时,却出不来40M,示波器一直抓的是10MHZ,不知道是什么原因,一开始以为是我板子的问题,40M信号属于高速,出不来,但按理说42M的clk信号可以出来了,40M的应该没问题啊,求高手帮忙解答呀

这是配置为42M时的sck波形C:\Users\sky\Desktop\42M.jpg



最后一张是配置为40M时的sck波形

42M

42M

40M

40M
aozima 发表于 2019-4-23 00:41 | 显示全部楼层
检查是否分频系数溢出反转了。

啥WIFI模块?  从机跑40Mhz?
 楼主| 原来你在这里 发表于 2019-4-23 10:48 | 显示全部楼层
aozima 发表于 2019-4-23 00:41
检查是否分频系数溢出反转了。

啥WIFI模块?  从机跑40Mhz?

怎么看溢出翻转呢,我看了下程序配置,spi1的分频控制是对的呢。WiFi模块是esp8266,买的现成的集成模块,需要spi进行通信,一直轮训速度能到1MB,实际跑可能会慢点。之前一直407去作为主机跑spi1 21M的,想提高速度,所以要配置到40M,发现不可以。但我把系统时钟降到很低74M,spi1的二分频又好使了,,,其他地方还有什么可以限制的么
微信截图_20190423104225.png
微信截图_20190423104327.png
hanzhen654 发表于 2019-4-23 22:39 | 显示全部楼层
波形很完美,示波器不便宜吧
hanzhen654 发表于 2019-4-23 22:40 | 显示全部楼层
频率为什么弄这个高 ,只求稳定低速
天灵灵地灵灵 发表于 2019-4-23 23:24 | 显示全部楼层
低速的可以吗
dongnanxibei 发表于 2019-4-24 16:49 | 显示全部楼层
有点小夸张
香水城 发表于 2019-4-24 17:46 | 显示全部楼层
不要着急,或许你哪里操作有点问题,别量错位置了。系统时钟配置为160Mhz也是可以的,

可以肯定STM32F407ZE的SPI1的时钟可以工作到42MHz,这都是验证过了的。

但要提醒你的是,只是SPI1,其它SPI2/SPI3是到不了那么高的,因为挂在不同总线上。
 楼主| 原来你在这里 发表于 2019-4-24 21:00 | 显示全部楼层

把系统时钟降下来,到74M,配置spi1进行二分频和四分频这些都是对的。之前是168M配置,spi1二分频42M也对,就是修改为稍微快点的系统时钟,降了一点到160M,再降到150M,二分频就不可以了。
 楼主| 原来你在这里 发表于 2019-4-24 21:01 | 显示全部楼层
来了方法 发表于 2019-4-23 22:23
SPI高速送数据包?什么数据?图片,视频?

AD的数据包。。打包后上传。。数据量有点多
 楼主| 原来你在这里 发表于 2019-4-24 21:02 | 显示全部楼层
hanzhen654 发表于 2019-4-23 22:40
频率为什么弄这个高 ,只求稳定低速

我也在考虑还是跑个21M算了,然后优化下程序,看能不能实现7.800K的样子
 楼主| 原来你在这里 发表于 2019-4-24 21:05 | 显示全部楼层
香水城 发表于 2019-4-24 17:46
不要着急,或许你哪里操作有点问题,别量错位置了。系统时钟配置为160Mhz也是可以的,

可以肯定STM32F407Z ...

是的,是SPI1,我这些修改都是在SPI1的基础上做的,也可以实现42M的,难道真的可能是我哪里串了位置??我再看看,谢谢谢谢
 楼主| 原来你在这里 发表于 2019-4-24 21:06 | 显示全部楼层
hanzhen654 发表于 2019-4-23 22:39
波形很完美,示波器不便宜吧

实验室里的,TDS1002,,不知道多少钱呀
xch 发表于 2019-4-24 22:31 | 显示全部楼层
RCC clock configuration register (RCC_CFGR) 这个你配置啥参数?
你怎么确定PLL配置输出168mhz?
eydj2008 发表于 2019-4-25 08:15 | 显示全部楼层
这是要做图传的节奏
xch 发表于 2019-4-25 09:14 | 显示全部楼层
MCO2输出sysclk/5 看看。
parameters 发表于 2019-4-26 14:32 | 显示全部楼层
配置没有弄好吧。
hanzhen654 发表于 2019-4-29 09:40 | 显示全部楼层
原来你在这里 发表于 2019-4-24 21:02
我也在考虑还是跑个21M算了,然后优化下程序,看能不能实现7.800K的样子

可以尝试下,这个简单多了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

9

帖子

0

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