РадиоКот :: TCP/IP <-> USART конвертер
Например TDA7294

РадиоКот >Схемы >Цифровые устройства >Примочки к ПК >

Теги статьи: Добавить тег

TCP/IP <-> USART конвертер

Автор: sobs
Опубликовано 17.09.2018
Создано при помощи КотоРед.
Участник Конкурса "Поздравь Кота по-человечески 2018!"

     Здравствуйте! Представляю Вашему вниманию 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.
     Схема, печатная плата, исходник прошивки и этикетки в архивах.
     На этом все, спасибо за внимание.

 


Файлы:
Схема и этикетки
Прошивка
Плата


Все вопросы в Форум.




Как вам эта статья?

Заработало ли это устройство у вас?

50 4 1
1 0 0