Снова здравствуйте. Возникли проблемы в доработке проекта под оптику. Прошу совета или указаний...
Требуемый результат:
FPGA ->(optic cable)-> Media Converter 1000Base-FX to 1000Base-TX->(copper cable)->PC
Система:
nios II processor+ddr2 sdram controller with altmemphy+2x sgdma+descriptor memory+interval timer+triple speed ethernet (mac+pcs+pma, sgmii bridge disable)
Распиновка:
ref_clk - 156.25MHz (1.5 PCML), txp и rxp - присоединены к sfpa_tx и sfpa_rx соответственно (1.5 PCML), gxb_cal_blk_clk_to_the_tse_mac и ref_clk_to_the_tse_mac присоединены к ref_clk
ПО:
simple socket server
Конвертор:
TP Flow Control: NWay auto-negotiation;
Fiber Flow Control: NWay at full-duplex mode
При настройках по умолчанию:
1) при использовании петли: линк устанавливается, auto-negotiation enable, сигналы char_err и disp_err установлены в 0
2) при использовании конвертора (с помощью megawizard plug-in manager редактирую altera_tse_alt2gxb_gige, убирая serial loopback):
линк не устанавливается, auto-negotiation disable, сигналы char_err и disp_err установлены в 1
CODE
InterNiche Portable TCP/IP, v3.1
Copyright 1996-2008 by InterNiche Technologies. All rights reserved.
prep_tse_mac 0
Your Ethernet MAC address is 00:07:ed:ff:00:01
prepped 1 interface, initializing...
[tse_mac_init]
INFO : TSE MAC 0 found at address 0x08004000
INFO : PHY Marvell 88E1111 found at PHY address 0x12 of MAC Group[0]
INFO : PHY[0.0] - Automatically mapped to tse_mac_device[0]
INFO : PHY[0.0] - Restart Auto-Negotiation, checking PHY link...
WARNING : PHY[0.0] - Auto-Negotiation FAILED
MARVELL : Enabling auto crossover
MARVELL : PHY reset
INFO : PCS[0.0] - Configuring PCS operating mode
INFO : PCS[0.0] - PCS SGMII mode disabled
INFO : PHY[0.0] - Checking link...
INFO : PHY[0.0] - Link not yet established, restart auto-negotiation...
INFO : PHY[0.0] - Restart Auto-Negotiation, checking PHY link...
WARNING : PHY[0.0] - Auto-Negotiation FAILED
WARNING : PHY[0.0] - Link could not established
WARNING : PHY[0.0] - Auto-Negotiation not completed! Speed = 1000, Duplex = Full
OK, x=0, CMD_CONFIG=0x00000000
MAC post-initialization: CMD_CONFIG=0x0000022b
Регистры PCS:
control register = 0x 140 (gigabit, full duplex)
status register = 0x 9 (link status 0, auto_negotiation_ability 1, auto-negotiation_complete 0)
dev_ability register = 0x 1a0 (full duplex, pause is supported on transmit and receive, ACK 0)
partner_ability register = 0x 0
an_expansion register = 0x 0
link_timer registers: 0x12d0, 0x 13
if_mode register = 0x 0 (SGMII_ENA 0, USE_SGMII_AN 0)
PHY register 0 = 0x1140
PHY register 1 = 0x7949
PHY register 4 = 0x de1
PHY register 5 = 0x 0
PHY register 6 = 0x 4
PHY register 7 = 0x2801
PHY register 8 = 0x 0
PHY register 9 = 0x f00
PHY register 10 = 0x4000
PHY register 15 = 0x3000
PHY register 16 = 0x 18
PHY register 17 = 0x8100
PHY register 18 = 0x 0
PHY register 19 = 0x 0
PHY register 20 = 0x c60
PHY register 21 = 0x 0
PHY register 22 = 0x 0
PHY register 23 = 0x 0
PHY register 24 = 0x4100
PHY register 25 = 0x 0
PHY register 26 = 0x a
PHY register 27 = 0x808f
PHY register 28 = 0x 0
PHY register 29 = 0x 0
PHY register 30 = 0x 40
[tse_sgdma_read_init] RX descriptor chain desc (1 depth) created
mctest init called
IP address of et1 : 192.168.1.1
Created "Inet main" task (Prio: 2)
Created "clock tick" task (Prio: 3)
DHCP timed out, going back to default IP address(es)
Simple Socket Server starting up
[sss_task] Simple Socket Server listening on port 30
Created "simple socket server" task (Prio: 4)