打印
[STM32F4]

STM32F407ZET6无法实现40M SPI

[复制链接]
2398|17
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 原来你在这里 于 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.jpg (332.74 KB )

42M

42M

40M.jpg (341.17 KB )

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 (14.96 KB )

微信截图_20190423104225.png

微信截图_20190423104327.png (20.77 KB )

微信截图_20190423104327.png

使用特权

评论回复
地板
hanzhen654| | 2019-4-23 22:39 | 只看该作者
波形很完美,示波器不便宜吧

使用特权

评论回复
5
hanzhen654| | 2019-4-23 22:40 | 只看该作者
频率为什么弄这个高 ,只求稳定低速

使用特权

评论回复
6
天灵灵地灵灵| | 2019-4-23 23:24 | 只看该作者
低速的可以吗

使用特权

评论回复
7
dongnanxibei| | 2019-4-24 16:49 | 只看该作者
有点小夸张

使用特权

评论回复
8
香水城| | 2019-4-24 17:46 | 只看该作者
不要着急,或许你哪里操作有点问题,别量错位置了。系统时钟配置为160Mhz也是可以的,

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

但要提醒你的是,只是SPI1,其它SPI2/SPI3是到不了那么高的,因为挂在不同总线上。

使用特权

评论回复
9
原来你在这里|  楼主 | 2019-4-24 21:00 | 只看该作者

把系统时钟降下来,到74M,配置spi1进行二分频和四分频这些都是对的。之前是168M配置,spi1二分频42M也对,就是修改为稍微快点的系统时钟,降了一点到160M,再降到150M,二分频就不可以了。

使用特权

评论回复
10
原来你在这里|  楼主 | 2019-4-24 21:01 | 只看该作者
来了方法 发表于 2019-4-23 22:23
SPI高速送数据包?什么数据?图片,视频?

AD的数据包。。打包后上传。。数据量有点多

使用特权

评论回复
11
原来你在这里|  楼主 | 2019-4-24 21:02 | 只看该作者
hanzhen654 发表于 2019-4-23 22:40
频率为什么弄这个高 ,只求稳定低速

我也在考虑还是跑个21M算了,然后优化下程序,看能不能实现7.800K的样子

使用特权

评论回复
12
原来你在这里|  楼主 | 2019-4-24 21:05 | 只看该作者
香水城 发表于 2019-4-24 17:46
不要着急,或许你哪里操作有点问题,别量错位置了。系统时钟配置为160Mhz也是可以的,

可以肯定STM32F407Z ...

是的,是SPI1,我这些修改都是在SPI1的基础上做的,也可以实现42M的,难道真的可能是我哪里串了位置??我再看看,谢谢谢谢

使用特权

评论回复
13
原来你在这里|  楼主 | 2019-4-24 21:06 | 只看该作者
hanzhen654 发表于 2019-4-23 22:39
波形很完美,示波器不便宜吧

实验室里的,TDS1002,,不知道多少钱呀

使用特权

评论回复
14
xch| | 2019-4-24 22:31 | 只看该作者
RCC clock configuration register (RCC_CFGR) 这个你配置啥参数?
你怎么确定PLL配置输出168mhz?

使用特权

评论回复
15
eydj2008| | 2019-4-25 08:15 | 只看该作者
这是要做图传的节奏

使用特权

评论回复
16
xch| | 2019-4-25 09:14 | 只看该作者
MCO2输出sysclk/5 看看。

使用特权

评论回复
17
parameters| | 2019-4-26 14:32 | 只看该作者
配置没有弄好吧。

使用特权

评论回复
18
hanzhen654| | 2019-4-29 09:40 | 只看该作者
原来你在这里 发表于 2019-4-24 21:02
我也在考虑还是跑个21M算了,然后优化下程序,看能不能实现7.800K的样子

可以尝试下,这个简单多了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

9

帖子

0

粉丝