Serial-Ethernet модули WIZ750SR и WIZ752SR - начало работы с ними
На основе микросхем W7500x , вводная статья о которых не так давно была опубликована на сайте ЭФО, компания WIZnet разработала функциональные и доступные по цене Serial-Ethernet модули. Они призваны заменить устаревшие и на порядок более дорогие WIZ107–145SR. В этой статье на примере модуля WIZ750SR мы расскажем о том, как можно обновлять «прошивку» и как осуществлять настройку и управление модулем через СОМ-порт или по локальной сети. Для модулей этой серии регулярно выходят обновленные версии программного обеспечения. Эти обновления исключают ошибки, допущенные в предыдущих версиях. Таким образом, можно сказать, что заметным преимуществом модулей WIZ750SR и WIZ752SR является гибкость: при возникновении каких-то ошибок или проблем их всегда можно «перепрошить» под нужную вам версию ПО, а также вернуть базовые настройки. Программное обеспечение состоит из двух частей: App и Boot. App (Application) - приложение или программа. В этой части содержится основной код программы, реализующий преобразование интерфейсов. Boot (Bootloader) - загрузчик. Он необходим для того, чтобы модуль мог сам вносить изменения в свою внутреннюю память, корректируя программный код. К примеру, без загрузчика невозможно было бы обновить «прошивку», используя кабель Ethernet (об этой функции мы поговорим в следующем разделе).
Но есть особенность, которую необходимо учитывать при загрузке ПО: некоторые версии загрузчика и программы несовместимы (см. рис. 1). Отметим, что для модуля WIZ752SR пока существует только одна версия ПО, поэтому проблем с совместимостью у него нет. Рис. 1. Совместимость версий программы и загрузчика. Загрузить программное обеспечение в модуль можно двумя способами: 1. По локальной сети при помощи программы Wiznet S2E Configuration Tool
Обновление ПО с помощью программы Wiznet S2E Configuration Tool. Преимуществом этого способа является тот факт, что для обновления ПО нет необходимости извлекать модуль из работающего устройства, а можно сделать это удаленно. Достаточно лишь того, что модуль будет подключен к локальной сети. Основным недостатком этого метода является то, что посредством этой программы можно загрузить лишь само приложение (App), а загрузчик (Boot) нельзя. Такое ограничение накладывается в связи с тем, что программа WIZnet S2E Configuration Tool загружает «прошивку» исключительно по кабелю Ethernet, а задачей загрузчика становится приём данных, полученных от Ethernet-порта, их конвертация в необходимый формат и запись во внутреннюю память контроллера. Но раз загрузчику необходимо конвертировать данные, полученные от порта, то сам себя «переписать» он не может. Это накладывает определенного рода ограничения на выбор версии «прошивки» (см. рис. 1). Для обновления ПО этим методом необходимо загрузить программу WIZnet S2E Configuration Tool. Переходим по ссылке и выбираем последнюю версию программы, загружаем файл “wizconfig v … .exe”, как показано на рис.2.
Рис. 2 Расположение файла в директории GitHub - Далее необходимо загрузить бинарный файл с готовой «прошивкой». Переходим по ссылке и скачиваем нужную версию «Application Firmware Binary» для вашего модуля.
Рис. 3 Поиск подключенного модуля - После обнаружения устройства нажимаем вкладку Firmware Upload, как показано на рис. 4. Рис. 4 Firmware upload - В появившемся окне проводника выбираем скачанный нами бинарный файл.
Обновление ПО с помощью программы WizISP. Этот способ наиболее удобный и практичный, т.к. помимо самой программы загружается еще и загрузчик той же версии, что поможет предотвратить конфликт несовместимых версий программы и загрузчика. Скачать программу можно, перейдя по ссылке. Настройка и загрузка «прошивки» осуществляются через порт UART2. На рис. 5 выводы этого порта объединены в группу ISP. Для подключения модуля к компьютеру можно использовать UART-USB преобразователь. В данном примере использовался преобразователь от компании FTDI C232HM-EDHSL-0. Рис. 5. Конфигурация выводов модуля WIZ750SR - Подключаем вывод RX преобразователя к выводу U_TXD2, а вывод TX преобразователя к выводу модуля U_RXD2. Рис. 6 Переход в режим программирования. - Переходим по ссылке и скачиваем нужную версию ПО «All(boot+app) Firmware Binary (WIZISP)» для вашего модуля. В этом файле содержится и приложение, и загрузчик. Рис. 7. Интерфейс программы WizISP. Производим настройку: 1. Serial Option (Настройки СОМ-порта) 2. Erase (Настройка очистки памяти). Но если вы все же выберете пункт Erase All Data/Code Memory, то МАС адрес можно будет присвоить, отправив сообщение в СОМ-Порт, предварительно убрав перемычку с выводов BOOT и VCC: «MCxx:xx:xx:xx:xx:xx$0d$0a», где хх – элемент адреса. 3. Code Read Lock or Data R/W Lock (эта настройка отвечает за защиту данных модуля.). 4. Code Write Lock (Настройка отвечает за блокировку записи нового кода). 5. Select the binary file (Выбор бинарного файла «прошивки»). - Нажмите кнопку Start All Steps и дождитесь окончания загрузки. - При успешном выполнении всех шагов загрузка ПО должна пройти без ошибок.
Настройка модуля. Для начала работы с модулем необходимо его настроить. Настройка может производиться двумя способами: 1. По локальной сети. 2. Через COM-порт посредством USB – UART преобразователя. Настройка модуля по локальной сети.
Запускаем программу WizISP (ссылка на скачивание находится в разделе "Обновление программного обеспечения"), подключаем модуль по Ethernet кабелю, подаём на него питание и жмем на кнопку Device Search. Теперь рассмотрим основные настройки и меню программы. (см. рис. 8).
Рис. 8. Меню и основные настройки программы WIZnet S2E Configuration Tool 1. IP-адрес компьютера в локальной сети, на котором установлена программа (в дальнейшем он нам понадобится для установки IP-адреса модуля и успешного взаимодействия с сетью, а также для установки адреса основного шлюза). 2. Информация об устройстве. В графе Type отображается название модуля, а в графе Version указывается версия программного обеспечения модуля (о ней мы подробно поговорим в следующем разделе статьи). 3. Настройки сети. Это – одна из основных конфигураций, отвечающая за настройку адресов устройства в сети. Работа с адресами может производиться двумя путями: - Задав статический IP (Static). Мы можем настраивать любой адрес для устройства и обращаться по нему. 3.1. Local IP – Адрес в локальной сети, по которому устройства будут обращаться к модулю. 3.2. Subnet mask – Маска подсети. Как правило, определяется программой. 3.3. Gateway – Основной шлюз, отвечающий за адресацию. Значение соответствует первым 3-м группам цифр в адресе вашей локальной сети, а последняя группа равна единице. К примеру, если IP адрес вашего компьютера в локальной сети 192.168.0.3, то адрес основного шлюза будет иметь следующее значение: 192.168.0.1 3.4. DNS server – Установка адреса DNS сервера, который будет отвечать на запросы. 4. Настройка режима работы канала TCP client, TCP server, TCP mixed и UDP. 5. Настройка режима работы Serial-порта. 6. Значения таймеров, отвечающих за время, выделенное на подключение и отправку сообщений. 7. Настройки порта. По-умолчанию порту присваивается значение 5000. В режимах TCP client, TCP mixed и UDP необходимо указать еще адрес хоста, к которому будет осуществляться подключение и отправка сообщений. После того, как все настройки завершены, их необходимо сохранить. Для этого нажимаем на вкладку Apply Settings, как показано на рис. 9. Рис. 9 Сохранение настроек. Настройка модуля через Serial-порт. Для настройки модуля мы будем использовать программу Hercules, работающую как с СОМ-портами, так и с TCP/IP. Переходим по ссылке, скачиваем последнюю версию программы. Для того, чтобы войти в режим настройки модуля и управления им посредством АТ-команд, необходимо вывод TCP CON/TRIG/DSR соединить с выводом VCC (см. рис. 10).
Рис. 10 Вход в режим программирования через Serial-порт. Вся коммуникация производится через порт UART0, выводы которого на рис.7 обозначены как Data Line. Вывод RX преобразователя подключаем к выводу TXD, а вывод TX преобразователя - к выводу модуля RXD. Если все сделано верно, при подключении модуль отправит сообщение через СОМ-порт: «SEG:AT Mode» Для управления работой модуля и его настройки используются двухбайтные команды, а также два дополнительных байта [CR](0x0D) и [LF] (0x0A), которые должны добавляться после каждой команды. Они играют роль разделителей строк между различными командами. Команды бывают двух видов: 1. Без параметра [2-x байтная команда], [CR], [LF] 2. Параметрические [2-х байтная команда] [параметр] [CR] [LF] Команды могут отправляться как в виде шестнадцатиричного числа, так и в формате ASCII (кроме байтов CR и LF, а так же параметрических данных). Список всех команд можно посмотреть на сайте производителя. Попробуем запросить у модуля его IP-адрес. Идём вниз по списку, находим в описании строку «Local IP address» и видим, что за адрес отвечает команда LI. Отправляем в COM-порт команду LI, а затем отправляем шестнадцатиричные числа 0D и 0A. (CR, LF). Или же, команду можно отправить одной строкой шестнадцатиричных чисел: 4С 49 0D 0A. В ответ на наш запрос модуль пришлет свой локальный IP-адрес. Рис. 10 Отправка команды LI и получение IP-адреса. Теперь попробуем установить новый IP-адрес. К примеру, 192.168.22.140. Здесь уже будут использоваться параметрические команды, значения параметров далее в тексте будут указываться в квадратных скобках. Структура команды будет выглядеть следующим образом: MA [00 08 DC 59 37 52] [CR] [LF] PW [] [CR] [LF] LI [192.168.22.140] [CR] [LF]
MA [00 08 DC 59 37 52] – МАС-адрес устройства, которому посылается запрос. (МАС модуля). После того, как в строке команды мы установили новый IP-адрес, необходимо сохранить настройки. Это делается при помощи команды SV, но такие настройки как IP-адрес и адрес DNS сервера могут быть приняты только после перезагрузки модуля. Сделать это можно командой RT. Таким образом, наши команды в шестнадцатиричном коде и в одной строке примут следующий вид: 4D 41 00 08 DC 59 37 52 0D 0A 50 57 0D 0A 4C 49 31 39 32 2E 31 36 38 2E 32 32 2E 31 34 30 0D 0A 53 56 0D 0A 52 54 0D 0A
Работа с модулем. Для передачи данных у модуля есть второй Serial-порт, выводы которого собраны в группу Data Line (см. рис. 7). Подключаем вывод RX преобразователя к выводу TXD модуля, а вывод TX преобразователя к выводу модуля RXD. - После того, как мы подключили модуль, запускаем программу Hercules и открываем вкладку Serial, как показано на рис. 11
Рис. 11 Настройка COM-порта в программе Hercules - Выбираем порт, к которому подключен модуль. - Выбираем скорость порта, которую мы установили в программе Wiznet S2E configuration tool или через Serial-порт. - Нажимаем кнопку Open, после чего должно появиться сообщение: «Serial port COM.. opened» - Заходим во вкладку TCP Client, как показано на рис. 12 (если был установлен режим TCP Server( установлен по-умолчанию)). Рис. 12 Настройка соединения в программе Hercules. - В графе TCP вводим значения IP адреса и порта модуля, который был указан при его настройке. - Нажимаем кнопку Connect. - Вводим сообщение и отправляем его. Рис. 13.Ввод сообщения - Переключаемся на вкладку Serial и получаем отправленное нами сообщение (рис. 14). Рис. 14 Вывод сообщения.
Более подробную информацию об этих модулях, последних обновлениях ПО и документацию можно найти на сайте производителя.
|