2.7. Применение интерфейсов
2.7.1. Согласование ТТЛ схемы с сигналом стандарта RS232
Стандарт RS232 (он определяет размещение выводов соединительных элементов типа DB9 и DB25) предполагает использование двух источников напряжения: -12 и +12 В. Однако для работы многих процессоров и периферийных устройств такое напряжение питания не требуется. В большинстве случаев допустимым можно считать диапазон напряжений от ±3 до ±12 В. При этом крайне редко возникает необходимость в отрицательном напряжении питания для цифровых схем.
Наибольшее число классических устройств питается от источников положительного напряжения 5 В. Проблема согласования уровней сигналов возникает каждый раз при использовании последовательного интерфейса. Для решения задачи выработано несколько подходов, требующих применения схем различного уровня сложности и стоимости. Чаще всего используется специализированная микросхема типа МАХ232 или один из ее аналогов, содержащих в обозначении цифры 232. Эта схема согласует уровни сигналов, передаваемых в двух направлениях по двум различным каналам. При ее использовании требуется подключение четырех внешних конденсаторов.
Простая схема для согласования ТТЛ устройств (с уровнями сигналов 0/5 В) со стандартом RS232 показана на рис. 2.36. Она содержит оптопару с двумя присоединенными к ней резисторами и обеспечивает полную гальваническую развязку между входом и выходом. Оптопара выполняет роль управляемого выключателя, который при зажигании светодиода входным сигналом соединяет последовательный вход интерфейса с источником напряжения 12 В, подключенным к одному из неиспользованных контактов разъема DB9 или DB25.
Рис. 2.36. Схема согласования с использованием оптопары
2.7.2. Согласование сигнала стандарта RS232 с ТТЛ схемой
Обсудив в предыдущем разделе преобразование сигнала ТТЛ устройств к уровню ±12 В, перейдем к рассмотрению обратной операции. В данном случае задача также может выполняться специализированной микросхемой, к которой добавлено небольшое число внешних компонентов. Более простая схема, содержащая транзистор и два резистора, приведена на рис. 2.37.
Рис. 2.37. Схема согласования на транзисторе
Информация, снимаемая со стандартного соединительного элемента, подводится к транзистору n-p-n типа, включенному по схеме с общим коллектором. В состоянии логического нуля, когда линия имеет отрицательное напряжение, транзистор закрыт, а напряжение на эмиттере близко к нулю. При передаче по линии сигнала логической единицы транзистор насыщается и соединяет выход с источником питания, имеющим напряжение 5 В. В случае необходимости выходной сигнал согласующего устройства может быть подан на инвертор.
2.7.3. Генерирование импульса, совместимого со стандартом RS232
Нередко возникает необходимость передать условное сообщение от электронной схемы к микропроцессору. Примеры таких ситуаций: определение временного интервала, разделяющего два события, выполнение счета на заданном промежутке времени. Зачастую проще и быстрее написать небольшую программу (например, на языке BASIC), которая обеспечивает получение входных данных, более или менее сложные вычисления и хранение результатов в специальном файле, чем построить электронную схему для выполнения тех же задач. Рассмотренное ниже устройство состоит из простых компонентов и позволяет имитировать двоичное слово, совместимое по длительности со стандартом RS232.
По условию задачи на последовательный порт микрокомпьютера требуется отправить импульс, задаваемый с невысокой точностью, причем длительность этого импульса лежит в нужном интервале. Микропроцессор должен находиться в состоянии ожидания слова произвольного значения, поступление которого служит сигналом для запуска процесса измерений, вычислений или счета. Хронология передачи должна быть совместима со стандартом RS232. Например, при скорости передачи 9600 бод сигнал одного бита длится около 100 мкс. В этом случае любой импульс длительностью от 100 мкс до 9x100 мкс будет интерпретироваться как передача байта диапазона 00Н — FFH.
Тот же принцип можно применить и к другим скоростям передачи при соответствующих длительностях импульсов. Если имеется сигнал, отвечающий этому критерию, достаточно преобразовать его в соответствии со стандартом RS232 и передать по линии. В противном случае для задания требуемой длительности импульса можно использовать одновибратор, состоящий из двух логических вентилей (рис. 2.38). Одновибратор запускается в нужный момент импульсным сигналом или замыканием управляющего контакта. При выборе параметров схемы, определяющих длительность импульса, не следует ориентироваться на время, близкое к максимальному, так как появляется риск наложения сигнала данных на сигнал STOP, что вызовет ошибку передачи.
Рис. 2.38. Одновибратор
2.7.4. Использование стандартных соединительных элементов
При передаче данных в соответствии со стандартом RS232 нужны только две линии для однонаправленного соединения и три линии для двунаправленного. Однако фактически существует несколько дополнительных управляющих сигналов, которые редко используются на практике. При отсутствии этих сигналов соответствующие линии нельзя оставлять неподключенными, так как это может привести к появлению ошибочных сигналов. В таком случае нужно соединить между собой несколько выводов стандартного соединительного элемента последовательного интерфейса.
На схемах, представленных на рис. 2.39, показаны некоторые соединения, которые необходимы при использовании разъема DB9 и его более старого аналога DB25. Соединения выполняются по-разному в зависимости от того, предназначен ли интерфейс для связи двух компьютеров или для связи компьютера с нестандартной схемой. В последнем случае возможны различные варианты подключения, но всегда нужно следить за тем, чтобы вход одного устройства подключался к выходу другого.
Рис. 2.39. Использование разъемов DB9 и DB25