Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Zynq и Ethernet
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Системы на ПЛИС - System on a Programmable Chip (SoPC)
Nivovod
Есть отладочная плата TE0720-02. Создал в ISE 14.7 тестовый проект, в котором только ARM pзадействован. В SDK выбрал шаблоннный проект Peripheral Tests. Шаблон заработал. Но там Ethernet в режиме loopback работает. Переключил на нормальный режим - LINK есть, софт на zynq говорит что пакет в сеть ушел без ошибок, но сниффер ни одного пакета от Zynq в сети не фиксирует. Попробовал ловить zynq-ом пакеты из сети. Он правильно ловит первый пакет, а на все остальные выдает ошибку "Receive DMA error".
Камрады, поделитесь или дайте ссылку на рабочий проект для zynq, задействующий ethernet. Мне надо просто понять как правильно принимать и передавать пакеты в сеть.
Nivovod
Списался с разработчиками TE0720 из Trenz electronic. Они говорят, что свою плату с тестовым шаблоном SDK не проверяли и вообще не лестно отозвались о драйверах Xilinx. Сказали что под linux у них ethernet замечательно работает и мне ничем помочь не могут.
Камрады, ну что никто не поднимал ethernet на zynq чтоли? Дайте хоть кусок кода посмотреть как правильно пакеты слать/принимать.
Nivovod
С приемом разобрался. Нужно ДО запуска DMA заполнить всю таблицу приемных дескрипторов физическими адресами приемных буферов. Теперь прием идет нормально. Принимаются любые пакеты в любом количестве. Осталась проблема с передачей. При включенном режиме loopback на PHY Marvell 88E1512 передаются и принимаются все пакеты. Как только PHY переключаю на нормальную работу - сниффер никаких пакетов в сети не фиксирует. Не понятно идет ли в сеть вообще что-нибудь. Хотя на передачу PHY скорее всего работает - ведь как-то же autonegatiation устанавливает скорость 100Мбит и LINK появляется.
Golikov A.
а у вас мак адрес правильно задан? он не из списка специальных?
Есть какие фаерволы или рутеры которые могут порезать запрос?
И вообще вы какой пакет то в сеть пихаете, UDP, TCP, или вообще не пойми что?
Nivovod
Цитата(Golikov A. @ Sep 2 2014, 21:16) *
а у вас мак адрес правильно задан? он не из списка специальных?
Есть какие фаерволы или рутеры которые могут порезать запрос?
И вообще вы какой пакет то в сеть пихаете, UDP, TCP, или вообще не пойми что?


MAC адрес обычный. С этим же MAC адресом другую плату разрабатывал и налаживал. Роутеров нет - плата напрямую кабелем с ноутбуком связана. Файрволы проверил первым делом - выключены.
В сеть шлю ARP запрос, да и просто IP пакеты с произвольным содержимым пробовал.
doom13
На основании сказанного в данной теме, могу предположить, что есть какая-то проблема с передающей линией (loopback MAC->PHY->MAC работает), там же и ответил по поводу ещё одной проверки. Если она пройдёт нормально, тогда попробуйте ещё клоки RGMII (как понимаю, у Вас RGMII используется для связки MAC-PHY) TXC подвигать относительно данных TXD (должен быть бит в одном из регистров PHY отвечающий за данный сдвиг).
Если фаза клока TXC и данных TXD для RGMII совпали "неправильно", то передатчик MAC вроде как и передаёт данные на PHY, но после PHY в сети ничего не увидите.

Цитата(Golikov A. @ Sep 2 2014, 20:16) *
а у вас мак адрес правильно задан? он не из списка специальных?
Есть какие фаерволы или рутеры которые могут порезать запрос?
И вообще вы какой пакет то в сеть пихаете, UDP, TCP, или вообще не пойми что?

Если в сеть что-либо отправляется, то сниффер увидит это не зависимо от того, какой это пакет, и какие там данные. Не увидит только если destination mac-адрес все нули (точно не помню, но вероятно и нулевой source mac-адрес так же не допускается), во всех остальных случаях сниффер увидит пакет.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.