搜索
bottom↓
回复: 9

(求助)关于以太网发送总是被丢包

[复制链接]

出0入0汤圆

发表于 2012-5-11 15:23:17 | 显示全部楼层 |阅读模式
发送顺序如下:
1,发送前导码8BYTE(1010....11)
2, 发送目标地址6BYTE,用广播方式发,则为48个1(“1111...1”)
3,发送源地址6BYTE,这个不清楚,48个1或48个0好像都不对的
4,发送数据长度2BYTE,192个数据则为0X00C0
5,发送192BYTE的数据
6, CRC,没有做校验

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

 楼主| 发表于 2012-5-11 15:26:40 | 显示全部楼层
用wireshark抓也抓不到的

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2012-5-11 15:36:24 | 显示全部楼层
没CRC不行

出0入0汤圆

 楼主| 发表于 2012-5-11 15:51:44 | 显示全部楼层
谢谢,做个CRC进去试试

出0入0汤圆

 楼主| 发表于 2012-5-14 08:20:18 | 显示全部楼层
哪位高人有相关教材指导一下,或相关文章的链接

出0入0汤圆

发表于 2012-5-14 09:09:00 | 显示全部楼层
LZ上代码啊,想求助,又不上代码。。。

出0入0汤圆

发表于 2012-5-14 10:54:08 | 显示全部楼层
是不是接收方mac的crc校验打开了?

出0入0汤圆

 楼主| 发表于 2012-5-14 10:55:03 | 显示全部楼层


when 3 =>if(head_cnt = 7)then-----------发送前导码(占用8个BYTE)                               
            ddio_h <= "1011"; ----0XD5
            ddio_l <= "1010";
            head_cnt := 0;
            sta := 4;                                         
         else
            ddio_h <= "1010"; ----0X55
            ddio_l <= "1010";
            head_cnt := head_cnt + 1;
        end if;
  when 4 =>           --发送目标地址(占用6个BYTE)(广播方式发送)
            if(da_cnt = 5)then
               ddio_h <= "1111";
               ddio_l <= "1111";
               sta := 5;
               da_cnt := 0;
            else
               ddio_h <= "1111";
               ddio_l <= "1111";
               da_cnt := da_cnt + 1;
            end if;
  when 5 =>           --发送源地址(占用6个BYTE)(??不确定是不是全0)
            if(da_cnt = 5)then
                ddio_h <= "0000";
                ddio_l <= "0000";
                sta := 6;
                sa_cnt := 0;
            else
                ddio_h <= "0000";
                ddio_l <= "0000";
                sa_cnt := sa_cnt + 1;
            end if;
        when 6 => ddio_h <= "1100";----发送数据长度(占用2个BYTE),64*3=192
                  ddio_l <= "0000";
                                 sta := 7;
        when 7 => ddio_h <= "0000";
                  ddio_l <= "0000";
                                 sta := 8;
            
       when 8 =>  sta := 9;  ----发送模拟数据        
                  ddio_h <= "1100";
                  ddio_l <= "1100";                               
  when 9 =>       sta := 10;----发送模拟数据
                  ddio_h <= "1100";
                  ddio_l <= "1100";
  when 10 =>          ddio_h <= "1100";----发送模拟数据
                  ddio_l <= "1100";
                if(col_cnt = 63)then
                   col_cnt := 0 ;
                   if(row_cnt = 63)then
                      row_cnt := 0 ;
                      sta := 12;
                      p0tx_ctl <= '0';
                      p1tx_ctl <= '0';
                   else
                      row_cnt := row_cnt + 1;
                      sta := 3;
                   end if;       
                else
                 col_cnt := col_cnt + 1;
                 sta := 8;
               end if;
  when 11|12=> null;
           ddio_h <= "0000";
           ddio_l <= "0000";       
                         sram_rd_addr <="000000000000";
  when others => null;       

出0入0汤圆

 楼主| 发表于 2012-5-14 13:47:03 | 显示全部楼层
wodish 发表于 2012-5-14 10:54
是不是接收方mac的crc校验打开了?

现在是接收方的PHY芯片,测不到数据及使能信号,估计发送方没做CRC,所以数据被屏了

出0入0汤圆

发表于 2012-5-14 14:56:34 | 显示全部楼层
STUDY123 发表于 2012-5-14 13:47
现在是接收方的PHY芯片,测不到数据及使能信号,估计发送方没做CRC,所以数据被屏了 ...

很有可能 发送方的芯片应该是要配置一下 让他不要去管crc或者自己在算一次crc
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-24 09:33

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表