表现为发送过程中,发送DMA逻辑假死

1:明明已经屏蔽了巨型帧接收,但是总是会收到巨型帧2:一段时间后就会出现接收上溢出,然后无法接收数据,怎么都不接收,表现为内部DMA逻辑假死,比如停在 运行中,正在获取接收传输描述符  或者 运行中,正在关闭接收描述符

老是收到巨型帧,根本没法屏蔽,然后就是假死 可以通过DMASTSR寄存器观察到, RSTS 要么=1 运行中,正在获取接收描述符  要么就是5 运行中,正在关闭接收描述符,由于无法获取到接收描述符(可以确定接收描述符都是正常的,就算不正常,也应该马上进入 停止状态)

最后就会导致 接收下溢出,不停的下溢出,而且通过观察溢出计数器,发现,溢出计数器会是不是复位

拔掉网线后,溢出计数器不再变化,就是接收过程容易卡在  获取描述符  或 关闭描述符  这2个内部逻辑上

翻了一下STM32F4系列的以太网,发现一个细节,要求AHB时钟必须在25MHz以上,然后我记得之前用SDIO也出现过芯片逻辑错误,仔细寻找手册,发现是PCLK1必须为HCLK的 1/2 ,同时测试发现必须将ECLK 设置为HCLK 1/2才正常的,然后尝试提高主频到100MHz,PCLK1=50MHz 2个问题就都没了;

ETH时钟由PCLK1提供的

稳定接收了很长时间了,也没有巨帧,是时钟给低了,内部同步问题,刚刚给了64MHZ 32MHz是不行的,RMII接口时钟是50MHz, 32MH不够,由于使用了SDIO 或以太网 意味着HCLK必须大于PCLK1,所以使用RMII接口以太网,HCLK至少工作在100MHz, 然后2分频,给PCLK1 提供50MHz。

折腾了一天,接收问题算是解决了,然后今天又遇到发送问题;

通过这两天的测试,发现如果只开启接收,那么时钟最少是100MHz,PCLK1 50MHz,但是如果开启了发送,则依旧会出现内部逻辑问题,表现为发送几条后,出现发送下溢出,然后发送逻辑卡在 发送运行中,正在等待状态 也就是TSTS=2;将时钟提高到120MHz PCLK1:60MHz后即可解决,也就是开启以太网后,HCLK必须大于100MHz,PCLK1必须大于50MHz,不能等,是大于;

使用110MHz PCLK1:55MHz测试20分钟,依旧稳定;

总结一下:使用HC32F4A0以太网,PCLK1时钟必须大于50MHz,否则会出现各种硬件逻辑故障;

HC32F4A0 以太网调试问题(测试发现各种逻辑问题)相关推荐

  1. cfree运行程序错误的原因_Python入门教程 | 第 8 章 错误、调试和测试

    第八章 错误.调试和测试 在程序运行过程中,总会遇到各种各样的错误. 有的错误是程序编写有问题造成的,比如本来应该输出整数结果输出了字符串,这种错误我们通常称之为bug,bug是必须修复的. 有的错误 ...

  2. 硬件测试含软件调试,硬件调试与测试规范.doc

    第 PAGE i页 硬件调试与测试规范 目录 TOC \o "1-3" \h \z 前言 3 1参考标准 3 2适用范围 3 3硬件调试与测试规范 3 3.1硬件测试流程细则 3 ...

  3. Nginx 附录C 模块编译,调试与测试

    Nginx 附录C 模块编译,调试与测试 C.1 编译与安装 环境要求 操作系统:目前Nginx各版本在以下操作系统和平台测试通过: FreeBSD 3 - 10 / i386; FreeBSD 5 ...

  4. 并行程序调试、测试与模型检测

    并行程序调试.测试与模型检测 并行程序调试的挑战: 1.由于不能确定不同线程的执行顺序,导致可能的执行路径发生组合爆炸: 2.使用模型检验程序正确性能以应用到分布式系统上. 名词解释 确定性重放:通过 ...

  5. 【车载以太网】【测试】架构及测试工具

    什么是车载以太网 随着近年汽车电子的快速发展,车内ECU数量的持续增加,带宽需求也随之不断增长.对此,汽车制造商的电子系统.线束系统等成本也在提高.而相比于传统总线技术,车载以太网不仅可以满足汽车制造 ...

  6. 以太网开发与测试,这一步你做对了吗 (3)

    前言: 各位工程师大家好,好久不见. 今年疫情反反复复,各位工程师在工作和抗疫的角色转换中是否给自己留些时间抽空充充电呢? 提到车载以太网,早已经不是新鲜词汇了,很多工程师在进入汽车电子领域都是从CA ...

  7. 正确理解以下名词及其含义1源程序,目标程序,可执行程序2程序编辑,程序编译,程序连接3程序,程序模块,程序文件4函数,主函数,被调用函数,库函数5程序调试,程序测试

    正确理解以下名词及其含义: (1)源程序,目标程序,可执行程序. 源程序:指未编译的按照一定的程序设计语言规范书写的文本文件,是一系列人类可读的计算机语言指令目标程序:为源程序经编译可直接被计算机运行 ...

  8. 奥比中光大白(3D结构光)摄像头测试发现对着灯光过曝问题

    测试发现右边机器摄像头有过曝问题(右边的机器).左边的是其他设备正常的效果,经确认了,是摄像头前面镜片问题,目前镜片材质为亚克力,用TP(玻璃)挡在前面测试了,效果可正常,接下来镜片材质改为玻璃就可解 ...

  9. RabbitMQ调试与测试工具-v1.0.1 -提供下载测试与使用

    最近几天在看RabbitMQ,所以发了两天时间写了一个调试和测试工具.方便使用. 下载地址:RabbitMQTool-V1.0.1.zip 转载于:https://www.cnblogs.com/at ...

最新文章

  1. 再谈PowerPoint 2010导出幻灯片为图片
  2. crm系统是什么很棒ec实力_CRM系统都有哪些功能?CRM管理系统的主要用途又是什么?...
  3. Android-ConvenientBanner轻松实现广告头效果
  4. 笔记-项目质量管理-复习要点
  5. node-webkit File Dialog
  6. 用JavaScript往DIV动态添加内容
  7. linux 恢复与暂停进程
  8. HTML5——用a标签在当前网页跳转和打开新页面再跳转
  9. 【时间序列预测】基于matlab RBF神经网络时间序列预测【含Matlab源码 1336期】
  10. 用Form 表单认证实现单点登录(Single Sign On) 作者:寒羽枫(cityhunter172)
  11. 下城投 × 奇点云 |「数智城投驾驶舱」,打造转型示范新样板
  12. 如何用命令行运行可执行程序.exe
  13. 俄罗斯方块解析全过程
  14. 阿里巴巴云连接池durid数据库密码加密
  15. 积分无法积,用估值后再使用连续函数介值定理_20160430
  16. JVM知识梳理(二)之垃圾收集器与内存分配策略
  17. 拼团系统开发的亮点与核心功能
  18. url传递参数时,设置参数可以传值为空
  19. php.ini配置文件中文详细解释
  20. Linux超级用户的提示符是,【判断题】Linux超级用户登录后的提示符是 $ ,普通用户登录后的提示符是 #...

热门文章

  1. python中ddt的安装使用
  2. 英特尔 CPU 惊天漏洞事件完全详解
  3. 真正的爱是关掉WiFi
  4. 如何理解科技巨头争相涌入的车路协同?
  5. BBC iPlayer Downloads for Mac(英剧下载器)
  6. win10计算机管理的作用,Win10新功能的详细介绍
  7. node readFile 和writeFile
  8. AirFlow调度执行Talend ETL任务
  9. 宏基因组有参分析和无参分析差异
  10. 挣值管理EVM详细解释及应用,实例讲解