Електронний ключ на основі поламаною usb флешки і контролера atmel

Захаров Денис, Україна

Електронні ключі широко застосовуються в повсякденному житті. При електронній передачі даних виключається можливість механічного зносу деталей. Електронними ключами доступу можна відкривати дверні електромагнітні замки, блокувати програмні засоби ПК, контролювати доступ до програмно-апаратним комплексам.

Популярні ключі сімейства Dallas (Малюнок 1) мають однопровідною інтерфейс управління і відрізняються високою механічною міцністю. Для передачі даних потрібно з'єднати між собою сигнальні дроти приймача і передавача. Далі програма приймача сканує код і видає результат на виконуючий пристрій у вигляді логічних «0» або «1».

Електронний ключ на основі поламаною usb флешки і контролера atmel

При всій надійності і простоті цій системі притаманний один недолік. Для спрацьовування виконавчого пристрою піднести ключ до зчитувального датчику потрібно тільки один раз. Для відкривання дверного замка це найкращий алгоритм. Але контролювати присутність ключа доступу постійно за допомогою стандартних датчиків Dallas неможливо.

Приймачем і передавачем служать контролери ATtiny2313. Через роз'єм USB надходять як дані, так і харчування (дві лінії живлення і дві лінії даних). Мікроконтролер в smd виконанні легко вміщається в корпус від USB Flash пам'яті. В обв'язку мікросхеми використовуються тільки індикаторні світлодіоди і обмежують резистори, підключені до висновків PB0 і PB1. Висновки PD0 і PD1 підключені безпосередньо до роз'єму USB.

Швидкість передачі даних по каналу UART становить 2400 Бод / с, при частоті контролерів 4 МГц. Для передачі чотирьох символів один раз в секунду цієї швидкості більш ніж достатньо. Обидва контролера налаштовані на частоту 4 МГц і тактуються від внутрішнього осцилятора.

В основному контролері, що приймає дані від електронного ключа, запис пароля відбувається в DataBlok «login». Щоб його змінити, потрібно в початковому тексті відредагувати 4 цифри (стандартний пароль 1234). Пароль вводиться тільки цифрами в кількості чотирьох символів.

Принципова схема пристрою показана на рисунку 2.

Електронний ключ на основі поламаною usb флешки і контролера atmel

Запис пароля в ключ відбувається після натискання кнопки «Write» в схемі основного контролера. Опитування виведення PD6 відбувається один в секунду за сигналами переривання від таймера. Після того, як спрацює кнопка, блимне світлодіод, підключений до висновку PB7. Далі йде передача пароля в контролер з подальшим записом в енергонезалежну пам'ять. Щоб ключ оновив пароль, його потрібно вставити заново. Перевірка пароля відбувається 1 раз в секунду. При збігу пароля загоряється світлодіод «ОК», підключений до висновку PB0. Якщо пароль був замінений або не співпали, то загоряється світлодіод «Error», підключений до висновку PB1.

При зміні пароля, потрібно виробляти його перезапис в ключ за допомогою кнопки виведення PD6. Запис нового логіна в основний МК можлива тільки після його перепрограмування. При доопрацюванні програми дані можна заносити з клавіатури або інших допоміжних пристроїв.

Зібраний передавач показаний на рисунку 3.

Електронний ключ на основі поламаною usb флешки і контролера atmel

Фрагменти обговорення (тільки останні 20 повідомлень):