TI中文支持网
TI专业的中文技术问题搜集分享网站

6678上88E1111,SGMII自协商失败,着急啊!

Other Parts Discussed in Thread:CDCE62005

大家好!

             最近做了块6678的板子,PHY部分是按照EVM设计的,基本一模一样,唯一不一样的是88E1111的核电压由EVM上的1.2V改成1.0V。

经过测试,电压1.0V和2.5V都正确。

PHY_RST#也是已经拉高3V3(和EVM一致)。

88E1111的XTAL晶振用示波器测量也是有电压的(看不见频率,EVM也是这样,可能是因为示波器的表笔接触后,负载电容变化的原因)

下面是实验结果:

       1>使用MCSDK中helloworld_evm6678l。自协商失败。结果如下图1:

为什么自协商会失败呢?

2>在本论坛:www.deyisupport.com/…/47664.aspx

下载测试了GE这个例子GE_Test_Data_Path test_data_path= GE_TEST_SERDES_LOOPBACK;  这个应该是通过了,打印信息如下:

[C66xx_0] Initialize DSP main clock = 100.00MHz/1×10 = 1000MHz
Initialize PASS clock = 100.00MHzx21/2 = 1050.000MHz
Initialize DDR speed = 66.67MHzx20/1 = 1333.333MTS
Enable Exception handling…
GE 1000M fullduplex internal SERDES loopback test…
GE transfer from 0x820c0000 to 0x820c2800, 1 packets x 64 bytes, 7409 cycles, 69 Mbps
GE transfer from 0x820c2800 to 0x820c5000, 1 packets x 128 bytes, 9405 cycles, 108 Mbps
GE transfer from 0x820c5000 to 0x820c7800, 1 packets x 256 bytes, 13011 cycles, 157 Mbps
GE transfer from 0x820c7800 to 0x820ca000, 1 packets x 512 bytes, 20007 cycles, 204 Mbps
GE transfer from 0x820ca000 to 0x820cc800, 1 packets x 1024 bytes, 33609 cycles, 243 Mbps
GE transfer from 0x820cc800 to 0x820cf000, 1 packets x 2048 bytes, 60605 cycles, 270 Mbps
GE transfer from 0x820cf000 to 0x820d1800, 1 packets x 4096 bytes, 114233 cycles, 286 Mbps
GE transfer from 0x820d1800 to 0x820d4000, 1 packets x 8192 bytes, 221133 cycles, 296 Mbps
GE transfer from 0x820d4000 to 0x c018000, 1 packets x 64 bytes, 7749 cycles, 66 Mbps
GE transfer from 0x820d6800 to 0x c018000, 1 packets x 128 bytes, 9487 cycles, 107 Mbps
GE transfer from 0x820d9000 to 0x c018000, 1 packets x 256 bytes, 12987 cycles, 157 Mbps
GE transfer from 0x820db800 to 0x c018000, 1 packets x 512 bytes, 19739 cycles, 207 Mbps
GE transfer from 0x820de000 to 0x c018000, 1 packets x 1024 bytes, 33775 cycles, 242 Mbps
GE transfer from 0x820e0800 to 0x c018000, 1 packets x 2048 bytes, 60593 cycles, 270 Mbps
GE transfer from 0x820e3000 to 0x c018000, 1 packets x 4096 bytes, 113991 cycles, 287 Mbps
GE transfer from 0x820e5800 to 0x c018000, 1 packets x 8192 bytes, 221357 cycles, 296 Mbps
GE transfer from 0x c018000 to 0x820e8000, 1 packets x 64 bytes, 7907 cycles, 64 Mbps
GE transfer from 0x c01a800 to 0x820e8000, 1 packets x 128 bytes, 9403 cycles, 108 Mbps
GE transfer from 0x c01d000 to 0x820e8000, 1 packets x 256 bytes, 13139 cycles, 155 Mbps
GE transfer from 0x c01f800 to 0x820e8000, 1 packets x 512 bytes, 20201 cycles, 202 Mbps
GE transfer from 0x c022000 to 0x820e8000, 1 packets x 1024 bytes, 33293 cycles, 246 Mbps
GE transfer from 0x c024800 to 0x820e8000, 1 packets x 2048 bytes, 59757 cycles, 274 Mbps
GE transfer from 0x c027000 to 0x820e8000, 1 packets x 4096 bytes, 113855 cycles, 287 Mbps
GE transfer from 0x c029800 to 0x820e8000, 1 packets x 8192 bytes, 221127 cycles, 296 Mbps
GE transfer from 0x c02c000 to 0x c02e800, 1 packets x 64 bytes, 7495 cycles, 68 Mbps
GE transfer from 0x c02e800 to 0x c031000, 1 packets x 128 bytes, 9266 cycles, 110 Mbps
GE transfer from 0x c031000 to 0x c033800, 1 packets x 256 bytes, 13426 cycles, 152 Mbps
GE transfer from 0x c033800 to 0x c036000, 1 packets x 512 bytes, 20112 cycles, 203 Mbps
GE transfer from 0x c036000 to 0x c038800, 1 packets x 1024 bytes, 33068 cycles, 247 Mbps
GE transfer from 0x c038800 to 0x c03b000, 1 packets x 2048 bytes, 60392 cycles, 271 Mbps
GE transfer from 0x c03b000 to 0x c03d800, 1 packets x 4096 bytes, 113990 cycles, 287 Mbps
GE transfer from 0x c03d800 to 0x c040000, 1 packets x 8192 bytes, 220934 cycles, 296 Mbps
GE transfer from 0x820ea800 to 0x820ef800, 2 packets x 64 bytes, 8780 cycles, 116 Mbps
GE transfer from 0x820ed000 to 0x820f4800, 2 packets x 128 bytes, 10700 cycles, 191 Mbps
GE transfer from 0x820f2000 to 0x820f9800, 2 packets x 256 bytes, 16032 cycles, 255 Mbps
GE transfer from 0x820f7000 to 0x820fe800, 2 packets x 512 bytes, 24361 cycles, 336 Mbps
GE transfer from 0x820fc000 to 0x82103800, 2 packets x 1024 bytes, 42445 cycles, 386 Mbps
GE transfer from 0x82101000 to 0x82108800, 2 packets x 2048 bytes, 77689 cycles, 421 Mbps
GE transfer from 0x82106000 to 0x8210d800, 2 packets x 4096 bytes, 149199 cycles, 439 Mbps
GE transfer from 0x8210b000 to 0x82112800, 2 packets x 8192 bytes, 290671 cycles, 450 Mbps
GE transfer from 0x82110000 to 0x c042800, 2 packets x 64 bytes, 7884 cycles, 129 Mbps
GE transfer from 0x82117800 to 0x c040000, 2 packets x 128 bytes, 10489 cycles, 195 Mbps
GE transfer from 0x8211c800 to 0x c042800, 2 packets x 256 bytes, 15584 cycles, 262 Mbps
GE transfer from 0x82121800 to 0x c040000, 2 packets x 512 bytes, 24801 cycles, 330 Mbps
GE transfer from 0x82126800 to 0x c042800, 2 packets x 1024 bytes, 42115 cycles, 389 Mbps
GE transfer from 0x8212b800 to 0x c040000, 2 packets x 2048 bytes, 78151 cycles, 419 Mbps
GE transfer from 0x82130800 to 0x c042800, 2 packets x 4096 bytes, 148771 cycles, 440 Mbps
GE transfer from 0x82135800 to 0x c040000, 2 packets x 8192 bytes, 290517 cycles, 451 Mbps
GE transfer from 0x c042800 to 0x8213a800, 2 packets x 64 bytes, 8829 cycles, 115 Mbps
GE transfer from 0x c047800 to 0x82138000, 2 packets x 128 bytes, 10775 cycles, 190 Mbps
GE transfer from 0x c04c800 to 0x8213a800, 2 packets x 256 bytes, 15414 cycles, 265 Mbps
GE transfer from 0x c051800 to 0x82138000, 2 packets x 512 bytes, 24592 cycles, 333 Mbps
GE transfer from 0x c056800 to 0x8213a800, 2 packets x 1024 bytes, 42138 cycles, 388 Mbps
GE transfer from 0x c05b800 to 0x82138000, 2 packets x 2048 bytes, 77448 cycles, 423 Mbps
GE transfer from 0x c060800 to 0x8213a800, 2 packets x 4096 bytes, 149124 cycles, 439 Mbps
GE transfer from 0x c065800 to 0x82138000, 2 packets x 8192 bytes, 290320 cycles, 451 Mbps
GE transfer from 0x c01a800 to 0x c01f800, 2 packets x 64 bytes, 8785 cycles, 116 Mbps
GE transfer from 0x c024800 to 0x c029800, 2 packets x 128 bytes, 11200 cycles, 182 Mbps
GE transfer from 0x c02e800 to 0x c033800, 2 packets x 256 bytes, 15689 cycles, 261 Mbps
GE transfer from 0x c038800 to 0x c03d800, 2 packets x 512 bytes, 24893 cycles, 329 Mbps
GE transfer from 0x c042800 to 0x c047800, 2 packets x 1024 bytes, 41781 cycles, 392 Mbps
GE transfer from 0x c04c800 to 0x c051800, 2 packets x 2048 bytes, 77553 cycles, 422 Mbps
GE transfer from 0x c056800 to 0x c05b800, 2 packets x 4096 bytes, 148595 cycles, 441 Mbps
GE transfer from 0x c060800 to 0x c065800, 2 packets x 8192 bytes, 291041 cycles, 450 Mbps
GE transfer from 0x8213f800 to 0x82149800, 4 packets x 64 bytes, 9765 cycles, 209 Mbps
GE transfer from 0x82142000 to 0x82153800, 4 packets x 128 bytes, 14099 cycles, 290 Mbps
GE transfer from 0x8214c000 to 0x8215d800, 4 packets x 256 bytes, 20744 cycles, 394 Mbps
GE transfer from 0x82156000 to 0x82167800, 4 packets x 512 bytes, 34101 cycles, 480 Mbps
GE transfer from 0x82160000 to 0x82171800, 4 packets x 1024 bytes, 60519 cycles, 541 Mbps
GE transfer from 0x8216a000 to 0x8217b800, 4 packets x 2048 bytes, 113437 cycles, 577 Mbps
GE transfer from 0x82174000 to 0x82185800, 4 packets x 4096 bytes, 219293 cycles, 597 Mbps
GE transfer from 0x8217e000 to 0x8218f800, 4 packets x 8192 bytes, 430163 cycles, 609 Mbps
GE transfer from 0x82188000 to 0x c01f800, 4 packets x 64 bytes, 10060 cycles, 203 Mbps
GE transfer from 0x82199800 to 0x c029800, 4 packets x 128 bytes, 13597 cycles, 301 Mbps
GE transfer from 0x821a3800 to 0x c033800, 4 packets x 256 bytes, 20776 cycles, 394 Mbps
GE transfer from 0x821ad800 to 0x c03d800, 4 packets x 512 bytes, 33709 cycles, 486 Mbps
GE transfer from 0x821b7800 to 0x c047800, 4 packets x 1024 bytes, 60127 cycles, 544 Mbps
GE transfer from 0x821c1800 to 0x c051800, 4 packets x 2048 bytes, 113635 cycles, 576 Mbps
GE transfer from 0x821cb800 to 0x c05b800, 4 packets x 4096 bytes, 219029 cycles, 598 Mbps
GE transfer from 0x821d5800 to 0x c065800, 4 packets x 8192 bytes, 429819 cycles, 609 Mbps
GE transfer from 0x c01f800 to 0x821df800, 4 packets x 64 bytes, 10623 cycles, 192 Mbps
GE transfer from 0x c029800 to 0x821d8000, 4 packets x 128 bytes, 13527 cycles, 302 Mbps
GE transfer from 0x c033800 to 0x821df800, 4 packets x 256 bytes, 20876 cycles, 392 Mbps
GE transfer from 0x c03d800 to 0x821d8000, 4 packets x 512 bytes, 33996 cycles, 481 Mbps
GE transfer from 0x c047800 to 0x821df800, 4 packets x 1024 bytes, 60300 cycles, 543 Mbps
GE transfer from 0x c051800 to 0x821d8000, 4 packets x 2048 bytes, 112818 cycles, 580 Mbps
GE transfer from 0x c05b800 to 0x821df800, 4 packets x 4096 bytes, 218970 cycles, 598 Mbps
GE transfer from 0x c065800 to 0x821d8000, 4 packets x 8192 bytes, 430342 cycles, 609 Mbps
GE transfer from 0x c01f800 to 0x c029800, 4 packets x 64 bytes, 9679 cycles, 211 Mbps
GE transfer from 0x c033800 to 0x c03d800, 4 packets x 128 bytes, 14004 cycles, 292 Mbps
GE transfer from 0x c047800 to 0x c051800, 4 packets x 256 bytes, 20521 cycles, 399 Mbps
GE transfer from 0x c05b800 to 0x c065800, 4 packets x 512 bytes, 34187 cycles, 479 Mbps
GE transfer from 0x c01f800 to 0x c029800, 4 packets x 1024 bytes, 60359 cycles, 542 Mbps
GE transfer from 0x c033800 to 0x c03d800, 4 packets x 2048 bytes, 112873 cycles, 580 Mbps
GE transfer from 0x c047800 to 0x c051800, 4 packets x 4096 bytes, 218283 cycles, 600 Mbps
GE transfer from 0x c05b800 to 0x c065800, 4 packets x 8192 bytes, 429607 cycles, 610 Mbps
GE transfer from 0x821e9800 to 0x821fd800, 8 packets x 64 bytes, 13701 cycles, 298 Mbps
GE transfer from 0x821ec000 to 0x82211800, 8 packets x 128 bytes, 19167 cycles, 427 Mbps
GE transfer from 0x82200000 to 0x82225800, 8 packets x 256 bytes, 31334 cycles, 522 Mbps
GE transfer from 0x82214000 to 0x82239800, 8 packets x 512 bytes, 52541 cycles, 623 Mbps
GE transfer from 0x82228000 to 0x8224d800, 8 packets x 1024 bytes, 96331 cycles, 680 Mbps
GE transfer from 0x8223c000 to 0x82261800, 8 packets x 2048 bytes, 184211 cycles, 711 Mbps
GE transfer from 0x82250000 to 0x82275800, 8 packets x 4096 bytes, 358715 cycles, 730 Mbps
GE transfer from 0x82264000 to 0x82289800, 8 packets x 8192 bytes, 709461 cycles, 738 Mbps
GE transfer from 0x82278000 to 0x c029800, 8 packets x 64 bytes, 13524 cycles, 302 Mbps
GE transfer from 0x8229d800 to 0x c03d800, 8 packets x 128 bytes, 19743 cycles, 414 Mbps
GE transfer from 0x822b1800 to 0x c051800, 8 packets x 256 bytes, 30526 cycles, 536 Mbps
GE transfer from 0x822c5800 to 0x c065800, 8 packets x 512 bytes, 52651 cycles, 622 Mbps
GE transfer from 0x822d9800 to 0x c029800, 8 packets x 1024 bytes, 96039 cycles, 682 Mbps
GE transfer from 0x822ed800 to 0x c03d800, 8 packets x 2048 bytes, 184261 cycles, 711 Mbps
GE transfer from 0x82301800 to 0x c051800, 8 packets x 4096 bytes, 359507 cycles, 729 Mbps
GE transfer from 0x82315800 to 0x c065800, 8 packets x 8192 bytes, 709087 cycles, 739 Mbps
GE transfer from 0x c029800 to 0x82329800, 8 packets x 64 bytes, 13183 cycles, 310 Mbps
GE transfer from 0x c03d800 to 0x82318000, 8 packets x 128 bytes, 19329 cycles, 423 Mbps
GE transfer from 0x c051800 to 0x82329800, 8 packets x 256 bytes, 30630 cycles, 534 Mbps
GE transfer from 0x c065800 to 0x82318000, 8 packets x 512 bytes, 52836 cycles, 620 Mbps
GE transfer from 0x c029800 to 0x82329800, 8 packets x 1024 bytes, 96080 cycles, 682 Mbps
GE transfer from 0x c03d800 to 0x82318000, 8 packets x 2048 bytes, 183772 cycles, 713 Mbps
GE transfer from 0x c051800 to 0x82329800, 8 packets x 4096 bytes, 359134 cycles, 729 Mbps
GE transfer from 0x c065800 to 0x82318000, 8 packets x 8192 bytes, 709450 cycles, 739 Mbps
GE transfer from 0x c029800 to 0x c03d800, 8 packets x 64 bytes, 13477 cycles, 303 Mbps
GE transfer from 0x c051800 to 0x c065800, 8 packets x 128 bytes, 19244 cycles, 425 Mbps
GE transfer from 0x c029800 to 0x c03d800, 8 packets x 256 bytes, 30691 cycles, 533 Mbps
GE transfer from 0x c051800 to 0x c065800, 8 packets x 512 bytes, 52141 cycles, 628 Mbps
GE transfer from 0x c029800 to 0x c03d800, 8 packets x 1024 bytes, 95989 cycles, 682 Mbps
GE transfer from 0x c051800 to 0x c065800, 8 packets x 2048 bytes, 184245 cycles, 711 Mbps
GE transfer from 0x c029800 to 0x c03d800, 8 packets x 4096 bytes, 358557 cycles, 731 Mbps
GE transfer from 0x c051800 to 0x c065800, 8 packets x 8192 bytes, 709389 cycles, 739 Mbps
GE transfer from 0x8233d800 to 0x820e5800, 16 packets x 64 bytes, 20379 cycles, 401 Mbps
GE transfer from 0x8210b000 to 0x82135800, 16 packets x 128 bytes, 30811 cycles, 531 Mbps
GE transfer from 0x82156000 to 0x8217e000, 16 packets x 256 bytes, 50854 cycles, 644 Mbps
GE transfer from 0x821ad800 to 0x821d5800, 16 packets x 512 bytes, 90723 cycles, 722 Mbps
GE transfer from 0x821ec000 to 0x82214000, 16 packets x 1024 bytes, 168377 cycles, 778 Mbps
GE transfer from 0x8223c000 to 0x82264000, 16 packets x 2048 bytes, 325839 cycles, 804 Mbps
GE transfer from 0x8229d800 to 0x822c5800, 16 packets x 4096 bytes, 639139 cycles, 820 Mbps
GE transfer from 0x822ed800 to 0x82315800, 16 packets x 8192 bytes, 1267343 cycles, 827 Mbps
GE transfer from 0x8233d800 to 0x c03d800, 16 packets x 64 bytes, 20316 cycles, 403 Mbps
GE transfer from 0x820e5800 to 0x c065800, 16 packets x 128 bytes, 31142 cycles, 526 Mbps
GE transfer from 0x8210b000 to 0x c03d800, 16 packets x 256 bytes, 51210 cycles, 639 Mbps
GE transfer from 0x82135800 to 0x c065800, 16 packets x 512 bytes, 90145 cycles, 727 Mbps
GE transfer from 0x82156000 to 0x c03d800, 16 packets x 1024 bytes, 168487 cycles, 777 Mbps
GE transfer from 0x8217e000 to 0x c065800, 16 packets x 2048 bytes, 325259 cycles, 805 Mbps
GE transfer from 0x821ad800 to 0x c03d800, 16 packets x 4096 bytes, 639001 cycles, 820 Mbps
GE transfer from 0x821d5800 to 0x c065800, 16 packets x 8192 bytes, 1267013 cycles, 827 Mbps
GE transfer from 0x c03d800 to 0x821ec000, 16 packets x 64 bytes, 21085 cycles, 388 Mbps
GE transfer from 0x c065800 to 0x82214000, 16 packets x 128 bytes, 30579 cycles, 535 Mbps
GE transfer from 0x c03d800 to 0x8223c000, 16 packets x 256 bytes, 50896 cycles, 643 Mbps
GE transfer from 0x c065800 to 0x82264000, 16 packets x 512 bytes, 89684 cycles, 730 Mbps
GE transfer from 0x c03d800 to 0x8229d800, 16 packets x 1024 bytes, 168882 cycles, 776 Mbps
GE transfer from 0x c065800 to 0x822c5800, 16 packets x 2048 bytes, 325282 cycles, 805 Mbps
GE transfer from 0x c03d800 to 0x822ed800, 16 packets x 4096 bytes, 639246 cycles, 820 Mbps
GE transfer from 0x c065800 to 0x82315800, 16 packets x 8192 bytes, 1267212 cycles, 827 Mbps
GE transfer from 0x c03d800 to 0x c065800, 16 packets x 64 bytes, 20909 cycles, 391 Mbps
GE transfer from 0x c03d800 to 0x c065800, 16 packets x 128 bytes, 30649 cycles, 534 Mbps
GE transfer from 0x c03d800 to 0x c065800, 16 packets x 256 bytes, 50714 cycles, 646 Mbps
GE transfer from 0x c03d800 to 0x c065800, 16 packets x 512 bytes, 89632 cycles, 731 Mbps
GE transfer from 0x c03d800 to 0x c065800, 16 packets x 1024 bytes, 168040 cycles, 780 Mbps
GE transfer from 0x c03d800 to 0x c065800, 16 packets x 2048 bytes, 325342 cycles, 805 Mbps
GE transfer from 0x c03d800 to 0x c065800, 16 packets x 4096 bytes, 638928 cycles, 820 Mbps
GE transfer from 0x c03d800 to 0x c065800, 16 packets x 8192 bytes, 1267427 cycles, 827 Mbps
Multiple ports test…
transfer 4 x 1500 bytes from SL2_HOST_SIZE1_FDQ (2049) to FLOW_TO_DDR (0)
transfer 4 x 46 bytes from DDR_HOST_SIZE1_FDQ (2059) to FLOW_TO_SL2 (1)
Transferred 6184 bytes with 84646 cycles, throughput= 584Mbps.
STATSA.RxGoodFrames =1000
STATSA.RxOctets =2047864
STATSA.TxGoodFrames =1000
STATSA.TxOctets =2047864
STATSA.Frame64 =8
STATSA.Frame65t127 =248
STATSA.Frame128t255 =248
STATSA.Frame256t511 =248
STATSA.Frame512t1023 =248
STATSA.Frame1024tUp =1000
STATSA.NetOctets =4095728
STATSB.RxGoodFrames =1000
STATSB.RxOctets =2047864
STATSB.TxGoodFrames =1000
STATSB.TxOctets =2047864
STATSB.Frame64 =8
STATSB.Frame65t127 =248
STATSB.Frame128t255 =248
STATSB.Frame256t511 =248
STATSB.Frame512t1023 =248
STATSB.Frame1024tUp =1000
STATSB.NetOctets =4095728
SGMII port 0 is in the idle state.
SGMII port 1 is in the idle state.
GE test complete.

求大家多指点,非常感谢!!!

miker wang:

你好,

1、EVM中的RESET并不是像你说的上拉,而是下拉到地的。这样上电后,只需要用FPGA拉高该引脚就能使88E1111产生复位,只有复位后,它才可以正常进行自协商。按照你的描述,RESET脚从上电就一直被拉高,所以如果你不通过FPGA把它先拉低再拉高是不能使芯片进行复位的,就算插上网线,也不会进行自协商,无法建立物理连接。这可能是你的问题所在。

2、Loopback不会经过phy,扩展到最外层也只能进行SERDES的回环,信号始终在DSP芯片内部。所以这个与phy芯片的工作是否正常没有任何关系。

,

heqiang yang:

您好!

      谢谢您的回复,

1、我刚才没说清楚,PHY_RST在上电是是低电平,我是在DSP  reset拉高以后才把PHY_RST拉高的,所以PHY应该是复位了。

2、所以我猜想应该不是PHY的问题,而像是DSP那个配置不对。

求指点!!!

,

heqiang yang:

顶一顶,等专家指点,谢谢

,

Kevin Cai:

Hi, 您好

您的测试说明Serdes loopback测试是正常的, 您可以修改测试代码如下:

GE_Test_Data_Path test_data_path= GE_TEST_DSP0_TO_DSP1;

Ethernet_Mode ethernet_mode = ETHERNET_AUTO_NEGOTIAT_SLAVE;

GE_Port_Connection port_connect[2]={

      GE_PORT_CABLE_CONNECT, //SGMII port 0

      GE_PORT_CABLE_CONNECT //SGMII port 1};

在DSP核0运行,看DSP能否收发包, 如果不能,单步跟踪一下是到哪一步出错

谢谢!

 

,

heqiang yang:

您好!

          首先对您的回复表示真诚的感谢!辛苦了

我把代码修改成这样了,SGM0,我没有用,如红色

GE_Test_Data_Path test_data_path= GE_TEST_DSP0_TO_DSP1;

Ethernet_Mode ethernet_mode = ETHERNET_AUTO_NEGOTIAT_SLAVE;

GE_Port_Connection port_connect[2]={

     GE_PORT_NO_CONNECT, //SGMII port 0

      GE_PORT_CABLE_CONNECT //SGMII port 1};

然后把网线插入DSP板子的网口以及PC机的网口。

load    GE.out文件,运行结果如下,麻烦您给看下。谢谢

[C66xx_0] Initialize DSP main clock = 100.00MHz/1×10 = 1000MHzInitialize PASS clock = 100.00MHzx21/2 = 1050.000MHzInitialize DDR speed = 66.67MHzx20/1 = 1333.333MTSEnable Exception handling…GE auto negotiation (slave) two DSPs test (DSP0 -> DSP1)…Unconnected SGMII0 port can only be used for internal loopback testUnconnected SGMII0 port can only be used for internal loopback testPHY1 link up. TSCL= 0x3bd02fePHY1 link up. TSCL= 0x3bd218cwaiting for transfer complete timeout!STATSA.RxGoodFrames =32STATSA.RxOctets =2048STATSA.Frame64 =32STATSA.NetOctets =2048STATSB.TxCarrierSLoss =32STATSB.NetOctets =224SGMII0 Link Partner Advertised Ability 10Mbps Half DuplexSGMII port 0 is in the idle state.SGMII1 Link Partner Advertised Ability 10Mbps Half DuplexSGMII port 1 is in the idle state.MDIO ALIVE flag: 0x00000002MDIO LINK flag: 0x00000002

,

heqiang yang:

然后,程序就 Trap到下面这个图了:

,

Kevin Cai:

Hi, 您好!

这个测试也是有自协商错误,您的PC机与EVM板连接测试的时候,(自协商)是正常的吗? 如果正常,说明PC端的设置是对的

谢谢!

 

,

heqiang yang:

您好!

       DSP和PHY的自协商和PC机端的设置有关系吗?需要怎么设置?

EVM上测试代码,打印如下:

[C66xx_0] Initialize DSP main clock = 100.00MHz/1×10 = 1000MHzInitialize PASS clock = 100.00MHzx21/2 = 1050.000MHzInitialize DDR speed = 66.67MHzx20/1 = 1333.333MTSEnable Exception handling…GE auto negotiation (slave) two DSPs test (DSP0 -> DSP1)…Unconnected SGMII0 port can only be used for internal loopback testUnconnected SGMII0 port can only be used for internal loopback testPHY1 link up. TSCL= 0x35a3969PHY1 link down. TSCL= 0x3dabf94PHY1 link down. TSCL= 0x4bbf916PHY1 link down. TSCL= 0x530f477Transferred 1472 bytes with 32004380 cycles, throughput= 0Mbps.Transferred 1472 bytes with 32004380 cycles, throughput= 0Mbps.PHY1 link down. TSCL= 0x5438b9bSTATSA.RxGoodFrames =32STATSA.RxGoodFrames =32PHY1 link up. TSCL= 0x543f727STATSA.RxOctets =2048STATSA.RxOctets =2048PHY1 link down. TSCL= 0x54431beSTATSA.Frame64 =32STATSA.Frame64 =32PHY1 link down. TSCL= 0x5446d53STATSA.NetOctets =2048STATSA.NetOctets =2048PHY1 link up. TSCL= 0x544a8c1STATSB.TxGoodFrames =32STATSB.TxGoodFrames =32PHY1 link up. TSCL= 0x544e2b4STATSB.TxOctets =2048STATSB.TxOctets =2048PHY1 link up. TSCL= 0x5451d3cSTATSB.Frame64 =32STATSB.Frame64 =32PHY1 link up. TSCL= 0x54555a2STATSB.NetOctets =2048STATSB.NetOctets =2048PHY1 link up. TSCL= 0x5458f9aSGMII0 Link Partner Advertised Ability 10Mbps Half DuplexSGMII0 Link Partner Advertised Ability 10Mbps Half DuplexPHY1 link up. TSCL= 0x545de7eSGMII port 0 is in the idle state.SGMII port 0 is in the idle state.PHY1 link down. TSCL= 0x546192bSGMII1 Link Partner Advertised Ability 10Mbps Full DuplexSGMII1 Link Partner Advertised Ability 10Mbps Full DuplexPHY1 link down. TSCL= 0x54668e7SGMII port 1 is in the idle state.SGMII port 1 is in the idle state.PHY1 link up. TSCL= 0x546a509MDIO ALIVE flag: 0x00000002MDIO ALIVE flag: 0x00000002PHY1 link down. TSCL= 0x546d8f7MDIO LINK flag: 0x00000000MDIO LINK flag: 0x00000000PHY1 link down. TSCL= 0x5470d4bGE test complete.GE test complete.PHY1 link up. TSCL= 0x54731f0

PHY1 link up. TSCL= 0x54752a0PHY1 link down. TSCL= 0x547734bPHY1 link up. TSCL= 0x5479588

谢谢!

,

heqiang yang:

您好!

            我的板子每次都是在这个地方timeout! 还是请专家们给分析下原因,非常感谢!我们也一直在努力。

GE_2DSP_Test.c里面

/*wait all packets have been send out successfully*/ while((Get_TX_Good_Frames()-uiTxGoodFrames)<uiTotalNumPackets) { asm(" NOP 5");#if 1 //for debug if(TSC_count_cycle_from(uiCycles)>0x3FFFFFFF) //timeout { puts("waiting for transfer complete timeout!"); print_GE_status_error(); //for debug while(1); //trap }#endif }

,

Kevin Cai:

Hi, 您好!

您此前用EVM板测试,数据包是发送出去了的; 用您的板子测试的时候,数据包没有发送出去,所以您看到代码停留在这个循环里

没有发送出去的原因是外侧网络存在问题

1. 您可以检查一下您硬件设计使用的是SGMII0还是SGMII1

2. 自协商错误也会出现这种错误,您可以把代码修改为Ethernet_Mode ethernet_mode = ETHERNET_1000M_FULLDUPLEX ,看非自协商是否能通过

谢谢! 

,

heqiang yang:

Kevin Cai ,您好!

           谢谢您的回复!

            1、我用的是SGM1图纸和EVM是一模一样的,只有88E1111的内核电压由1.2V修改为1V了,昨天我也实验了,现在的问题和这个电压没关系。

           2. 修改Ethernet_Mode ethernet_mode = ETHERNET_1000M_FULLDUPLEX 后,自协商也是过不去的。无法link up.

  请问,  1,link up是DSP读自己的status_reg,这个指的是dsp和phy,应该和网口没关系吧?

                2,为什么我分别测试了EVM和自己的板子,MDIO和MDC,这两根线都一直是高电平呢?没发现数据DSP和PHY的数据通信呀?

,

heqiang yang:

Kevin Cai ,您好!

           谢谢您的回复!

            1、我用的是SGM1图纸和EVM是一模一样的,只有88E1111的内核电压由1.2V修改为1V了,昨天我也实验了,现在的问题和这个电压没关系。

           2. 修改Ethernet_Mode ethernet_mode = ETHERNET_1000M_FULLDUPLEX 后,自协商也是过不去的。无法link up.

  请问,  1,link up是DSP读自己的status_reg,这个指的是dsp和phy,应该和网口没关系吧?

                2,为什么我分别测试了EVM和自己的板子,MDIO和MDC,这两根线都一直是高电平呢?没发现数据DSP和PHY的数据通信呀?

,

heqiang yang:

Kevin Cai ,您好!

           谢谢您的回复!

            1、我用的是SGM1图纸和EVM是一模一样的,只有88E1111的内核电压由1.2V修改为1V了,昨天我也实验了,现在的问题和这个电压没关系。

           2. 修改Ethernet_Mode ethernet_mode = ETHERNET_1000M_FULLDUPLEX 后,自协商也是过不去的。无法link up.

  请问,  1,link up是DSP读自己的status_reg,这个指的是dsp和phy,应该和网口没关系吧?

                2,为什么我分别测试了EVM和自己的板子,MDIO和MDC,这两根线都一直是高电平呢?没发现数据DSP和PHY的数据通信呀?

发个帖子真是困难啊,30分钟都提交不了。。。。。哎

,

Kevin Cai:

Hi, 您好!

1. 有关系,这是外侧传递进来的状态

谢谢!

,

Kevin Cai:

Hi, 您好!

 您的SGMII1 的serdes输入时钟是多少,跟EVM板一样吗?

谢谢!

,

heqiang yang:

Kevin Cai  您好!

                     时钟是312.5M和EVM也是一样的,

应该是没有关系的,因为我拿EVM做实验的时候,没有连接网线,然后EVM的SGM0 的状态是0x30,对应的link up是0,因为sgm0是连接到AMC金手指的,也就是没有PHY,

             SGM1在没有连接网线的时候状态寄存器是0x3D,link up是1

,

Kevin Cai:

Hi, 您好!

 在您的板子上  SGM1在没有连接网线的时候状态寄存器是0x3D,link up是1吗?

谢谢!

,

heqiang yang:

Kevin Cai ,您好!

             我的板子不是0x3D,link up那个bit是0,

,

heqiang yang:

Kevin Cai ,您好!

             我的板子不是0x3D,link up那个bit是0,

,

xiaodong Li2:

Kevin Cai ,你好。

我也遇到跟你一样的问题,6678与88E1111的原理图参考EVM,6678连接两个88E1111,两个网口都LINK UP不成功,

请问你现在解决问题了没有?请多多指导

,

zhang zhangyu:

请问你的问题解决了吗,好像碰到这个问题的很多,能给解答一下吗,多谢!

,

heqiang yang:

zhang zhangyu

您好!

          解决了,我那个是因为时钟(CDCE62005提供)没有锁定。

,

zhang zhangyu:

我的CDCE62005倒是提示锁定了,有没有可能时钟质量不好,导致这种问题呢?

,

zhuang jiao:

时钟没有锁定,换了时钟芯片吗?还是只是修改时钟芯片配置?最后怎么解决的呢?

,

zhuang jiao:

您好,我测试那个GE的时候三个loopback都可以正常运行,也就是DSP内部运行正常,问题出在外部的网络,这样是不是可以排除是因为SGMII的时钟问题啊,我们的312.5M时钟可以锁定,但是用示波器测量不是很稳定,测EVM上面也不是很稳定,既然SERDES loopback可以正常运行,是不是就可以认为不是时钟的问题啊?

,

zhuang jiao:

Kevin Cai,您好!

我也遇到也类似的问题,连上网线后可以看到LINK和RX的指示灯均正常(LINK指示灯常亮,RX灯闪烁),测试MAC,SGMII和SERDES的loopback也都正常,并且在自己的程序当中,不对SGMII寄存器做配置,直接读状态寄存器时候link up为1,配置之后就变成0了,请问会是哪一块的问题呢,MAC还是PHY的问题呢?希望尽快恢复,项目比较着急,谢谢!!!

,

changzheng chen:

zhuang jiao

 你好,我和你的现象是一样的,三个loop都可以正常运行,时钟看上去也都锁上了,但是就是link不上,请问你的问题解决了吗,能告诉我吗?

,

user5801771:

你好,请问你的网口link不上的问题解决了吗?这个问题已经困扰我一年了,请不吝赐教,感谢了!

,

user5801771:

你好,请问你的网口link不上的问题解决了吗?这个问题已经困扰我一年了,请不吝赐教,感谢了!

,

user5801771:

你好,请问你的网口link不上的问题解决了吗?这个问题已经困扰我一年了,请不吝赐教,感谢了!

,

user5801771:

你好,请问你的网口link不上的问题解决了吗?这个问题已经困扰我一年了,请不吝赐教,感谢了!我的qq 905356757请您指导。

赞(0)
未经允许不得转载:TI中文支持网 » 6678上88E1111,SGMII自协商失败,着急啊!
分享到: 更多 (0)