Модуль Ethernet-RS232 WIZ100SR

Как то раз мне потребовалось устройство способное соединяться с удаленным сервером и пересылать байты. Конечно, для этих целей можно использовать компьютер, но это громоздко и неудобно, да и надежность такой системы оставляет желать лучшего — слишком сложное устройство. Другое дело микроконтроллер, например Microchip PIC, MSC-51 или Atmel AVR — простой, надежный, потребляет минимум энергии и способен надежно выполнить узкий круг поставленных задач. Например, мониторинг сигнализации через Internet или Ethernet сеть. Всё бы хорошо, но тут появляется очередная проблема — протокол TCP/IP. Реализовать на AVR или PIC стек протоколов TCP/IP задача выполнимая, но требует времени, а время, как известно, деньги. Надо было срочно и с минимальным геморроем. И вот тут мне на помощь пришел интерфейсный модуль Ethernet — RS232. wiz100sr.jpgЗадача стандартная, поэтому предложений на рынке готовых модулей предостаточно, однако не стоит торопиться. Тут есть ряд тонкостей, связанных с особенностями работы данных устройств. Например, подавляющее большинство модулей может работать исключительно в роли сервера, которому требуется выделенный IP адрес. Устройство-клиент работает только с специализированным софтом, как правило под Windows, и открывает виртуальный COM порт который соединяется с удаленной системой (UART — Ethernet модуль) и обеспечивает обмен данными. Не самый удобный вариант. Для моей задачи данная конструкция была совершенно непригодна. Поэтому я начал искать дальше, вскоре был обнаружен замечательный модуль EG-SR-7100, а потом и его более новая модификация WIZ100SR. Почитал характеристики — оно! Все для решения моей задачи! wiz100sr-evb
Протколы:
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

В общем, замечательная штука!
Заказал, оплатил (стоит эта радость порядка 28 баксов), дождался, получил. Чтобы сэкономить лишних 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 завести на землю, как я показал ниже на схеме. wiz100sr-evb

Второй проблемой стало отсутствие у меня джампера для перевода модуля в режим отладки (уже исправлено в последней ревизии платы) по RS232. В этом режиме невозможен обмен по Ethernet, зато можно изменить настройки модуля через UART. Все что надо для перехода в режим отладки- посадить вывод Status (колодка JP1 контакт 12) на GND. После чего модуль начинает принимать управляющие команды по RS232.
wizBOTm.jpg
Третьей проблемой стала невозможность работы программы для настройки под Windows 2000 SP4. Может это глюк конкретного экземпляра винды, может глюк программы, не знаю. Под Windows XP работает без проблем.

Четвертая проблема — консоль, а точнее ввод команд. Изначально консоль настроена на скорость 57600 и автодетекта там нет. Так что я поначалу затупил и подумал, что у меня дохлый порт в модуле. Команды нужно вводить не совершая лишних нажатий, т.е. чётко, как в инструкции (сразу вспомнилось как чатился в Hyper Terminal). Благо команд всего три :).

Когда проблемы были решены я подключился через Telnet (просто указав в настройках модуля адрес и порт) к серверу towel.blinkenlights.nl и посмотрел четвертый эпизод звездных войн в ASCII графике. Коннект модуль держит железно, без ошибок было прокачано более двух мегабайт. Потом я просто вырубил систему.

Файлы к модулю WIZ100SR:

33 thoughts on “Модуль Ethernet-RS232 WIZ100SR”

  1. Всетаки наличие форума сказывается- пошли перепечаткики с другого сайта уважаемого автора, а хотелось бы увидеть продолжение обещанных тем, и поболее для новичков… Или со всеми вопросами в форум?

    1. Форум тут не причем :) У меня сейчас идет ударная работа над одним заказом и поэтому времени на строгание очередного креатива совсем нет. А на форуме я раз в день отвечаю на некоторые темы и особо времени не трачу.

  2. Я сейчас пробую использовать EM100: http://www.tibbo.com/em100.php Понравилось: низкое энергопотребление, встроенный трансформатор, возможность конфигурации и обновления прошивки через Ethernet, довольно вменяемый софт. Стоит, естественно, дороже.

  3. Привет, DI HALT! Спасибо за сайт и блог. Ты упоминал устройства, работающие с программным клиентом, создающим виртуальный последовательный порт в виндовс. Не подскажешь такую штуку для 485-го интерфейса?

    1. Конкретно для 485го не знаю. Но можно сделать из этого. Есть микросхемы конвертеры 232-485 стоят копейки, ставим ее сюда вместо мах232 и будет тебе счастье. Протокол то там один. Просто 485 полудуплекс на дифпаре.

      1. Да, я смотрел MAX3162. Хотелось бы, конечно, готовое устройство. Для моей задачи необходимо и достаточно виртуального порта в виндовс, так что мне такая опция, как общение с устройством по telnet, не важна :) У кого бы мне такую штуку поискать?

        1. Ага, спасибо. Я про них слышал, но не вчитывался в характеристики, а там черным по белому написано: Виртуальный COM-порт. Да, и стОят они ничего так. Надо будет поэкспериментировать.

          1. Довелось работать с разными типами MOXA-вских девайсов в промышленных условиях. Если бы не вопрос цены — отличные штуки.

  4. Привет, DI HALT!
    Работал я раньше с предшественником этого модуля IIM7100A и впечатление осталось плохое. Мне так и не получилось задействовать аппаратное управление потоком на UART, хоть и ставишь в настройках обоих модулей апп/упр но на дальнем от компа модуле (т.е. там где RTS, DTR и прочее должны совпадать с состоянием на UART на компе) они не статически не менялись, ни динамически (в момент передачи данных):(.
    и продолжалось это безобразие на нескольких прошивках подряд и найти рабочую так и не удалось.
    Затем мне стало интересна возможность коннекта к модулям (настроенным как list) с третьей стороны т.е. персоналкой c целью проверки их работоспособности и я нашел прогу для создания вирт порта на ПК и коннекта через LAN карту, это тоже удалось но апп/упр так и не появилось.
    Форум техподдержки Wiznet ничего не ответил.
    Есть вариант XPort Lantronix они его позиционировали как самый маленький (он встроен в RJ-45розетку) его я не пробовал.

  5. не подумайте что спамир :) вот статья что дополняет DI Halt по мезонинным модулям. Я например искал трансформатор, оказалось он встроен в RJ45 в тех модулях
    статья
    http://www.efo.ru/doc/Wiznet/Wiznet.pl?2705

    модуль с эзернетом на борту, есть такой же и с RS232 9 пин разъемом, готовая конструкция
    http://www.ewiznet.com/goods_detail.php?goodsIdx=115

    1. Тыж смотри, как оно все подешевело. Еще год назад дороже было. А транс да, сейчас его ныкают в рж45 разьем. Но вот купить их порой проблемно.

  6. вот такой есть еще девайс ПРЕОБРАЗОВАТЕЛЬ ИНТЕРФЕЙСОВ RS-485/RS-232 В ETHERNET
    «С2000-Ethernet» от конторы «Bolid» (используем в частности в системах охранно-пожарной сигнализации)

        1. насчет MOXA особо ниче сказать не могу. используем
          MOXA NPort 6650-16 для охранной сигнализации, управления купольными камерами.
          вобщем есть некоторые нарекания к работе этого устройства

      1. Это же рульно! Тогда встречный вопрос, а заменяется они без дополнительных изменений на схеме? Если все жне что-то менять придется, то полезу искать инфу.

        1. Ну один к одному ясное дело не заменишь, т.к. включение у них разное. Но вот просто так ее вкорячить запросто — там ведь с модуля идет рх тх и вот их заводишь на ФТ232 как обычно и готово.

  7. Я правильно понимаю что чтобы подключиться к серверу towel.blinkenlights.nl через Telnet нужно в Telnet просто набрать towel.blinkenlights.nl и сервер должен выдать эту страницу в окно Telnet, т.е. для этого больше ничего набирать не надо?

  8. Приобрел 2 платы: 1) wiz220io — имеет встроенный http сервер, 2) wiz110sr .
    Через браузеры эсплорер и фаерфокс подключаюсь к wiz220io — все нормально.
    заголовки из фаерфокса:
    —————————————-
    GET / HTTP/1.1
    Host: 192.168.0.88
    User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:8.0.1) Gecko/20100101 Firefox/8.0.1
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
    Accept-Language: ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3
    Accept-Encoding: gzip, deflate
    Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7
    Connection: keep-alive

    HTTP/1.1 200 OK
    Content-Type: text/html
    Content-Length: 333
    ——————————————————————-
    Пытаюсь подключиться через Terminal V1. 9B:
    GET / HTTP/1.1 Host: 192.168.0.88
    получаю:

    Invalid request.

    HTTP/1.1 400 OK
    Content-Type: text/html
    Content-Length: 50

    или так пытаюсь подключиться через Terminal V1. 9B:
    GET / HTTP/1.1#013#010Host: 192.168.0.88
    получаю тоже:

    Invalid request.

    HTTP/1.1 400 OK
    Content-Type: text/html
    Content-Length: 50

    Пробовал и через telnet — тоже 400 ошибка.
    при подключении к внешним сайтам тоже — 400 Bad Request (Плохой запрос).

    Помогите, добрые люди, плиз понять что делаю не правильно, я в этом не очень силен.

    1. Ну, похоже, что ваш «терминал» как-то криво обрабатывает Enter.
      Потому что в «терминале» у вас видно:
      GET / HTTP/1.1 Host: 192.168.0.88
      или
      GET / HTTP/1.1#013#010Host: 192.168.0.88
      вместо правильного
      GET / HTTP/1.1
      Host: 192.168.0.88

  9. Забыл написать что когда пытаюсь подключиться через Terminal V1. 9B или telnet это происходит через плату «wiz110sr» которая подлючена к com порту и эзернету.

Добавить комментарий

Ваш e-mail не будет опубликован.

Перед отправкой формы:
Human test by Not Captcha