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

 
 
> Stratix4+Ethernet Help, Необходима реализация обмена ПК-ПЛИС по Ethernet.
billidean
сообщение Jan 25 2013, 03:04
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 247
Регистрация: 4-10-10
Из: г. Екатеринбург
Пользователь №: 59 925



Добрый день всем.

Необходима реализация обмена ПК-ПЛИС по Ethernet.
Имеется дев.борд Стратикс 4.

Нашел в форуме такую фразу от vadimuzzz:

Цитата
Последовательность запуска марвеловского PHY такая:

1. Запись по адресу 0 значения 0x8000 (SwRst==1)
2. Задержка
3. Запись по адресу 0 значения 0х1000 (AutoNeg==1)
4. Задержка
5. Чтение значения из адреса 1, проверка бита 2 (Link==1), если не установлен - 1)
6. Запись по адресу 27 нижних бит [3:0] == 4'b1111 (GMII,copper)//смотреть доки на плату, это для девборды циклон-3!
7. При RGMII IF - запись по адресу 20 прочитанного значения с установленными битами 7,1//смотреть доки на плату, это для девборды циклон-3!
8. Повторять пункты 1-5, до установления линка. (SwRst)

В Квартусе создал систему:
Прикрепленное изображение

Настройки TSE:
Прикрепленное изображение
Прикрепленное изображение
Прикрепленное изображение

Прикрепленное изображение


В Ниосе пытаюсь инициализировать железо, а именно для начала добиться линка:

Код
    alt_u32 t2=0;

    IOWR_ALTERA_TSEMAC_MDIO_ADDR1(TRIPLE_SPEED_ETHERNET_0_BASE, 0);  // PHY and other board peripheral initialization
    IOWR_ALTERA_TSEMAC_MDIO_ADDR0(TRIPLE_SPEED_ETHERNET_0_BASE, PHY);
    do
    {
        // Control Register .15 = 1 - Reset
        IOWR_ALTERA_TSEMAC_MDIO(TRIPLE_SPEED_ETHERNET_0_BASE, 0, 0, 0x8000);
        Delay(0xFFFF);
        // (.13=0, .6=1) - 1000 Mbps, .12=1 - Enable Auto-Negatiation,
        IOWR_ALTERA_TSEMAC_MDIO(TRIPLE_SPEED_ETHERNET_0_BASE, 0, 0, 0x1040);
        Delay(0xFFFF);
        // read Control Register
        t2 = IORD_ALTERA_TSEMAC_MDIO(TRIPLE_SPEED_ETHERNET_0_BASE, 0, 1);
        Delay(0xFFFF);
        // Control Register .15 = 1 - Reset
        IOWR_ALTERA_TSEMAC_MDIO(TRIPLE_SPEED_ETHERNET_0_BASE, 0, 0, t2 | 0x8000);
        Delay(0xFFFF);
        // read Staus Register
        t2 = IORD_ALTERA_TSEMAC_MDIO(TRIPLE_SPEED_ETHERNET_0_BASE, 0, 1);
        alt_printf("Reg 1 : %x\n",t2);
        //check Link
        if( (t2&0x0004)==0 )
        {
            // Control Register .15 = 1 - Reset
            IOWR_ALTERA_TSEMAC_MDIO(TRIPLE_SPEED_ETHERNET_0_BASE, 0, 0, t2 | 0x8000);
            Delay(0xFFFF);
        }
        // .15=1 - Copper, (.3:.0)='0100' - SGMII without Clock with SGMII Auto-Neg to copper
        IOWR_ALTERA_TSEMAC_MDIO(TRIPLE_SPEED_ETHERNET_0_BASE, 0, 27, 0x8004);
        Delay(0xFFFF);
        // read Staus Register
        t2 = IORD_ALTERA_TSEMAC_MDIO(TRIPLE_SPEED_ETHERNET_0_BASE, 0, 1);
        alt_printf("Reg 1 : %x\n",t2);
    }
    while( (t2&0x0004)==0 );

в итоге на экране сполшные 9 выводятся.

Подскажите что-нибудь по этому поводу.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- billidean   Stratix4+Ethernet Help   Jan 25 2013, 03:04
- - vadimuzzz   вы как-то своеобразно поняли мою фразу у меня сле...   Jan 25 2013, 04:17
- - billidean   ПЛИС на плате стоит Stratix IV GX (EP4SGX230KF40C2...   Jan 25 2013, 06:43
- - vadimuzzz   а адрес PHY правильный? ЕМНИП, он задается во врем...   Jan 25 2013, 07:26
- - billidean   Из даташита на марвел: ЦитатаCONFIG[0] configures ...   Jan 25 2013, 08:56
|- - vadimuzzz   Цитата(billidean @ Jan 25 2013, 15:56) вы...   Jan 25 2013, 09:37
- - billidean   В настройках TSE выставил PHY_ID=0х0000001F В Ква...   Jan 28 2013, 04:20
- - vadimuzzz   у вас неправильно подключен iobuf: triple_speed_et...   Jan 28 2013, 04:42
- - billidean   Точно! Спасибо за замечание. НО!!...   Jan 28 2013, 05:51
- - vadimuzzz   видимо, на mdio0 висит PCS, а PHY - на mdio1. попр...   Jan 28 2013, 06:08
- - billidean   Спасибо, нашел свой адрес: 0. Теперь при следующе...   Jan 28 2013, 07:28
- - vadimuzzz   ЦитатаReg 1 : 7949 а линк так и не появляется?   Jan 28 2013, 07:39
- - billidean   Да, линк появился, нужно было подождать несколько ...   Jan 29 2013, 09:16
- - vadimuzzz   если с sgdma проблем нет (по вашим логам вроде так...   Jan 30 2013, 01:17
- - billidean   Спасибо за помощь. ping заработал. Ответ на комп и...   Jan 31 2013, 06:45
- - billidean   Решил оживить тему. После последнего сообщения Езе...   Jul 31 2013, 05:17
- - Golikov A.   есть программа netcat (они есть и для виндоус и дл...   Jul 31 2013, 07:20
- - billidean   ЦитатаЯ так понимаю никакого стека у вас нет, може...   Jul 31 2013, 07:58
|- - Golikov A.   Цитата(billidean @ Jul 31 2013, 11:58) А ...   Aug 2 2013, 10:36
- - krux   для написания проги со стороны компа - ключевые сл...   Jul 31 2013, 17:05
- - billidean   Спасибо за советы, попробую предложенные программы...   Aug 4 2013, 05:05
- - Golikov A.   Может то что я напишу ниже поможет. у меня было ...   Aug 5 2013, 09:42
- - krux   Также могут оказаться виноваты свичи, MAC-адреса и...   Aug 5 2013, 18:02
- - billidean   Цитатаwin действительно много гадит в линию. Если ...   Aug 6 2013, 02:38
- - Golikov A.   ну в wireshark есть еще фильтры, можно и по МАК и ...   Aug 6 2013, 08:24
- - billidean   Создал проект заново, прочитал доки по SG-DMA, пер...   Aug 7 2013, 04:15
- - krux   ЦитатаЕсли я для пинга использую cmd, то как очист...   Aug 7 2013, 12:45


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

 


RSS Текстовая версия Сейчас: 23rd June 2025 - 20:59
Рейтинг@Mail.ru


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