Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Cyclone V SoC & EMAC
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Системы на ПЛИС - System on a Programmable Chip (SoPC)
Realking
Всем привет

собрал систему по AN706 (EMAC1 - выведен на FPGA)

после включения платы (собственной разработки), вся периферия UART (тоже через FPGA), SPI работают на ура...
но вот EMAC не запускается, запускает если только при включении платы я удерживаю сброс в течении 1-3 сек на nRST FPGA (нажатием кнопки сброс)

понятно, что есть решение: подключить к пину кондер...

но мне просто интересно почему такая фигня происходит?

может кто сталкивался или знает где про почитать

да и еще... загрузка раздельная FPGA и HPS (оба QSPI)

Заранее благодарен
Kopart
Цитата(Realking @ Nov 1 2017, 10:12) *
но вот EMAC не запускается, запускает если только при включении платы я удерживаю сброс в течении 1-3 сек на nRST FPGA (нажатием кнопки сброс)

Предположение: у многих PHY есть требование на длительность сигнала ресет. Такая задержка есть во всех примерах с использованием ядра TSE.
Ваш nRST FPGA напрямую подключен к пину PHY reset?
iosifk
Цитата(Kopart @ Nov 4 2017, 15:32) *
Предположение: у многих PHY есть требование на длительность сигнала ресет.

Потому что во время ресета трансивер определяет и запоминает как включены светодиоды (к плюсу или к земле) и пр. И для этого ему нужно время, чтобы защелкнуть состояние, когда все другие процессы установятся....
Realking
Цитата(Realking @ Nov 1 2017, 10:12) *
Всем привет

собрал систему по AN706 (EMAC1 - выведен на FPGA)

после включения платы (собственной разработки), вся периферия UART (тоже через FPGA), SPI работают на ура...
но вот EMAC не запускается, запускает если только при включении платы я удерживаю сброс в течении 1-3 сек на nRST FPGA (нажатием кнопки сброс)

понятно, что есть решение: подключить к пину кондер...

но мне просто интересно почему такая фигня происходит?

может кто сталкивался или знает где про почитать

да и еще... загрузка раздельная FPGA и HPS (оба QSPI)

Заранее благодарен



нашел баг у Альтеры в spl_bsp

в файле system_manager.c
функция void sysmgr_pinmux_init(void)

if (is_fpgamgr_fpga_ready()) {
/* enable the required signals only */
writel(reg_value, SYSMGR_FPGAINTF_MODULE);
}

исправил на

while (!is_fpgamgr_fpga_ready()) {
}

writel(reg_value, SYSMGR_FPGAINTF_MODULE);

и все заработало

они просто проверяли на состояние fpga, а не ждали его

может конечно я не разобрался в чем то, но заработало



Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2024 Invision Power Services, Inc.