Меню English Ukrainian російська Головна

Безкоштовна технічна бібліотека для любителів та професіоналів Безкоштовна технічна бібліотека


Проектування автоматизованої системи контролю доступу. Енциклопедія радіоелектроніки та електротехніки

Безкоштовна технічна бібліотека

Енциклопедія радіоелектроніки та електротехніки / Мікроконтролери

Коментарі до статті Коментарі до статті

Сьогодні ринок електронних компонентів надає широкі можливості для створення систем різного призначення. Однак виникає питання: як правильно вибрати оптимальні компоненти для конкретної системи? У статті розглянуто питання проектування автоматизованої системи контролю доступу з використанням широкодоступних, недорогих компонентів.

Отже, із чого почати? Розробку будь-якої системи починають із складання списку вимог, яким вона має відповідати. Для системи, що описується в статті, список може виглядати наступним чином. Система повинна:

  1. Контролювати доступ до приміщення через одні двері.
  2. Забезпечувати унікальну ідентифікацію кожного користувача.
  3. Підтримувати журнал проходів із записом часу проходу та ідентифікатора користувача.
  4. Забезпечувати роботу з трьома категоріями користувачів.

Визначимо, які компоненти має містити система. Для цього розглянемо перелічені вище вимоги. З п. 1 випливає, що знадобляться одна лінія введення/виводу для керування механізмом відчинення/зачинення дверей та один пристрій для введення ідентифікатора.

Вибір технології ідентифікації користувачів (п. 2) значно впливає на такі характеристики системи, як стійкість (не допускати можливості доступу до об'єкта сторонніх осіб шляхом підбору електронного ключа/коду), зручність використання (час, який витрачатимуть користувачі на процес ідентифікації), вартість самої системи та подальшої її експлуатації. Як приклади можливих рішень тут можуть бути введення пароля через клавіатуру, використання карток з магнітною смугою та електронних ключів iButton фірми Dallas Semiconductor [1,2].

Введення пароля через клавіатуру - найбільш простий і дешевий в реалізації, хоча не дуже зручний і стійкий, тому що користувачі можуть забути пароль або його може підглянути хтось інший. До того ж при частому доступі до приміщення введення кодової комбінації забирає чимало часу.

Пластикові картки зручніші в експлуатації, і таку систему важче "зламати", проте для її реалізації потрібні додаткові пристрої зчитування інформації з картки, а також спеціальна апаратура запису інформації на неї, яка використовуватиметься при додаванні нового користувача. Це значно дорожчає кінцеву систему.

Розглянемо останній варіант. Ключ iButton є інтегральною мікросхемою, поміщеною в металевий корпус-таблетку MicroCan діаметром 18 і висотою 6 мм. Номенклатура виробів, що випускаються в такому виконанні, досить велика: годинник реального часу, температурні датчики, енергонезалежна пам'ять та багато іншого. Вартість iButton невисока (близько 2 дол. США), і реалізація пристрою зчитування також досить проста - по суті, шина даних підключається безпосередньо до однієї лінії введення/виведення порту мікроконтролера. При цьому потрібно лише програмно продати 1-Wire протокол. Зручність використання подібної системи також очевидна - для того, щоб відбулося зчитування коду, користувачеві достатньо доторкнутися "таблеткою" до контактного майданчика. Для системи, що описується, була обрана модифікація DS1990, яка не виконує жодних інших функцій, крім ідентифікації, тобто чіп містить тільки унікальний код, який можна вважати, надіславши пристрою спеціальну команду.

Повернемося до вимог щодо функціональності. З п. 3 випливає, що потрібно буде вести облік часу та записувати інформацію про доступ користувачів до об'єкта охорони. Звичайно, потрібно передбачити можливі перебої з електроживленням, тому механізм ведення часу та журналу має бути стійким до проблем такого роду. Оскільки в якості ідентифікатора користувачів обрано DS1990 і в будь-якому випадку доведеться програмно реалізувати 1-Wire протокол, має сенс використовувати як годинник реального часу іншу модифікацію iButton - DS1994. Цей чіп містить вбудовану літієву батарею живлення, що забезпечує гарантований хід годинника протягом 10 років.

Для зберігання журналу проходів вибрано серію Flash-пам'яті фірми Atmel АТ45 [3]. Читання/запис даних у пам'ять цього типу здійснюється за послідовним протоколом SPI, загальна кількість задіяних ліній введення/виводу дорівнює 7. З доступних мікросхем цієї серії обрано AT45D041 з об'ємом пам'яті 4 Мбіт.

Для керування налаштуваннями системи потрібна клавіатура. В даному випадку достатньо матриці кнопок 3x4 із цифрами 0...9 та символами "*" та "#". Така клавіатура вимагатиме ще 3+4=7 ліній введення/виводу мікроконтролера.

Останнє, що необхідно мати в системі - це невеликий дисплей для перегляду журналу проходів і конфігурування системи. Номенклатура недорогих дисплеїв, що випускаються в даний час, досить велика, проте в нашому випадку не потрібно виведення графіки, тому цілком достатньо РКІ для виведення буквено-цифрової інформації. Найбільш популярні сьогодні РКІ на базі контролера HITACHI HD44780 [4]. Їх відрізняє простота підключення та невисока вартість. Дані передаються по восьми- або чотирибітному інтерфейсу (залежно від режиму, що використовується), плюс необхідно ще три лінії вводу/виводу для передачі керуючих сигналів. З метою економії ліній введення/виводу обраний чотирибітний інтерфейс, отже, загальна кількість ліній введення/виводу для управління РКІ також дорівнює 7.

У цьому вибір периферії завершено. Тепер потрібно вибрати мікроконтролер, здатний ефективно керувати всіма названими вище пристроями. Для початку підрахуємо кількість необхідних ліній введення/виводу, яка буде задіяна в системі (табл. 1). Отриманий результат не остаточний, так як надалі (у процесі експлуатації) можуть знадобитися додаткові лінії введення/виводу, наприклад, для підключення світлодіодів, динамічної головки гучномовця і т. д. Тому доцільно вибрати мікроконтролер, у якого число ліній введення/виводу більше зазначеного у табл. 1.

Проектування автоматизованої системи контролю доступу

З погляду програмування дуже привабливі мікроконтролери, у яких реалізовано так звану ISP-технологію (Iп-System Programming - внутрішньосхемне програмування). Для того, щоб завантажити в мікроконтролер новий програмний код, його не потрібно виймати з плати: програмування здійснюється внутрішньосхемно через спеціальні висновки. Більше того, для деяких модифікацій не потрібен навіть програматор – "прошивка" здійснюється через паралельний порт комп'ютера. Природно, що найбільш прийнятне рішення – використання в системі саме такого мікроконтролера, який не потребує додаткових засобів для прошивки.

Для реалізації поставленої задачі вибраний мікроконтролер AT89S8252, повністю сумісний за кодом і розташуванням висновків з мікроконтролерами сімейства 8051. ОЗУ, 8 лінії введення/виводу, три таймери, сторожовий таймер, апаратно підтримує SPI інтерфейс. Тактова частота - О...1000 МГц (один машинний цикл виконується за 2 тактів, отже, максимальна продуктивність - два мільйони операцій на секунду).

Вибір цього мікроконтролера обгрунтований наступним. Мікроконтролери серії 8051 мають великий набір інструкцій, що полегшує їхнє програмування на низькому рівні (наприклад, підтримуються операції над окремими бітами [5]). ISP-технологія прискорює налагодження та полегшує розробку, апаратна підтримка інтерфейсу SPI дозволяє підключити вибрану флеш-пам'ять серії АТ45 без додаткового програмування даного протоколу. 2 Кбайт вбудованої EEPROM можна використовувати для зберігання інформації, збереження якої має бути забезпечене незалежно від зовнішнього живлення. 32-х ліній вводу/виводу цілком достатньо реалізації описуваної системи. Наявність таймерів дозволяє гнучко реалізувати 1-Wire протокол, оскільки він вимагає точності дотримання тимчасових затримок.

Сторожовий таймер гарантує працездатність системи під впливом сильних електромагнітних перешкод, які можуть призвести до зависання контролера. Сторожовий таймер є незалежною підсистемою в мікроконтролері, яка кожні N тактів перевіряє стан одного біта в статус-реєстрі мікропроцесора. Якщо цей біт встановлений, відбувається скидання мікроконтролера в початковий стан, а якщо скинутий - встановлюється в 1 і перевірка припиняється. Відповідно програма, що виконується, повинна з періодичністю не більше N тактів скидати цей біт. Якщо цього немає, значить, робота мікроконтролера було порушено зовнішньої перешкодою і за наступному спрацьовуванні сторожового таймера мікроконтролер буде скинутий у початковий стан.

Перш ніж перейти до програмної реалізації, звернемося ще раз до архітектури з погляду її ефективності під час виконання безпосередніх функцій системи. Система, що проектується, буде підтримувати два способи введення інформації: за допомогою клавіатури (команди з налаштування системи, перегляд журналу проходів) і через контактний майданчик 1 -Wire інтерфейсу. Так як основне призначення системи – контроль доступу, час опитування контактного майданчика 1-Wire має перевищувати час, що відводиться на опитування клавіатури.

Розглядаючи специфікацію 1-Wire протоколу, можна помітити, що можливі дві принципово різні ситуації: перша, коли лінії знаходиться лише одне пристрій, і друга, коли їх більше. Для того, щоб визначити кількість пристроїв на лінії та їх ідентифікатори, існує спеціальний механізм пошуку, визначений специфікацією протоколу 1-Wire. Полягає він у послідовному відсіюванні пристроїв, що знаходяться на лінії, та побитому скануванні адресного простору (простору ідентифікаторів "Button).

Як уже говорилося, в нашій системі запланована одна лінія 1-Wire, яка буде використана як для підключення годинника реального часу, так і для ідентифікаційних ключів, причому годинник реального часу, що є частиною системи, буде підключено постійно. Це означає, що ми маємо ситуацію, коли на лінії може бути більше одного пристрою. Зважаючи на вищесказане і наявність вільних ліній портів вводу/виводу, розумно виділити в системі дає лінії для протоколу 1 -Wire: до однієї з них постійно підключити годинник реального часу, а другу використовувати тільки для пред'явлення ідентифікаторів користувачів. Така конфігурація гарантує, що на кожній лінії в будь-який момент буде знаходитись лише один пристрій, що значно спрощує реалізацію системи, зменшує час відгуку та заощаджує місце в області пам'яті програм.

Годинник реального часу DS1994 має п'ятибайтний лічильник, який збільшує свій вміст 256 разів на секунду. Коли він переповнюється, відлік продовжується з нуля. Розрядності 5 байт вистачає на 136 років роботи до переповнення лічильника. У зв'язку з тим, що для користувача потрібно виводити час у зручному для нього форматі, а також необхідно забезпечити можливість налаштування годинника, вбудована система повинна підтримувати переклад дати та часу з внутрішнього формату до текстового та назад. В якості точки відліку обрано дату 01.01.2000 00:00:00, що гарантує роботу годинника та ведення журналу приблизно до 2136 року.

І ще один момент, на який слід звернути увагу. Ми домовилися, що журнал проходів зберігатиметься у зовнішній флеш-пам'яті, проте потрібно ще визначити місце для збереження списку прав доступу. При описі мікроконтролера згадувалося про вбудовану EEPROM об'ємом 2 Кбайт. Вона ідеально підходить для цієї мети, так як список прав доступу більш цінний, ніж журнал проходів, і якщо, наприклад, останній можна витягти (фізично) із системи шляхом вилучення відповідного чіпа з плати, то список прав доступу можна видалити лише виїмкою мікроконтролера, без якого робота системи неможлива. У системі зазначеного обсягу пам'яті вистачило на розміщення 168 облікових записів, тобто максимальна кількість користувачів - 168.

Журнал проходів реалізований як кільцевого списку, і за його переповненні видаляються найстаріші записи. Розмір одного запису журналу дорівнює 12 байт (4 байти для зберігання часу проходу та 8 байт на ідентифікатор). З цього випливає, що пам'яті журналу вистачить для протоколювання приблизно 45 000 проходів доти, як відбудеться перше переповнення журналу.

У процесі розробки до системи був доданий ще один компонент - герконовий датчик на двері. Він необхідний для того, щоб система могла визначити, відкриті в даний час двері або закриті, а також для своєчасного відключення живлення електромагніту. Реалізовано наступний алгоритм відкриття дверей: на котушку соленоїда подається напруга, і система чекає, поки двері не будуть відчинені або поки не закінчиться витримка часу, що дорівнює 5 с, після чого подача напруги припиняється.

Принципова схема розробленого пристрою зображено малюнку.

Проектування автоматизованої системи контролю доступу

Як видно, крім мікроконтролера DD1, воно містить мікросхему Flash-пам'яті DS1, 12-кнопкову клавіатуру SB1 – SB12 та РКІ HG1. Тактову частоту мікроконтролера визначає кварцовий резонатор ZQ1 на 24 МГц. Порт Р0 використовується для введення інформації від iButton годинника (підключають до розетки Х1) та ідентифікатора (підключають до Х2), управління реле (через транзисторний ключ), що подає живлення на електромагніт замку, світлодіодом HL1, що сигналізує про відчинення дверей, та реєстрації стану встановленого на ній геркона. Обмін інформацією із мікросхемою Flash-пам'яті DS1 здійснюється через порт Р1. Клавіатуру обслуговує порт Р2, індикатор HG1 – порт РЗ. Живиться пристрій стабілізованою напругою 5 В. Для живлення реле, що управляє роботою електромагніта, необхідне джерело напруги 16...20 В.

Пристрій збирають на платі відповідних розмірів. Для підключення мікроконтролера DD1 та мікросхеми пам'яті DS1 бажано використовувати відповідні розетки. Змонтовану плату поміщають у пластмасовий або металевий корпус, на передню панель виводять клавіатуру та дисплей РКІ. Пристрій встановлюють всередині приміщення, що охороняється.

Коди "прошивки" мікроконтролера та вихідні тексти програми

Після включення пристрою на РКІ виводиться список пунктів меню, наведений у табл. 2. Так як у індикатора всього два рядки, для горизонтального прокручування використовують клавіші # і *. Для виконання будь-якої із зазначених команд потрібні привілеї адміністратора, і після вибору пункту меню натисканням відповідної клавіші необхідно пред'явити ключ з адміністраторськими правами, інакше запитана команда ігнорується.

Проектування автоматизованої системи контролю доступу

У процесі роботи над пристроєм виникали проблеми різних стадіях розробки. Хотілося б наголосити на наступних моментах.

Апаратна частина. Будь-який мікропроцесор має гранично допустимі значення вхідного та вихідного струму портів вводу/виводу. Наприклад, якщо необхідно використовувати в системі світлодіод, більшість мікроконтролерів не зможе видати необхідний струм на порт вводу/виводу, якщо активним станом буде лог. 1. У разі необхідно зробити активним стан лог. 0 підключивши анод світлодіода до шини живлення. Не слід забувати про обмеження струму включенням послідовно з навантаженням резистора опором приблизно 2 кОм. Якщо все ж таки необхідно використовувати балку. 1 як активний стан, а навантаження занадто велике, то для включення навантаження слід застосувати транзисторний ключ.

При реалізації шини 1-Wire необхідно підтягувати шину даних через резистор до напруги живлення. Це потрібно для того, щоб під час переходу з низького стану у високу лінію швидко досягала порога перемикання в балку. 1. Номінал резистора має бути в межах 4,7...5,1 ком. Якщо довжина проводів досить велика (кілька метрів), опір резистора можна зменшити.

Не слід забувати про максимальний струм, який може споживатися всіма пристроями, підключеними до портів мікроконтролера. Необхідно розглянути випадок, коли вони перебувають у активному стані, і підрахувати, чи зможе мікроконтролер забезпечити таку вихідну потужність. Якщо вона перевищує гранично допустиму, пристрої просто не вмикаються в потрібний момент.

Програмна частина. Багато що в процесі розробки залежить від того, який компілятор застосований, наскільки добре він оптимізує код і розміщує його в пам'яті, чи дозволяє він налагоджувати програми на власному емуляторі, а також відстежувати час виконання програми і т.д.

Якщо в програмі використовуються строкові константи, то з огляду на обмежений обсяг оперативної пам'яті необхідно застосовувати спеціальні директиви, що дозволяють вказати компілятору на те, що вони повинні бути розташовані в області пам'яті програм. Наприклад, для компілятора Keil uVision це виглядає так: 'const char code sz[6] = "Hello"', де модифікатор code вказує компілятору на те, що рядок слід розмістити в пам'яті програм.

Для критичних на час операцій краще використовувати таймер, тому що в цьому випадку прив'язка до тактової частоти відбувається шляхом введення однієї константи, яку у разі зміни частоти можна легко скоригувати.

Не слід створювати функції з великим числом параметрів, що передаються, тому що при їх виклику передача відбувається через регістри (а коли параметрів занадто багато, - через фіксовані області в пам'яті). Кожен такий виклик вимагає додаткового коду для збереження значень регістрів до виклику функції та отримання цих параметрів усередині функції. Рішенням може бути застосування глобальних змінних, проте тут слід бути дуже обережним, якщо функція, що викликається, у свою чергу, звертається до функції, що використовує ці ж параметри.

Якщо для програмування використовується мова високого рівня, корисно оцінити отримуваний асемблерний код з точки зору оптимальності (якщо ви зіткнулися з проблемою нестачі пам'яті).

Сучасні компілятори генерують досить компактний та швидкий асемблерний код при написанні програм мовою високого рівня, тому зовсім не обов'язково писати весь код на асемблері. Однак використання асемблера розумно в процедурах, критичних на час (за швидкістю і точності).

Звичайно, описану в статті систему можна вдосконалити в декількох напрямках. Наприклад, додати обмеження доступу за часом доби, протоколювати спроби несанкціонованого доступу (пред'явлення ідентифікатора без прав доступу), додати підтримку контролю доступу до другого об'єкта (це вимагатиме додаткових трьох ліній введення/виводу), однак, як відомо, досконалості межі немає, а ось об'єм пам'яті програм у мікроконтролері обмежений. Головна мета статті в тому, щоб показати на конкретному прикладі повний цикл створення вбудованої системи, а також дати деякі практичні поради щодо вирішення проблем, з якими можна зіткнутися в процесі її розробки.

література

  1. Технічна документація компанії Dallas Semiconductor. - .
  2. Синюткін А. Електронний замок на ключах-"таблетках" iButton. – Радіо, 2001, № 2, с. 31 – 33; №3, с. 30. 31.
  3. Технічна документація фірми Atmel AT45D041. - .
  4. Технічна документація фірми Hitachi "HD44780U (LCD-11) (Dot Matrix Liquid Crystal Display Controller/Driver) ADE-207-272(Z) '99.9 Rev. CO".
  5. Предко М. Посібник з мікроконтролерів. Том 1. – M.: Постмаркет, 2001.

Автор: О.Ранцевич, м.Мінськ

Дивіться інші статті розділу Мікроконтролери.

Читайте та пишіть корисні коментарі до цієї статті.

<< Назад

Останні новини науки та техніки, новинки електроніки:

Машина для проріджування квітів у садах 02.05.2024

У сучасному сільському господарстві розвивається технологічний прогрес, спрямований на підвищення ефективності догляду за рослинами. В Італії було представлено інноваційну машину для проріджування квітів Florix, створену з метою оптимізації етапу збирання врожаю. Цей інструмент оснащений мобільними важелями, що дозволяють легко адаптувати його до особливостей саду. Оператор може регулювати швидкість тонких проводів, керуючи ним із кабіни трактора за допомогою джойстика. Такий підхід значно підвищує ефективність процесу проріджування квітів, забезпечуючи можливість індивідуального налаштування під конкретні умови саду, а також сорт та вид фруктів, що вирощуються на ньому. Після дворічних випробувань машини Florix на різних типах плодів результати виявились дуже обнадійливими. Фермери, такі як Філіберто Монтанарі, який використовував машину Florix протягом кількох років, відзначають значне скорочення часу та трудовитрат, необхідних для проріджування кольорів. ...>>

Удосконалений мікроскоп інфрачервоного діапазону 02.05.2024

Мікроскопи відіграють важливу роль у наукових дослідженнях, дозволяючи вченим занурюватися у світ невидимих ​​для ока структур та процесів. Однак різні методи мікроскопії мають обмеження, і серед них було обмеження дозволу при використанні інфрачервоного діапазону. Але останні досягнення японських дослідників із Токійського університету відкривають нові перспективи вивчення мікросвіту. Вчені з Токійського університету представили новий мікроскоп, який революціонізує можливості мікроскопії в інфрачервоному діапазоні. Цей удосконалений прилад дозволяє побачити внутрішні структури живих бактерій із дивовижною чіткістю в нанометровому масштабі. Зазвичай мікроскопи в середньому інфрачервоному діапазоні обмежені низьким дозволом, але нова розробка японських дослідників дозволяє подолати ці обмеження. За словами вчених, розроблений мікроскоп дозволяє створювати зображення з роздільною здатністю до 120 нанометрів, що в 30 разів перевищує дозвіл традиційних метрів. ...>>

Пастка для комах 01.05.2024

Сільське господарство - одна з ключових галузей економіки, і боротьба зі шкідниками є невід'ємною частиною цього процесу. Команда вчених з Індійської ради сільськогосподарських досліджень – Центрального науково-дослідного інституту картоплі (ICAR-CPRI) у Шимлі представила інноваційне вирішення цієї проблеми – повітряну пастку для комах, яка працює від вітру. Цей пристрій адресує недоліки традиційних методів боротьби зі шкідниками, надаючи дані про популяцію комах у реальному часі. Пастка повністю працює за рахунок енергії вітру, що робить її екологічно чистим рішенням, яке не вимагає електроживлення. Її унікальна конструкція дозволяє відстежувати як шкідливі, так і корисні комахи, забезпечуючи повний огляд популяції в будь-якій сільськогосподарській зоні. "Оцінюючи цільових шкідників у потрібний час, ми можемо вживати необхідних заходів для контролю як комах-шкідників, так і хвороб", - зазначає Капіл. ...>>

Випадкова новина з Архіву

HP поставить виробництво 3D-принтерів на потік 27.03.2014

Компанія Hewlett-Packard заявила про вихід на масовий ринок 3D-принтерів вже цього року.

На щорічній зустрічі з акціонерами, що відбулася у вівторок, виконавчий директор компанії Мег Вітман (Meg Whitman) заявила, що в червні слід чекати "великий технологічний анонс" з приводу старту роботи в цьому сегменті. Вітман розповіла, що нарешті вдалося вирішити низку технічних проблем, які не дозволяли говорити про використання для виробництва принтерів високотехнологічних процесів. Йдеться про обмеження щодо якості субстратів, що використовуються у виробничому процесі, що впливає, зрештою, на довговічність кінцевої продукції.

"Ми насправді вважаємо, що вирішили ці проблеми, - заявила Вітман. - Більший потенціал містить корпоративний сегмент, для якого можна буде випускати деталі та прототипи на недосяжному до цього рівні".

Глава HP не стала вдаватися до подробиць щодо намічених планів: "Це все, що ми можемо сказати зараз".

Згідно з розрахунками аналітиків HP, обсяг продажів 3D-принтерів та відповідного програмного забезпечення разом з послугами сервісів у 2021 році складе близько $11 млрд, тоді як у 2012 році цей показник дорівнював $2,2 млрд.

На ринку 3D-друку, що зароджується, в даний час домінують невеликі компанії, як, наприклад, MakerBot. Цей підрозділ Stratasys займається продажем споживачам доступних пристроїв. Проте деякі контрактні виробники, такі як Flextronics, вже використовують власні розробки для допомоги корпоративним клієнтам у створенні деталей та прототипів пристроїв.

Інші цікаві новини:

▪ Водозахисний вуличний телевізор Samsung Class Terrace Full Sun Neo QLED 4K

▪ Заряджання пристроїв від дихання користувача

▪ Спіраль оптоволокна на мікрочіпі

▪ Супер-слух для людини

▪ Мініатюрні мікросхеми логіки single-gate

Стрічка новин науки та техніки, новинок електроніки

 

Цікаві матеріали Безкоштовної технічної бібліотеки:

▪ Розділ сайту Електротехнічні матеріали. Добірка статей

▪ стаття Земля обітована. Крилатий вислів

▪ стаття Що таке троянда вітрів? Детальна відповідь

▪ стаття Мерчандайзер. Посадова інструкція

▪ стаття Інше життя LPT порту. Частина 2. Енциклопедія радіоелектроніки та електротехніки

▪ стаття Перетворення в сірниковій коробці. Секрет фокусу

Залишіть свій коментар до цієї статті:

ім'я:


E-mail (не обов'язково):


коментар:





All languages ​​of this page

Головна сторінка | Бібліотека | Статті | Карта сайту | Відгуки про сайт

www.diagram.com.ua

www.diagram.com.ua
2000-2024