Электронный замок с ключом iButton (DS1990A)


Вашему вниманию представлена схема электронного замка с ключом таблеткой iButton модели DS1990A (Touch Memory). Ключ представляет собой устройство, которое имеет в своей памяти   уникальный серийный номер. Уникальность состоит в том, что серийный номер состоит из 48 бит и как следствие этому, количество возможных его вариантов составляет  281474976710656.

Замок собран на микроконтроллере фирмы Microchip PIC16F627A(628A, 648A). После подачи питания, микроконтроллер посылает импульс сброса  длительностью 500 мкс и через 70 мкс проверяет ответ от DS1990A. Если ответа нет, то микроконтроллер ждёт еще примерно 80 мс  и снова передаёт импульс сброса. По такому алгоритму проверяется подключение ключа к замку.  Если ответ  есть, значит  DS1990A подключен к замку. Затем посылается команда «читать ROM» (33h), после чего микроконтроллер переходит на приём и записывает в ОЗУ переданный таблеткой DS1990A  номер, где сравнивает его с записанным  в EEPROM. Если он совпадает с одним из них, то выдается звуковой сигнал, и  устанавливается высокий уровень на выводе RA1 в течение 1.5 с.

Запись номера ключа в EEPROM: приложить ключ к замку и после звукового сигнала нажать кнопку  B1. Кнопку располагают, естественно, в недоступном для посторонних людей месте. Для очистки всех номеров  из  EEPROM удерживать нажатой кнопку B1 в течение 5с. После стирания EEPROM замок издает звуковой сигнал.

Общее количество серийных номеров в памяти – не более 21.

Чтобы микроконтроллер не пострадал из-за статического разряда,  в схеме применен стабилитрон VD1 на 5В.  В схеме замка можно применить любой из микроконтроллеров PIC16F627A, PIC16F628A, PIC16F648A.  Для микроконтроллера PIC12F629/675 необходимо применить другую программу.

Схема+прошивка PIC16F628A, PIC12F629   (1.1 Мб, скачено - 2,443 )

Примечание:

при программировании следует выставить следующие биты:

Тип генератора IntRC,

WDT включен,

PWRT включен,

MCLR выключен.



  1. Александр
    6 Май 2011г. 16:06 | #1

    Кто-нибудь может поправить прошивку и увеличить длительность сигнала на выводе RA1 до 20-30сек?
    Очень нужно, а в программировании не силен.

  2. Oleg
    4 Январь 2012г. 08:44 | #2

    @Александр
    Я могу.

  1. Еще нет трэкбеков.