(求助)关于以太网发送总是被丢包
发送顺序如下:1,发送前导码8BYTE(1010....11)
2, 发送目标地址6BYTE,用广播方式发,则为48个1(“1111...1”)
3,发送源地址6BYTE,这个不清楚,48个1或48个0好像都不对的
4,发送数据长度2BYTE,192个数据则为0X00C0
5,发送192BYTE的数据
6, CRC,没有做校验 用wireshark抓也抓不到的 没CRC不行 谢谢,做个CRC进去试试 哪位高人有相关教材指导一下,或相关文章的链接 LZ上代码啊,想求助,又不上代码。。。 是不是接收方mac的crc校验打开了?
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; wodish 发表于 2012-5-14 10:54 static/image/common/back.gif
是不是接收方mac的crc校验打开了?
现在是接收方的PHY芯片,测不到数据及使能信号,估计发送方没做CRC,所以数据被屏了 STUDY123 发表于 2012-5-14 13:47 static/image/common/back.gif
现在是接收方的PHY芯片,测不到数据及使能信号,估计发送方没做CRC,所以数据被屏了 ...
很有可能 发送方的芯片应该是要配置一下 让他不要去管crc或者自己在算一次crc
页:
[1]