|
ПК не посылает pause frame при включеном Flow control., ищем причину ? |
|
|
|
 |
Ответов
|
Jan 10 2012, 17:29
|
Знающий
   
Группа: Свой
Сообщений: 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 вызвать потерю пакетов из за перегрузки процессора не удается. Есть ли у кого-нибудь опыт решения подобной проблемы?
|
|
|
|
|
Jan 10 2012, 18:04
|

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

|
Цитата(Konst_777 @ Jan 10 2012, 20:29)  Сетевой адаптер выдает pause-пакеты, а MAC модуля их принимает. Это видно по значениям регистра статистики MAC: aRxPAUSEMACCtrlFrames. То есть, flow-control вроде бы и работает, но все равно, происходит потеря пакетов. Как я понял ситуацию, МАС внутри FPGA пауз-пакеты принимает, но притормаживания посылок не отрабатывает? Я использую самодельный упрощенный MAC, который нормально отрабатывает все, что мне нужно. Может, в вашем случае дело в глюкавости самой core готового супер-МАС, которую вы используете? Если брали ее с opencores, то почти наверняка какая-нибудь засада там сидит. Убеждался не раз, и зарекся в конце концов.
|
|
|
|
|
Jan 13 2012, 08:15
|
Знающий
   
Группа: Свой
Сообщений: 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.
|
|
|
|
Сообщений в этой теме
Костян ПК не посылает 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
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|