Menu English Ukrainian Russian 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.

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

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

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

<< Назад

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

Искусственная кожа для эмуляции прикосновений 15.04.2024

В мире современных технологий, где удаленность становится все более обыденной, сохранение связи и чувства близости играют важную роль. Недавние разработки немецких ученых из Саарского университета в области искусственной кожи представляют новую эру в виртуальных взаимодействиях. Немецкие исследователи из Саарского университета разработали ультратонкие пленки, которые могут передавать ощущение прикосновения на расстоянии. Эта передовая технология предоставляет новые возможности для виртуального общения, особенно для тех, кто оказался вдали от своих близких. Ультратонкие пленки, разработанные исследователями, толщиной всего 50 микрометров, могут быть интегрированы в текстильные изделия и носиться как вторая кожа. Эти пленки действуют как датчики, распознающие тактильные сигналы от мамы или папы, и как исполнительные механизмы, передающие эти движения ребенку. Прикосновения родителей к ткани активируют датчики, которые реагируют на давление и деформируют ультратонкую пленку. Эта ...>>

Кошачий унитаз Petgugu Global 15.04.2024

Забота о домашних животных часто может быть вызовом, особенно когда речь заходит о поддержании чистоты в доме. Представлено новое интересное решение стартапа Petgugu Global, которое облегчит жизнь владельцам кошек и поможет им держать свой дом в идеальной чистоте и порядке. Стартап Petgugu Global представил уникальный кошачий унитаз, способный автоматически смывать фекалии, обеспечивая чистоту и свежесть в вашем доме. Это инновационное устройство оснащено различными умными датчиками, которые следят за активностью вашего питомца в туалете и активируются для автоматической очистки после его использования. Устройство подключается к канализационной системе и обеспечивает эффективное удаление отходов без необходимости вмешательства со стороны владельца. Кроме того, унитаз имеет большой объем смываемого хранилища, что делает его идеальным для домашних, где живут несколько кошек. Кошачий унитаз Petgugu разработан для использования с водорастворимыми наполнителями и предлагает ряд доп ...>>

Привлекательность заботливых мужчин 14.04.2024

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

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

Воссоздана вулканическая молния 01.12.2019

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

Исследователи мало знают о принципах ее образования в природе, поэтому ученые решили провести серию экспериментов для воспроизведения молнии в лаборатории и изучили ее свойства.

Перед началом экспериментов исследователи детально изучили как образовывается вулканическая молния в природе. Им было известно, что ключевую роль в этом играет столкновение частиц золы внутри вулкана, однако детали явления оставались неизвестными. Поэтому исследователи попытались создать вулканические молнии в лаборатории.

Исследовательская установка может изменить свойства вулканического шлейфа, чтобы выяснить, как изменение температуры или влажности золы может увеличить или уменьшить шансы на образование молний.

Специалисты выяснили, что вулканическая молния имеет тот же принцип образования, что и обычная молния - для этого нужно разделить положительный и отрицательный заряды. Когда такое разделение становится слишком большим, образовывается молния, нейтрализующая разницу зарядов. Однако ученые смогли выяснить, что другие принципы образования молний в вулканах отличаются.

В вулканических молниях большую роль играют столкновения частиц, которые и создают часть электрификации, отметили исследователи. Зола в этом случае создает большее трение, которое приводит к образованию электрических зарядов. Этот эффект, известный как трибоэлектричество, также происходит, когда вы трете воздушный шар о волосы и он может прикрепиться к этой поверхности. Ученые отметили, что по такому же принципу взрывы вулканического мусора способствуют накоплению электрического заряда.

Для своих экспериментов ученые использовали установку, известную как фрагментарная бомба: камеру с содержанием золы под давлением, которая в определенной точке под высоким давлением сжимается и размножается в стальной накопительный бак. Это высвобождает пепел как расширяющуюся струю, в которой и рождается вулканическая молния. Исследователи надеются, что произведя достаточное количество молний, они смогут выяснить все детали ее образования.

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

▪ Радар в руках спасателя

▪ 48-ядерные процессоры Cavium ThunderX

▪ Танталовые конденсаторы 592D

▪ Смартфон iQOO U5e

▪ Система определения сонливости водителей от Fujitsu

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

 

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

▪ раздел сайта Советы радиолюбителям. Подборка статей

▪ статья Национальная экономика. Шпаргалка

▪ статья Получение какой электроэнергии обходится дороже атомной или солнечной? Подробный ответ

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

▪ статья Протрава для имитации орехового дерева. Простые рецепты и советы

▪ статья Огни святого Эльма. Физический эксперимент

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

Имя:


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


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





All languages of this page

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

www.diagram.com.ua

www.diagram.com.ua
2000-2024