Наибольшее число классических устройств питается от источников положительного напряжения 5 В. Проблема согласования уровней сигналов возникает каждый раз при использовании последовательного интерфейса. Для решения задачи выработано несколько подходов, требующих применения схем различного уровня сложности и стоимости. Чаще всего используется специализированная микросхема типа МАХ232 или один из ее аналогов, содержащих в обозначении цифры 232. Эта схема согласует уровни сигналов, передаваемых в двух направлениях по двум различным каналам. При ее использовании требуется подключение четырех внешних конденсаторов.
Простая схема для согласования ТТЛ устройств (с уровнями сигналов 0/5 В) со стандартом RS232 показана на рис. 2.44. Она содержит оптопару с двумя присоединенными к ней резисторами и обеспечивает полную гальваническую развязку между входом и выходом. Оптопара выполняет роль управляемого выключателя, который при зажигании светодиода входным сигналом соединяет последовательный вход интерфейса с источником напряжения 12 В, подключенным к одному из неиспользованных контактов разъема DB9 или DB25.
Согласование сигнала стандарта RS232 с ТТЛ схемой
Обсудив в предыдущем разделе преобразование сигнала ТТЛ устройств к уровню -12/+12 В, перейдем к рассмотрению обратной операции. В данном случае задача также может выполнятся специализированной микросхемой, к которой добавлено небольшое число внешних компонентов. Более простая схема, содержащая транзистор и два резистора, приведена на рис. 2.45.
Информация, снимаемая со стандартного соединительного элемента, подводится к транзистору n-р-n типа, включенному по схеме с общим коллектором. В состоянии логического нуля, когда линия имеет отрицательное напряжение, транзистор закрыт, а напряжение на эмиттере близко к нулю. При передаче по линии сигнала логической единицы транзистор насыщается и соединяет выход с источником питания, имеющим напряжение 5 В. В случае необходимости выходной сигнал согласующего устройства может быть подан на инвертор.
Генерирование импульса, совместимого со стандартом RS232
Нередко возникает необходимость передать условное сообщение от электронной схемы к микропроцессору. Примеры таких ситуаций: определение временного интервала, разделяющего два события, выполнение счета на заданном промежутке времени. Зачастую проще и быстрее написать небольшую программу (например, на языке Basic), которая обеспечивает получение входных данных, более или менее сложные вычисления и хранение результатов в специальном файле, чем построить электронную схему для выполнения тех же задач. Рассмотренное ниже устройство состоит из простых компонентов и позволяет имитировать двоичное слово, совместимое по длительности со стандартом RS232.
По условию задачи на последовательный порт микрокомпьютера требуется отправить импульс, задаваемый с невысокой точностью, причем длительность этого импульса лежит в нужном интервале. Микропроцессор должен находиться в состоянии ожидания слова произвольного значения, поступление которого служит сигналом для запуска процесса измерений, вычислений или счета. Хронология передачи должна быть совместима со стандартом RS232. Например, при скорости передачи 9600 бод сигнал одного бита длится около 100 мкс. В этом случае любой импульс длительностью от 100 мкс до 9x100 мкс будет интерпретироваться как передача байта диапазона 00Н- FFH.
Тот же принцип можно применить и к другим скоростям передачи при соответствующих длительностях импульсов. Если имеется сигнал, отвечающий этому критерию, достаточно преобразовать его в соответствии со стандартом RS232 и передать по линии. В противном случае для задания требуемой длительности импульса можно использовать одновибратор, состоящий из двух логических вентилей (рис. 2.46).
Одновибратор запускается в нужный момент импульсным сигналом или замыканием управляющего контакта. При выборе параметров схемы, определяющих длительность импульса, не следует ориентироваться на время, близкое к максимальному, так как появляется риск наложения сигнала данных на сигналы Stop , что вызовет ошибку передачи.
Читать дальше