微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 关于FPGA的TEMAC接收数据包长度有异常的疑问

关于FPGA的TEMAC接收数据包长度有异常的疑问

时间:10-02 整理:3721RD 点击:
诸工好,
     我目前遇到一个奇怪的问题,我的电路设计中网络处理器与FPGA是千兆serdes对接的,整个数据流向是网络处理器网络口收包,经过简单处理后(不会改变包长)通过GE口发给FPGA,FPGA再做处理后通过GE口发出,当网络处理器发出的数据包长度超过210时,FPGA发出的包长都变成了210,而我在FPGA GE serdes入口处就抓出TEMAC的接收数据有效信号的长度就为206(4字节的CRC被去掉了),而在网络处理器侧用命令查看GE口的发送数据包统计时,发现有长度超过210的数据包发出,感觉两边都可以撇清问题,我在网络处理器的原厂demo板上试验了一下,原厂demo板时网络口收包处理后直接通过GE口连光模块发出,我用N2X抓到的包长有超过210的,小弟不才,请大家帮忙看看这是什么问题?

还有一个现象,网络处理器同时向FPGA发送64字节和300字节的包,64字节包能正常接收,而且TEMAC的goodframe信号也有,但是300字节包只收到206字节,且没有goodframe信号,请问这个goodframe信号是如何判定的?跟链路质量有关?

和你的MTU值有关。



     能稍微说的具体点吗?我FPGA调用了两次TEMAC的核,一个和网络处理器互联,一个和光模块互联,与光模块互联的我测试过,可以接收长包的,但是和网络处理器互联的就不能。

googd frame 和CRC的校验有关,当一个包全部接收之后一段时间才给出指示。不知道你抓的包什么地方抓的,serdes输出的8bit数据中最大长度就是210,还是MAC输出的只有210?



    我是直接拉测试线用逻辑分析仪抓的,MAC输出就是206字节。

你用的哪个公司的TEMAC?

听着像xilinx的MAC。呵呵。提供两个思路:第一,确定包长限值是否正确(即MTU值)?第二,看看你的网络处理器收到报文是否正确?



    你好,我现在用TEMAC发送数据,为什么物理接口MII中的emacphytxd(emacphytxd), // output [3 : 0] emacphytxd
.emacphytxen(emacphytxen), // output emacphytxen
.emacphytxer(emacphytxer)是未知态?PS,在用户端我是按照数据手册上的时序发送数据的。


googd frame 和CRC的校验有关

你好,请问你的问题解决了吗?能不能指点一下,qq2294751988,不甚感激!

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top