This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
大家好!
最近做了块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/1x10 = 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.
求大家多指点,非常感谢!!!
你好,
1、EVM中的RESET并不是像你说的上拉,而是下拉到地的。这样上电后,只需要用FPGA拉高该引脚就能使88E1111产生复位,只有复位后,它才可以正常进行自协商。按照你的描述,RESET脚从上电就一直被拉高,所以如果你不通过FPGA把它先拉低再拉高是不能使芯片进行复位的,就算插上网线,也不会进行自协商,无法建立物理连接。这可能是你的问题所在。
2、Loopback不会经过phy,扩展到最外层也只能进行SERDES的回环,信号始终在DSP芯片内部。所以这个与phy芯片的工作是否正常没有任何关系。
您好!
谢谢您的回复,
1、我刚才没说清楚,PHY_RST在上电是是低电平,我是在DSP reset拉高以后才把PHY_RST拉高的,所以PHY应该是复位了。
2、所以我猜想应该不是PHY的问题,而像是DSP那个配置不对。
求指点!!!
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能否收发包, 如果不能,单步跟踪一下是到哪一步出错
谢谢!
您好!
首先对您的回复表示真诚的感谢!辛苦了
我把代码修改成这样了,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/1x10 = 1000MHz
Initialize PASS clock = 100.00MHzx21/2 = 1050.000MHz
Initialize DDR speed = 66.67MHzx20/1 = 1333.333MTS
Enable Exception handling...
GE auto negotiation (slave) two DSPs test (DSP0 -> DSP1)...
Unconnected SGMII0 port can only be used for internal loopback test
Unconnected SGMII0 port can only be used for internal loopback test
PHY1 link up. TSCL= 0x3bd02fe
PHY1 link up. TSCL= 0x3bd218c
waiting for transfer complete timeout!
STATSA.RxGoodFrames =32
STATSA.RxOctets =2048
STATSA.Frame64 =32
STATSA.NetOctets =2048
STATSB.TxCarrierSLoss =32
STATSB.NetOctets =224
SGMII0 Link Partner Advertised Ability 10Mbps Half Duplex
SGMII port 0 is in the idle state.
SGMII1 Link Partner Advertised Ability 10Mbps Half Duplex
SGMII port 1 is in the idle state.
MDIO ALIVE flag: 0x00000002
MDIO LINK flag: 0x00000002
您好!
DSP和PHY的自协商和PC机端的设置有关系吗?需要怎么设置?
EVM上测试代码,打印如下:
[C66xx_0] Initialize DSP main clock = 100.00MHz/1x10 = 1000MHz
Initialize PASS clock = 100.00MHzx21/2 = 1050.000MHz
Initialize DDR speed = 66.67MHzx20/1 = 1333.333MTS
Enable Exception handling...
GE auto negotiation (slave) two DSPs test (DSP0 -> DSP1)...
Unconnected SGMII0 port can only be used for internal loopback test
Unconnected SGMII0 port can only be used for internal loopback test
PHY1 link up. TSCL= 0x35a3969
PHY1 link down. TSCL= 0x3dabf94
PHY1 link down. TSCL= 0x4bbf916
PHY1 link down. TSCL= 0x530f477
Transferred 1472 bytes with 32004380 cycles, throughput= 0Mbps.
Transferred 1472 bytes with 32004380 cycles, throughput= 0Mbps.
PHY1 link down. TSCL= 0x5438b9b
STATSA.RxGoodFrames =32
STATSA.RxGoodFrames =32
PHY1 link up. TSCL= 0x543f727
STATSA.RxOctets =2048
STATSA.RxOctets =2048
PHY1 link down. TSCL= 0x54431be
STATSA.Frame64 =32
STATSA.Frame64 =32
PHY1 link down. TSCL= 0x5446d53
STATSA.NetOctets =2048
STATSA.NetOctets =2048
PHY1 link up. TSCL= 0x544a8c1
STATSB.TxGoodFrames =32
STATSB.TxGoodFrames =32
PHY1 link up. TSCL= 0x544e2b4
STATSB.TxOctets =2048
STATSB.TxOctets =2048
PHY1 link up. TSCL= 0x5451d3c
STATSB.Frame64 =32
STATSB.Frame64 =32
PHY1 link up. TSCL= 0x54555a2
STATSB.NetOctets =2048
STATSB.NetOctets =2048
PHY1 link up. TSCL= 0x5458f9a
SGMII0 Link Partner Advertised Ability 10Mbps Half Duplex
SGMII0 Link Partner Advertised Ability 10Mbps Half Duplex
PHY1 link up. TSCL= 0x545de7e
SGMII port 0 is in the idle state.
SGMII port 0 is in the idle state.
PHY1 link down. TSCL= 0x546192b
SGMII1 Link Partner Advertised Ability 10Mbps Full Duplex
SGMII1 Link Partner Advertised Ability 10Mbps Full Duplex
PHY1 link down. TSCL= 0x54668e7
SGMII port 1 is in the idle state.
SGMII port 1 is in the idle state.
PHY1 link up. TSCL= 0x546a509
MDIO ALIVE flag: 0x00000002
MDIO ALIVE flag: 0x00000002
PHY1 link down. TSCL= 0x546d8f7
MDIO LINK flag: 0x00000000
MDIO LINK flag: 0x00000000
PHY1 link down. TSCL= 0x5470d4b
GE test complete.
GE test complete.
PHY1 link up. TSCL= 0x54731f0
PHY1 link up. TSCL= 0x54752a0
PHY1 link down. TSCL= 0x547734b
PHY1 link up. TSCL= 0x5479588
谢谢!
您好!
我的板子每次都是在这个地方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
}
Hi, 您好!
您此前用EVM板测试,数据包是发送出去了的; 用您的板子测试的时候,数据包没有发送出去,所以您看到代码停留在这个循环里
没有发送出去的原因是外侧网络存在问题
1. 您可以检查一下您硬件设计使用的是SGMII0还是SGMII1
2. 自协商错误也会出现这种错误,您可以把代码修改为Ethernet_Mode ethernet_mode = ETHERNET_1000M_FULLDUPLEX ,看非自协商是否能通过
谢谢!
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的数据通信呀?
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的数据通信呀?
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 您好!
时钟是312.5M和EVM也是一样的,
应该是没有关系的,因为我拿EVM做实验的时候,没有连接网线,然后EVM的SGM0 的状态是0x30,对应的link up是0,因为sgm0是连接到AMC金手指的,也就是没有PHY,
SGM1在没有连接网线的时候状态寄存器是0x3D,link up是1
您好,我测试那个GE的时候三个loopback都可以正常运行,也就是DSP内部运行正常,问题出在外部的网络,这样是不是可以排除是因为SGMII的时钟问题啊,我们的312.5M时钟可以锁定,但是用示波器测量不是很稳定,测EVM上面也不是很稳定,既然SERDES loopback可以正常运行,是不是就可以认为不是时钟的问题啊?
Kevin Cai,您好!
我也遇到也类似的问题,连上网线后可以看到LINK和RX的指示灯均正常(LINK指示灯常亮,RX灯闪烁),测试MAC,SGMII和SERDES的loopback也都正常,并且在自己的程序当中,不对SGMII寄存器做配置,直接读状态寄存器时候link up为1,配置之后就变成0了,请问会是哪一块的问题呢,MAC还是PHY的问题呢?希望尽快恢复,项目比较着急,谢谢!!!