DM9000AEP 在U-BOOT中能识别ID但PING不通主机

bravegen 2012-10-21 01:03:26
我参照utu2440开发板做的板子,网络部分是DM9000AEP+HS9016网络变压器+RJ45 LED插座,在U-BOOT中能识别DM9000AEP的ID,RJ45插座的灯也闪,但PING不通主机,用抓包工具可以抓到DM9000AEP发出到主机的ARP包,但DM9000AEP收不到主机返回的应答包,所以PING不通,也不能TFTP,我跟踪进U-BOOT源码,driver/net/dm9000x.c中的eth_rx函数中:
/* Check packet ready or not, we must check
the ISR status first for DM9000A */
if (!(DM9000_ior(DM9000_ISR) & 0x01)) /* Rx-ISR bit must be set. */
return 0;
加了打印后发现eth_rx每次都是在这里返回,ISR(接收中断寄存器)始终置不了位,路过的帮忙指点下
...全文
568 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
ic12580 2012-11-28
  • 打赏
  • 举报
回复
我QQ,1173835224,需要原厂标准设计的,加我一下。我发给你
ic12580 2012-11-28
  • 打赏
  • 举报
回复
那位1029NC批次的同志,原厂是没有这个批次的。你懂的
梦溪求索 2012-11-25
  • 打赏
  • 举报
回复
我也遇到这个问题
teaco2007 2012-11-20
  • 打赏
  • 举报
回复
1. 电源的处理: 芯片的23,30,42管脚为3.3V供电端,每一个管脚尽可能的要加两个退耦电容(10uF电容和0.1uF的电容),而且要靠近电源焊盘。 2.差分线对的处理: 这是最重要的一个地方,芯片出来的RX+/TX+,RX-/TX-为差分线对(千万别走成RX+/RX-和TX+/TX-,否则你就哭去吧),应该优先布差分线,保持平行,等长,紧靠,避免交叉。避免差分线周围走其他信号线,而且差分线要包地,包地的周围隔一段距离就要打地孔。这两组差分线布线的好坏,严重的影响网卡的工作。 3.信号线的处理: 16位数据线尽量保持等长走线,数据线要和其他信号线(如电源线)之间用地隔离,防止干扰 4. 终端电阻: 也就是连接在收发线上的50欧电阻,要尽量靠近芯片的RX/TX脚 5.模拟地的处理: 网络变压器的AGND(第8脚)通过一个0.1uF的电容和GND相连 网络变压器中心抽头,AVDD和AGND之间放一个0.1uF的退耦电容,电容尽量靠近中心抽头 6. BandGap电阻 连接在芯片第1脚的6.8k电阻,要使用1%精度的,尽量靠近芯片管脚,在此附近不要走其他高速信号线 7.网络变压器和RJ45端子 网络变压器尽量靠近RJ45端子,我使用的集成网络变压器的RJ45端子。在网络变压器和RJ45端子下面,网络接口布线区域中避免走其他信号线 8. 铺铜处理: 这也是一个重点,通常网络变压器和RJ45端子网络接口布线区域范围内,不允许铺任何地平面或电源平面,板的正面背面都如此,要用keepout将这段区域保护起来 基本上遵守上面这几点布线,就可以使网卡稳定工作了 -------------- 我是看了这篇后,基本按照以上提示布线的,原来我的16数据线离核心板比较远,后来我放近,尽量长度差得不是很大。差分线对应该要保证一下,如果到网口线很短,大概不做到也行,我也不是很有经验。 我顺便请教一下,你“设置dm9000为10M模式”是怎么设置的?如果有空麻烦告知一下。
bravegen 2012-11-19
  • 打赏
  • 举报
回复
引用 9 楼 teaco2007 的回复:
不好意思,好久没上来,我原来图和扬创的是一样的,如果要明天到单位可发给你
能不能加Q聊,我QQ是841466820,你是怎么重新布线的,有哪些需要注意的地方
teaco2007 2012-11-18
  • 打赏
  • 举报
回复
不好意思,好久没上来,我原来图和扬创的是一样的,如果要明天到单位可发给你
bravegen 2012-11-08
  • 打赏
  • 举报
回复
引用 7 楼 bravegen 的回复:
引用 6 楼 teaco2007 的回复: 不知LZ后来怎样了,我后来换了芯片,重新布线之后,功能基本正常了。 能不能把你的DM9000部分原理图发给我参考一下,我设置dm9000为10M模式还是不行,因此怀疑是原理图部分有问题
我的邮箱是841466820@qq.com
bravegen 2012-11-08
  • 打赏
  • 举报
回复
引用 6 楼 teaco2007 的回复:
不知LZ后来怎样了,我后来换了芯片,重新布线之后,功能基本正常了。
能不能把你的DM9000部分原理图发给我参考一下,我设置dm9000为10M模式还是不行,因此怀疑是原理图部分有问题
teaco2007 2012-11-06
  • 打赏
  • 举报
回复
不知LZ后来怎样了,我后来换了芯片,重新布线之后,功能基本正常了。
teaco2007 2012-10-24
  • 打赏
  • 举报
回复
想问问楼主你用芯片批号是多少的?我的是1029NC,也是ping 不通,PC机已经看到它发出的数据包了,网上说布线也关系很大。
qiantuaa 2012-10-24
  • 打赏
  • 举报
回复
估计是芯片问题
bravegen 2012-10-24
  • 打赏
  • 举报
回复
不是芯片问题,我把芯片焊到扬创的开发板上可以用[Quote=引用 3 楼 的回复:]
想问问楼主你用芯片批号是多少的?我的是1029NC,也是ping 不通,PC机已经看到它发出的数据包了,网上说布线也关系很大。
[/Quote]
teaco2007 2012-10-23
  • 打赏
  • 举报
回复
我也是相同的问题,问了芯片支持,说可能是我的芯片有问题,只能再进芯片调试。
bravegen 2012-10-23
  • 打赏
  • 举报
回复
我怀疑是芯片有问题,换了芯片后板子每次重启可以PING通一两次,之后再PING就像死机了,偶尔PING通时能收到ARP和ICMP应答,但不能TFTP下载BIN文件,量了49.9欧电阻都是好的,我怀疑是不是板子布线有问题,我用的自动布线,没有走差分线等长布线,会不会是这个原因?
内容概要:本文围绕基于Basisformer模型的时间序列锂离子电池SOC(State of Charge,荷电状态)预测展开研究,利用PyTorch框架实现深度学习模型的构建与训练。通过将历史充放电数据作为输入,Basisformer能够有效捕捉电池状态的动态变化特征,提升SOC预测精度。文中详细介绍了模型结构设计、数据预处理流程、训练策略及实验结果分析,并与传统方法进行对比,验证了该方法在复杂工况下的优越性与鲁棒性。该研究不仅展示了Basisformer在时序建模中的潜力,也为电池管理系统提供了高精度的状态估计解决方案。; 适合人群:具备一定Python编程基础和深度学习理论知识,熟悉PyTorch框架,从事电池管理系统、新能源汽车或智能预测方向研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①应用于电动汽车、储能系统等领域的电池SOC高精度实时估算;②为电池健康管理(BMS)提供可靠的状态输入;③推动深度学习在时间序列预测中的实际落地,提升现有预测模型的泛化能力与稳定性; 阅读建议:建议读者结合标题为【锂电池SOC估计】【PyTorch】基于Basisformer时间序列锂离子电池SOC预测研究(python代码实现)的资源,重点研读所提供的Python代码,深入理解数据处理方式与模型网络结构的设计思路,尝试调整超参数以观察对预测性能的影响,从而全面掌握Basisformer在时序建模中的优势、适用边界及工程化实现路径。

6,171

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 硬件设计
社区管理员
  • 硬件设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧