【ZYNQ 开发】填坑!双核数据采集系统LWIP TCP发送,运行一段时间不再发送且无法ping通的问题解决

问题描述

之所以说是填坑,是因为之前写了一篇关于这个双核数据采集系统的调试记录,问题的具体表现是系统会在运行一段时间后(随机不定时,长了可能将近两小时,短则几分钟),突然间就不向电脑发送数据了 ,用wireshark抓取的话,也是发完最后一包后,又开始ARP的广播了,并且ping不通板子 ,但是两个核都还在正常运行,可以打印出相应的信息,并没有卡死在某个地方。

问题的解决

直接说结论!是PL端的时序问题导致的,当时在做模拟数据时,因为PL部分是另一个人写的,当时还没有想着优化时序问题,当时也是想当然觉得PL的时序应该怎么都影响不到PS端的网络连接,但现实狠狠地打了我的脸。

修改前的时序:

修改后的时序:

当然时序的优化不是我做的,具体怎么做我不太清楚,有需要的可以自行百度查询。但结果就是把这个时序优化后,PS端的网络就不会断了,目前最长测试了16个小时,没有问题。

一些启发

ZYNQ毕竟还是FPGA的结合体,虽然更多的认为PL是PS的"外设",但一定不要忘了两者是会相互影响的,做PS端的人出现了诡异的问题,不妨也换个角度,质疑一下是不是PL的一些东西导致的,而不是自己在内耗,不要像我一样,白白浪费了两个月。

相关推荐
qq_479875431 小时前
C++ 网络编程中的 Protobuf 消息分发 (Dispatcher) 设计模式
网络·c++·设计模式
Tandy12356_1 小时前
手写TCP/IP协议——IP层输出处理
c语言·网络·c++·tcp/ip·计算机网络
luoganttcc1 小时前
tcp 三次 握手
网络·网络协议·tcp/ip
土星云SaturnCloud8 小时前
不止是替代:从机械风扇的可靠性困局,看服务器散热技术新范式
服务器·网络·人工智能·ai
liulilittle8 小时前
C++ 浮点数封装。
linux·服务器·开发语言·前端·网络·数据库·c++
lang201509288 小时前
Sentinel核心机制:Context与EntranceNode解析
网络·sentinel
chuxinweihui8 小时前
数据链路层
运维·服务器·网络
Molesidy8 小时前
【Embedded Development】【bootloader】基于MCU的bootloader详细介绍以及基于MCU串口的IAP实战详细教程
单片机·嵌入式硬件·bootloader
qq_251533598 小时前
使用 Python 提取 MAC 地址
网络·python·macos
aFakeProgramer9 小时前
Linux 启动流程
网络