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

 
 
7 страниц V  « < 3 4 5 6 7 >  
Reply to this topicStart new topic
WHALE
сообщение Mar 17 2009, 12:52
Сообщение #61


Знающий
****

Группа: Свой
Сообщений: 902
Регистрация: 2-01-06
Из: Краснодар
Пользователь №: 12 768



Цитата(Rst7 @ Mar 17 2009, 15:25) *
Кстати, я бы на Вашем месте озадачился правильной обработкой Flow-Control'а.

это типа всякие там back pressure?я книжку по ethernet еще до этого места не дочитал,на форматах пакетов остановился rolleyes.gif


--------------------
"Hello, word!" - 17 errors 56 warnings
Go to the top of the page
 
+Quote Post
Rst7
сообщение Mar 20 2009, 06:32
Сообщение #62


Йа моск ;)
******

Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610



Цитата
это типа всякие там back pressure?


Ага. Без этого будут потери пакетов.


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post
WHALE
сообщение Mar 20 2009, 07:18
Сообщение #63


Знающий
****

Группа: Свой
Сообщений: 902
Регистрация: 2-01-06
Из: Краснодар
Пользователь №: 12 768



Насколько я ничего не понимаю,Flow-Control делается только при TCP-обмене?А если у меня в сети на серваке ломаная итальянская прога для расчета антенн ARP-request -ами флудерастит,то что я могу сделать кроме как пожаловаться админу?
З.Ы. Я реализовал разбор заголовков на лету,спасибо.В общем-то сейчас меня все устраивает,ходовые испытания прошли успешно.С одной машины непрерывно пинговал девайс,с другой ARP слал-пакеты не дропались и девайс не вис.


--------------------
"Hello, word!" - 17 errors 56 warnings
Go to the top of the page
 
+Quote Post
Rst7
сообщение Mar 20 2009, 08:10
Сообщение #64


Йа моск ;)
******

Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610



Цитата
Насколько я ничего не понимаю,Flow-Control делается только при TCP-обмене?


Нет. Это необходимо именно на уровне L2. TCPшный флоуконтрол - это совсем отдельная жизнь.

Цитата
С одной машины непрерывно пинговал девайс,с другой ARP слал-пакеты не дропались и девайс не вис.


А Вы вот так сделайте в коммандной строке:
Код
for /L %i IN (1,1,100) DO start ping x.x.x.x -t


100 - это количество потоков пингов (можно и больше), x.x.x.x - адрес Вашего девайса. И тогда уже смотрите, дропает или нет пакеты. При рабочем Flow-Control не должно.


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post
kernel
сообщение Apr 12 2009, 06:11
Сообщение #65


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

Группа: Участник
Сообщений: 146
Регистрация: 13-07-08
Пользователь №: 38 908



Всем доброго времени суток!
А кто куда RESET у ENCшки цепляет? Пока вертятся в голове мысли:
- подвести его к CS через сопротивление
- оставить висячим
- "подкачивать" его питанием ч\з резистор
Подскажите, как лучше сделать?
Go to the top of the page
 
+Quote Post
zltigo
сообщение Apr 12 2009, 07:04
Сообщение #66


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(kernel @ Apr 12 2009, 09:11) *
Подскажите, как лучше сделать?

Вы будете, судя по представленым 'вариантам', очень удивлены, но он подключается к подходящему GPIO микроконтроллера.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
kernel
сообщение Apr 12 2009, 07:48
Сообщение #67


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

Группа: Участник
Сообщений: 146
Регистрация: 13-07-08
Пользователь №: 38 908



Цитата(zltigo @ Apr 12 2009, 14:04) *
Вы будете, судя по представленым 'вариантам', очень удивлены, но он подключается к подходящему GPIO микроконтроллера.

Ну я про этот вариант знал, только забыл его написать. rolleyes.gif
Благодарю за ответ smile.gif
Go to the top of the page
 
+Quote Post
kernel
сообщение Apr 18 2009, 16:59
Сообщение #68


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

Группа: Участник
Сообщений: 146
Регистрация: 13-07-08
Пользователь №: 38 908



А кто-нибудь использовал 74HCT08 для поднятия уровней у ENCшки? Я так понимаю, можно напрямую подвести, например, [SO] с ENC28J60 к замкнутым между собой [A] и у 74HCT08 и ловить с [Y] 5V tolerant уровень?

Цитата(kernel @ Apr 19 2009, 00:59) *
А кто-нибудь использовал 74HCT08 для поднятия уровней у ENCшки? Я так понимаю, можно напрямую подвести, например, [SO] с ENC28J60 к замкнутым между собой [A] и [B] у 74HCT08 и ловить с [Y] 5V tolerant уровень?

Или на один из входов (А или В) нужно подводить питание?

Попробую объяснить яснее.

[b]Задача:
необходимо согласовать уровни ENC28J60 и 5-вольтовой Меги.

Судя по даташиту ENC28J60, согласовать уровни можно с помощью 74HCT08 вот так:


Функциональная схема 74HCT08 выглядит так:


Вопрос: могу ли я просто замкнуть между собой [A] и [B] у 74HCT08, подводя к нему выход ENC28J60 и получать на выходе [Y] у 74HCT08 "съедобный" для 5v ATMEGA уровень?

PS: уже всю схему нарисовал, а на этой 74HCT08 застрял sad.gif

Уважаемые, ну неужели никто не поднимал уровень ENC28J60 до 5V ?

Сообщение отредактировал zltigo - May 31 2009, 08:55
Эскизы прикрепленных изображений
 Р В Р’ Р’ Р в‚¬Р В РЎВ˜Р В Р’µР Р…ьшено Р Т‘Р С• 55%
Прикрепленное изображение
386 x 287 (6.33 килобайт)
 Р В Р’ Р’ Р’˜Р В·Р С•бражение уменьшено
Прикрепленное изображение
152 x 246 (3.84 килобайт)
 
Go to the top of the page
 
+Quote Post
SantaQAWSED
сообщение Oct 19 2009, 16:13
Сообщение #69


Участник
*

Группа: Участник
Сообщений: 19
Регистрация: 1-04-07
Пользователь №: 26 688



Тема немного постарела, но все же.
Удалось ли кому нибудь победить подвисание ожидания отправки пакетов или нет?
Пробую и так и сяк, кроме как принудительным прерыванием ожидания по таймауту, не выходит (кстати так же сделано в микрочиповском стеке).
На всякий случай сделал повторную отправку пакета, если первый так и не ушел, интересно, что со второй попытки операция всегда успешно проходит. В таком варианте обмен по TCP стал поживее (исходящие пакеты перестали теряться).
Go to the top of the page
 
+Quote Post
zltigo
сообщение Oct 19 2009, 16:17
Сообщение #70


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(SantaQAWSED @ Oct 19 2009, 19:13) *
Удалось ли кому нибудь победить подвисание ожидания отправки пакетов или нет?

Уточните, проблему и что сделали. О какой ветке, напимер, микрочиповского стека идет речь?


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
HALFer
сообщение Nov 1 2009, 21:07
Сообщение #71


Участник
*

Группа: Участник
Сообщений: 19
Регистрация: 21-04-09
Пользователь №: 48 019



Всем доброго времени суток.
при работе с enc28j60 возникла проблема.
сперва висла из-за огромного к-ва входящих пакетов (на каждый формировался ответ), но странным образом - пакеты принимались, а вот отсылать отказывалась (mega подмигивает на каждый входящий и исходящий пакет). полез в эррату, начал потихоньку править код в соответствии с рекомендациями. и вот дошел до пункта, где говорится о потери указателя на новый пакет в буфере enc. рекомендуют поменять местами входящий и исходящий буфера. сделал и в итоге получил ситуацию с точностью до наоборот - при зависании перестает принимать, но стабильно по таймеру раз в 3 секунды шлет пакеты.
по началу все устраивало, т к программа опрашивала устройство раз в 15 секунд и контроллер следил за интервалами между запросами - если их не было в течении минуты, то enc получала софтовый ресет и работа возобновлялась. теперь же появилась необходимость в web-интерфейсе (заказчик хочет контролировать состояние девайса через мобильный браузер), а полинг девайса программой ушел на второй план (т е не факт, что программулина всегда будет включена). соответственно выходом из ситуации стал принудительный сброс каждые 30 минут.
подскажите, есть ли выход из ситуации?
мега тактируется от enc (1/4), SPI соответственно 3.125 МГц, ревизия чипа 6 (возвращает 110), выполнены требования B7 Silicon Errata (кроме пункта 15 про софтовый подсчет CRC), прерывания от enc не использую.
завтра еще попробую запустить мегу на 20МГц и ограничить скорость на порту свитча в 64к, может тогда не будет переполнения буфера.
Go to the top of the page
 
+Quote Post
kernel
сообщение Nov 27 2009, 12:41
Сообщение #72


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

Группа: Участник
Сообщений: 146
Регистрация: 13-07-08
Пользователь №: 38 908



Возникла проблема с этим ENC28J60. Почему-то через некоторое время (даже при простое) перестает принимать пакеты (о чем сообщают регистры), хотя "пакетный" светодиод моргает. Пробовал на двух разных ревизиях чипов (4 и 6), результат одинаков. У кого-нибудь была подобная проблема?
Go to the top of the page
 
+Quote Post
kernel
сообщение Nov 29 2009, 14:01
Сообщение #73


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

Группа: Участник
Сообщений: 146
Регистрация: 13-07-08
Пользователь №: 38 908



Через некоторое время EPKTCNT всегда возвращает ноль (даже при приходе пакетов), переинициализация enc28j60 иногда возвращает его к нормальной работе на некоторое время sad.gif
Может быть инициализирую его как-то не правильно? От этого может быть такая проблема?
PS: похоже все про этот чип уже давно забыли...

Сообщение отредактировал kernel - Nov 29 2009, 14:45
Go to the top of the page
 
+Quote Post
HALFer
сообщение Nov 29 2009, 22:33
Сообщение #74


Участник
*

Группа: Участник
Сообщений: 19
Регистрация: 21-04-09
Пользователь №: 48 019



после того как сделал абсолютно все рекомендации в эррате к 6 ревизии + прикрутил маленький шаманский бубен все работает уже вот 3 недели на подоконнике под постоянными fping'ами (100мс период, 256 байт длина) + время от времени в перекурах кнопаю его web-интерфейс. все шарашит нормально smile.gif
шаманство заключалось в том, что раз в минуту проверяю к-во входящих пакетов (после выполнения последней эрраты редко зависает только прием пакетов). если их нет (а они будут, т к включено это все в офисную сеть с 50+ компутерами) то под зад его софтовым ресетом и все пучком. судя по статистике такое случалось всего 4 раза за 3 недели. клокать мегу от enc (потому ногу reset enc на мегу цеплять запрещаеца smile.gif ). входные пакеты проверять только "полингом".
вот собстна после бессоных ночей только в таком режиме и заработала более-менее.

ну а если за минуту вдруг действительно не было ниодного пакета, то имхо ничего страшного, лишний ресет не помешает smile.gif всеравно в эфире тишина
Go to the top of the page
 
+Quote Post
kernel
сообщение Nov 30 2009, 06:58
Сообщение #75


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

Группа: Участник
Сообщений: 146
Регистрация: 13-07-08
Пользователь №: 38 908



HALFer, большое спасибо за ответ. Из сказанного Вами возникли еще вопросы: при софтовом ресете нужно заново реинициализировать регистры контроллера или можно только подкинуть саму команду ресета и продолжать работу дальше? И проверка пакетов "полингом" - это и есть проверка (EPKTCNT > 0)?
Мегу клокать от ENC не могу, т.к. нужна высокая частота (сейчас 16, потом будет 20), хотя хотелось бы. Кстати, а ножку INT от enc кто-нибудь применяет? Я ее прицепил к меге, планировал только при стуке ногой INT по меге обрабатывать пакеты, но задумался - надо ли?
Go to the top of the page
 
+Quote Post

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

 


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


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