реклама на сайте
подробности

 
 
4 страниц V  « < 2 3 4  
Reply to this topicStart new topic
> Gigabit Ethernet IP
_nikita
сообщение Sep 8 2011, 13:00
Сообщение #46





Группа: Участник
Сообщений: 13
Регистрация: 10-05-08
Пользователь №: 37 407



Извините, по поводу автомата, неправильно выразился (мыслю изнутри логической функции).
А сигнал ENET_LINK он у меня по умолчанию в нуле.
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Sep 8 2011, 14:35
Сообщение #47


Гуру
******

Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988



я вот об этом:


сигнал на set_1000 выдает PHY, он же еще к светодиоду на плате подключен. причем он active_low. set_10 смело ставим в 0. выходы MAC, ena_10 и eth_mode переключают мультиплексор (на него завести с PLL три клока - 2.5, 25 и 125МГц)
Go to the top of the page
 
+Quote Post
_nikita
сообщение Sep 8 2011, 19:34
Сообщение #48





Группа: Участник
Сообщений: 13
Регистрация: 10-05-08
Пользователь №: 37 407



Спасибо vadimuzzz, завтра буду пробовать поработать на гигабите.
Вечером поискал инициализацию для марвеловского PHY, но не нашел,
если Вам не трудно, напишите этот кусок кода или место, где посмотреть.
Заранее благодарен.
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Sep 9 2011, 01:09
Сообщение #49


Гуру
******

Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988



как-то так:
Код
...
    #define PHY 0x12
...
    alt_u32 t;
    /* PHY and other board peripherial initialization */
    IOWR_ALTERA_TSEMAC_MDIO_ADDR0(TSE_MAC_BASE,PHY);
    t = IORD_ALTERA_TSEMAC_MDIO(TSE_MAC_BASE,0,0x1B);//Extended PHY Specific Status Register
    t &= 0xFFF0;
    IOWR_ALTERA_TSEMAC_MDIO(TSE_MAC_BASE,0,0x1B,t|0xB);//RGMII to Copper
    t = IORD_ALTERA_TSEMAC_MDIO(TSE_MAC_BASE,0,0x14);//Extended PHY Specific Control Register
    IOWR_ALTERA_TSEMAC_MDIO(TSE_MAC_BASE,0,0x14,t|0x82);//Add Delay to RX_CLK for RXD Outputs; Add Delay to GTX_CLK for TXD Inputs
    t = IORD_ALTERA_TSEMAC_MDIO(TSE_MAC_BASE,0,ALTERA_TSEMAC_PHY_ADDR_CONTROL);
    IOWR_ALTERA_TSEMAC_MDIO(TSE_MAC_BASE,0,ALTERA_TSEMAC_PHY_ADDR_CONTROL,t|PCS_CTL_sw_reset);//Previous Operations Require SW Reset
...
Go to the top of the page
 
+Quote Post
_nikita
сообщение Sep 9 2011, 05:16
Сообщение #50





Группа: Участник
Сообщений: 13
Регистрация: 10-05-08
Пользователь №: 37 407



vadimuzzz, к сожалению на отладочной плате AIIGX сигнал LED_LINK1000 от PHY идет только на светодиод,
поэтому завести его на сигнал set_1000 нет возможности. Необходимо как-то узнать от PHY скорость подключения и
соответственно настроить MAC. Может Вы знаете как узнать скорость подключения PHY ( datasheet'а на Marvell у меня нету)?

P.S. Сигнал set_1000 аппаратно установил в 1, настроил сетевую карту на гигабит и все работает!!!!!
Go to the top of the page
 
+Quote Post
_nikita
сообщение Sep 9 2011, 09:10
Сообщение #51





Группа: Участник
Сообщений: 13
Регистрация: 10-05-08
Пользователь №: 37 407



Порыв инфы в инете и прочитав регистры Марвела при гигабите и сотке выяснил, что
скорость подключения показывают 2 старших бита регистра 17.
10 - 1 Gbit
01 - 100 Mbit
Переделал инициализацию MAC, вроде все работает.

vadimuzzz, есть проблема. При приеме определенного количества пакетов
зависает собственно сам прием, пытаюсь разобраться. Вроде как такая проблема уже
обсуждалась (увеличил FIFO до 16К, не помогло), но если есть направление, где возможна проблема,
буду благодарен за ответ.
Go to the top of the page
 
+Quote Post
_nikita
сообщение Sep 9 2011, 13:34
Сообщение #52





Группа: Участник
Сообщений: 13
Регистрация: 10-05-08
Пользователь №: 37 407



Переделал обработчик прерывания по примеру из проекта vadimuzzz,
вроде ничего не зависает.
И снова огромное спасибо, vadimuzzz!
Go to the top of the page
 
+Quote Post
Hatory
сообщение Dec 25 2011, 18:09
Сообщение #53


Участник
*

Группа: Участник
Сообщений: 17
Регистрация: 29-06-11
Из: Казань
Пользователь №: 65 974



Снова здравствуйте. Возникли проблемы в доработке проекта под оптику. Прошу совета или указаний...
Требуемый результат:
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)

Go to the top of the page
 
+Quote Post

4 страниц V  « < 2 3 4
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 28th August 2025 - 20:02
Рейтинг@Mail.ru


Страница сгенерированна за 0.01315 секунд с 7
ELECTRONIX ©2004-2016