Перейти к содержанию

    

Не идут пакеты Eth с NIOS

Всем привет!)

 

Имеем -

PHY - KSZ9031

MAC - Altera Triple-Speed Ethernet (altera_eth_tse)

 

Если запись настроек через MDIO делать на ПЛИС, то все ок, линк поднимается, отправка пакетов идет.

 

Если запись MDIO делать через Nios, то линк поднимается, но отправки пакетов нет. Запись в tx_fifo в обоих случаях сделана на ПЛИС одинаково.

Значения регистров MDIO и порядок их записи одинаковый.

После записи в MDIO делаю чтение (тоже через Nios) - значения читаются и совпадают с записанными.

Параметры eth_tse одинаковые за исключением того, что в первом случае он добавлен в проект как отдельное IP-ядро, а во втором - через Qsys.

 

Что делать\куда копать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

я однажды плюнул и написал свой модуль для хардварного phy

 

там делов на пару дней с отладкой

 

кстати, если не идут пакеты, вариантов не много:

1) частоты не те

2) mac адрес получателя не тот

3) контрольная сумма кадра не правильная. Хотя наверное TSE сам ее считает.

 

на вскидку пока вспомнил это.

 

4) и как дела со сдвигом TX_CLK

Изменено пользователем new123

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Работа программы NIOS очень хорошо моделируется в ModelSim вместе с FPGA. Надо запустить тестбенч системы в целом и посмотреть, где теряются данный.

 

Физически смотреть данные надо с помощью программы Wireshark, на некоторый сетевых картах он умеет показывать даже порченные пакеты со сдвинутыми битами, не правильными CRC и прочими ошибками

Изменено пользователем Manfred

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
я однажды плюнул и написал свой модуль для хардварного phy

 

там делов на пару дней с отладкой

 

кстати, если не идут пакеты, вариантов не много:

1) частоты не те

2) mac адрес получателя не тот

3) контрольная сумма кадра не правильная. Хотя наверное TSE сам ее считает.

 

на вскидку пока вспомнил это.

 

4) и как дела со сдвигом TX_CLK

 

Тут все ок, все это проверялось..

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Что делать\куда копать?

Шаги :

в плис вместо контроллера сделать буфер и писать-читать из него. Проверите софт.

Потом передаете сигналы на phy. у него есть режим loopback. проверяете, что phy подключен правильно.

если задать "только 100", то можно в разъем вставить заглушку "сам-на-себя". она должна работать даже при неправильной частоте на phy. генератор проверьте по глазковой диаграмме.

теоретически в phy есть режим удаленного loopback. Если его включить в том месте, к кому подключена ваша плата, то исключаются проблемы с абонентом. можно проверить линк.

 

задайте для начала режим "только 100" и запретите автонегоциацию. Должны быть пульсы и встать линк.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация