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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> ethernet, RGMII, потеря пакетов
bogaev_roman
сообщение Dec 16 2016, 09:04
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 088
Регистрация: 20-10-09
Из: Химки
Пользователь №: 53 082



Уважаемые форумчане, требуется помощь.
Суть проблемы - теряются UDP пакеты в режиме RGMII. Была связка ПК->marvell 88e1111->борда с arriaII->marvell 88e1111->ПК и, соответственно, гонялись пакеты по обратной связи. Из миллиона отправленных пакетов принимались все без ошибок.
Сделали собственную плату с точно таким же контроллером - из миллиона пакетов стабильно теряются пару сотен, при этом MAC в fpga говорит о том, что все пакеты приняты и отправлены, т.е. потеря происходит где-то между выходом fpga->marvell->ПК. Все временные ограничения на fpga описаны в соответствии с документацией, более того - разводка на выходе фиксировалась и двигалась по фазе опорная частота с мелким шагом в пределах рабочего окна - в результате система либо не работала вообще, либо все те же доли процентов потери пакетов. Разработчик ПП проверил разброс длин сигнальных линий - все в пределах 20ps.
Куда двигаться дальше, ну помимо того, чтобы тыкаться осциллографом в сигналы RGMII?
Go to the top of the page
 
+Quote Post
Dima_G
сообщение Dec 16 2016, 09:13
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 279
Регистрация: 2-07-08
Из: Новосибирск
Пользователь №: 38 699



Цитата(bogaev_roman @ Dec 16 2016, 16:04) *
Куда двигаться дальше, ну помимо того, чтобы тыкаться осциллографом в сигналы RGMII?

Смотреть счетчики на PHY.
Go to the top of the page
 
+Quote Post
bogaev_roman
сообщение Dec 16 2016, 09:18
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 088
Регистрация: 20-10-09
Из: Химки
Пользователь №: 53 082



Цитата(Dima_G @ Dec 16 2016, 12:13) *
Смотреть счетчики на PHY.

Что за счетчики и где они - в 88E1111? Я просто сам не совсем в теме, поэтому заранее извиняюсь за глупые вопросы.
Go to the top of the page
 
+Quote Post
Ant_m
сообщение Dec 16 2016, 09:36
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 756
Регистрация: 14-08-07
Из: Москва
Пользователь №: 29 765



Для начала сделать простой опыт: передать с ПК на ПК без всяких своих плат. Можете быть очень удивлены, если раньше такого не делали. santa2.gif
Прикрепленное изображение
Прикрепленное изображение
Go to the top of the page
 
+Quote Post
bogaev_roman
сообщение Dec 16 2016, 09:49
Сообщение #5


Профессионал
*****

Группа: Свой
Сообщений: 1 088
Регистрация: 20-10-09
Из: Химки
Пользователь №: 53 082



Цитата(Ant_m @ Dec 16 2016, 12:36) *
Для начала сделать простой опыт: передать с ПК на ПК без всяких своих плат. Можете быть очень удивлены, если раньше такого не делали. santa2.gif

Я в курсе, что UDP не гарантирует доставку всех пакетов без ошибок. При этом, со слов программиста, - в режиме точка-точка ошибок быть не должно. Ну и в случае борды от производителя потерь не было вообще ну или я их не дождался. Тут ведь вопрос в чем - во всей этой тестовой системе отличие одно - ПП другая стоит (ПК, кабеля и прочее одинаковое). Соответственно нужно найти место, чтобы определить у кого руки кривые.
Go to the top of the page
 
+Quote Post
Ant_m
сообщение Dec 16 2016, 10:28
Сообщение #6


Знающий
****

Группа: Свой
Сообщений: 756
Регистрация: 14-08-07
Из: Москва
Пользователь №: 29 765



Цитата(bogaev_roman @ Dec 16 2016, 12:49) *
Я в курсе, что UDP не гарантирует доставку всех пакетов без ошибок. При этом, со слов программиста, - в режиме точка-точка ошибок быть не должно.

Как много раз я слышал эту песню 1111493779.gif biggrin.gif

Если найдете ответ, сообщите пожалуйста. Мне это крайне интересно, т.к есть такая же проблема.
Пока решение есть только одно - ставить самое быстрое железо для ПК какое есть сейчас.

Цитата
Тут ведь вопрос в чем - во всей этой тестовой системе отличие одно - ПП другая стоит (ПК, кабеля и прочее одинаковое)

Ну так это элементарно. Замыкаете шины mac ядра в плисе, (loopback на уровне mac), в дырку эзернета подтыкаете BER тестер для медного эзернета и тестируете.
Go to the top of the page
 
+Quote Post
bogaev_roman
сообщение Dec 16 2016, 10:46
Сообщение #7


Профессионал
*****

Группа: Свой
Сообщений: 1 088
Регистрация: 20-10-09
Из: Химки
Пользователь №: 53 082



Цитата(Ant_m @ Dec 16 2016, 13:28) *
Ну так это элементарно. Замыкаете шины mac ядра в плисе, (loopback на уровне mac), в дырку эзернета подтыкаете BER тестер для медного эзернета и тестируете.

Там вообще можно пустить loopback через сам 88e1111, в обход fpga, только я пока не понял как. Что, кстати, на тестере можно увидеть?
Go to the top of the page
 
+Quote Post
gin
сообщение Dec 16 2016, 10:59
Сообщение #8


Частый гость
**

Группа: Участник
Сообщений: 183
Регистрация: 17-12-10
Пользователь №: 61 682



Добрый день! Проверьте, не изменилась ли программная часть на ПК. У нас в свое время была проблема, связанная с потерей пакетов. Запускался Касперский, и он отнимал процессорное время - терялись пакеты. Отключили Касперского проблема решилась
Go to the top of the page
 
+Quote Post
RobFPGA
сообщение Dec 16 2016, 11:35
Сообщение #9


Профессионал
*****

Группа: Свой
Сообщений: 1 214
Регистрация: 23-12-04
Пользователь №: 1 643



Приветствую!
Цитата(Ant_m @ Dec 16 2016, 13:28) *
Как много раз я слышал эту песню 1111493779.gif biggrin.gif

Если найдете ответ, сообщите пожалуйста. Мне это крайне интересно, т.к есть такая же проблема.
Пока решение есть только одно - ставить самое быстрое железо для ПК какое есть сейчас.
...


Потеря пакетов при точка-точка может быть как по "электрическим" причинам (помехи на кабель тут уж ничего не сделать) так из за того что приемный буфер в сетевой карте переполнен и не может принят очередной пакет. С этим можно бороться используя loss-less режим работы сетевой карты и соответственно поддерживая flow-control со стороны MAC в FPGA.

Удачи! Rob.

Go to the top of the page
 
+Quote Post
Ant_m
сообщение Dec 16 2016, 11:46
Сообщение #10


Знающий
****

Группа: Свой
Сообщений: 756
Регистрация: 14-08-07
Из: Москва
Пользователь №: 29 765



Цитата(bogaev_roman @ Dec 16 2016, 13:46) *
Там вообще можно пустить loopback через сам 88e1111, в обход fpga, только я пока не понял как. Что, кстати, на тестере можно увидеть?

Там нужно битик в регистре поставить. Ищите в доках какой.
Но это не нужно делать, т.к вы проверите работу phy, а mac нет.

На тестере можно увидеть статистику (кол пакетов туды и взад). Смоделировать разные типы нагрузки (burst к примеру), поиграться с объемом трафика, длинной пакетов и т.п. Я гонял по 6-8 часов тесты с нашей железкой - все успешно.

Насчет антивирусов и прочего, да может быть и такое, но далеко не всегда. Тут ключевая фраза
Цитата
отнимал процессорное время
- если нагрузка на превышает 20% общей, или 50% на поток, то пакеты теряются.
Картинки выше сняты на винде №7, установленной с офф. диска + драйвера от intel для сетевушки. Винда устанавливалась специально для тестов, к интернету/сети доступа не имела, на тестируемом интерфейсе отключено все, кроме IPv4.
Go to the top of the page
 
+Quote Post
EgorTol
сообщение Dec 16 2016, 11:47
Сообщение #11


Участник
*

Группа: Участник
Сообщений: 27
Регистрация: 23-01-13
Пользователь №: 75 311



Цитата(bogaev_roman @ Dec 16 2016, 13:46) *
Там вообще можно пустить loopback через сам 88e1111, в обход fpga, только я пока не понял как. Что, кстати, на тестере можно увидеть?


На тестере можно увидеть например количество битовых ошибок, определить правильно ли подсчитана контрольная сумма, возможно в преамбуле проблемы (это тоже может тестер показать), по крайней мере он может показать, что проблема точно не в FPGA или наоборот. ОС на ПК может не пропускать например пакеты с неправильной CRC (или даже сетевая карта на ПК может такое делать). Ну и тайминги на FPGA, должны обязательно выполняться) У меня была такая же схема ПК->ПЛИС->ПК, только не RGMII, а MII, тоже пакеты терялись, проблемы решить не удалось, забросил, с RGMII проще мне кажется.
Go to the top of the page
 
+Quote Post
Aner
сообщение Dec 16 2016, 13:24
Сообщение #12


Гуру
******

Группа: Свой
Сообщений: 4 869
Регистрация: 28-02-08
Из: СПБ
Пользователь №: 35 463



Элементарно. Проверяете на 10-ке, если там все без потерь, тогда меняете кварц или генератор на правильный. Если тактирование с чипа с PLL, тогда смотрите джиттер, меняете коэффициэнты деления чтобы джиттер вписался в стандарт 100-ки. Как бы и все.
Go to the top of the page
 
+Quote Post
aabmail
сообщение Dec 16 2016, 14:07
Сообщение #13


Местный
***

Группа: Свой
Сообщений: 210
Регистрация: 4-06-08
Из: Москва
Пользователь №: 38 056



Если важно не потерять ни одного пакета, нужно проверить вашу систему связи на более низком аппаратном уровне. Для этого используются измерители BER. Например http://metrotek.spb.ru/en/b3et.html

У меня было такое, что терялись пакеты по неизвестной причине, правда на 10G. Решение оказалось до безобразия простым - перезагрузить Windows. Через некоторое время после перезагрузки компьютера пакеты вновь начинали теряться.
Go to the top of the page
 
+Quote Post
FakeDevice
сообщение Dec 19 2016, 06:20
Сообщение #14


Частый гость
**

Группа: Свой
Сообщений: 81
Регистрация: 31-10-14
Из: Воронеж
Пользователь №: 83 452



IP/UDP сами реализовывали? Данные те же самые, что и на "безглючном" железе гоняли? MAC/IP/порты и проч. такие же? А то мало ли? Сами, помню, сталкивались с тем, что некоторые пакеты теряются. Оказалось, тупо проглядели один нюанс в расчёте CRC.
Go to the top of the page
 
+Quote Post
Ant_m
сообщение Dec 19 2016, 07:49
Сообщение #15


Знающий
****

Группа: Свой
Сообщений: 756
Регистрация: 14-08-07
Из: Москва
Пользователь №: 29 765



Цитата(RobFPGA @ Dec 16 2016, 14:35) *
С этим можно бороться используя loss-less режим работы сетевой карты и соответственно поддерживая flow-control со стороны MAC в FPGA.

Поясните что значит loss-less, а то есть сомнения что правильно понимаю этот термин контексте сетевой карты sm.gif
Flow-control уже пишем...
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 18th July 2025 - 18:09
Рейтинг@Mail.ru


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