Одной из самых острых и актуальных проблем в области систем связи на сегодняшний день является проблема совместимости различных видов устройств. Это понятно: существует море устройств различного вида и назначения, большое количество компаний, занимающихся их производством, разные стандарты, большей частью никак не совместимые между собой. Выходом из этой ситуации является преобразователи интерфейсов. Они служат для подключения устройств с интерфейсом RS-232/422/485 (систем сбора данных, регистраторов, контроллеров и др.) к последовательному COM-порту компьютера, для обеспечения гальванической развязки интерфейсов, для передачи данных в условиях электромагнитных помех и на большие расстояния. Для корректной совместной работы оборудования мало просто соединить порты, необходимо установить связь на программном уровне, что является более сложной задачей.
Разные стандарты устройств предусматривают передачу данных по различным технологиям. Унифицировать протоколы и привести передаваемые данные к единому виду с помощью преобразователя интерфейсов невозможно. Задача преобразователя – адаптировать вид данных, передаваемых между частями системы с различными протоколами для того, чтобы они были успешно приняты и расшифрованы элементом, использующим другой протокол. Преобразование пакетов передаваемых данных происходит на программном уровне. Помимо непосредственно изменения структуры передаваемых данных, программная составляющая преобразователя интерфейсов отвечает за определение типов протоколов, используемых в системе, и выбор алгоритма для их согласования.
Существуют различные типы преобразователей интерфейсов. Их классификация производится по следующим параметрам:
- Стандарт – определяет тип устройств и протоколов, для которых возможно выполнение преобразований;
- Скорость передачи информации – характеризует максимальное количество информации, передаваемой в системе за единицу времени;
- Допустимое расстояние передачи – максимальная удаленность узлов системы, между которыми может быть выполнена передача данных без потерь их целостности;
- Тип передаваемого сигнала – определяет, какой параметр системы будет нести информационную нагрузку;
- Линия передачи – вид среды, через которую будут передаваться пакеты информации;
- Количество приемников и драйверов;
- Схема соединения составных частей системы.
Преобразователь (конвертор) интерфейсов (медиаконвертор) используется для обеспечения совместимости устройств с разными интерфейсами или изменения физического способа передачи информации.
Сложность преобразователя интерфейсов существенно зависит от количества уровней модели OSI и их функций, которые должны быть реализованы в преобразователе. В простейшем частном случае, когда требуется преобразовать RS-232 в RS-485, и интерфейс RS-232 работает в режиме программного управления потоком данных, возможна побитовая ретрансляция сигналов без изменения протокола даже физического уровня. Однако в общем случае интерфейс RS-232 передает параллельно 10 сигналов, в то время как RS-485 - только два (Data+ и Data-), поэтому для полного преобразования интерфейса пришлось бы делать конвертирование между параллельным и последовательным форматом данных. Кроме того, RS-232 может работать в полнодуплексном режиме, а RS-485 - только в полудуплексном (при двухпроводной схеме подключения). Поэтому в общем случае преобразование интерфейсов невозможно без изменения протокола передачи данных и специального программного обеспечения для портов ввода-вывода.
Даже если преобразование выполняется без изменения параллельной формы представления информации в последовательную, как, например, в преобразователе RS-485 - CAN, может потребоваться выполнение одним из интерфейсов специфических для конкретной сети функций канального уровня (адресация, борьба за доступ к шине, отсылка сообщений об ошибках, обеспечение достоверности передачи и др.). Преобразователи интерфейсов не используют функции уровня приложений, поскольку в этом случае они переходят в разряд межсетевых шлюзов, см. ниже.
Преобразователь RS-232 - RS-485/422
В простейшем, но наиболее распространенном случае, когда к компьютеру с портом RS-232 требуется подключить сеть на основе интерфейса RS-485, порт RS-232 используют в режиме программного управления потоком данных. При этом из 10 клемм интерфейса используются только три: TD (Transmit Data - передача данных), RD - (Receive Data - прием данных) и SG (Signal Ground - сигнальное заземление), а протокол передачи не зависит от типа интерфейса. Преобразование интерфейса сводится фактически только к побитовому преобразованию потока данных из одной электрической формы в другую, без преобразования протоколов передачи и изменения драйверов порта ввода-вывода. Структурная схема такого преобразователя показана на рис. 1.
Описанный преобразователь находит применение при подключении к компьютеру промышленной сети Modbus или DCON, а также отдельных устройств с интерфейсом RS-485 или RS-422.
Рис. 1 Рис. 1. Типовая структура двунаправленного преобразователя интерфейсов RS-232 в RS-485 и RS-422 типа NL-232C
Преобразователи интерфейса часто используют в качестве удлинителей интерфейса, т. е. для увеличения расстояния, на которое можно передать информацию. Например, для удлинения порта RS-232 можно использовать преобразователь RS-232 в RS-485, который обеспечивает дальность до 1,2 км, и на приемном конце сделать обратное преобразование из RS-485 в RS-232. Аналогично можно использовать оптоволоконный интерфейс или CAN. Однако чаще для удлинения интерфейсов используют преобразование в промежуточный нестандартный канал передачи, использующий повышенную мощность сигнала и позволяющий передавать данные на расстояние, например, до 20 км по медному кабелю.
Преобразователь RS-232 в оптоволоконный интерфейс
Оптоволоконный канал имеет ряд неоспоримых преимуществ, связанных с оптическим способом передачи информации:
- большая дальность передачи: обычно до 2 км в многомодовом канале или до 20 км в одномодовом; с повторителями - до нескольких сотен километров;
- нечувствительность к электромагнитным помехам, в том числе при разряде молнии или электростатических разрядах;
- отсутствие аварийных ситуаций и порчи оборудования в случае коротких замыканий, отсутствие коррозии мест соединений;
- более высокая пропускная способность (скорость передачи) или уменьшенное количество ошибок в канале при той же скорости по сравнению с медным кабелем;
- гальваническая развязка с практически неограниченным напряжением изоляции;
- хорошая защищенность от несанкционированного доступа: невозможно перехватить передаваемую информацию, не нарушив связь по каналу.
Преобразователь USB в RS-232, RS-485, RS-422
Преобразователь из USB в RS-232/422/485 гораздо сложнее, чем описанные выше. Сложность появляется вследствие того, что для шины USB стандартом установлен определенный порядок обмена пакетами данных и пакетами квитирования с устройствами USB. Поэтому побитовая ретрансляция становится невозможной и в преобразователе интерфейсов большую роль играет модификация драйверов порта.
Преобразователи из USB в RS-232/422/485 используются, когда компьютер имеет недостаточное количество портов RS-232/422/485, но есть неиспользуемые порты USB. При подключении к компьютеру преобразователя и установки соответствующих драйверов в операционной системе появляется новый виртуальный COM-порт, который со стороны программного и аппаратного интерфейса ничем не отличается от обычного.
Адресуемые преобразователи интерфейса
Адресуемый преобразователь интерфейса может выполнять часть сетевых функций: проверку доступности канала, состязание за доступ к каналу, разбивку данных на кадры, обнаружение и коррекцию ошибок, повторную передачу в случае обнаружения ошибок. В частности, адресуемый преобразователь RS-232 в CAN выполняет все функции физического и канального уровня CAN, в соответствии со стандартом, однако он не выполняет функций уровня приложений, как это делают межсетевые шлюзы. Наиболее распространены адресуемые преобразователи интерфейса RS-232 в RS-485, которые позволяют подключить к сети на основе интерфейса RS-485 такие устройства, как вольтметр, аппарат для считывания штрих-кодов, кассовый аппарат или ПЛК с интерфейсом RS-232. Для подключения нескольких таких устройств к компьютеру без адресуемых преобразователей потребовалось бы несколько COM-портов, по количеству RS-232 устройств. Дополнительные COM-порты можно получить с помощью преобразователей USB в RS-232 или с помощью многопортовых сетевых карт. Увеличить количество USB портов можно также с помощью USB-хабов.
Вторым вариантов является подключение устройств с портом RS-232 к общей шине RS-485 с помощью адресуемого преобразователя. Обращение к таким устройствам выполняется по адресу, записанному в ППЗУ преобразователя. Использование шины RS-485 вместо нескольких портов RS-232 позволяет также отнести устройство на расстояние до 1,2 км от компьютера и расположить его в любом удобном месте. Примером адресуемого преобразователя может быть модуль NL-232AC фирмы НИЛ АП, структурная схема которого не отличается от структуры обычного безадресного преобразователя, отличие содержится только в микропрограммном обеспечении. Настройка модуля (установка адреса, скорости обмена, длины поля данных, режима четности, количества стоповых битов и др.) выполняется командами в ASCII-кодах, которые посылаются в модуль через порт RS-232.
Скорости обмена преобразуемых портов могут быть различными. Например, если интерфейс RS-232 имеет стандартную скорость обмена 115200 бит/с, а CAN имеет стандартную скорость 125000 бит/с, то преобразование таких интерфейсов невозможно без промежуточной буферизацией данных, которая выполняется, например, с помощью буфера FIFO (First Input - First Output).
Функцию адресуемого преобразователя можно реализовать с помощью универсального контроллера, имеющего соответствующие порты. Контроллер, содержащий программу преобразования портов, называют коммуникационным контроллером. Коммуникационный контроллер принимает сигнал через один из своих портов и передает его через другой порт. В общем случае коммуникационный контроллер может также выполнять функции сигнализации состояния шины, несложные функции управления и быть как ведомым, так и ведущим.
Широкое применение нашли адресуемые преобразователи интерфейса RS-232 в Ethernet. Они позволяют подключить устройство с портом RS-232 к компьютеру через сеть Ethernet. Поскольку написание программ для работы с Ethernet портом значительно сложнее, чем с COM, преобразователи RS-232 в Ethernet поставляются с драйверами, которые создают в компьютере виртуальные COM-порты, каждый из которых соответствует устройству RS-232, подключенному к шине Ethernet через адресуемый преобразователь. Это позволяет использовать программы, написанные для работы через COM-порт, в сети Ethernet без какой-либо их модификации. Пользовательское приложение общается с RS-232-устройствами через виртуальный COM-порт, а все сложности Ethernet и стандарта IEEE 802.3 оказываются скрыты в драйверах, поставляемых в комплекте с адресуемым преобразователем.