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

517-01

Так как серийный номер состоит из 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.

517-02

Для защиты входа микроконтроллера от статического электричества служит стабилитрон 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 480 Скачать