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

 
 
> Потеря пакетов по Ethernet'у
egorman44
сообщение Jun 25 2015, 09:58
Сообщение #1


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

Группа: Свой
Сообщений: 141
Регистрация: 22-11-12
Из: Нижний Новгород
Пользователь №: 74 507



Всем здравствуйте ! sm.gif

На устройстве используем 100 Мб Ethernet. На плате №1 имеется микросхема PHY которая принимает пакеты, далее передает их по MII к FPGA. FPGA осуществляет простой проброс MII интерфейса и через PLD коннекторы все это дело передается на плату №2. На плате №2 MII далее идет на switch к которому подключен процессор. В таком подключении сеть на процессоре присутствует. Но при проверке, допустим генерируя 2 Мб/с трафика, теряется 2% пакетов, приходящих к процессору.

По поводу длины линий, на плате №1, RX_CLK длиннее остальных на 50мм (полная длина линии от FPGA до PLD коннекторов 152 мм), между остальными линиями (RXD<0..3>, RX_DV, ... ) разбег не превышает 2.5 мм. На плате № 2 длины проводников согласованны.

Я занялся расчетами и получил что RX_CLK опаздывает (очень) примерно на 0,35 нс, период MII = 40 нс. Я так полагаю это не критично ?!

Пробовал пропускать сигналы RX линии MII через D триггеры тактируемые на частоте 150 МГц, пробовал задерживать сигнал RX_CLK на величину кратную 1/6 периода ничего не помогло . sad.gif

Господа прошу помощи в разрешении вопроса. Куда примерно посмотреть, что попробовать, чтобы исчезли потери пакетов. ?! sm.gif
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 5)
des00
сообщение Jun 25 2015, 14:26
Сообщение #2


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



я бы начал с выяснения где именно и в каком направлении валятся пакеты. а уже потом бы думал как лечить.


--------------------
Go to the top of the page
 
+Quote Post
egorman44
сообщение Jun 25 2015, 14:33
Сообщение #3


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

Группа: Свой
Сообщений: 141
Регистрация: 22-11-12
Из: Нижний Новгород
Пользователь №: 74 507



Цитата(des00 @ Jun 25 2015, 17:26) *
я бы начал с выяснения где именно и в каком направлении валятся пакеты. а уже потом бы думал как лечить.


Цитата(egorman44 @ Jun 25 2015, 12:58) *
Но при проверке, допустим генерируя 2 Мб/с трафика, теряется 2% пакетов, приходящих к процессору .


Генерирую трафик UDP, утилитой iperf. Во время теста мониторю вход RX_ERR на наличие ошибок, но событие не наступает .
Go to the top of the page
 
+Quote Post
des00
сообщение Jun 26 2015, 01:22
Сообщение #4


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(egorman44 @ Jun 25 2015, 22:33) *
Генерирую трафик UDP, утилитой iperf. Во время теста мониторю вход RX_ERR на наличие ошибок, но событие не наступает .

RX_ERR это ЕМНИП ошибка: нечетное количество ниблов. надо принять пакет в плисе и на уровне мака посчитать CRC


--------------------
Go to the top of the page
 
+Quote Post
Aleks17
сообщение Jun 26 2015, 09:01
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 238
Регистрация: 17-01-05
Из: Новосибирск
Пользователь №: 2 003



Ну так то вам правильно сказали. Для начала стоить определить где теряются пакеты. Как я понял есть два линка (сеть - PHY - FPGA - switch) и (switch - CPU). Switch управляемый ? Содержит счётчики принятых/отправленных/ошибок? Flow control присутствует где-нибудь? Нет ли потери пакетов в софте процессора?
Go to the top of the page
 
+Quote Post
egorman44
сообщение Jun 26 2015, 15:24
Сообщение #6


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

Группа: Свой
Сообщений: 141
Регистрация: 22-11-12
Из: Нижний Новгород
Пользователь №: 74 507



Цитата(Aleks17 @ Jun 26 2015, 12:01) *
Ну так то вам правильно сказали. Для начала стоить определить где теряются пакеты. Как я понял есть два линка (сеть - PHY - FPGA - switch) и (switch - CPU). Switch управляемый ? Содержит счётчики принятых/отправленных/ошибок? Flow control присутствует где-нибудь? Нет ли потери пакетов в софте процессора?


Управляемый и даже подключен к процессору, но софт для процессора не написан sm.gif Так что switch просто устанавливается при включении по дефолту и вперед. Про flow control ответить затрудняюсь. На отладке проц с тем же софтом, но подключенный напрямую к PHY не теряет пакетов .

Есть предположение, что MII через PLD разъемы и общей трассой протяженностью примерно 20 см, может много чего поймать. Интересно, есть какая-нибудь бумажка, по поводу этого дела ? Например , длина проводников не должна превышать столько-то столько-то для MII. Или это ересь ?! sm.gif
Go to the top of the page
 
+Quote Post

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

 


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


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