Если витую пару завести на пины ардуино, то как определить, что с другой стороны она куда-то подключена?

И можно ли это делать напрямую?
  • Вопрос задан
  • 208 просмотров
Решения вопроса 2
@nehrung
Не забывайте кликать кнопку "Отметить решением"!
Я так понял, вам нужна идея алгоритма, определяющего, что другой конец линии подключён или не подключён к сетевому порту, чтобы вы реализовали его на ардуинке.
Это элементарно. Проверка основана та том факте, что линия подключается к сетевому контроллеру через импульсные трансформаторы, т.е. обмотки с небольшим количеством витков провода. Фактически это аналог "прозвонки". Для 100-мегабитного соединения:
1. Подаём на пин, к которому подключён оранжевый провод, попеременно 0 и 1.
2. Через небольшую паузу (1...5 миллисекунд, чтобы закончились всякие переходные процессы на линии) на пине, к которому подключён бело-оранжевый провод, проверяем, что там есть.
3. Если подаваемый и принимаемый сигналы совпадают, то подключение есть. Если принимаемый сигнал не меняется, подключения нет.
4. Для гарантии повторяем то же самое на зеленой паре.

Для гигабитного соединения делаем такую же проверку и на синей и коричневой парах (а можно и не делать).

PS: С опозданием пришло в голову, что описанная процедура годится только если на другом конце линии - обычный порт, без PoE-питания. Если оно там есть, то между парами приложено 12 или 48 вольт, и при подключении к ардуине обеих пар это напряжение пойдёт прямо на её пины, что нехорошо. Поэтому проверять надо только на одной паре, и вторую (для подтверждения) можно проверять только после отключения первой. Так надо делать всегда, поскольку заранее неизвестно, есть ли на том конце PoE.
Ответ написан
@VT100
Embedded hardware & software.
Теоретически - вероятно. Практически - надо проверять.
Google: "AVR reflectometer", "AVR cable tester"?
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
gbg
@gbg Куратор тега Arduino
Любые ответы на любые вопросы
Ну да, цепляем на ардуину Ethernet-Shield - и задача решена.

Есть еще вот такое, но эта штука не проверяет наличие линка с другой стороны (для этого все же проще взять шилд, чем переизобретать его на транзисторах)
Ответ написан
@evgeniy_lm
В принципе никак.
Ответ написан
Комментировать
NeiroNx
@NeiroNx
Программист
Чтобы определить подключена она или нет - нужно на один пин установить лог 1 а на других пинах замерить уровень напряжения или ток(должны быть резисторы) и так повторить для всех остальных пинов. В итоге будет ясно какие пины звонят я с какими.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы