- Главная
- →
- Комплектующие для ЧПУ
- →
- Электроника
- →
- Разная электроника: конвертеры UART в Ethernet на CH9121
Разная электроника: конвертеры UART в Ethernet на CH9121
Что такое конвертер UART в Ethernet
UART это последовательный порт, через который общаются микроконтроллеры, контроллеры станков, частотные преобразователи, терморегуляторы и другие устройства. Он передаёт данные по двум линиям: TX (выход) и RX (вход), байт за байтом с заданной скоростью. Порт простой и надёжный, но рассчитан на короткие соединения и подключение одного устройства к одному.
Конвертер UART в Ethernet ставят между таким устройством и локальной сетью. Он принимает байты с линии RX, упаковывает их в пакеты TCP или UDP и отправляет по сети, а пакеты из сети разбирает и выдаёт байты на линию TX. Содержимое данных при этом не меняется, поэтому такую передачу называют прозрачной. Устройство продолжает работать со своим последовательным протоколом и не знает, что на другом конце сеть.
В модулях этой категории стоит чип CH9121. В нём уже есть контроллер Ethernet (уровни MAC и PHY) и стек TCP/IP, поэтому внешний микроконтроллер для работы с сетью не нужен. Чип поддерживает два независимых последовательных порта, порт Ethernet 10/100 Мбит/с с автоопределением типа кабеля и четыре режима работы: TCP Server, TCP Client, UDP Server и UDP Client.
Где конвертер нужен на станке ЧПУ и в автоматике
Сетевой порт для последовательного устройства нужен, когда до него далеко, когда к нему обращаются с нескольких компьютеров или когда у компьютера нет свободного последовательного порта.
- Частотный преобразователь шпинделя с интерфейсом RS-485. Через конвертер и внешний приёмопередатчик RS-485 компьютер читает частоту, ток и коды ошибок и задаёт обороты по сети.
- Терморегуляторы, счётчики и датчики с последовательным выходом. Их показания собирает программа на компьютере в цеху или в офисе.
- ПЛК и самодельные контроллеры на микроконтроллерах. Модуль даёт им сетевой порт без переделки программы: устройство по-прежнему работает с UART.
- Удалённое обслуживание. К последовательному порту оборудования подключаются по сети, без ноутбука у станка.
- Замена длинного кабеля. Сегмент кабеля Ethernet 100BASE-TX по стандарту IEEE 802.3 до 100 м, а линии UART с уровнями TTL рассчитаны на соединения внутри одного устройства или шкафа.
UART, RS-232 и RS-485: уровни сигналов и дальность
Под словом «последовательный порт» скрываются три разных физических интерфейса. Протокол передачи байтов у них одинаковый, а уровни напряжения разные, и от этого зависит, можно ли подключить устройство к модулю напрямую.
| Интерфейс | Уровни сигнала | Линии | Дальность и подключение |
|---|---|---|---|
| UART TTL | 0 и 3.3 В или 0 и 5 В относительно GND | TX, RX, GND | Внутри устройства или шкафа, одно устройство к одному |
| RS-232 | От ±3 до ±15 В, логическая 1 отрицательным напряжением | TX, RX, GND | Короткий кабель между двумя устройствами |
| RS-485 | Разность напряжений между линиями A и B | A, B, общий провод | До 1200 м на низких скоростях, до 32 единичных нагрузок на линии |
Модули CH9121 работают с уровнями TTL 3.3 и 5 В. Устройства с выходом TTL подключают к ним напрямую. Линию RS-232 напрямую подключать нельзя: напряжение до 15 В и отрицательная полярность повреждают входы TTL, нужен преобразователь уровней RS-232. Для RS-485 нужен внешний приёмопередатчик, а модуль управляет его направлением передачи через вывод DIR.
Как работает прозрачная передача данных
Модуль ничего не знает о протоколе устройства. Он собирает байты, пришедшие по UART, и отправляет их в сеть одним или несколькими пакетами, а данные из сети выдаёт в UART в том же порядке. В настройках порта задают скорость, число бит данных (5, 6, 7 или 8), стоповых бит (1 или 2) и контроль чётности: нет, чётный, нечётный, всегда 0 или всегда 1. Эти параметры должны совпадать с настройками подключённого устройства.
По документации чипа погрешность скорости передачи у CH9121 меньше 0.3%, а при приёме допускается отклонение скорости до 2%. Поэтому стандартные скорости 9600, 19200, 38400, 57600 и 115200 бит/с совместимы с любыми устройствами, если на обеих сторонах выставлено одно и то же значение.
Режимы работы: TCP Server, TCP Client и UDP
Режим определяет, кто устанавливает соединение и как доставляются данные. TCP подтверждает доставку и сохраняет порядок байтов, при потере пакета он передаётся повторно. UDP отправляет пакеты без подтверждения: это быстрее и проще, но потерянный пакет не восстанавливается.
| Режим | Как работает | Когда выбирать |
|---|---|---|
| TCP Server | Модуль ждёт входящего соединения на своём порту | Программа на компьютере сама подключается к устройству |
| TCP Client | Модуль сам подключается к заданному IP-адресу и порту | Устройство отправляет данные на сервер сбора |
| UDP Server | Модуль принимает пакеты UDP на своём порту | Обмен без установки соединения |
| UDP Client | Модуль отправляет пакеты UDP на заданный адрес и порт | Потоковая передача, где потеря пакета не критична |

Для обмена с частотным преобразователем, терморегулятором или ПЛК, где важна каждая команда, выбирают TCP. Механизм KEEPALIVE у CH9121 периодически проверяет соединение и обнаруживает обрыв кабеля или зависание компьютера; в режиме TCP Client модуль после этого подключается заново.
Modbus RTU через Ethernet
Если частотный преобразователь или терморегулятор работает по протоколу Modbus RTU, конвертер с прозрачной передачей не превращает его в Modbus TCP: кадр RTU с адресом устройства и контрольной суммой CRC уходит в сеть без изменений. У Modbus TCP другой формат кадра, с заголовком MBAP из 7 байт и без CRC, поэтому программа, настроенная на Modbus TCP, такой кадр не поймёт.
Выхода два. Первый: в программе опроса выбрать режим Modbus RTU over TCP, если он есть. Второй: установить на компьютер драйвер виртуального последовательного порта, который связывает COM-порт с IP-адресом и портом модуля. Тогда программа работает с обычным COM-портом, а данные идут по сети.
Скорость порта и время передачи: расчёт
В формате 8N1 (8 бит данных, без чётности, 1 стоповый бит) на каждый байт приходится 10 бит вместе со стартовым и стоповым. Время передачи считают так: число байт x 10 / скорость.
| Скорость | Байт в секунду | Запрос Modbus 8 байт | Ответ на 10 регистров, 25 байт |
|---|---|---|---|
| 9600 бит/с | 960 | 8.3 мс | 26 мс |
| 19200 бит/с | 1920 | 4.2 мс | 13 мс |
| 115200 бит/с | 11520 | 0.69 мс | 2.2 мс |
Ответ на чтение 10 регистров Modbus RTU занимает 25 байт: адрес, код функции, счётчик байт, 20 байт данных и 2 байта CRC. Для сравнения, пакет из 100 байт в сети 100 Мбит/с передаётся за 8 мкс. Узким местом остаётся последовательный порт, поэтому скорость UART поднимают до максимума, который поддерживает подключённое устройство. Модули CH9121 работают на скоростях от 300 до 921600 бит/с.

Подключение модуля: TX, RX, земля и питание
Линии UART соединяют крест-накрест: вывод TXD модуля идёт на вход RX устройства, а вывод RXD модуля на выход TX устройства. Соединение TX с TX и RX с RX не работает. Земля GND модуля и устройства обязательно общая, иначе уровни сигналов не с чем сравнивать.
- Питание: 5 В или 3.3 В на один из выводов питания, второй вывод оставляют свободным.
- Уровни входов и выходов совместимы с логикой 3.3 и 5 В.
- Вывод конфигурации (CFG): низкий уровень переводит модуль в режим настройки командами по UART, команды принимаются на скорости 9600 бит/с; в рабочем режиме на выводе высокий уровень.
- Вывод RESET: низкий уровень при включении питания возвращает заводские настройки.
- Вывод RUN показывает, что модуль работает; у модуля 43x23 мм есть вывод TCPCS, низкий уровень на нём означает, что соединение TCP установлено.

Двухканальная плата 53x22 мм потребляет 140 мА при 5 В, это 0.7 Вт. Порт USB 2.0 выдаёт до 500 мА, этого достаточно. При питании от вывода 3.3 В платы контроллера допустимый ток её стабилизатора проверяют по документации платы.
Подключение к RS-485 и RS-232
RS-485 работает по одной паре проводов в обе стороны, поэтому приёмопередатчику нужно знать, когда передавать, а когда слушать. CH9121 выдаёт на вывод DIR высокий уровень на время передачи байтов. Этот вывод подключают к входам разрешения передачи DE и RE приёмопередатчика RS-485, и направление переключается автоматически, без участия программы.
Линию RS-485 прокладывают витой парой, на двух крайних устройствах ставят согласующие резисторы 120 Ом, а все устройства на линии получают разные адреса Modbus. Для RS-232 между модулем и устройством ставят преобразователь уровней RS-232 в TTL.

Настройка: IP-адрес, порт и скорость
Модуль настраивают утилитой производителя чипа по сети или командами по UART. Утилита находит модули в подсети, показывает их параметры и записывает новые. После записи настройки хранятся в памяти модуля и сохраняются после выключения питания.
С завода порт 1 работает в режиме TCP Client, порт 2 выключен. Сетевые параметры по умолчанию: адрес модуля 192.168.1.200, маска 255.255.255.0, шлюз 192.168.1.1, порт модуля 2000, адрес назначения 192.168.1.100 и порт 1000. Последовательный порт: 9600 бит/с, 8 бит данных, 1 стоповый бит, без чётности.
Компьютер и модуль должны быть в одной подсети: при маске 255.255.255.0 у них совпадают первые три числа адреса. Модуль умеет получать адрес по DHCP, но в режиме TCP Server ему задают постоянный адрес, иначе после перезагрузки роутера программа не найдёт устройство. Если адрес назначения задан доменным именем, модуль определяет его через DNS.
Два канала UART
Двухканальный модуль подключает к сети два устройства одновременно. Каждый канал работает независимо: свой режим, свой сетевой порт, своя скорость и формат данных. Например, первый канал опрашивает частотный преобразователь по RS-485, а второй передаёт данные терморегулятора.
Второй канал с завода выключен, его включают в настройках. Оба порта CH9121 тактируются от одного опорного генератора, поэтому две разные скорости допустимы, если обе есть в списке для выбранного режима тактирования. Стандартные скорости от 300 до 115200 бит/с доступны в обоих режимах.
Помехи и развязка в шкафу станка
Порт Ethernet отделён от схемы модуля трансформатором. Стандарт IEEE 802.3 требует изоляции этого узла не меньше 1500 В, и разъёмы RJ45 со встроенным трансформатором выпускают с таким значением. Трансформатор не пропускает постоянную разность потенциалов между землёй станка и землёй компьютера в другом помещении.
Сторона UART развязки не имеет: земля модуля соединена с землёй подключённого устройства. Модуль ставят рядом с устройством, провода UART делают короткими, а кабель Ethernet прокладывают отдельно от силовых кабелей шпинделя и шаговых двигателей. Если устройство и модуль питаются от разных блоков питания, их минусы соединяют в одной точке.
Как выбрать конвертер UART в Ethernet
- Число каналов. Два канала обслуживают два устройства одним модулем и одним сетевым кабелем.
- Интерфейс устройства. Модули CH9121 в категории работают с TTL; для RS-485 и RS-232 нужен внешний преобразователь.
- Питание и уровни: 3.3 или 5 В, логика 3.3 и 5 В.
- Скорость порта: от 300 до 921600 бит/с покрывает частотные преобразователи, терморегуляторы и ПЛК.
- Режимы TCP Server, TCP Client, UDP и виртуальный COM-порт для программ, которые работают только с последовательным портом.
- Размеры и монтаж: модуль 43x23x14.5 мм или плата 53x22 мм с выводами с шагом 2.54 мм.
- Рабочая температура: модули на CH9121 рассчитаны на -40...85 °C.
Частые ошибки при подключении
- TX соединён с TX. Линии соединяют крест-накрест.
- Нет общей земли между модулем и устройством.
- Линия RS-232 подключена к входам TTL напрямую.
- Скорость или формат данных на модуле и устройстве не совпадают.
- Компьютер и модуль в разных подсетях.
- Второй канал не включён в настройках.
- Программа настроена на Modbus TCP, а через модуль идёт Modbus RTU.
- Вывод конфигурации остался в низком уровне, и модуль принимает данные как команды настройки.