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

 
 
> ПК не посылает pause frame при включеном Flow control., ищем причину ?
Костян
сообщение Dec 28 2011, 12:40
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 740
Регистрация: 24-07-06
Из: Minsk
Пользователь №: 19 059



Итак дано

ПЛИС -> Ethernet PHY -> кроссовый кабель -> ПК


ПЛИС формиурет ethernet пакеты на 1Gb линке с загрузкой сети порядка 80% и постоянно отсылает их в сеть.
Сетевая карта ПК настроена на 1000/full duplex flow_control ON

Каждый пакет нумеруется с инкрементом. ПК принимает пакеты с частыми потярями по 1..40 пакетов за раз.
По всей видимости ПК не успевает считывать с буфера сетевой карты пакеты , но при этом pause frame не формируются сетевой картой . В чем причина ?

pause frame пытаюсь словить при помощи ПЛИС, ослеживая все принимаемые PHY пакеты. Пусто.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Konst_777
сообщение Jan 10 2012, 17:29
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 549
Регистрация: 1-06-05
Пользователь №: 5 644



Цитата(Костян @ Dec 28 2011, 15:40) *
Итак дано

ПЛИС -> Ethernet PHY -> кроссовый кабель -> ПК

ПЛИС формирует ethernet пакеты на 1Gb линке с загрузкой сети порядка 80% и постоянно отсылает их в сеть.
Сетевая карта ПК настроена на 1000/full duplex flow_control ON
...

  • ПЛИС: Cyclone IV;
  • Ethernet PHY: Marvell 88E1111;
  • MAC: Altera Triple-Speed Ethernet MegaCore;
  • MAC и PHY на модуле, вроде бы настроены на 1Gb/full duplex/flow_control ON;
  • обмен между модулем и ПЭВМ происходит через отдельный сетевой адаптер "Intel® Gigabit CT Desktop Adapter";
  • через второй (Fast Ethernet) адаптер подключен Интернет.

Если активным является окно программы обмена с модулем, то, при скорости PHY 1Gb/s потери пакетов нет. Потеря пакетов происходит если во время пересылки данных модуль->ПЭВМ в Проводнике открыть папку с фильмами в режиме отображения "... значки" или если одновременно говоришь с кем-нибудь через Skype. Предполагаю, что потеря пакетов вызвана высокой загрузкой процессора в какие-то моменты времени. Сетевой адаптер выдает pause-пакеты, а MAC модуля их принимает. Это видно по значениям регистра статистики MAC: aRxPAUSEMACCtrlFrames. То есть, flow-control вроде бы и работает, но все равно, происходит потеря пакетов.

При скорости PHY 100М/s вызвать потерю пакетов из за перегрузки процессора не удается.

Есть ли у кого-нибудь опыт решения подобной проблемы?
Go to the top of the page
 
+Quote Post
Aprox
сообщение Jan 10 2012, 18:04
Сообщение #3


Местный
***

Группа: Участник
Сообщений: 374
Регистрация: 7-11-07
Из: Moscow
Пользователь №: 32 131



Цитата(Konst_777 @ Jan 10 2012, 20:29) *
Сетевой адаптер выдает pause-пакеты, а MAC модуля их принимает. Это видно по значениям регистра статистики MAC: aRxPAUSEMACCtrlFrames. То есть, flow-control вроде бы и работает, но все равно, происходит потеря пакетов.

Как я понял ситуацию, МАС внутри FPGA пауз-пакеты принимает, но притормаживания посылок не отрабатывает? Я использую самодельный упрощенный MAC, который нормально отрабатывает все, что мне нужно. Может, в вашем случае дело в глюкавости самой core готового супер-МАС, которую вы используете? Если брали ее с opencores, то почти наверняка какая-нибудь засада там сидит. Убеждался не раз, и зарекся в конце концов.
Go to the top of the page
 
+Quote Post
Konst_777
сообщение Jan 13 2012, 08:15
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 549
Регистрация: 1-06-05
Пользователь №: 5 644



Цитата(Aprox @ Jan 10 2012, 22:04) *
...Может, в вашем случае дело в глюкавости самой core готового супер-МАС, которую вы используете?...

Altera в Errata не упоминает о проблемах с flow-control для Triple-Speed Ethernet MegaCore Function. И на форуме Altera никто пока на flow-control не жаловался. Похоже, что сетевой адаптер выдает pause-пакеты в самый последний момент, когда в его буфере уже остается свободного места меньше, чем длина пакета от модуля. А поскольку MAC модуля не приостанавливает выдачу данных до окончания выдачи текущего пакета, то и происходит потеря пакета. Вот, как проверить эту версию, я пока не знаю.

Цитата(Костян @ Jan 11 2012, 13:52) *
ПЭВМ и плата FPGA соединены кросс кабелем ? или через свитч ?

Сейчас ПЭВМ и модуль с FPGA соединены кросс кабелем напрямую. Нужно будет проверить, останется ли потеря пакетов при подключении модуля к ПЭВМ через маршрутизатор TL-WR1043ND.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Костян   ПК не посылает pause frame при включеном Flow control.   Dec 28 2011, 12:40
- - AndreiUS   В регистрах PHY включена опция Enable Pause?   Dec 29 2011, 10:51
|- - Костян   QUOTE (AndreiUS @ Dec 29 2011, 09:51) В р...   Dec 29 2011, 11:13
- - AndreiUS   Цитатая предполагал, что паузами занимается MAC ур...   Dec 29 2011, 11:32
|- - Костян   QUOTE (AndreiUS @ Dec 29 2011, 10:32) Пер...   Dec 29 2011, 11:43
|- - Victor®   Цитата(AndreiUS @ Dec 29 2011, 15:32) Пер...   Dec 30 2011, 20:50
|- - Aprox   Цитата(Victor® @ Dec 30 2011, 23:50) Ну, ...   Dec 31 2011, 11:09
|- - Victor®   Цитата(Aprox @ Dec 31 2011, 14:09) Не фак...   Dec 31 2011, 21:06
|- - Костян   QUOTE (Victor® @ Dec 31 2011, 20:06) Упра...   Jan 3 2012, 07:02
||- - Aprox   Цитата(Konst_777 @ Jan 13 2012, 11:15) По...   Jan 13 2012, 18:44
||- - Konst_777   Цитата(Aprox @ Jan 13 2012, 21:44) Провер...   Jan 15 2012, 17:30
||- - Костян   QUOTE (Aprox @ Jan 13 2012, 16:44) Я тут ...   Jan 16 2012, 11:11
|- - Костян   QUOTE (Konst_777 @ Jan 10 2012, 15:29) [*...   Jan 11 2012, 09:52
- - Костян   установка бита en_pause в PHY ничего не дало. по п...   Feb 14 2012, 13:35
- - Konst_777   Цитата(Костян @ Dec 28 2011, 15:40) Итак ...   Feb 15 2012, 06:59


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

 


RSS Текстовая версия Сейчас: 31st July 2025 - 14:05
Рейтинг@Mail.ru


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