Наверное каждому электронщику хотелось бы сделать себе устройство, способное соединяться с удаленным сервером и пересылать байты. Конечно, для этих целей можно использовать компьютер, но это громоздко и неудобно, да и надежность такой системы оставляет желать лучшего — слишком сложное устройство. Другое дело микроконтроллер, например Microchip PIC, MSC-51 или Atmel AVR — простой, надежный, потребляет минимум энергии и способен надежно выполнить узкий круг поставленных задач. Например, мониторинг сигнализации через Internet или Ethernet сеть. Всё бы хорошо, но тут появляется очередная проблема — протокол TCP/IP. Реализовать на AVR или PIC стек протоколов TCP/IP задача выполнимая, но требует времени, а время, как известно, деньги. И вот тут нам на помощь придет интерфейсный модуль Ethernet — RS232. Задача стандартная, поэтому предложений на рынке готовых модулей предостаточно, однако не стоит торопиться. Тут есть ряд тонкостей, связанных с особенностями работы данных устройств. Например, подавляющее большинство модулей может работать исключительно в роли сервера, которому требуется выделенный IP адрес. Устройство-клиент работает только с специализированным софтом, как правило под Windows, и открывает виртуальный COM порт который соединяется с удаленной системой (UART — Ethernet модуль) и обеспечивает обмен данными. Не самый удобный вариант. Для моей задачи данная конструкция была совершенно непригодна. Поэтому я начал искать дальше, вскоре был обнаружен замечательный модуль EG-SR-7100, а потом и его более новая модификация WIZ100SR. Почитал характеристики и подпрыгнул от радости! Все для решения моей задачи!
Протколы:
TCP, UDP, IP, ARP, ICMP, MAC, DHCP, PPPoE
Интерфейсы:
10/100 Base-T Ethernet (Auto detection),
RS232 (3.3V, 230Kbps 8-N-1, 8-O-1, 8-E-1, 7-O-1, 7-E-1)
Размеры:
50mm x 30mm x 12mm
В общем, замечательная штука!
Заказал, оплатил, дождался, получил. Чтобы сэкономить лишних 140 долларов, я решил не покупать демоплату, а спаять ее самому, благо схема была и ничего изобретать там не пришлось. Для сборки отладочной платы потребуется микросхема MAX3232, стабилизатор напряжения LM11173.3, логика 74HC14 ну и немного рассыпухи. В итоге получается полный аналог WIZ100SR-EVB стоящий на пару порядков дешевле оригинала.
Проблемы:
Нулевой проблемой стала колодка для подключения. PLS гнезда с шагом 2мм не было в радиусе пятиста километров, поэтому я тупо просверлил дырки в плате и впаял напрямую
Первая проблема с которой я столкнулся — отсутствие RJ45 разъема с встроенным согласующим трансформатором. Решилась она просто Трансформатор FC-22 GTS был выпаян из старой сетевой карты, заодно я позаимствовал оттуда же и RJ45 гнездо. Дальше есть одна маленькая тонкость, касаемая подключения этого трансформатора без которой ничего работать не будет. В классической схеме подключения FC-22 (да и других Ethernet трансформаторов) средняя точка на стороне PHY подключена на землю напрямую, либо через конденсатор. В модуле WIZ100SR все оказалось совершенно не так. В отличии от EG-SR-7100 тут имеется вывод PwFbOut (Power Feedback Out колодка JP2 контакт 1) на котором находится 3.3 вольта со внутреннего стабилизатора модуля. Этот вывод надо завести на центральный выводы трансформатора FC-22 со стороны PHY как показано на схеме. И их же через конденсатор в 0.2 uF завести на землю, как я показал ниже на схеме.
Второй проблемой стало отсутствие у меня джампера для перевода модуля в режим отладки (уже исправлено в последней ревизии платы) по RS232. В этом режиме невозможен обмен по Ethernet, зато можно изменить настройки модуля через UART. Все что надо для перехода в режим отладки- посадить вывод Status (колодка JP1 контакт 12) на GND. После чего модуль начинает принимать управляющие команды по RS232.
Третьей проблемой стала невозможность работы программы для настройки под Windows 2000 SP4. Может это глюк конкретного экземпляра винды, может глюк программы, не знаю. Под Windows XP работает без проблем.
Четвертая проблема — консоль, а точнее ввод команд. Изначально консоль настроена на скорость 57600 и автодетекта там нет. Так что я поначалу затупил и подумал, что у меня дохлый порт в модуле. Команды нужно вводить не совершая лишних нажатий, т.е. чётко, как в инструкции (сразу вспомнилось как чатился в Hyper Terminal). Благо команд всего три :).
Когда проблемы были решены я подключился через Telnet (просто указав в настройках модуля адрес и порт) к серверу и посмотрел четвертый эпизод звездных войн в ASCII графике. Коннект модуль держит железно, на данный момент им уже прокачано более двух мегабайт.
Ништяки
Схема отладочной платы, разведенная печатная плата в формате Sprint Layout v5.0 находится в разделе Файлы -> Модули
Русифицированая версия Sprint Layout v5.0 находится в разделе Файлы -> Софт
Интересная вещь, задача и правда весьма актуальная.
Главное, что у меня под это дело уже коммерческая задача есть :)
С учетом того сколько стоят KVM (кажется так эта хрень называется) задачи под нее есть много и всегда :)
Кстати да, разница между модулем+обвязка и готовым устройством как минимум в порядок иногда бывает :)
В Lantronix Xport все это уже готовое. С одной стороны Ethernet, с другой — UART. Со стороны компа можно и с эмулятором COM порта с ним общаться, а можно просто открыть сокет и посылать-принимать байты. Со стороны COM-порта есть telnet для настройки параметров, а со стороны ethernet — утилита под виндой, которая ищет все Xport’ы по их MAC и позволяет настроить им ip. Есть и настройка через DHCP, но я так и не въехал как в этом случае его искать потом (кроме той же утилиты).
Мне как конченному пользователю интересна такая железяка, чтоб её одним концом втыкать в последовательный порт (db9/25-m/f), а в другой конец втыкать rj45 езернетовский и работать.
Чтоб уже была вся собранная, в корпускЕ. Т.е. чтоб самому корпус не придумывать.
И чтоб драйвер был виндовый, предоставляющий COMM API для этого удалённого COM-порта.
Какие наиболее дешёвые модели ты можешь посоветовать на СНГшном рынке ?
А то развелось у меня девайсов, и к некоторым из них приходится бегать с ноутом виндовым, что очень огорчает. А так бы сделал себе коммунизм … :>
Есть такая буква! Вообще их довольно много, надо поискать кто ближе к тебе будет по доступности. Средняя цена примерно 30-40 баксов. Именно работающих серверами с виртуальным ком в системе. Этот же чем хорош — единственный из дешевых (18 баксов!) способный работать не только сервером но КЛИЕНТОМ с поддержкой DHCP.
Хорошая фирма Wiznet. Модули с аппаратной поддержкой протоколов работают надежно. У меня на них построена система мониторинга сети. Конечно не на данном модуле, а на микросхемах W3150A(+), W5100. Естественно подняты все необходимые интерфейсы. :-) Правда делалось это в данном случае вручную. Но программировать умею так что проблем нет. И все это железо работает с сервером информационной системы по протоколу SNMP. Так что опыт использования аналогичных устройств в серьезных коммерческих проектах, требующих надежной и безотказной работы, есть.
Мне кажется в предложении: «И их же через конденсатор в 0.2 uF завести на землю, как я показал ниже на схеме», есть ошибка номинала конденсатора. И на схеме далее по тексту стоят номиналы 0.1 uF.
Можно и 0.1 разница тут не существенна. В таких делах главное порядок, а не конкретный номинал :)
Слушай, мне показалось, или ты действительно где-то писал, что хочешь сорцы на этот модуль выцыганить?
Если не показалось, то получилось ли? =)
Крайне интересно. Один вопрос — а где они по 18 баксов обитают?
Уважаемый DI HALT, хотел обсудить с вами возможность приобретения у Вас данного устройства. Дело в том, что подобный прибор нужен для целей исследований на моей кафедре, а времени для воссоздания вашей схемы и ее отладки совсем не осталось. Хотел узнать, есть ли у вас еще эта плата, нужна ли она вам, и могли бы вы ее продать?
Плата есть. НЕ используется, так что могу вам ее продать. Цену только уточню (не знаю сколько сейчас этот модуль стоит). Напишите мне на dihalt@dihalt.ru ближе к ночи я вам отвечу.
хотел попробовать скачать файлы к статье http://dihalt.ru/wiz100sr-evb-samopal-rs232-ethernet.html
не получается (
Если не сложно, можете выслать на почту v.petroew@gmail.com ? хотел попробовать использовать для передачи данных в Го часах для турниров.
Попробуй сейчас. Перезалил файлы на основной хостинг.
Спасибо! Все скачалось, углубился в даташиты)
Будет ли работать в Ubuntu этот ethernet-сом порт?
Понятия не имею. Не, со стороны веб интерфейса, если подключиться по терминалке какой должен. Тут то все равно, а вот чтобы прям как драйвер. Это надо смотреть разработчиков.