Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Обработка сигнала Link в W3100A
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > Fast Ethernet/Gigabit Ethernet/FibreChannel
irum4
Как W3100A обрабатывает сигнал LINK, что бы управляющий им контроллер знал, что кабель оборвался или еще чего такое? У меня визнет работает как сервер(1 канал), если после открытия сокета оборвать кабель секунд на 10, комп сообщит, что связь оборвалась и закроет сокет на своей стороне, а мой визнет об этот ничего не знает, поскольку не знает как обработать такой обрыв. Есть бит timeout в регистре прерывания, но на него такая ситуация никак не влияет. Или я что-то не дочитал в даташите?
boez
А должен ли он за 10 секунд что-то делать? Вообще то что винда закрывает все сокеты при отключении кабеля - задрочка еще та. Я бы наоборот, с удовольствием бы узнал как винду заставить этого не делать. То есть при отключении кабеля сокет должен висеть до бесконечности!!! Или пока не понадобится что-то передать. Если к этому моменту кабель восстановили - все будет хорошо и поедет работать дальше. Нет - начнут отрабатываться таймауты. Линух ИМХО делает именно так, видимо визнет сделали по этой идеологии.
sz36
Цитата(irum4 @ Feb 8 2007, 02:43) *
Как W3100A обрабатывает сигнал LINK, что бы управляющий им контроллер знал, что кабель оборвался или еще чего такое?

Никак он его не обрабатывает, по-моему. Во-всяком случае, если кабель отсоединить на некоторое время, а потом подключить обратно - соединение остается и прекрасно работает. Но можно обрабатывать это сигнал контроллером, я пошел по этому пути. В даташите написано: W3100A can knows the status of physical line connection with this /LINK input. If /LINK is high, W3100A interprets the physical line is disconnected. It results in TCP timeout and connection close, но практика это не подтверждает.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.