[求助] stm32F429 接W5500 使用SPI的问题求助

麻袋   2022-11-15 19:29 楼主

使用stm32f429 的SPI5接W5500,调用了SPI5的DMA通道

设置为服务器,PC为客户端。

程序使用的是官方下载的驱动,修改了一下驱动,支持DMA。

配置上,SPI的配置都是cubemx的默认配置,4分频(22.5M),所有SPI引脚无上下拉,速度等级都是最快。DMA是正常模式(非循环模式)。

 

服务器能够被客户端连接上,收发几十个字节的数据没太观察到有问题,能读写寄存器等。

 

PC按照协议,发送一个文件给服务器存储,发送一帧数据,服务器返回一帧ACK,逐条发送。在这个过程中,出现了问题,经过示波器抓取波形,如下所示

红色是MOSI,黄色是MISO,绿色是CLK,蓝色是我的一个触发信号。

出现的问题是,在MISO的长的电平区域,是MCU在读取W5500的缓存数据,MISO应该输出,但是这个时候,并没有输出,而且该电平也不是低电平,是一个中间电平,而MOSI也是中间电平,拉不低。 scope_1616.bmp

尝试过在软件中配置引脚为上拉和下拉,也是没有用,现象一样。

检查程序中,也没有别的地方对SPI5的这几个引脚有配置。而且我使用TCP调试工具下发,随机的选择了一帧数据,依旧是在第59帧的时候出现这个现象。但是并不会全部都会是这一帧。

 

跳线,使用SPI3的引脚,跳线到该W5500上,并没有出现该现象。

手里几个板子都是同一个现象,请问F429的SPI5是会有什么问题吗?

回复评论 (14)

检查供电电压是否符合标准值
与W5500建立连接的客户端或服务器检测到发送的数据为非法的就自行断开,

建议先用网络调试助手确认发送数据是否为非法的。

点赞  2022-11-16 07:33

也没有断开连接,读取这1050个字节后,再去读写寄存器,返回的值,又是正确的,继续发下一帧,也能读取出来。   从wireshark抓包来看,下发的数据也是正确的。

抓过这个时刻的W5500的电压,纹波也比较小,没有突变

点赞  2022-11-16 09:22

4楼 nmg 

在咱们测评群里分享了你的问题,我搬运下2个群友们给的建议供参考:

1、spi最好是使用前两个,鬼知道后面几个是不是有啥bug,一般情况下PA4-PA7不要接别的元器件,预留给SPI用,我甚至遇到过SPI2跟串口3的DMA接收起冲突...ST的东西,最好是别整花活,不然排查问题影响效率,串口和SPI都用前两个,I2C用第一个,PB6 PB7

2、我怀疑是DMA冲突~

 

点赞 (1) 2022-11-16 16:34
引用: nmg 发表于 2022-11-16 16:34 在咱们测评群里分享了你的问题,我搬运下2个群友们给的建议供参考: 1、spi最好是使用前两个,鬼知道后 ...

问题找到了,是开发板上面有一个SPI FLASH 就是用的这个4个引脚,存在竞争了,当时布板的时候,没有注意开发板上的IO

点赞 (2) 2022-11-16 19:10

6楼 nmg 

麻袋 发表于 2022-11-16 19:10 问题找到了,是开发板上面有一个SPI FLASH 就是用的这个4个引脚,存在竞争了,当时布板的时候,没有注意 ...

这错误好难,咋排查出来的

点赞  2022-11-17 11:04
nmg 发表于 2022-11-17 11:04 这错误好难,咋排查出来的

有个同事提了一下,一查核心板,果然有IC。开始一直都是检测的我们自己的源代码,SCH和PCB,总查不出来。还是自己疏忽了。

点赞  2022-11-17 11:16
nmg 发表于 2022-11-17 11:04 这错误好难,咋排查出来的

因为不是一直错,数据收发大部分都对,检查了好久的程序。 可能在某一些数据帧的情况下,刚好就碰到了这个SPI FLASH的某一些命令IC。

点赞 (1) 2022-11-17 11:18
提示: 作者被禁止或删除 内容自动屏蔽
点赞  2022-11-30 15:32

厉害,向大佬学习了

刚下的淘宝订单里就有W5500模块开发板,希望我能早日学到这一块儿

点赞  2022-12-1 16:37
引用: starcat123 发表于 2022-12-1 16:37 厉害,向大佬学习了 刚下的淘宝订单里就有W5500模块开发板,希望我能早日学到这一块儿

加油加油

点赞  2022-12-5 13:17

429还是自带的以太网好,挂个w5500没那么爽。

WIZnet 出了个w5500  w7500就没再搞新的了。也不知道什么原因。按理w7500扩展一下内存什么的应用会更广一点。

反倒是国内做的越来越好。

本帖最后由 damiaa 于 2022-12-15 10:15 编辑
点赞  2022-12-15 10:12
引用: damiaa 发表于 2022-12-15 10:12 429还是自带的以太网好,挂个w5500没那么爽。 WIZnet 出了个w5500  w7500就没再搞新的了。也不知道 ...

嗯,我们有个需求是4个网口,所以还是必须要外挂

点赞  2022-12-19 13:38
引用: 麻袋 发表于 2022-12-19 13:38 嗯,我们有个需求是4个网口,所以还是必须要外挂

你好,最近也在搞f429dma w5500,能否分享一份软件参考,万分感谢


点赞  2023-11-12 22:55
引用: W1234w 发表于 2023-11-12 22:55 你好,最近也在搞f429dma w5500,能否分享一份软件参考,万分感谢

没有对公司程序进行精简了,不好意思。 不过这个都不是很难,当时两个SPI DMA都出来了,另外一路只是偶然有问题,才排查了好久。

点赞  2023-11-13 11:00
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复