Працюємо з 9:00 до 20:00 у суботу до 16:00 Неділя — вихідний
Працюємо з 9:00 до 20:00 у суботу до 16:00 Неділя — вихідний
Різна електроніка

Різна електроніка: конвертери UART в Ethernet на CH9121

Конвертер UART в Ethernet переносить послідовний порт пристрою в локальну мережу: дані з виводів TX і RX йдуть у пакети TCP або UDP і назад без змін. Так до комп’ютера через мережу підключають частотний перетворювач з RS-485, терморегулятор, ПЛК або контролер на мікроконтролері, а кабель Ethernet до 100 м замінює короткий провід UART. У категорії двоканальні модулі на чипі CH9121 з портом RJ45 10/100 Мбіт/с, рівнями TTL 3.3 і 5 В і швидкістю порту від 300 до 921600 біт/с. Нижче розібрані рівні сигналів, режими TCP і UDP, Modbus RTU через мережу, розрахунок швидкості, підключення, налаштування і вибір модуля.

Що таке конвертер 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 TTL0 і 3.3 В або 0 і 5 В відносно GNDTX, RX, GNDВсередині пристрою або шафи, один пристрій до одного
RS-232Від ±3 до ±15 В, логічна 1 від’ємною напругоюTX, RX, GNDКороткий кабель між двома пристроями
RS-485Різниця напруг між лініями A і BA, 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 Server, TCP Client і UDP: хто встановлює з’єднання, адреса модуля 192.168.1.200 і порт 2000 типово

Для обміну з частотним перетворювачем, терморегулятором або ПЛК, де важлива кожна команда, обирають 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 біт/с9608.3 мс26 мс
19200 біт/с19204.2 мс13 мс
115200 біт/с115200.69 мс2.2 мс

Відповідь на читання 10 регістрів Modbus RTU займає 25 байт: адреса, код функції, лічильник байт, 20 байт даних і 2 байти CRC. Для порівняння, пакет зі 100 байт у мережі 100 Мбіт/с передається за 8 мкс. Вузьким місцем залишається послідовний порт, тому швидкість UART піднімають до максимуму, який підтримує підключений пристрій. Модулі CH9121 працюють на швидкостях від 300 до 921600 біт/с.

Modbus RTU через мережу: кадр RTU з CRC всередині пакета TCP, кадр Modbus TCP із заголовком MBAP, час передачі на 9600 і 115200 біт/с

Підключення модуля: 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 встановлене.

Підключення модуля UART в Ethernet: TX і RX навхрест, спільна земля, живлення 5 В або 3.3 В, виводи CFG і RESET

Двоканальна плата 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.

RS-485 через модуль: вивід DIR на DE і RE приймача-передавача, вита пара A і B, резистори 120 Ом на кінцях лінії

Налаштування: 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.
  • Вивід конфігурації залишився в низькому рівні, і модуль приймає дані як команди налаштування.