Заметки на полях
Сама функция «Исключающее ИЛИ» (по-английски она называется XOR) имеет большое значение в логике и программировании. Например, часто употребляющаяся функция обнуления какого-то регистра в микроконтроллерах есть операция «Исключающее ИЛИ» этого регистра самого с собой (по определению, одинаковые входы дадут на выходе все 0). Другое интересное свойство этой функции — будучи применена к какому-то двоичному объекту дважды, она возвращает все, как было до операции. На этом принципе основано применение функции «Исключающее ИЛИ» в криптографии: первый раз вы складываете текст с секретным ключом, получая «абракадабру». Второй раз — на приемном конце — тот же ключ той же операцией применяется к этой «абракадабре», в результате чего получается исходный расшифрованный текст. Можно указать и еще одно распространенное применение «Исключающего ИЛИ», которое вы не раз встречали — получение «прозрачного» цвета в компьютерной графике. Эффект основан на том, что изготавливается т. н. XOR-маска. Там, где в XOR-маске были поля с нулевым значением бит (т. е. черного цвета), фон остается неизменным (если одна исходная величина равна нулю, то операция XOR будет повторять вторую исходную величину), в противном случае на фон с «дырой» накладывается то изображение, которое записано в XOR. Так, например, формируются «иконки» и «прозрачные» меню в Windows. Как видите, очень полезная функция.
На рис. 8.3, б показана интересная схема на основе элемента «Исключающее ИЛИ». Она устраняет неизбежный дребезг механических контактов, который может вызвать (более того, вызывает обязательно) многократное срабатывание некоторых электронных схем, например триггеров или счетчиков. С этим явлением борются разными путями — с помощью одновибраторов (см. далее), RS-триггеров (см. главу 9 ) и даже программно — в микроконтроллерах (см. главу 13 ).
При наличии свободного элемента «Исключающее ИЛИ» устранить дребезг, как видите, очень просто. Чтобы понять, как это работает, надо учесть, что подвижные контакты кнопки, тумблера или реле никогда не пролетают несколько раз расстояние от одного неподвижного контакта до другого — подвижной контакт только несколько (иногда до нескольких десятков) раз за короткое время оказывается «висящим в воздухе» (представьте себе, что он как бы подпрыгивает на неподвижном контакте, причем как при размыкании, так и при замыкании). При этом подача напряжения, соответствующего противоположному логическому уровню, не происходит, но «подпрыгивания» достаточно, чтобы на выходе микросхемы вызвать нечто похожее на дребезг выхода компаратора при наличии помехи. Но, согласно сказанному ранее, при наличии логического нуля на одном из входов «Исключающее ИЛИ» работает как повторитель. Если контакт был замкнут (надежно) с потенциалом питания (логическая единица), то на выходе будет также «1». Когда контакт в процессе дребезга разомкнется и «повиснет в воздухе», то потенциал на выходе все равно останется равным «1», т. к. поддерживается обратной связью, замыкающей выход со входом. Сколько бы контакт ни дребезжал таким образом, потенциал останется равным «1» до первого касания контактом «земли», тогда элемент перебросится в другое состояние и будет в нем пребывать опять независимо от того, дребезжит контакт или нет. Разумеется, можно и инвертировать сигнал, если присоединить второй вход к питанию, а не к «земле». В схеме по рис. 8.3, б обязательно требуется именно перекидной контакт, для простой кнопки с двумя выводами нужны иные способы.
Самое, однако, интересное будет, если на входы «Исключающего ИЛИ» подать две последовательности импульсов с разными частотами и/или фазами. На рис. 8.3, в показано, что произойдет, если обе последовательности имеют одинаковую частоту, но фазы при этом сдвинуты на полпериода. На выходе при этом возникнет колебание с удвоенной частотой! Попробуйте изменить фазу — вы увидите, что скважность результирующего колебания будет меняться, пока фазы не совпадут, и тогда сигнал на выходе исчезнет — одинаковые состояния выходов дают на выходе «Исключающего ИЛИ» всегда логический ноль. Это позволяет использовать такой элемент в качестве т. н. фазового компаратора, что широко применяется в фазовых модуляторах и демодуляторах сигнала.
Не менее интересный случай показан на рис. 8.3, г , где на входы подаются последовательности с различающейся частотой. Мы видим, что на выходе возникнет сигнал с меняющейся скважностью, причем легко показать, что период изменения скважности от минимума к максимуму и обратно будет в точности равен периоду сигнала с частотой, равной разности исходных частот. Если при этом поставить на выходе элемента фильтр низкой частоты (если разность частот невелика в сравнении с исходными частотами, то достаточно простой RC-цепочки), то мы получим синусоидальное колебание с частотой, равной этой разности! Это колебание можно подать, например, в качестве сигнала обратной связи на генератор, управляемый напряжением (ГУН), который тогда изменит частоту своего выходного сигнала так, чтобы она в точности совпадала со второй (опорной). Так, к примеру, делают схемы умножителей частоты, получая целый набор точных частот при наличии одного-единственного опорного кварцевого генератора.
Читать дальше
Конец ознакомительного отрывка
Купить книгу