Реалізація високошвидкісного мосту між мережами RS-485 та Ethernet

Проблема підключення пристроїв під керуванням операційних систем сімейства Windows та Linux до високошвидкісних мереж RS-485. Програмно-апаратні засоби перетворювача інтерфейсів RS-485/Ethemet та способи оптимізації для досягнення максимальної швидкодії.

Рубрика Программирование, компьютеры и кибернетика
Вид статья
Язык украинский
Дата добавления 20.11.2018
Размер файла 316,1 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Національний технічний університет України «Київський політехнічний інститут імені Ігоря Сікорського»

РЕАЛІЗАЦІЯ ВИСОКОШВИДКІСНОГО МОСТУ МІЖ МЕРЕЖАМИ RS-485 ТА ETHERNET

Котунов В.О.

Сліпченко В.Г.

Анотація

У статті розглядається проблема підключення пристроїв під керуванням операційних систем сімейства Windows та Linux до високошвидкісних мереж RS-485. Запропоновано вирішення даної проблеми шляхом створення мосту та підключення через мережу Ethemet. Описано програмно-апаратні засоби перетворювача інтерфейсів RS-485/Ethemet та способи оптимізації для досягнення максимальної швидкодії. Наведено особливості реалізації для різних застосувань та прикладних протоколів.

Ключові слова: RS-485, Ethemet, міжмережевий міст, перетворення інтерфейсів, вбудовувані системи, Embedded-системи, STM32.

Аннотация

операційний високошвидкісний мережа програмний

РЕАЛИЗАЦИЯ ВЫСОКОСКОРОСТНОГО МОСТА МЕЖДУ СЕТЯМИ RS-485 И ETHERNET

В статье рассматривается проблема подключения устройств под управлением операционных систем семейства Windows и Linux к высокоскоростным сетям RS-485. Предложено решение данной проблемы путем создания моста и подключения через сеть Ethemet. Описаны программно-аппаратные средства преобразователя интерфейсов RS-485 / Ethemet и способы оптимизации для достижения максимального быстродействия. Приведены особенности реализации для различных применений и прикладных протоколов.

Ключевые слова: RS-485, Ethemet, межсетевой мост, преобразование интерфейсов, встраиваемые системы, Embedded-системы, STM32.

Annotation

IMPLEMENTATION OF HIGH-SPEED NETWORK BRIDGE BETWEEN RS-485 AND ETHERNET

The article examines the problem of connecting devices running Windows and Linux operating systems to high-speed RS-485 networks. The solution of this problem is proposed by creating a bridge and connecting via Ethernet network. The software-hardware of RS-485 / Ethernet interfaces converter and methods of optimization for reaching maximum speed are described. The peculiarities of implementation for various applications and application protocols are described.

Key words: RS-485, Ethernet, interconnect bridge.

Постановка проблеми

На сьогодні мережі стандарту RS-485 отримали широке застосування в промисловості, на транспортних засобах, контрольно-вимірювальній апаратурі та в інших галузях. Такі мережі не потребують дорогої інфраструктури та при цьому забезпечують відносно високий рівень стійкості до електромагнітних завад та високу швидкість передачі даних. Для роботи з такими мережами існує велика кількість стандартизованого обладнання, драйвери, трансивери і т.п. Сьогодні значна кількість обладнання підтримують роботу в мережах RS-485 зі швидкістю 3Мб/с. Простота та надійність таких мереж роблять їх зручними для високошвидкісного збору даних та керування віддаленими пристроями. Часто виникає потреба під'єднати до мережі RS-485 персональний комп'ютер, або інший пристрій що працює з операційною системою сімейства Windows або Ц№Х/Ьтих. Для вирішення цієї задачі існує велика кількість стандартизованого обладнання та програмного забезпечення, що, як правило, використовує драйвери послідовного порту. У той же час розповсюдженні операційні системи мають обмеження швидкості передачі через стандартний послідовний порт (фізичний чи віртуальний). У даній роботі описано засоби забезпечення зв'язку персональних комп'ютерів та високошвидкісних мереж RS-485 і створення гнучких міжмережевих мостів.

Аналіз останніх досліджень і публікацій

Подібна задача розглядалася в роботі [1, с. 551]. Але автори розглядають для цієї мети систему під керуванням операційної системи Linux, що вимагає відносно потужного комп'ютера чи мікроконтролера. У деяких роботах [2, с. 14] дана задача вирішується за допомогою персонального комп'ютера та програмного комплексу LabVIEW. У попередній роботі та у [3, с. 84] задача перетворення інтерфейсів є одним із компонентів більш великої системи. Окремого компактного та дешевого рішення для високошвидкісного перетворення інтерфейсів RS-485 та Ethernet не знайдено, тому його розробка є актуальною.

Постановка задачі

Для досягнення вище наведених цілей необхідно розробити апаратнопрограмні засоби перетворення мережевих інтерфейсів RS-485 з можливістю приєднання до як можна більшої кількості моделей сучасних персональних, одноплатних та інших комп'ютерів під керування операційних систем сімейства Windows та Linux. Також розроблювана система має забезпечувати масштабованість шляхом приєднання RS-485 до існуючих локальних (LAN - англ. Local Area Network) чи мережі Інтернет, забезпечуючи віддалене керування.

Розглянемо доступні способи передачі даних на комп'ютер зі швидкостями 2-3Мб/с. В більшості випадків - це інтерфейси USB та Ethernet.

USB (від англ. Universal Serial Bus - універсальна послідовна шина) має швидкість передачі даних до 480Мб/с для версії 2.0. З точки зору користувача, найзручніший спосіб передачі даних через USB - через створення віртуального COMпорту (англ. VCP-virtual COM-port). Такий спосіб робить USB-канал «прозорим» для користувача, на прикладному рівні робота з віртуальним COMпортом не відрізняється від роботи з реальним. Проте, як було сказано раніше, операційні системи можуть мати обмеження швидкості послідовних портів, це стосується і VCP, отже, для описаних мереж зі швидкостями передачі даних у 2-3Мб/с таке рішення буде не придатним. Використання режимів роботи USB, які б забезпечили необхідну швидкість передачі даних, потребує спеціалізованих програм-драйверів та суттєво відрізняється від послідовних інтерфейсів прикладним рівнем. Одна з основних архітектурних відмінностей - використання в USB топології «активне дерево» з одним головним пристроєм, у той час як у RS-485 використовується однорангова топологія «спільна шина».

Альтернативний варіант - використання Ethernet. Таке підключення забезпечує швидкість до 100Мб/с при використанні кабелів із двома диференційними парами (стандарт 100BaseT). Як і RS-485, в Ethernet використовується однорангова архітектура мережі, це забезпечує можливість додавання та видалення будь якого з пристроїв без переконфігурування решти пристроїв у мережі. Робота на прикладному рівні реалізована через технологію сокетів, що подібна до роботи з послідовним портом - це додає зручності використання. Для мереж Ethernet випускається велика кількість мережевого обладнання, як для створення локальних мереж, так і для приєднання до глобальної мережі Інтернет. Можливість віддаленого керування по RS-485 з використання наявних локальних комп'ютерних мереж Ethernet чи Інтернет буде суттєвою перевагою даного рішення. Таким чином, використання Ethemet-інтерфейсу є доцільним для підключення персонального комп'ютера до високошвидкісної мережі RS-485.

Постановка завдання

Мережі RS-485 та Ethernet мають суттєві відмінності на фізичному та канальному рівнях, тому для їх узгодження необхідний спеціалізований перетворювач інтерфейсів. На ринку доступні різні моделі подібних пристроїв, але більшість із них не забезпечують швидкість передачі даних у RS-485 більшу за 115,2кб/с. Тому для вирішення цієї задачі необхідно розробити апаратно-програмний комплекс перетворювача інтерфейсів Ethernet/RS-485, що підтримує передачу даних на швидкостях до 4.5Мб/с. При цьому рішення має бути компактним, гнучким в налаштуваннях та придатним для вбудовуваних застосувань.

Виклад основного матеріалу

Структура перетворювача подана нижче (рис. 1).

Розглянемо основні складові частини перетворювача інтерфейсів більш детально. Основним вузлом є мікроконтролер, на схемі позначений MCU. Повідомлення, що надходять з мережі RS-485, запаковуються в пакети UDP та IP і через вбудований апаратний контролер MAC (англ. Media Access Control - контроль доступа до середовища) канального рівня передаються до контролера фізичного рівня (позначений PHY). Для підключення контролера фізичного рівня використовується інтерфейс RMII (Reduced Media Independent Interface - незалежний від середовища передачі скорочений інтерфейс).

Приєднання до мережі Ethernet здійснюється через трансивер фізичного рівня (позначений PHY) та пристрій гальванічної розв'язки (позначений MAG).

Трансивер фізичного рівня забезпечує встановлення зв'язку, визначення можливих режимів роботи мережі (англ. Auto Negotiation), моніторинг стану приєднаної ланки мережі, виявлення колізій та передачу даних фізичним рівнем.

Для доступу до мережі RS-485 мікроконтролер використовує апаратний інтерфейс UART та зовнішній трансивер.

Для забезпечення максимальної сумісності з існуючими рішеннями та мережами було прийнято рішення використовувати стандартний стек протоколів TCP/IP. Дані запаковуються в датаграми протоколу UDP. Використання UDP замість TCP не потребує процедур встановлення з'єднання та підтвердження прийому і, як результат, забезпечує пряму трансляцію повідомлень з мережі RS-485 і навпаки.

Існують відриті кросплатформенні реалізації стеку TCP/IP, наприклад, lwIP, uIP та ін. Проте дані рішення орієнтовані на створення Webсерверів та користувацьких Web-інтерфейсів. Ці системи не потребують малого часу затримки та виконання в реальному часі. Як правило, вони реалізовані на так званих операційних системах реального часу, наприклад FreeRTOS, але таке рішення не може забезпечити тої ж швидкодії, якої можна досягти використовуючи апаратні можливості процесора - прямий доступ до пам'яті (англ. DMA - Direct Memory Access) та переривання.

Враховуючи вищесказане, було прийняте рішення реалізувати власний стек протоколів TCP/IP зі значним використанням апаратних особливостей мікроконтролера та периферії для забезпечення максимальної швидкодії. Детально реалізацію стеку TCP/IP описано в [4, с. 64].

Мінімально необхідний набір протоколів та функцій стеку TCP/IP для забезпечення передачі датаграм UDP наведено на схемі (рисунок 2).

Рис. 2 Мінімально необхідні протоколи стеку TCP/IP

IEEE 802.2 Ethernet забезпечують формування пакетів і додавання до них службової інформації, такої як преамбула та контрольні суми, для передачі фізичним рівнем. У розробленому рішенні дані протоколи реалізовані апаратно і детально не розглядаються.

ARP (Address Resolution Protocol) - протокол визначення адреси, дає можливість встановити MAC-адресу будь-якого вузла мережі за відомою IP-адресою. Оскільки на канальному рівні адресація пакетів відбувається за MAC-адресами, використання ARP необхідне для визначення MACадреси вузла-приймача. Якщо описана система сама не ініціює передачу пакетів, а лише надсилає відповіді на запити (наприклад, застосування для Poll-протоколів типу Modbus коли головний пристрій знаходиться з боку Ethernet, а підлеглі з боку RS-485) - достатньо реалізувати лише генерацію ARP-відповідей. Також, у найпростішому випадку, необхідно запам'ятовувати MACта IP-адресу вузла, який надіслав запит, для того щоб мати можливість надіслати йому запит-відповідь [5].

У випадку якщо описана система, або вузли приєднаної мережі RS-485 можуть самі ініціювати передачу, необхідно реалізувати можливість генерувати ARP-запити для встановлення MACадреси пристроя-приймача. Знайдені адреси мають зберігатися в ARP-таблиці, кожен рядок якої містить MACта IP-адресу віддаленого вузла а також термін дії даного запису. Після кожного звернення до відповідного вузла термін дії запису продовжується на деякий сталий проміжок часу. Якщо до вузла не було звернень і його термін дії запису спливає - запис видаляється. Цей механізм необхідний для актуалізації даних по вузлам мережі при їх приєднанні та від'єднанні. Як альтернативу можна застосовувати широкомовні пакети з MAC-адресою ff:ff:ff:ff:ff:ff, але це є неефективним із точки зору використання ресурсів мережі.

IPv4 (англ. Internet Protocol version 4) - інтернет-протокол. Призначений для передачі даних на мережевому рівні. Описана ситема використовує повністю стандартний спосіб упаковки даних в пакети IPv4, що детально описаний в стандарті [6] та літературі, наприклад [4, с. 66], [7], тому детального опису не потребує.

ICMP (англ. Internet Control Message Protocol) - протокол міжмережевих керуючих повідомлень. Даний протокол передбачає значну кількість типів пакетів, але їх реалізація не є обов'язковою для функціонування мережі. Для зручності роботи користувача із системою бажаною є реалізація пакетів типу 0 та 8 - ехо відповідь та ехо запит, відповідно. Ці пакети необхідні для функціонування утиліти Ping, що використовується для перевірки цілісності мережі та якості зв'язку. Даний протокол визначений у стандарті [8].

UDP - (англ. User Datagram Protocol) - протокол дейтаграм користувача. Даний протокол є одним із двох основних способів передачі даних з використанням TCP/IP. Інший спосіб передачі - протокол TCP - має механізм встановлення з'єднання і гарантування доставки пакетів. Під час використання описаної системи в якості моста між мережами Ethernet та RS-485 доцільним є використання UDP, оскільки цей механізм подібний до передачі пакетів у RS-485, зокрема не потребує процедури встановлення з'єднання (англ. Handshaking). UDP дозволяє без додаткових перетворень запаковувати пакети мережі RS-485.

Якщо всі пакети стеку TCP/IP можна чітко відокремити одне від одного та визначити для кожного початок і кінець, то для протоколів типу RS-232, RS-485 і подібних необхідно звернути увагу на спосіб визначення кінця пакету. У деяких протоколах (наприклад, Modbus-RTU) кінець пакета визначається інтервалом тиші, під час якого не відбувається передача даних, окрім цього, пакет може містити інформацію про власну довжину. Інший спосіб - використання спеціального символу кінця повідомлення, використовується в Modbus-ASCII.

Особливістю UDP є використання портів, тобто на одному пристрої можна забезпечити декілька режимів роботи або протоколів передачі, які реалізовані на різних портах одночасно, такий підхід забезпечить всю необхідну функціональність, що доступна одночасно. Окрім цього, окремі порти можуть бути виділені для конфігурування та налаштування даної системи. Згенеровані описаною системою UDP-пакети мають містити порт приймач віддаленого вузла мережі. У випадку якщо з боку даної системи або мережі RS-485 не ініціюється передача даних, а передаються лише відповіді на запити, то, як правило, номер порту від даленого вузла міститься в пакеті-запиті. В інших випадках номер порту приймача має бути сконфігурований у налаштуваннях системи, аналогічно має бути вказана і IP-адреса віддаленого вузла.

Для прийому та передачі даних доцільно застосувати DMA-контролер, що не потребує використання процесорного часу.

Враховуючи вищесказане, була побудована система (рисунок 3), що складається з мікроконтролера STM32F107, трансивера фізичного рівня для Ethernet DP8348 та трансивера RS485 - SN65HVD10D.

Така конфігурація забезпечує передачу даних в мережах RS485 до 4.5Мбіт/сек [10] та до 100Мбіт/сек в Ethernet [11]. Зважаючи на те, що мікроконтролер STM32F107 має вбудовану підтримку інтерфейсу USB [10], розроблена система дає можливість на практиці порівняти Ethernet та USB, або і організувати взаємодію цих інтерфейсів, наприклад, реалізувавши USB-Ethernet адаптер.

Програмне забезпечення даної системи складається зі стеку TCP/IP та модуля роботи з ModbusRTU, що обробляє та формує таймінги (інтервали тиші) протоколу. Для прийому та передачі даних використовується DMA. Окрім цього, на окремому UDP порту реалізовано клієнт Modbus-TCP для налаштування самої системи.

Рис. 3 Розроблена система

Висновки

У ході даної роботи було розроблено та реалізовано програмно-апаратний комплекс перетворювача інтерфейсів RS-485 / Ethernet. Дана система застосовувалась на практиці для зчитування даних із декількох тензометричних сенсорів поєднаних в мережу RS-485, швидкість передачі даних становила 2Мб/с. Окрім цього, розроблена система може бути використана для поєднання декількох віддалених пристроїв з інтерфейсом RS-485 чи їх мереж із застосуванням локальної мережі Ethemet або через Інтернет. Наявність ^В-порту та роз'єму для карт пам'яті надають широкі можливості для відпрацювання різноманітного програмного забезпечення та поєднання інтерфейсів передачі даних. Основні напрямки подальшого розвитку розробленої системи полягають, у першу чергу, в покращенні програмного забезпечення та збільшенні його функціоналу. Зокрема, основні можливості, які можуть бути впроваджені програмним шляхом (без змін апаратної частини): додавання користувацького web-інтрфейсу для налаштування та керування системою, система автоматичного оновлення програмного забезпечення, що не потребуватиме від користувача додаткового обладнання (наприклад, програматора), а також покращення системою підтримки прикладних протоколів та збільшення кількості підтримуваних протоколів.

Список літератури

1. Manivannan M., Kumaresan N. Design of on-line interactive data acquisition and control system for embedded real time applications. Emerging Trends in Electrical and Computer Technology (ICETECT), 2011 International Conference on. IEEE. 2011. P. 551-556.

2. Jignesh G., Verma H. K. RS-485/MODBUS based intelligent building automation system using LabVIEW. 4th International Conference on Computer Applications in Electrical Engineering-Recent Advances (CERA-09). IIT Roorkee. 2010. P. 14-18.

3. Jinsoo H. Smart home energy management system including renewable energy based on ZigBee and PLC. IEEE Transactions on Consumer Electronics. 2014. P. 84-88.

4. Котунов В.О. Мінімальний TCP/IP стек для Embedded застосувань. Молодий вчений. 2017. № 10(50). С. 64.

5. Plummer D. An Ethernet Address Resolution Protocol or Converting Network Protocol Addresses to 48 bit Ethernet Address for Transmission on Ethernet Hardware. Network Working Group.1982.

6. RFC 791. Internet protocol. Internet standard. 1981.

7. Clark M.P. Data Networks IP and the Internet, 1st ed. West Sussex, England: John Wiley & Sons Ltd. 2003. 484 p.

8. Postel J. RFC 792. Internet Control Message Protocol. Internet standard. 1981.

9. Postel J. RFC 768: User Datagram Protocol. Internet Engineering Task Force. 1980.

10. STM32F4 Series URL: http://www.st.com/en/microcontrollers/stm32f4-series.html (дата звернення 04.04.2018).

11. DP83848-HT URL: http://www.ti.com/product/DP83848-HT (дата звернення 04.04.2018).

Размещено на Allbest.ru


Подобные документы

  • Структуризація комп’ютерних мереж. Принцип роботи повторювача. Класифікація мережних адаптерів. Включення віддаленого комп’ютера. Додаткові функції серверних адаптерів стандартів Gigabit Ethernet. Етапи прийняття кадру з кабелю. Мости мереж Ethernet.

    лекция [3,7 M], добавлен 18.10.2013

  • Призначення та основні функції, типи та конструкція операційної системи. Історія розробки та вдосконалення основних операційних систем найбільшими виробниками (Unix, Linux, Apple). Порівняльні характеристики операційних систем. Покоління Windows та NT.

    курсовая работа [1,3 M], добавлен 28.02.2010

  • UNIX - одна з найпопулярніших в світі операційних систем. Ключеві риси Linux. Порівняльні характеристики 32-розрядних операційних систем. Поверхневий огляд характеристик ядра Linux. Програмні характеристики: базові команди і утиліти, мови програмування.

    курсовая работа [33,3 K], добавлен 07.12.2010

  • Особливості розвитку та загальна характеристика операційних систем сімейства Windows. Організація роботи в Windows, опис базових об'єктів (файлів, папок, додатків, документів) та набір дій з ними. Застосування Провідника для роботи з файлами та папками.

    курсовая работа [1,9 M], добавлен 20.12.2012

  • Загальні відомості та характеристика локальних обчислювальних мереж. Огляд мережевих архітектур: Ethernet, Token Ring, ArcNet. Підключення мережі за технологією Ethernet. Різноманітне активне мережеве обладнання: повторювач, концентратор, комутатор.

    дипломная работа [3,2 M], добавлен 03.10.2014

  • Понятие и внутренняя структура операционных систем, их классификация и разновидности, предъявляемые требования, этапы становления и развития, функциональные особенности. Описание и назначение базовых компьютерных систем: DOS, Windows, Linux, Mac.

    курсовая работа [44,9 K], добавлен 14.12.2013

  • История создания и общая характеристика операционных систем Windows Server 2003 и Red Hat Linux Enterprise 4. Особенности установки, файловых систем и сетевых инфраструктур данных операционных систем. Использование протокола Kerberos в Windows и Linux.

    дипломная работа [142,7 K], добавлен 23.06.2012

  • Обчислення максимальної довжини загальної шини в мережах Ethernet. Типи середовищ передачі даних в мережах Ethernet. Підключення до загальної шини в мережах10Base-5. Конструкція tap-адаптера "зуб вампіра". Основні характеристики коаксіальних кабелів.

    лекция [2,7 M], добавлен 18.10.2013

  • Опис підготовки та основних особливостей розгортання операційних систем Windows XP. Типи файлів, застосовувані в установці. Установка еталонної копії. Інтеграція пакетів виправлень і обновлень. Порівняння технологій розгортання в Windows XP та Windows 7.

    контрольная работа [1,2 M], добавлен 22.04.2011

  • Властивості багатозадачного середовища. Історія розвитку багатозадачних операційних систем. Моделювання режиму, процеси і потоки. Відповідність пріоритетів Win32 пріоритетам Windows. Етапи створення процесу функцією CreateProcess, диспетчер завдань.

    курсовая работа [2,4 M], добавлен 29.01.2014

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.