В [1] подробно описана методика определения кода электронного ключа и устройство на микроконтроллере, являющееся аналогом двух электронных ключей для подъездных домофонов. Предлагаемое устройство позволяет выполнить функции аналога семи электронных ключей.
Схема (см. рисунок) выполнена на микроконтроллере [MK] AT89C2051, но она не содержит программы. МК используется в «усеченном» режиме, т.е. процессор и многие другие узлы заблокированы. Обычно такую возможность используют программаторы для сверки записанного в память значения с заданным. Подав на выводы порта Р3 МК соответствующую комбинацию логических уровней, можно прочитать на выводах порта Р1 код, содержащийся в ячейке внутренней Flesh-памяти. МК переведен в нужное состояние соединением выводов 1, 6, 9 и 11 с источником питания (через резистор R2), а вывода 7 - с общим проводом. На выводы 5 и 8 поступают тактовые импульсы от генератора на микросхеме DA1. Каждый импульс увеличивает на единицу значение адреса, хранящегося во внутреннем регистре МК [2], после чего состояние выводов 13-19 МК соответствует коду, записанному по этому адресу. Исключение - линия Р1.0. По достижении старшего адреса (7FFH) просмотр ячеек продолжается с нулевого.
Выбор кода ключа выполняется одним из контактов DIP-переключателя. Код ключа имеет широтно-импульсное кодирование. Разряды кода передаются от младшего к старшему. Логическому нулю соответствует два низких уровня и один высокий уровень в трех последовательных ячейках памяти, считываемые в соответствующих битах порта Р1. Логической единице соответствует один низкий уровень и два высоких уровня в трех последовательных ячейках памяти. Информационный код состоит из 35 разрядов, каждый из которых обеспечивается записью кодов в соответствующие биты трех последовательных ячеек памяти. Информационному коду предшествует сигнал синхронизации - сигнал низкого уровня длительностью 150 мкс. Сигналу синхронизации соответствует низкий уровень в трех последовательных ячейках памяти.
В момент импульса высокого уровня на выводе 3 генератора (20 кГц) DA1 выходы порта Р1 МК DD1 переходят в третье Z-состояние. Вывод данных происходит при низком уровне сигнала генератора. Данные, выбранной переключателем линии порта Р1 МК, будут присутствовать во внутреннем буфере (вход D0 с гистерезисом) микросхемы DD2 и в момент положительного перепада на ее тактовом входе «С» появятся на выходе Q0 раньше, чем выводы порта Р1 МК переключатся в высокоимпедансное состояние. Это обеспечивает на выводе 2 микросхемы DD2 состояние данных ячейки памяти длительностью, равной периоду сигнала генератора (50 мкс), но с задержкой на один такт.
Для работы устройства не нужно знать систему команд МК. Необходимо занести во Flach-память только данные в соответствии с необходимыми кодами ключей.
Принципиально возможно аналогичное подключение еще одного или двух МК с соответствующим увеличением контактов DIP-переключателей, т.к. потребляемый ток при такой низкой частоте и пониженном напряжении питания не превышает 10 мкА на один корпус. Типы микросхем DA1 и DD2 (производитель STMicroelectronics) выбраны исходя из их работоспособности при нижнем пороге напряжения питания 2 В, а также малом энергопотреблении (100 мкА и 4 мкА соответственно).
Напряжение в лузе домофона составляет 3,9 В, ток короткого замыкания 4 мА. МК имеет минимальное напряжение питания 2,7 В. Центральному контакту ключа соответствует «+» источника питания, а внешнему контакту общий провод питания. Достаточно запрограммировать 3 цикла посылки сигналов. При каждой установке ключа в лузу домофона чтение ячеек памяти всегда начинается сначала.
Для программирования МК можно применить простейший программатор [3]. Многих пугает использование DOS 6.22 и необходимость создания специальной загрузочной дискеты для работы с ним. Чтобы этого не делать, установите на флэшку Windows 3.11 и загружайтесь с нее (ставится без проблем).
Для миниатюризации устройства можно применить микросхемы DA1 и DD2 в корпусах TSSOP, а DIP-переключатель выбрать с шагом выводов 1,27 мм. Следует отметить, что DIP-переключатели китайского производства имеют электрическую надежность 10000 переключений при рабочей нагрузке 50 мА, а также встречаются с количеством контактов до 12-ти.
Литература
1. Григорьев Д. Аналог електронного ключа «Метаком ТМ-2002 на
ATtiny2313»//Радио.- 2009.- №6.- С.37.
2. Мельник В. Недокументированные возможности микроконтроллера
AT89C2051//Радиокомпоненты.- 2007. - №1. - С.34.
3. Мельник В. Программатор АТ89С2051 для IBM PC//Радиомир. - 2006. - №4.
- С.20.