Menu Home

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


Проектирование автоматизированной системы контроля доступа. Энциклопедия радиоэлектроники и электротехники

Бесплатная техническая библиотека

Энциклопедия радиоэлектроники и электротехники / Микроконтроллеры

Комментарии к статье Комментарии к статье

На сегодняшний день рынок электронных компонентов предоставляет широкие возможности для создания систем различного назначения. Однако встает вопрос: как правильно выбрать оптимальные компоненты для конкретной системы? В публикуемой статье рассмотрены вопросы проектирования автоматизированной системы контроля доступа с использованием широкодоступных, недорогих компонентов.

Итак, с чего начать? Разработку любой системы начинают с составления списка требований, которым она должна соответствовать. Для описываемой в статье системы список может выглядеть следующим образом. Система должна:

  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 Кбайт внутрисхемно программируемой флэш-памяти программ с ресурсом 1000 циклов перезаписи, 2 Кбайт встроенной EEPROM (электрически стираемой программируемой постоянной памяти), 256 байт ОЗУ, 32 линии ввода/вывода, три таймера, сторожевой таймер, аппаратно поддерживает SPI интерфейс. Тактовая частота - О...24 МГц (один машинный цикл выполняется за 12 тактов, следовательно, максимальная производительность - два миллиона операций в секунду).

Выбор именно этого микроконтроллера обоснован следующим. Микроконтроллеры серии 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 проходов до того момента, как произойдет первое переполнение журнала.

В процессе разработки в систему был добавлен еще один компонент - герконовый датчик на двери. Он необходим для того, чтобы система могла определить, открыта в настоящее время дверь или закрыта, а также для свое- I временного отключения питания электромагнита. Реализован следующий алгоритм открывания двери: на катушку соленоида подается напряжение, и система ждет, пока дверь не будет открыта либо пока не истечет выдержка времени, равная 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. - <dalseml.com>.
  2. Синюткин А. Электронный замок на ключах-"таблетках" iButton. - Радио, 2001, № 2, с. 31 - 33; № 3, с. 30. 31.
  3. Техническая документация фирмы Atmel AT45D041. - <atmel.com>.
  4. Техническая документация фирмы Hitachi "HD44780U (LCD-11) (Dot Matrix Liquid Crystal Display Controller/Driver) ADE-207-272(Z) '99.9 Rev. CO".
  5. Предко М. Руководство по микроконтроллерам. Том 1. - M.: Постмаркет, 2001.

Автор: А.Ранцевич, г.Минск

Смотрите другие статьи раздела Микроконтроллеры.

Читайте и пишите полезные комментарии к этой статье.

<< Назад

Последние новости науки и техники, новинки электроники:

Расставание действительно может причинять физическую боль 16.09.2026

Разрыв отношений с близким человеком способно вызывать настолько сильные переживания, что привычное выражение "разбитое сердце" иногда воспринимается почти буквально. Человек может испытывать тревогу, тоску и эмоциональное напряжение, сопровождающиеся вполне реальными телесными ощущениями. Исследования работы мозга показывают, что такая связь между эмоциональными и физическими страданиями может иметь вполне определенную нейробиологическую основу. Эксперимент, позволивший изучить этот вопрос, провела команда психолога Итана Кросса из Мичиганского университета. В исследовании участвовали 40 человек, недавно переживших расставание по инициативе партнера. Все добровольцы продолжали остро реагировать на произошедшее, что позволило исследователям изучить мозговую активность в период наиболее сильных переживаний. Во время эксперимента участников помещали в аппарат магнитно-резонансной томографии. Испытуемым поочередно показывали фотографию бывшего партнера и подвергали предплечье воздей ...>>

Научно доказана невозможность создания нейтринного лазера 16.09.2026

Лазер давно перестал быть исключительно лабораторной технологией: сегодня он используется в связи, медицине, промышленности и научных исследованиях. Поэтому физики периодически предлагают необычные варианты устройств, способных работать по аналогичным принципам, но с другими типами частиц. В 2025 году появилась идея создать лазер, формирующий направленный поток нейтрино. Однако последующий теоретический анализ показал, что привлекательная на первый взгляд концепция сталкивается не просто с техническими трудностями, а с фундаментальными законами квантовой физики. Первоначальную концепцию предложили профессор Массачусетского технологического института (MIT) Джо Формаджио (Joe Formaggio) и Бен Джонс (Ben Jones) из Техасского университета в Арлингтоне. Согласно их замыслу, облако радиоактивных атомов следовало охладить до сверхнизких температур порядка нанокельвинов - миллиардных долей кельвина. В таких условиях атомы могли бы сформировать Бозе - Эйнштейновский конденсат, особое квантов ...>>

Индекс нижнего белья раскрыл состояние швейцарских почв 15.09.2026

Почва кажется обычной частью окружающего нас ландшафта, однако под ее поверхностью существует сложная экосистема, от состояния которой напрямую зависит жизнь человека. Миллиарды микроорганизмов, черви, грибы и другие обитатели почвы перерабатывают органические вещества и участвуют в круговороте питательных элементов. Чтобы привлечь внимание общества к этой мало заметной проблеме, исследователи из Цюрихского университета придумали весьма необычный эксперимент: они закопали более 2000 пар хлопкового нижнего белья в садах, на лугах, полях и газонах по всей Швейцарии. Проект получил название "Доказательство в виде нижнего белья" и представлял собой не массовую шутку, а научный эксперимент, позволяющий наглядно оценить биологическую активность почвы. Исследователи помещали хлопковые изделия в землю, а примерно через два месяца извлекали их и сравнивали степень разрушения ткани. Некоторые образцы за это время практически исчезали, оставляя лишь отдельные фрагменты швов, тогда как на други ...>>

Случайная новость из Архива

Израильский беспилотник-бабочка 19.01.2013

Компания Israel Aerospace Industries (IAI) занимается разработкой миниатюрного беспилотного летательного аппарата-"бабочки". Аппарат весит всего несколько граммов и может находиться в воздухе 20 минут. Сейчас израильская компания работает над двумя крылатыми прототипами: маленькой "бабочкой" массой восемь граммов и большой, чья масса достигает 13 г. Аппараты питаются от компактной литий-полимерной батареи массой два грамма. Каждый БПЛА оснащается микровидеокамерой массой всего 0,1 г.

В движение беспилотники приводит компактный электромотор, работающий на 7000 об./мин. На команды оператора БПЛА откликаются при помощи системы управления полетом массой 3 г. Крылья "бабочки" сделаны вручную из прозрачного углеволокна. С началом серийного производства БПЛА комплектующие для беспилотников также планируется поставить на конвейер. Использовать беспилотники-"бабочки" предполагается, в частности, в ситуациях с захватом заложников. Таким образом БПЛА, оснащенный видеокамерой и микрофоном сможет незаметно разведать обстановку в зоне инцидента.

Как сообщает Flightglobal, созданием беспилотника инженеры IAI занимаются под лозунгом "если может природа - мы попробуем ей подражать". Работу над аппаратом начали с создания четырехкрылого прототипа, схожего со стрекозой. В дальнейшем планируется научить БПЛА летать только на двух крыльях. Для этого, в частности, требуется скорректировать амплитуду их колебаний. Как пояснил собеседник издания, на это потребуется несколько месяцев.

Ранее сообщалось, что Израиль при поддержке США ведет исследования по созданию насекомых-киборгов. В ходе испытаний ученые изучают механику движения мух, кузнечиков, жуков и стрекоз. Использовать насекомых-киборгов планируется также в разведывательных целях.

Другие интересные новости:

▪ Кот помог обнаружить неизвестный науке вирус

▪ Влияние фастфуда на сон и память подростков

▪ 18-гигабайтный чип SK Hynix LPDDR5

▪ 450-мм пластины и литография жесткого ультрафиолета

▪ Датчик для умного дома Mi Human Sensor 2

Лента новостей науки и техники, новинок электроники

 

Интересные материалы Бесплатной технической библиотеки:

▪ раздел сайта Антенны. Подборка статей

▪ статья Аграрное право. Конспект лекций

▪ статья Какое деструктивное действие выполняют зип-бомбы? Подробный ответ

▪ статья Функциональный состав телевизоров Pedcock. Справочник

▪ статья Некоторые доработки трансивера RA3AO. Энциклопедия радиоэлектроники и электротехники

▪ статья Энергия из пруда: возвращение в будущее. Энциклопедия радиоэлектроники и электротехники

Оставьте свой комментарий к этой статье:

Имя:


E-mail (не обязательно):


Комментарий:





Главная страница | Библиотека | Статьи | Карта сайта | Отзывы о сайте

www.diagram.com.ua

www.diagram.com.ua
2000-2026