Некое время тому обратно завестись план - ИМИТАТОР TOUCH-MEMORY DS1990A - , т.е. отмычка. Сегодня Вашему почтению предлагается запор к зтой отмычке:-). Запор имеет средную структуру и предназначен в главном для своеобразного применения. Запор делает со любыми сортами ключей iButton, оттого можно употреблять уже имеющиеся ключи, предназначенные для прочих миссий. Целого в память может находиться записано до 9 ключей, хотя данное количество можно слабо усилить. Для авторизации процесса программирования используется мастер-ключ, код которого занесен в ПЗУ и не может соль стерт или изменен повседневной сделкой программирования запора.

В свежее время обширное распределение приобрели запоры, ключом к которым появляется электронная таблеточка iButton (или touch memory) фирмы Dallas Semiconductor. Таковые запоры нередкий используются на дверцах подъездов, а также изнутри многих созданий. Помимо того, ключи iButton неоднократно применяются для подсчетов на автозаправочных остановках и в непохожих пространствах. Таковым стилем, у многих уже соль ключи iButton от чего-либо. Оттого при проектировании самодельного запора рационально использовать в нем уже имеющиеся у пользователя ключи. Именно так и сделано в предлагаемом запоре: со ним могут делать любые сорты ключей, так как используется едва записанный в ПЗУ iButton серийный номер, который существую в любом их сорте. К тому же, группа прочтения сего номера одна и та же для целых сортов ключей (33H). Код семейства, который различается у неодинаковых сортов, может соль любым. Он воспринимается как снова одна цифра сериального номера. Нужно заметить, что подлинным грошовым сортом ключей представляет DS1990A.

Запор проектировался для специфического применения и имеет предельно свободную структуру. На входной дверки извне распологается лишь панелька для iButton и светодиод открывания дверок. Открывание дверц внутри осуществляется со услугой кнопки. В качестве исполнительного механизма используется стандартная защелка со электромагнитом, который рассчитан на напряжение 12В. Коды ключей хранятся в свободной памяти и могут стираться и добавляться пользователем. Для броня от несанкционированного перепрограммирования запора используется мастер-ключ. Целого в память можно чиркнуть 9 ключей. Сие количество продиктовано допустимостями 1-разрядного индикатора номера программируемого ключа. Если задействовать снова и литеры, можно усилить суммарное количество ключей до 15. Настоящее совершаться путем замены значения константы MAXK в программе. Таковым же методом можно и уменьшить наибольшее количество ключей.

Рис. 1. Принципиальная модель запора

Принципиальная модель запора показана на наброске 1. Основой системы появляется микроконтроллер U1 сорта AT89C2051 фирмы Atmel. К порту P1 подключен 7-сегментный индикатор, который используется при программировании ключей. Для настоящих же задач предназначена и кнопка SB1, подключенная к порту P3.7. Хранение серийных номеров ключей осуществляется в микросхеме EEPROM U3 сорта 24C02, подключенной к портам P3.4 (SDA) и P3.5 (SCL). Кажущаяся панелька для iButton подключается к порту P3.3 сквозь разъем XP2 и ингредиенты охраны VD4, R3, VD5 и VD6. Подтягивающий резистор R4 выбран единодушно спецификации однопроводной шины. Параллельно кажущейся панельке подключена снова и скрытая панелька XS1, которая используется для программирования ключей. Кнопка открывания дверки подключена к порту P3.2 спустя разъем XP1 и таковые же ингредиенты охраны, как и для iButton. Исполнительным приспособлением запора представляет электромагнит, подключенный сквозь терминал XT1. Электомагнитом ворочать ключ VT3, в качестве которого используется массивный МОП-транзистор сорта IRF540. Диод VD7 отстаивать от выбросов самоиндукции. Ключом VT3 заправлять транзистор VT2, который инвертирует толчок, поступающий со порта P3.0 и обеспечивает управляющие ватерпасы 0/12В на затворе VT3. Инверсия незаменима для того, чтобы исполнительное приспособление не срабатывало в время сброса микроконтроллера, когда на порту присутствует ватерпас логической единицы. 12-вольтовые управляющие ватерпасы позволили применить типичный МОП-транзистор вместо больше дефицитного низкопорогового (logick level). Для индикации открытия запора используется светодиод, который ворочать тем же портом, что и электромагнит, но спустя транзисторный ключ VT1. Светодиод подключается спустя тот же разъем, что и iButton. Поскольку строить должно действовать круглосуточно помимо обслуживания, для поднятия надежности установлен супервизор U2 сорта ADM1232. Он имеет встроенный сторожевой таймер и монитор пропитания. На порту P3.1 микроконтроллер создает периодические импульсы для сброса сторожевого таймера.

Кормление приспособления осуществляется от встроенного агрегата кормления, содержащего трансформатор T1, выпрямительный мост VD9-VD12 и интегральный стабилизатор U4. В качестве резервного источника продовольствия используется батарейка BT1-BT10 из 10-ти NiMH-источников типоразмера AA емкостью 800мА/Ч. При кормлении приспособления от паутины батарейка накопителей заряжается сквозь резистор R10 током приближенно 20мА, что составляет 0.025C. Распорядок зарядки небольшим током именуют капельным (trickle charge). В таковом распорядке аккумулятры могут пребывает сколь угодно продолжительно, контроль конца процесса зарядки не требуется. Когда источники оказываются совершенно заряженными, забираемая ими от источника продовольствия активность превращается в тепло. Но поскольку ток зарядки сильно незначительный, выделяемое тепло рассеивается в охватывающее место кроме сколько-нибудь приметного умножения температуры накопителей.

Конструктивно строить выполнено в корпусе масштабом 150х100х60мм. Большинство ингредиентов, включая трансформатор пропитания, смонтировано на печатной зарплате. Источники размещаются в стандартных пластмассовых держателях, которые закреплены изнутри корпуса строить со зарплатой. В принципе, можно использовать и иные сорты источников, например 12-вольтовую кислотную необслуживаемую батарейку, применяющуюся в охранных организациях. Для подключения исполнительного приспособления на зарплате имеются терминалы сорта TB-2, целое другие иностранные цепочки подключаются сквозь малогабаритные разъемы со шагом контактов 2.54мм. Разъемы склонны на печатной зарплате и извне корпуса недоступны. Кабели вылезать из корпуса спустя растяжимые уплотнители. Поскольку индикатор HG1, кнопка SB1 и панелька для iButton XS1 используются едва в время программирования, они размещены на зарплате изнутри строить. Данное упрощает систему корпуса и производит его сильнее защищенным от кажущихся действий. На коллатеральный панели корпуса размещен лишь светодиод индикации включения VD13. Модель зарубежных собраний показана на рис. 2.

Рис. 2. Модель иностранных собраний

При открывании дверки на электромагнит посунуться импульс длиной 3 секундочки. Логика работки строить такая, что если кнопку открывания дверки сохранять, то целое данное время электромагнит будет под напряжением и, согласно, дверца будет доступной.

Запор может иметь максимум 9 ключей, плюс один мастер-ключ. Коды ключей заносятся в самостийную память под номерами от 1 до 9. Код мастер-ключа занесен в ПЗУ микроконтроллера и не может находиться изменен. Пограммирование новеньких ключей или стирание давных может иметься произведено едва при существовании мастер-ключа. Как и несхожие ключи, мастер-ключ может использоваться для открывания запора.

Рис. 3. Программирование новенького ключа

Если нужно запрограммировать несколько ключей, то можно сейчас перешагнуть от этапа 9 к этапу 5 и повторить этапы 5 – 9 обязательное количество дружно.

Если спустя проделывания этапа 7 очутишься, что выбран не тот номер, то для исключения утраты кода ключа под сим номером можно придавить кнопку или свободно погодить 5 секундочек. В первом казусе сегодняшний номер увеличится на единицу, а содержание памяти останется кроме изменений. В другом факте случусь достаточный выезд из порядка программирования помимо изменения кодов. Поголовно, выезд из программирования можно осуществить в любой миг, если совершить паузу побольше 5 секундочек.

Для стирания из памяти непотребного ключа последовательность воздействий остается таковой же, как и при программировании, лишь целое деяния производятся мастер-ключом. Т.е. процесс стирания действительно появляется записью кода мастер-ключа на неиспользуемые номера.

В процесе программирования раскрыть дверца кнопкой можно, а вот открывание со услугой iButton заблокировано. Поскольку затаенная и мишурная панельки соединены параллельно, нужно выслеживать, чтобы в время программирования никто не задевать зарубежной панельки нестоящими ключами.

Код мастер-ключа записывается в ПЗУ программ микроконтроллера, начиная со адреса 2FDH. Длительность кода составляет 8 байт. Последовательность цифр должна иметься такая же, как и на корпусе touch-memory, декламировать нужно налево вправо. Т.е. по адресу 2FDH заносится значение контрольной ставки, далее по адресам 2FEH – 303H шесть байт серийного номера, начиная с большого байта, и, наконец, по адресу 304H – код семейства. Например, код в всем может присмотреть так: 67 00 00 02 D6 85 26 01.

Программа электронного запора имеет главный цикл, блок-схема которого показана на рис. 5. В главном цикле производится допрос панельки, и если там обнаруживается ключ, то считывается его код. Пот сей код проверяется, и если он совпадает со кодом мастер-ключа или любого прочего ключа (ключа пользователя), занесенного в память, запор открывается. Также проверяется расположение кнопки открывания дверки, и в курьезе обнаружения нажатия запор тоже открывается.

Для обработки явлений, стесненных со программированием, имеются две подпрограммы: PROGT и PROGS, блок-схемы которых приведены на рис. 6. Первая вызывается при считывании кода ключа в порядке программирования, следующая – при нажатии кнопки программирования (NUMBER). Процесс программирования разгромлен на 3 стадии. При нажатии кнопки NUMBER осуществляется въезд в программирование, т.е. переход к стадии 1. При сем на индикатор выводится литера - P - . Считываемые за сего коды ключей проверяются на совпадение со кодом мастер-ключа, так как едва он может позволить продолжить программирование. Если таковое совпадение случилось, то осуществляется переход к стадии 2. На индикатор выводится номер сегодняшнего ключа, который кнопка NUMBER может изменять. Если вновь будет зарегистрировано касание ключа, то случусь переход к стадии 3. Вновь одно касание ключа приведет к запоминанию его кода и к возврату к стадии 2. Нажатием кнопки NUMBER тоже можно возвратиться к стадии 2, но кроме изменения содержания памяти. Любое воздействие в регламенте прграммирования будить перезагрузку таймера возврата, который имеет интервал 5 секундочек и проверяется в главном цикле. Если будет обнаружено обнуление настоящего таймера, то происходит выезд из регламента программирования.