Простой адаптер RS-232 — «Токовая петля»
Адаптер для соединения компьютера РС и контроллеров с интерфейсом «Токовая петля». Не требует дефицитных деталей, доступен для изготовления даже в домашних условиях.
В 1969 году американская Ассоциация электронной промышленности (Electronic Industries Association) разработала коммуникационный интерфейс RS-232C. Изначальное его назначение — обеспечение связи между удаленными на большое расстояние компьютерами.
Аналог этого интерфейса у нас в России называется «Стык С2». Связь между компьютерами осуществляется при помощи модемов, но вместе с тем по интерфейсу RS-232C к компьютерам подключались такие устройства, как «мышь», которую так и называли «комовской», а также сканеры и принтеры. Конечно же, все они должны были иметь возможность присоединения через интерфейс RS-232C.
В настоящее время такие устройства совсем вышли из употребления, хотя RS-232C до сих пор остается востребованным: даже некоторые новые модели ноутбуков имеют этот интерфейс. Примером такого ноутбука может служить промышленный ноутбук модели TS Strong@Master 7020T серия Core2Duo. Такой ноутбук в магазинах «Домашний компьютер», конечно, не продают.
Некоторые промышленные контроллеры, имеют интерфейс «токовая петля». Чтобы связать между собой компьютер, имеющий интерфейс RS-232C и подобный контроллер, применяются различные адаптеры. В этой статье приводится описание одного из них.
Адаптер RS-232 — «Токовая петля» был разработан специалистами нашего предприятия и в процессе эксплуатации показал высокую надежность. Его отличительная особенность в том, что он обеспечивает полную гальваническую развязку компьютера и контроллера. Такое схемное решение намного снижает вероятность выхода из строя обоих устройств. К тому же его легко изготовить самостоятельно в условиях производства: схема не велика по объему, не содержит дефицитных деталей и в налаживании, как правило, не нуждается.
Для того чтобы пояснить работу данной схемы, необходимо вспомнить хотя бы в общих чертах работу интерфейсов RS-232C и «Токовая петля». Единственное, что их объединяет, это последовательная передача данных.
Различие состоит в том, что сигналы имеют различные физические уровни. Кроме того, интерфейс RS-232C кроме собственно линий передачи данных, имеет еще несколько дополнительных управляющих сигналов, предназначенных для работы с модемом.
Процесс передачи данных по линии TxD показан на рисунке 1. (TxD это линия передатчика. По ней данные в последовательном виде выводятся ИЗ компьютера).
Прежде всего, следует заметить, что данные передаются с помощью двухполярного напряжения: уровню логического нуля в линии соответствует напряжение +3…+12В, а уровню логической единицы -3…12В. По терминологии, пришедшей из телеграфной техники, состояние логического нуля иногда называется SPASE или «отжатие», в то же время логическая единица именуется MARK – «нажатие».
Рисунок 1.
Для УПРАВЛЯЮЩИХ цепей положительное напряжение соответствует логической единице (включено), а логическому нулю (выключено) отрицательное напряжение. Все измерения проводятся относительно контакта SG (информационная земля).
Собственно передача данных производится в старт – стопном режиме последовательным асинхронным методом. Применение такого метода не требует передачи каких-либо дополнительных сигналов синхронизации, а, следовательно, и дополнительных линий для их передачи.
Информация передается байтами (восьми разрядное двоичное число), которые дополняются служебной информацией. Во-первых, это стартовый бит (бит – один двоичный разряд), после которого идут восемь бит данных. Непосредственно за ними идет бит контроля четности и после всего этого стоповый бит. Стоповых битов может быть несколько. (Бит это сокращение от английского binary digit – двоичная цифра).
В отсутствии передачи данных линия находится в состоянии логической единицы (напряжение в линии -3…12В). Стартовый бит начинает передачу, устанавливая на линии уровень логического нуля. Приемник, присоединенный к этой линии, приняв стартовый бит, запускает счетчик, подсчитывающий временные интервалы предназначенные для передачи каждого бита. В нужный момент, как правило, в середине интервала, приемник стробирует состояние линии и запоминает ее состояние. Таким методом происходит считывание информации с линии.
Для того, чтобы проверить достоверность принятой информации используется разряд контроля четности: если количество содержащихся в передаваемом байте единиц нечетное, то к ним добавляется еще одна единичка — разряд контроля четности. (Впрочем, эта единичка может добавлять байт наоборот до нечетности. Все зависит от принятого протокола передачи данных).
На стороне приемника четность проверяется и если обнаруживается нечетное количество единиц, то программа зафиксирует ошибку, и примет меры по ее устранению. Например, может запросить повторную передачу сбойного байта. Правда, контроль на четность задействуется не всегда, этот режим попросту может быть отключен и контрольный разряд в этом случае не передается.
Передача каждого байта заканчивается стоповыми битами. Их назначение сводится к останову работы приемника, который по первому из них переходит к ожиданию приема следующего байта, точнее, его стартового бита. Уровень стоповых битов всегда логическая 1, в точности также, как уровень в паузах между передачей слов. Поэтому, изменяя количество стоповых битов можно регулировать длительность этих пауз, что дает возможность при минимальной их длительности добиться надежной связи.
Весь алгоритм последовательного интерфейса в компьютере выполняется специальными контроллерами без участия центрального процессора. Последний лишь настраивает эти контроллеры на определенный режим, и загружает в него данные для передачи, или принимает полученные данные.
При работе с модемом интерфейс RS-232C предусматривает наличие не только линий передачи данных, но и дополнительных управляющих сигналов. В данной статье рассматривать их подробно просто нет смысла, так как в предлагаемой схеме адаптера используются только два из них. Об этом будет сказано ниже при описании принципиальной схемы.
Кроме RS-232C весьма широкое распространение имеет последовательный интерфейс ИРПС (Интерфейс Радиальный с Последовательной Связью). Второе его название «Токовая петля». Этот интерфейс логически соответствует RS-232C: тот же последовательный принцип передачи данных и такой же формат: стартовый бит, байт данных, бит контроля четности и стоповый бит.
Отличие от RS-232C лишь в физической реализации канала связи. Логические уровни передаются не напряжениями, а токами. Подобная схема позволяет организовать связь между устройствами находящимися на расстоянии до полутора километров.
Кроме того, «токовая петля» в отличие от RS-232C не имеет никаких управляющих сигналов: по умолчанию считается, что все они находятся в активном состоянии.
Чтобы сопротивление длинных линий связи не влияло на уровни сигналов, питание линий производится через стабилизаторы тока.
На рисунке ниже показана очень упрощенная схема интерфейса «токовая петля». Как уже упоминалось, питание линии производится от источника тока, который может быть установлен либо в передатчике, либо в приемнике, что принципиального значения не имеет.
Рисунок 2
Логической единице в линии соответствует ток величиной 12…20 мА, а логическому нулю отсутствие тока, точнее не более 2мА. Поэтому выходной каскада передатчика «токовой петли» представляет собой простой транзисторный ключ.
В качестве приемника используется транзисторный оптрон, который обеспечивает гальваническую развязку от линии связи. Для того, чтобы связь была двусторонней необходима еще одна такая же петля (две линии связи), хотя известны способы передачи в двух направлениях и по одной витой паре.
Исправность канала связи проверить весьма просто, если в разрыв любого из двух проводов включить миллиамперметр, лучше стрелочный. При отсутствии передачи данных он должен показать ток близкий к 20 мА, а если передача данных идет, то можно заметить легкие подергивания стрелки. (Если скорость передачи не велика, а сама передача идет пакетами).
Принципиальная схема адаптера RS-232C – «Токовая петля» показана на рисунке 3.
Рисунок 3. Принципиальная схема адаптера RS-232C – «Токовая петля» (при нажатии на картинку откроется схема в большем формате)
В исходном состоянии сигнал Rxd находится в состоянии логической единицы (смотри рисунок 1), то есть напряжение на нем -12В, что приводит к открытию транзисторного оптрона DA2, а вместе с ним транзистора VT1, через который ток 20мА протекает через стабилизатор тока и светодиод оптрона приемника контроллера, как показано на рисунке 4. Для «токовой петли» это состояние логической единицы.
Когда сигнал Rxd принимает значение логического нуля (напряжение +12В) оптрон DA2 закрывается и вместе с ним транзистор VT1, поэтому ток становится равным нулю, что полностью соответствует требованиям интерфейса «Токовая петля». Таким образом, последовательные данные будут переданы от компьютера к контроллеру.
Данные от контроллера к компьютеру передаются через оптрон DA1 и транзистор VT2: когда линия токовой петли находится в состоянии логической единицы (ток 20 мА) оптрон открывает транзистор VT2 и на входе приемника RS-232C появляется напряжение -12В, что согласно рисунку 1 есть уровень логической единицы. Это соответствует паузе между передачей данных.
Когда на линии связи токовой петли ток равен нулю (логический нуль) оптрон DA1 и транзистор VT2 закрыты на входе RxD будет напряжение +12В – соответствует уровню логического нуля.
Для того чтобы на входе RxD получить двухполярное напряжение, используются сигналы DTR Data Terminal Ready (Готовность терминала) и RTS Request to Send (Запрос на отправку).
Эти сигналы предназначены для работы с модемом, но в данном случае используются как источник питания для линии RxD, поэтому дополнительного источника не требуется. Программно эти сигналы устанавливаются таким образом: DTR=+12В, RTS=-12В. Эти напряжения развязаны друг от друга диодами VD1 и VD2.
Для самостоятельного изготовления адаптера понадобятся следующие детали.
Список элементов.
DA, DA =2xАОТ128
R1 =1×4,7K
R2, R4 =2x100K
R3 =1×200
R6, R7 =2×680
R8, R9, R10 =3x1M
VD1, VD2, VD3, VD4, VD5 =5xKD522
VT1, VT2 =2xKT814G
В случае, если вместо отечественных оптронов АОТ128 применить импортные 4N35, что наиболее вероятно в условиях нынешнего радиорынка, резисторы R2,R4 следует установить номиналом 820К…1М.
Соединение контроллера с компьютером показано на рисунке 4. (Стабилизаторы тока находятся в контроллере).
Рисунок 4.
На рисунке 5 показана готовая плата адаптера.
Рисунок 5. Готовая плата адаптера
Подсоединение к компьютеру производится с помощью стандартного разъема типа DB-9, (гнездная часть) с помощью стандартного кабеля для последовательного порта.
Иногда в наличии остаются похожие по виду кабели от ИБП (бесперебойников). Они имеют специфическую распайку и для подключения адаптера не подходят.
Линии интерфейса «токовая петля» подключаются с помощью клеммных зажимов.
Борис Аладышкин
Любите умные гаджеты и DIY? Станьте специалистом в сфере Internet of Things и создайте сеть умных гаджетов!
Записывайтесь в онлайн-университет от GeekBrains:
Факультет Интернет вещей
Вы сможете:
-
Изучить C, механизмы отладки и программирования микроконтроллеров;
-
Получить опыт работы с реальными проектами, в команде и самостоятельно;
-
Получить удостоверение и сертификат, подтверждающие полученные знания.
Starter box для первых экспериментов в подарок!
После прохождения курса в вашем портфолио будет: метостанция с функцией часов и встроенной игрой, распределенная сеть устройств, устройства регулирования температуры (ПИД-регулятор), устройство контроля влажности воздуха, система умного полива растений, устройство контроля протечки воды…
Вы получите диплом о профессиональной переподготовке и электронный сертификат, которые можно добавить в портфолио и показать работодателю.
Подробнее здесь:
Интернет вещей и современные встраиваемые системы