Здесь представлена схема электронного замка, в котором в качестве ключа используется устройство DS1990A(Touch Memory). Touch Memory типа DS1990A представляет собой пассивное устройство (без внутреннего источника питания), которое имеет записанное с помощью лазера ПЗУ(ROM), содержащее уникальный серийный номер. Для считывания данных с DS1990A используется 1-проводная шина фирмы DALLAS. DS1990A является подчинённым устройством, а мастером является обычно микропроцессор(микроконтроллер). Питание DS1990A во время обмена данными производится от 1-проводной шины. Эквивалентная схема интерфейсной части DS1990A показана на рисунке: 

Так как серийный номер состоит из 48 бит, то количество возможных его вариантов - 281474976710656.

Замок собран на микроконтроллере PIC16F627A(628A, 648A). После подачи питания микроконтроллер передаёт импульс сброса(низкий логический уровень длительностью 500 мкс) и через 70 мкс проверяет наличие ответа от DS1990A (низкий уровень). Если его нет микроконтроллер ждёт около 80 мс(время определяется watchdog таймером) и заново передаёт импульс сброса. Таким образом проверяется наличие подключённого ключа. Если низкий уровень появился, значит "таблетка" подключена к контактам N1 и N2. Далее передаётся код команды "читать ROM" (33h), после чего микроконтроллер переходит на приём и записывает в ОЗУ переданный "таблеткой" номер, сравнивает его с имеющимися в EEPROM и в случае совпадения с одним из них выдают соответсвующий звуковой сигнал, после которого устанавливатся высокий уровень на выводе RA1 в течение примерно 1.5 с. О том, как происходит передача данных между процессором и таблеткой можно прочитать здесь. Если номер не совпал ни с одним из находящихся в EEPROM, то процессор выдаёт звуковой сигнал. При нажатой кнопке (B1) номер запишется в EEPROM. Кнопку B1 распологают, естественно, в недоступном для посторонних месте. Для стирания всех номеров необходимо при включении питания удерживать нажатой кнопку в течении 5с. После стирания ключей передаётся звуковой сигнал. Для большей надёжности(при выключении питания во время проверки ключа может измениться содержимое EEPROM) лучше записать один и тот же ключ несколько раз. Общее количество серийных номеров в памяти- не более 21.

Электронный замок с ключём i-Button (DS1990A) на PIC16F627A  - схема

Для защиты входа микроконтроллера от статического электричества служит стабилитрон VD1 на 5В. Так как для работы замка не требуется большой стабильности частоты задающего генератора, микроконтроллер работает от внутреннего RC генератора с частотой 4МГц(+-1%).

В схеме можно применить любой из микроконтроллеров PIC16F627A, PIC16F628A, PIC16F648A. С небольшой переделкой программы можно применить и PIC16F84(однако придётся подключить кварц на 4МГц к выводам 15 и 16, соединить вывод 4 с +5V через резистор 1К, а через конденсатор 0,1мк подключить к общему проводу; подключить подтягивающий резистор 10К к выв. 6 и +5V). Для PIC12F629/675 тоже придётся немного переписать программу.


Архив для статьи "Электронный замок с ключём i-Button (DS1990A) на PIC16F627A"
Описание: Исходный коды программы для PIC16F627 и PIC12F629, файл прошивки микроконтроллера
Размер файла: 98.4 KB Количество загрузок: 1 533 Скачать