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

 
 
 
Reply to this topicStart new topic
> Fast Ethernet TCP/IP и наносекундные помехи, сведению к минимуму снижения объема передваемой инфы
bookevg
сообщение Mar 11 2011, 12:01
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 320
Регистрация: 13-09-06
Пользователь №: 20 348



Проводим испытание на устойчивость технического средства (ТС) к наносекундным помехам.
Требования к испытаниям: Х класс жесткости (4кВ) - 5кГц. Ввод помехи через емкостные вещи. На другом конце линии находится такое ТС.
У ТС есть как RS485, так и проводной Fast Ethernet.
В обоих случаях ни процессор, ни драйвер RS485, ни PHY Fast Ethernet не зависает.
По каналу RS485 нет ошибочных пакетов во время действии помехи, но даже если и будет то не должно превышать:
15мс (время действии помехи) / 300мс (период действия помехи) = 5% ошибочных пакетов.
Скорость 115200 бод. Отсутствие ошибочных пакетов RS485 скорее всего вызвано достаточно большой емкостью между дифф.сигналами по сравнению с Fast Ethernet.
При испытаниях порта Fast Ethernet (протокол TCP/IP) наблюдаем существенное уменьшение передаваемых пакетов (в 10 раз). При этом соединение не рвется.
Поставили на другом конце линии (на том конце, которое имеет существенную длину провода, выходящего с клещей) узел защиты от перенапряжений и затем ноут. На ноуте стоит снифер. На ТС стоит сервер ,а на ноуте клиент
Видим следующее

1) клиент обращается к серверу, сервер подтверждает запрос (делает ack через 1мс), но ответ на запрос приходит примерно через секунду.
Вот если бы уменьшить эту секунду, то увеличим объем передаваемых данных за единицу времени
Вот и вопрос: если при декодировании PHY увидит нарушение в символе, что он делает?

2) иногда происходят retransmission от клиента, что создает паузу в обмене на 300мс
Может здесь надо какой-нибудь параметр в стеке подправить?

3) иногда возникает rst без обрыва соединения, что создает паузу в обмене на 1с

Используемый стек: какая-то сборка m_i_c_r_i_u_m TCP/IP v1.92 собранная собственоручно.

Какую порекомендуете литературу:
1) разобраться с физическим уровнем обмена - т.е. какие здесь возможны ошибки и как софт д. реагировать на это;
2) взаимоотношения между PHY и MAC при возникновении ошибок;
3) реакцию TCP/IP стека при возникновении ошибок
Go to the top of the page
 
+Quote Post
cioma
сообщение Mar 11 2011, 12:49
Сообщение #2


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

Группа: Свой
Сообщений: 1 226
Регистрация: 19-06-04
Из: Беларусь
Пользователь №: 65



Если при декодировании PHY увидит неожидаемый символ то скорее всего весь кадр Ethernet отбрасывается
Go to the top of the page
 
+Quote Post
bookevg
сообщение Mar 11 2011, 12:56
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 320
Регистрация: 13-09-06
Пользователь №: 20 348



Цитата(cioma @ Mar 11 2011, 15:49) *
Если при декодировании PHY увидит неожидаемый символ то скорее всего весь кадр Ethernet отбрасывается

Пусть кадр отбрасывается, но как MAC про это ведь д.узнать - так вот он как узнает по таймауту или опрашивая регистры PHY?
Go to the top of the page
 
+Quote Post
iosifk
сообщение Mar 11 2011, 13:02
Сообщение #4


Гуру
******

Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369



Цитата(bookevg @ Mar 11 2011, 15:56) *
Пусть кадр отбрасывается, но как MAC про это ведь д.узнать - так вот он как узнает по таймауту или опрашивая регистры PHY?

В интерфейсе MII есть сигнал RX_ERROR. По нему приемный пакет МАС должен выбросить. Есть CRC по приему, такие пакеты тоже выбрасываются...
В регистрах PHY об этом есть информация.


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
kolobok0
сообщение Mar 14 2011, 09:20
Сообщение #5


практикующий тех. волшебник
*****

Группа: Участник
Сообщений: 1 190
Регистрация: 9-09-05
Пользователь №: 8 417



Цитата(bookevg @ Mar 11 2011, 15:01) *
...Какую порекомендуете литературу:
1) разобраться с физическим уровнем обмена - т.е. какие здесь возможны ошибки и как софт д. реагировать на это;
2) взаимоотношения между PHY и MAC при возникновении ошибок;
3) реакцию TCP/IP стека при возникновении ошибок


по литературе и не совсем(не последние года. возможно ситуация поменялась. копал лет 5 назад тему)
1, 2) с физического уровня (как сказано выше) приходят состояния принятых данных. по идеи при отсутствии заданной фильтрации для нижнего аппаратного уровня по MAC уровню - пакеты должны приходить все, которые есть в данной линии. как выставить фильтр, статус принятых данных - всю инфу смотреть даташит от производителя железа Ethernet контроллера.
3) сам по себе стэк(протокол TCP/IP имеется ввиду) можно разделить на два слоя: IP уровень и TCP. IP должен уметь обрабатывать сборку пакетов(в имеющихся в инете открытых протоколов этого функционала не наблюдал) при их фрагментации. по умолчанию максимальная длина 1500 (обычно нарезает любой роутер по пути маршрутиризации, либо передающий хост - если форточки например). более высокий уровень TCP обеспечивает обработку таких вещей как размер окна, затор, потери пакетов(медленные-быстрые старты и т.п.). основное чтиво - RFC по протоколам. там всё есть. по таймингам - сильно зависит от операционки где это всё живёт. в форточках, например, некоторыми задержками и параметрами можно управлять из пользователькосго слоя. сам по себе TCP/IP протокол предназначен именно для устойчивой канальной связи в не зависимости куда исчезают пакеты.


удачи вам
(круглый)
Go to the top of the page
 
+Quote Post

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

 


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


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