Разработка контроллера управления цифровым кодовым замком

Автор работы: Пользователь скрыл имя, 16 Января 2014 в 15:33, курсовая работа

Краткое описание

Необходимо разработать контроллер, выполняющий функцию расширенной авторизации с использованием внешнего электронного ключа и ввода цифрового пароля на клавиатуре.
Интерфейс обеспечивается за счет простейшей индикации состояния системы включением или отключением светодиода. Ввод данных - кодов пароля на 12 разрядной цифровой клавиатуре:
1) 10 первых клавиш которые соответствуют цифрам от 0 до 9.
2) Две оставшиеся используются как управляющие, одна из которых подтверждение ввода, а другая отмена ввода.

Вложенные файлы: 1 файл

власмп.doc

— 469.50 Кб (Скачать файл)

Самарский государственный  аэрокосмичческий университет имени  академика С.П. Королева

 

 

 

 

 

 

 

 

Курсовой проект

по  «Микропроцессорные средства и системы»

"Разработка  контроллера управления

цифровым  кодовым замком"

 

 

 

Выполнил: Власов Н.В.

студент гр. 9637

Проверил: Новиков А.О.

 

Самара 2014

Техническое задание

 

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

Интерфейс обеспечивается за счет простейшей индикации состояния системы включением или отключением светодиода. Ввод данных - кодов пароля на 12 разрядной цифровой клавиатуре:

1) 10 первых клавиш которые  соответствуют цифрам от 0 до 9.

2) Две оставшиеся используются как управляющие, одна из которых подтверждение ввода, а другая отмена ввода.

Для обеспечения взаимодействия с компьютером предусмотрено  подключение через последовательный COM порт(RS232) или USB реализованный как виртуальный адаптер (USB/COM)

Общие реализуемые функции:

Система предусматривает считывание кода iBuuton и передачи его на компьютер с ожиданием ответа от системы.

Для дальнейшей авторизации  требуется ввести пароль код.

Далее если пользователь прошел авторизацию, то необходимо произвести считывание зашифрованного кода из ОЗУ iButton’а, для последующей передачи его на сервер авторизации Kerberos.

Также предусмотрено  использование мастер ключа находящегося у администратора с его помощью  выполняется добавление последующих  клиентов (новых IButton) и запись в них  идентификационного кода Kerberos. Пароль вводимый при добавлении ключа является дешифрующим ключем для декодирования кода записываемого в память.

Для исключения кражи  шифрованной информации система  не имеет собственного внешнего ПЗУ  а все ключи хранятся в системе Kerberos.

 

Введение

 

Развитие микроэлектроники и широкое применение ее изделий  в промышленном производстве, в устройствах  и системах управления самыми разнообразными объектами и процессами является в настоящее время одним из основных направлений научно-технического прогресса.

За последние годы микроэлектроники бурное развитие получило направление, связанное с выпуском однокристальных микроконтроллеров, которые предназначены для «интеллектуализации» оборудования различного назначения. Однокристальный микроконтроллер представляет собой приборы, конструктивно выполненные в виде БИС, и включающие в себя все составные части «голой» микро ЭВМ: микропроцессор, память программы, память данных, также программированные интерфейсные схемы для связи с внешней средой. Использование микроконтроллеров в системах управления обеспечивает достижение исключительно высоких показателей эффективности при столь низкой стоимости, что микроконтроллерам видимо нет разумной альтернативной базы для построения управляющих и регулирующих систем.

 

1. Разработка функциональной  схемы

 

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



 

 




 

Рис. 1

 

ПИ – преобразователь  электронного интерфейса RS232 + - 12 В, который  создаёт требуемые +/ - 12 В засчет встроенного внутреннего генератора и конденсаторов обвязки, подключённых к данному чипу.

МК – управляющий  микроконтроллер. Он считывает пароль введённый пользователем при помощи клавиатуры параметры. В зависимости от правильности введенного пароля микроконтроллер посылает сигналы

СУ – считывающее  устройство. Оно считывает данные с iButton и передает их на микроконтроллер

ЖКИ - жидко-кристаллический индикатор

БК-блок матричной клавиатуры на 12 клавиш

Алгоритм работы замка – когда пользователь прикладывает ключ к считывающему устройству, микропроцессор считывает его код и пытается найти этот код в своей памяти. Если такой код в памяти существует, то микропроцессор дает команду на отпирание замка двери. Если код прикладываемого ключа отсутствует в памяти, то ничего не происходит, и дверь остаётся закрытой. Если код ключа и пароль замка совпадают, то двери отпираются.

 

2. Разработка принципиальной схемы устройства

 

2.1 Выбор микроконтроллера

 

Для выбора контроллера  я решил провести анализ следующих серий микроконтроллеров широко представленных на рынке и используемых в аналогичных устройствах: AVR, PIC, MK-51.

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

Краткий обзор AVR

AVR ядро базируется на усовершенствованной RISC архитектуре, с регистровым файлом быстрого доступа, содержащим 32 регистра общего назначения, непосредственно связанных с арифметико-логическим устройством (ALU), и мощной системой команд. За один тактовый цикл из регистрового файла извлекаются два операнда, выполняется команда и результат записывается в регистр назначения. Такая высокоэффективная архитектура обеспечивает производительность почти в десять раз большую, чем стандартные CISC микроконтроллеры.

Обзор PIC

Альтернативой является PIC 16С745. Все команды данного контроллера состоят из одного слова (14 бит шириной) и исполняются за один цикл (200 нс при 20 МГц), кроме команд перехода, которые выполняются за два цикла (400 нс). Контроллер имеет прерывание, срабатывающее от четырех источников, и восьмиуровневый аппаратный стек. Высокая нагрузочная способность (25 мА макс. втекающий ток, 20 мА макс. вытекающий ток) линий ввода/вывода упрощают внешние драйверы и, тем самым, уменьшается общая стоимость системы. Имеется возможность работы с тремя таймерами и каналом I2C. Но при всем этом цена более высокая, чем у 52 контроллера. Так же недостатком является однократно программируемое ПЗУ, что требует покупки более дорогого отладочного кристалла.

Обзор семейства МК51

Для использования в данном устройстве мной был выбран микропроцессор АТ89S2051 серии MSC-51. Он обладает высокими техническими характеристиками:

Частота работы от 4х до 24МГц.

Объем встроенного флеш ПЗУ – 2КБ.

Объем регистрового ОЗУ 128 байт.

Два счетчика 16ти разрядных счетчика\таймера.

Порт выдерживает нагрузку до 20мА.

Число портов ввода вывода 15(оставлены порты P1 и P3).

Котроллер поставляется в двацативыводном корпусе.

Напряжения питания  от 2.7 до 6В (номинальное 5В).

Из дополнительных достоинств хочется отметить более простой программатор и невысокую цену 50-60р. Распиновка выводов контроллера представлена на рисунке. Все выше сказанное позволяет реализовать требуемые функции и существенно упростить схему. Другой весьма важный довод, что данный тип контроллера мне наиболее хорошо знаком по курсу лабораторных работ и допускает написание программ на языке высокого уровня PLM.

 

Рис. 1

 

В активном режиме микроконтроллер  на частоте 12 МГц потребляют порядка 25 мА и в пассивном режиме, В  стоповом режиме ожидания потребление не превышает 100 мкА но данный режим мной не предусмотрен в программе. Внутренняя архитектура во многом сходна с полными контроллерами 51 серии и ограничена лишь количеством выводов, для наглядности, я решил представить внутреннюю структурную схему от фирмы производителя, из технической документации на контроллер. На структурной схеме также виден аналоговый компаратор встроенный в контроллер и позволяющий в паре с ЦАП проводить оцифровку аналоговых сигналов но данное решение мной было отвергнуто из за нецелесообразности и усложнения схемы. Тем более датчики уже оттарированы и дают высокую точность измеренного сигнала. Такое решение наиболее простое и доступное в данном контроллера. Так как мне требуется не очень большое число выводов, данный контроллер полностью обеспечивает необходимые потребности в разрядности управляющих и входных портов.

 

Рис. 2

 

2.2 Выбор электронного ключа

 

В качестве электронного ключа мной было рассмотрено несколько  вариантов во-первых это пластиковые карты специального образца или smart карты данный вариант не подошел так как требует или сложную контактную площадку или дорогой считыватель. В качестве второго варианта предполагалось использование микросхем флешь памяти небольшой емкости при невысокой цене и простоте изготовления разъем обладает невысокой долговечностью, а при некачественном контакте считывание кода не происходит. Третьим вариантом были таблетки iButton которые наиболее подходят в данном случае так как имеют небольшую стоимость, простой контактный разъем и возможность выбора таблетки с необходимым объемом памяти. Последний четвертый вариант использование RFid радио идентификаторов не подходит так как данные радиоключи хотя и совместимы с IButton но не имеют собственной памяти в которую записывается ключKerberos. iButton - это микросхема, помещенная в стандартный круглый корпус диаметром 16,3 мм из нержавеющей стали (корпус MicroCan). Корпус устойчив к воздействию ударов, грязи и влажности. Есть две модификации с разной толщиной: F3 и F5. На рис. 1 показаны чертежи корпусов обеих версий. Поскольку крышки у них одинаковы, для "ответной" части замка применяется одна и та же считывающая чашка.

 

Рис. 3

 

Кромка корпуса MicroCan позволяет  удобно закреплять его в держателях.

Корпус состоит из двух электрически изолированных друг от друга частей, являющихся контактами, через которые микросхема соединяется с внешним миром. Таким образом, получается недорогой (в смысле использования аппаратных ресурсов считывающей аппаратуры) и надежный интерфейс-один провод данных и один общий провод. Энергия, необходимая для обмена информацией и работы микросхемы в корпусе, поступает от провода данных. На рис. 2 показана структурная схема iButton.

Микросхема изготовлена  по технологии КМОП, и в состоянии  ожидания основной ток потребления - только ток утечки (у КМОП он очень мал). Для сохранения энергопотребления на предельно низком уровне во время "активных" состояний (чтение данных, например), а также для совместимости с существующими сериями микросхем логики и микропроцессорами линия данных в iButton выполнена как в выход с открытым стоком.

 

Рис. 4

 

Для взаимодействия с внешними устройствами на микросхемах КМОП нужен только нагрузочный резистор сопротивлением около 5 кОм, подсоединенный к плюсу  питания VDD (+5 В) и к выходу обычного двунаправленного порта с открытым стоком (рис. 5).

 

Рис. 5

 

Если вход и выход процессора используют разные выводы, то их подключают, как показано на рис. 6.

 

Рис. 6

 

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

Микроконтроллер (master-устройство), подключенный к считывающей чашке, всегда инициирует передачу с помощью  посылки командного слова на прикладываемый к чашке ключ iButton (он играет роль подчиненного, или slave-устройства). К шине может быть подключено несколько slave-устройств. Подобно электрическим вилке и розетке, которые определяют потребитель и источник электричества, контактное считывающее устройство в виде чашки является атрибутом master-устройства (которое, кстати, во многих случаях служит источником энергии для iButton), а круглая металлическая "таблетка" iButton является slave-устройством. Такое точное разделение позволяет легко избежать конфликтов - соединения двух master-устройств.

Команды и данные посылаются бит за битом и собираются в байты, причем вначале передается наименее значащий бит LSB (Least Significant Bit). Синхронизация устройств master и slave происходит по спаду импульса, когда master замыкает линию данных стоком выходного транзистора на общий провод. Через определенное время после этого происходит анализ состояния данных на линии (высокий или низкий уровень) для получения одного бита информации. В зависимости от направления передачи информации в текущий момент этот анализ делает либо master-устройство, либо slave-устройство. Этот метод обмена информацией называют передачей данных в тайм-слотах (рис.7).

Режим записи 1

 

Рис. 7 - Режим записи 0

 

Рис. 8 - Режим чтения

 

Рис. 9

 

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

Почти сразу после присоединения  к считывающему устройству (через  несколько микросекунд) slave-устройство iButton выдает в линию импульс, чтобы "сказать" master-устройству, что  оно присутствует на линии и ждет команду. Этот сигнал называется presence pulse (импульс присутствия, далее - просто presence). Master может также давать запрос на iButton с целью получения presence путем посылки специального импульса, называемого импульсом сброса (reset pulse, далее - просто reset). Если iButton принял сигнал reset, он анализирует линию данных, и как только линия снова достигнет высокого уровня, iButton сгенерирует presence. Полная последовательность импульсов reset и presence показана на рис.6.

Информация о работе Разработка контроллера управления цифровым кодовым замком