Информация, снимаемая со стандартного соединительного элемента, подводится к транзистору 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
2.8.1. Защита против инверсии полярности
Когда какое-либо устройство питается от источника постоянного напряжения и включается лишь на короткое время (например, индикатор момента зажигания, применяющийся для диагностики двигателя внутреннего сгорания), возникает риск инверсии полярности. Последствия этого события нетрудно себе представить, особенно когда для питания используется мощный аккумулятор.
Читать дальше