РадиоКот >Схемы >Цифровые устройства >Примочки к ПК >
TCP/IP <-> USART конвертер
Здравствуйте! Представляю Вашему вниманию TCP/IP <-> USART конвертер. Данный конвертер предназначен для подключения устройств с интерфейсами USART или RS485 к сети Ethernet.
Особенности конвертера:
1 – Возможность работы в режиме сервера или клиента;
2 – Настройка параметров через веб-страницу;
3 – Настраиваемый ватчдог – автоматическая перезагрузка конвертера при обрыве связи;
4 – Гибкая настройка скорости USART;
5 – Возврат к «заводским» настройкам с помощью кнопки.
Схема конвертера показана на рисунке (картинки кликабельны)
Устройство собрано на микроконтроллере STM32F103C8T6, можно заменить на STM32F103C8T6 без перекомпиляции прошивки. В качестве Ethernet модуля используется модуль на основе ENC28J60.
Описание светодиодов:
HL1 – Ready. Загорается когда завершена инициализация подключения.
HL2 – Connect Ok. Загорается при подключении клиента (если конвертер работает как сервер), либо при подключении к серверу (если конвертер работает как клиент).
HL3 – TXD. Моргает при передаче данных по USART.
HL4 – RXD. Моргает при приеме данных по USART.
HL5 – Перезагрузка. Загорается во время перезагрузки конвертера.
Печатная плата выполнена из двухстороннего фольгированного стеклотекстолита (одна сторона используется в качестве земли).
Фото готового устройства
Крышки выполнены из коробки от CD дисков.
Пробежимся по настройкам. Подключаем питание к конвертеру, подключаем конвертер к роутеру, открываем браузер и пишем адрес 192.168.1.100.
Теперь для проверки работы воспользуемся программой Hercules SETUP utility. Открываем вкладку TCP Client. В поле Module IP вводим 192.168.1.100, в поле Port – 920 и жмем Connect. Должен загореться светодиод HL2, и в окне терминала должно быть успешное сообщение
Если все хорошо, замыкаем выход RX и TX конвертера и отправляем данные.
Розовым цветом отправляемые данные, черным – эхо.
Проверим работу с RS485. Для этого разъединяем RX и TX конвертера, и подключаем переходник USB-RS485.
Воспользуемся программами Modbus Pool и Modbus Slave. Настройки Modbus Pool.
К Modbus Slave подключим переходник USB-RS485.
Запускаем программы и видим результат обмена данными.
Попробуем сконфигурировать устройство как клиент. Отсоединяем USB-RS485, замыкаем RX и TX, открываем сайт с настройками, и изменяем режим конвертера
Жмем на кнопку Отправить, ждем обновления страницы. Для того, чтобы настройки вступили в силу, требуется перезагрузить конвертер, для этого либо отключите питание, либо нажмите на гиперссылку Перезагрузить.
Итак, теперь открываем опять Hercules, переходим на вкладку TCP Server, в поле Port указываем 920 и жмем на Listen. Ждем подключения конвертера, и пробуем отправить данные.
Все ок, конвертер работает.
В настройках реализована минимальная защита «от дурака», однако все может быть, поэтому предусмотрена кнопка сброса на заводские настройки. Для этого требуется снять питание с конвертера, нажать на кнопку RESET и подать питание. Загорятся все светодиоды, после чего отпустите кнопку и дождитесь перезагрузки. После этого настройки сбросятся.
Если требуется изменить «заводские» настройки, найдите в файле uip_application.с
union _settings settings = {
"s", //s – server, c - client
"192.168.1.100", //ip
"255.255.255.0", //mask
"192.168.1.1", //gateway ip
"192.168.1.185", //server ip (only in client mode)
"920", //port
"00-15-42-BF-F0-51", //MAC adddr
"30", //watchdog time
"9600-8N1" //USART settings
};
И измените на то, что требуется. Перекомпилируйте проект и прошейте контроллер.
Настройка формата USART. Скорость может быть любой, не обязательно из стандартного ряда; число бит 8 или 9; четность – N – нет, E – even, O – odd; стоп-биты – 1 или 2.
Программа написана в SEGGER Embedded Studio For ARM.
Схема, печатная плата, исходник прошивки и этикетки в архивах.
На этом все, спасибо за внимание.
Файлы:
Схема и этикетки
Прошивка
Плата
Все вопросы в
Форум.
Как вам эта статья?
|
Заработало ли это устройство у вас?
|
|
|