logo

2.12.4. Адресуемые преобразователи интерфейса

Адресуемый преобразователь интерфейса может выполнять часть сетевых функций: проверку доступности канала, состязание за доступ к каналу, разбивку данных на кадры, обнаружение и коррекцию ошибок, повторную передачу в случае обнаружения ошибок. В частности, адресуемый преобразователь RS-232 в CAN выполняет все функции физического и канального уровня 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 фирмы RealLab!, структурная схема которого не отличается от структуры обычного безадресного преобразователя (рис. 2.47), отличие содержится только в микропрограммном обеспечении. Настройка модуля (установка адреса, скорости обмена, длины поля данных, режима четности, количества стоповых битов и др.) выполняется командами в 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 оказываются скрыты в драйверах, поставляемых в комплекте с адресуемым преобразователем.