Кодовий замок на мікроконтролері AT90S2313
Процес розробки алгоритму і складання програми на Асемблері. Сутність коду відмикання та його збереження в енергонезалежній пам’яті мікропроцесора. Обладнання системи інтерфейсом RS-232, що дає можливість завантажувати з ПК параметри роботи системи.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | реферат |
Язык | украинский |
Дата добавления | 15.11.2013 |
Размер файла | 1011,0 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Зміст
Вступ
1. Аналіз поставленої задачі
2. Огляд існуючих методів та вибір методу розв'язування
3. Вибір елементної бази
4. Розробка алгоритму та програмного забезпечення
Висновки
Література
Додатки
Вступ
У зв'язку зі стрімкими відкриттями в області радіотехніки ще в минулому столітті виникла потреба в пристроях різного призначення. Розвиток мікроелектроніки зумовило появу нових методів побудови та конструювання електронної апаратури, що відрізняється малою масою, габаритними розмірами, а також високою надійністю. Завдяки новій елементній базі можна спростити удосконалення приладів за допомогою заміни програмного забезпечення, також змінити виконувані приладом функції.
Захист власних даних - це ще один напрямок, де широке застосування знайшла радіоелектроніка. За допомогою радіотехнічних засобів ми маємо змогу захистити від злому свій дім, важливі документи і т.д.. У цій роботі представлена розробка електронного кодового замка.
Кодові замки є ефективним засобом запобігання доступу сторонніх осіб до приміщення. До їх переваг можна віднести простоту в обігу, надійність, можливість забезпечити високий ступінь захисту, відносну легкість зміни коду (у порівнянні зі зміною звичайного механічного замку). Також важливими є відсутність необхідності виготовлення ключів при наданні доступу великій кількості людей і неможливість фізичної втрати ключа. Недоліком таких систем можна назвати можливість для зловмисника підглянути код або підібрати його. Однак, при великої розрядності коду або наявності конструктивних особливостей, що перешкоджають підбору коду, таких як обмеження кількості спроб або введення тимчасової затримки між невдалими спробами, ця задача сильно ускладнюється, тому останній недолік можна назвати істотним. В даноій курсовій роботі здійснюється розробка електронного кодового замка для зовнішніх дверей житлового будинку з використанням мікроконтролера.
1. Аналіз поставленої задачі
Потрібно розробити електронний кодовий замок на мікроконтролері AT90S2313.
Розробити алгоритм і скласти програму на Асемблері. Введення коду має відбувається за допомогою восьми клавіш.
Довжина коду має бути 10 символів. Підтвердження введеного коду здійснюється за допомогою клавіши «Вхід», а для можливості зміни коду замка, кнопка «Кодування», для цього потрібно ввести старий код натиснути кнопку «Кодування» та ввести новий код.
Код відмикання має зберігатися в енергонезалежній пам'яті мікропроцесора.
Потрібно обладнати систему інтерфейсом RS-232, що дає можливість завантажувати з ПК параметри роботи системи.
Затримка виконання відкривання замка повинна бути не більше 1с.
Живлення здійснюється від промислової електричної мережі (220В, 50Гц)
асемблер енергонезалежний інтерфейс мікропроцесор
2. Огляд існуючих методів та вибір методу розв'язання
Перший метод розглянуто в книзі А.В. Бєлов "Микроконтролеры AVR в радиолюбительской практике". Він дещо складніший чим в завданні але досить цікавий. Даний метод дозволяє використовувати комбінації клавіш, по парно натискати кнопки. Тобто натиснути кнопку 4 і не відпускаючи її набрати код 257. І взагалі вибрати будь-яку комбінацію.
Принци дії: в режимі запису коду власник натискає кнопки набору коду в будь-якому порядку і в будь-яких комбінаціях. Мікроконтролер відслідковує всі зміни на клавіатурі і записує їх в ОЗП. Довжина кодової послідовності обмежена тільки розміром ОЗП. Сигналом для закінчення введення коду служить кнопка «Кодування»
В робочому режимі замок очікує вводу кода. Для відкриття необхідно повторити ті самі маніпуляції з кнопками, які ми виконували в режимі запису. Мікроконтролер так як і в попередньому випадку, відслідковує ці маніпуляції і записує отриманий таким чином код в ОЗП. Після натискання кнопки «Вхід» програма переходить в режим звірки кода в ОЗП і кода записаного в енергонезалежну пам'ять (EEPROM). Спочатку порівнюється довжина двох кодів, потім коди звіряють побайтно. Якщо звірення виконано успішно мікроконтролер подає сигнал на механізм відкривання замка.
При складанні даного алгоритму нам не обійтися без такого поняття, як «код стану клавіатури». Що таке код стану? Всі кнопки клавіатури підключаються до мікроконтролера за допомогою портів вводу-виводу. Для підключення десяти кнопок (кнопки «О» - «9») одного порту недостатньо. Кілька кнопок доведеться підключити до другого. Контролер читає вміст цих портів і отримує код, відповідний їх станом. Кожній кнопці клавіатури в цьому коді буде відповідати свій окремий біт. Коли кнопка натиснута, відповідний біт буде дорівнює нулю. Коли відпущена - одиниці. Тому при різних поєднаннях натиснутих і відпущених кнопок код стану клавіатури буде мати різні значення.
У момент включення живлення всі кнопки замка повинні бути відпущені. Якщо це не так, то виникає невизначеність у роботі замку. Тому наш алгоритм повинен починатися з процедури очікування відпускання всіх кнопок. Як тільки всі кнопки виявляться відпущеними або в разі, якщо вони взагалі не були натиснуті, розпочинається інша процедура очікування. Цього разу програма очікує моменту натискання кнопок. Це якраз той режим роботи, в якому замок буде перебувати більшу частину часу. У момент натискання будь-якої з кнопок починається цикл введення ключової комбінації.
Процедура введення ключової комбінації являє собою багатократно повторюваний процес, періодично зчитує код стану клавіатури. Щоразу після чергового зчитування коду програма перевіряє, чи не змінився цей код. Як тільки код зміниться, нове його значення записується в чергову комірку ОЗП. У результаті, поки стан клавіатури не змінюється, програма знаходиться в режимі очікування.
Як тільки стан змінився, відбувається запис нового значення коду стану в пам'ять. Тому ключова комбінація, записана в ОЗП, буде являти собою перерахування всіх значень коду стану клавіатури, яке він приймав у процесі введення ключової комбінації. Тривалість утримання кнопок в кожному з станів в пам'ять не записується.
Однак це лише приблизний алгоритм процедури введення ключової комбінації. Так би мовити, її кістяк. Насправді алгоритм трохи складніший. Виявивши зміни стану клавіатури, програма не відразу записує новий код в ОЗП. В цілях боротьби з брязкітом контактів, а також для компенсації неточності одночасного натискання декількох кнопок, програма спочатку витримує спеціальну захисну паузу, потім повторно зчитує код стану клавіатури і лише після цього записує новий код в ОЗП.
Тривалість захисної паузи обрано рівної 48 мс. Така пауза особливо корисна в разі, якщо при наборі ключової комбінації ви хочете використовувати одночасне натискання кнопок. Як би ви не намагалися натиснути кнопки одночасно, вам цього не вдасться. Все одно буде якесь розбіжність в моменті замикання контактів. Причому порядок замикання контактів буде залежати від багатьох факторів і практично є випадковим.
Якщо не вжити спеціальних заходів, то в момент такого натискання програма зафіксує не одне, а кілька послідовних змін коду стану клавіатури. Якщо отримана таким чином кодова комбінація буде записана в EEPROM, то відкрити такий замок буде практично неможливо.
При спробі повторити ті ж натискання, замикання контактів будуть відбуватися в іншому порядку. Програма сприйме його як абсолютно інший код. Захисна пауза вирішує цю проблему. У якому б порядку не замикалися б контакти при одночасному натисканні декількох кнопок, після паузи всі ці процеси закінчаться. Повторне зчитування дасть вже сталий код стану клавіатури. Повторити таку комбінацію не складе труднощів.
Крім захисної паузи, для боротьби з брязкітом застосовується багатократне зчитування коду стану. Тобто насправді кожен раз відбувається не одне, а кілька послідовних операцій з зчитування коду стану. Зчитування відбувається до тих пір, поки кілька разів поспіль не буде отриманий один і той же код.
Тепер поговоримо про те, як програма виходить з процедури введення ключової комбінації. Як вже говорилося раніше, для виходу з процедури використовується захисний проміжок часу. Для формування цього проміжку застосовується таймер. Таймер повинен працювати в режимі Normal. У цьому режимі він просто рахує тактові імпульси.
Процедура введення кодової комбінації влаштована таким чином, що при кожному натисканні чи відпусканні кожної з кнопок таймер скидається в нуль. У проміжку між натисканнями його показник збільшуються під дією тактового сигналу. Якщо протягом захисного проміжку часу не буде натиснута жодна кнопка, показання таймера збільшаться до контрольної межі. Програма постійно перевіряє цю умову. Як тільки показання лічильника перевищать контрольну межу, процедура введення кодової комбінації завершується. Величина контрольного проміжку часу дорівнює 1 с. Подальші дії після виходу з процедури введення кодової комбінації визначаються станом перемикача режимів роботи. Якщо контакти перемикача замкнуті, програма переходить до процедури запису кодової комбінації в EEPROM. Спочатку в EEPROM записується довжина кодової комбінації. А потім байт за байтом і сама комбінація. Якщо контакти перемикача режиму роботи розімкнуті, то програма переходить до процедури перевірки коду. Ця процедура спочатку витягує з EEPROM записану раніше довжину кодової комбінації і порівнює її кількість з довжиною тільки що введеною комбінації. Якщо дві ці величини не рівні, процедура перевірки коду відразу ж завершується з негативним результатом. Якщо довжина обох комбінацій однакова, то програма приступає до побайтно їх порівнянні. Для цього вона по черзі витягує з EEPROM раніше записані туди байти і порівнює кожен з них з відповідними байтами в ОЗП. При першій же розбіжності процес порівняння також завершується. І завершується негативно. І тільки в тому випадку, якщо всі байти в ОЗП і в EEPROM виявляться однаковими, порівняння вважається успішним.
У разі успішного порівняння програма переходить до процедури відкриття замку. Процедура відкривання починається з видачі відкриваючого сигналу на виконавчий механізм. Потім програма витримує паузу в 2 с і знімає сигнал. Цього часу достатньо для того, щоб відкрити двері. Потім замок переходить в початковий стан.
Другий метод розглянуто в електронному журналі «Радиоежегодник» - Випуск 16 - розроблений Сергієм Шишкіним.
До складу замка входять соленід, плата контролера А2, структурна схема плати А2. В склад плати контролера входять мікроконтролер, кнопкова клавіатура і блок динамічної індикації.
Алгоритм роботи електронного кодового замка досить простий. У робочому режимі відразу після подачі живлення на дисплеї відображається число 0000, і мікроконтролер чекає введення чотирьох розрядного коду. Який вводиться з клавіатури, і записується в ОЗП мікроконтролера. Після введення четвертого розряду чотирьох розрядного коду мікроконтролер побайтно порівнює його з еталонним чотирьох розрядним кодом, записаним в пам'яті програми. Замок включається (тобто мікроконтролер подає сигнал на включення механізму відкривання замка) при виконанні двох умов: код збігся з еталонним кодом і на виводі PD6 мікроконтролера присутній лог. 0. У цьому випадку мікроконтролер на 5с подає сигнал на включення механізму відкривання замка. Через 5 с мікроконтролер вимикає механізм відкриття замка і обнуляє дисплей. Якщо введений код не збігся з еталонним кодом, то мікроконтролер після введення четвертого розряду чотирьох розрядного коду відразу обнуляє дисплей (на дисплеї число 0000). Інтерфейс плати контролера містить вузол індикації на цифрових семисегментних індикаторах HG1 - HG4, перемикач SА1 і кнопки для введення коду доступу S1 - S8, позначені цифрами від «1» до «7». На чотири розрядному дисплеї відображається введений код, після введення еталонного коду мікроконтролер на 5с подає сигнал на включення механізму відкривання замка. Якщо необхідно подати постійний сигнал на включення механізму відкривання замку, то протягом 5 с після введення еталонного коду необхідно натиснути на кнопку S8. Якщо необхідно закрити замок, то слід знову натиснути на S8. Плата контролера має вхід (контакт 1 з'єднувача Х2 - сигнал «Вхід») і вихід (контакт 1 з'єднувача Х1 - сигнал «Вихід»). Дані сигнали надходять відповідно на висновки 11 і 9 мікроконтролера DD1. Основою пристрою служить мікроконтролер DD1, робоча частота якого (10 МГц).
Динамічна індикація зібрана на транзисторах VT1 - VT4 і семисегментних індикаторах HG1 - HG4. Резистори R4 - R11 - струмообмежувальні. Коди для включення вищевказаних індикаторів при функціонуванні динамічної індикації надходять в порт PВ мікроконтролера DD1. для обслуговування клавіатури задіяний вивід 7 (PD3) мікроконтролера DD1. Відразу після подачі живлення на вивід 1 мікроконтролера DD1 через ланцюг R3C3 формується сигнал системного апаратного скидання, і на дисплеї відображається код 0000. Напруга +5 В надходить на пристрій з'єднувача Х3.
Перемикачем SA1 задається режим роботи плати контролера. Якщо перемикач встановлений в положення «2», то плата контролера працює в складі замку як функціонально закінчений пристрій (режим роботи № 2) (функціональна схема замку в режимі роботи № 2 наведена на рис. 2.1). Розглянемо роботу плати контролера в складі замку в даному режимі. Відразу після подачі напруги живлення замок готовий до введення коду для відкриття замку.
Необхідна умова - лог. 0 на виводі 11 мікроконтролера - виконано установкою перемикача SA1 в положення «2».
Рис. 2.1
Перед набором коду на дисплеї відображається число 0000. Кнопками S1 - S7 набирається чотири розрядний код, який відображається на дисплеї. Мікроконтролер після установки числа в 4 му розряді записує отриманий чотири розрядний код в ОЗП і починає звірку коду, записаного в ОЗП, і коду, записаного в пам'яті програми (еталонного коду), коди порівнюються побайтно. Якщо код введений правильно, то мікроконтролер подає сигнал на виконавчий механізм відкривання замку. Через 5 с на виводі 9 мікроконтролера встановлюється лог. 1 (сигнал на закривання замку). На дисплеї знову відображається число 0000. Якщо код набрано неправильно, то після введення четвертого розряду мікроконтролер знову відображає на дисплеї число 0000.
Щоб сигнал рівня лог. 0 на виводі 9 мікроконтролера був присутній постійно (замок був завжди відкритий), необхідно після набору еталонного коду натиснути на кнопку S8, при цьому на дисплеї в першому розряді (індикатор HG4) відобразиться точка h.
В ОЗП мікроконтролера з адреси $ 60 до адресу $ 64 організований буфер відображення для динамічної індикація (RAM = $ 60 - початкова адреса буфера відображення). Прапори, задіяні в програмі, знаходяться в регістрах R19 (flo) і R25 (flo1). Розроблена на асемблері програма займає всього 700 байт пам'яті мікроконтролера. Незначно змінивши програмне забезпечення мікроконтролера, код для відкриття замку можна зробити, наприклад, 10 розрядним, що підвищить степінь захисту.
3. Вибір елементної бази
Вибір виконавчого елемента електромеханічного замку
В даний час на ринку представлена велика кількість різних електрозамків. Електрозамки управляються дистанційно, шляхом подачі напруги, і можуть бути використані спільно з аудіо та відеодомофонами будь-яких типів, кодовими панелями, зчитувачами магнітних карт і електронних ключів і т.п. Електрозамки можуть застосовуватися для побудови "шлюзових" систем з двох і більше дверей, а також в будь-яких інших випадках, коли необхідно дистанційно відкривати двері.
Розрізняють два основні класи електрозамків: електромагнітні та електромеханічні. Електромагнітні замки - це електромагніт в чистому вигляді: при подачі на нього напруги відповідна механічна планка притягується. Якщо немає напруги, то немає й утримання.
За рахунок відсутності механічно переміщаються деталей і простоти конструкції електромагнітні замки мають найвищу надійність. Зусилля відриву для електромагнітних замків обчислюється кількома сотнями кілограм.
До недоліків електромагнітних замків можна віднести те, що вони відкриваються при відсутності напруги.
Часто електромагнітні замки використовуються в складі багатоквартирних аудіодомофоних систем. У цьому випадку, він відкривається кодом з панелі виклику або з трубки з квартири, або просто кнопкою всередині під'їзду перед виходом.
На відміну від електромагнітних, електромеханічні замки працюють не безперервно, а в імпульсному режимі, тобто напруга на замок подається короткочасно при його відкритті, а весь інший час замок знеструмлений. При відсутності напруги відкрити електромеханічні замки зсередини можна розташованої на них механічною кнопкою, а зовні - ключем, який входить в комплект поставки. Конструктивно електромеханічні замки бувають накладні і врізні. Для живлення електромеханічних замків не обов'язково використовувати стабілізовану напругу, але необхідно звернути увагу, щоб джерело живлення був розрахований на досить великі струми, необхідні для відкриття електромеханічних замків.
Для замикання дверей житлового будинку найбільш доцільно використовувати електромеханічний замок, призначений для зовнішніх дверей приміщень. Розглянемо електромеханічний замок "ПОЛИС-13" російської фірми "Оника". Зовнішній вигляд замку показаний на рис. 3.1, його технічні характеристики наведені - в таблиці 3.1.
Рис. 3.1 Зовнішній вигляд замку "ПОЛИС-13"
Таблиця 3.1 Технічні характеристики замка “ПОЛИС-13”
Напруга живлення |
12 В |
|
Струм споживання |
0.5 А |
|
Діаметр засувів |
18 мм |
|
Хід засувів |
17 мм |
|
Габаритні розміри корпусу |
140x92x30 мм |
|
Маса |
1.4 кг |
|
Робочий діапазон температур |
-40...+60 град С |
Для відкриття замку необхідно подати на нього напругу 12В, при цьому споживання струму складе 0,5 А. При відключенні напруги замок закривається під дією пружини. Мікроконтролер, безпосередньо, не здатний виробляти комутацію кіл з великими напругами і струмами. Крім того, необхідно забезпечити гальванічну розв'язку виводів мікроконтролера і ланцюга приводу замка. Для цих цілей можна використовувати оптопару з вихідним каскадом на оптотиристорі, яка буде комутувати напругу в ланцюзі бази n-p-n транзистора. При подачі напруги транзистор відкриється і замкне ланцюг живлення замка. За своїми характеристиками нам підійде оптопара російського виробництва АОУ163А. Її характеристики наведені в таблиці 3.2.
Таблиця 3.2 Технічні характеристики оптопари АОУ163А
Кількість каналів |
1 |
|
Постійне пряме вхідна напруга Uвх., В |
1.3 |
|
При вхідному струмі Iвх., мА |
10 |
|
Максимальний вхідний струм Iвх.макс., мА |
25 |
|
Вихідний каскад |
оптотиристор |
|
Максимальний вихідний струм Iвих.макс., мА |
100 |
|
Максимальна вихідна напруга, що комутується Uвих.ком.макс., В |
400 |
|
Опір ізоляції між вхідними і вихідними ланцюгами, ГОм |
100 |
|
Максимальна напруга ізоляції, В |
1500 |
|
Робоча температура, С |
-45...85 |
Вибір клавіш
Клавіши є важливою частиною кодового замка, і повинна бути стійка до несприятливих впливів навколишнього середовища, особливо якщо замок встановлюється на зовнішніх дверей будинку. У цьому пристрої використовується клавіши ПКН125. Зовнішній вигляд клавіш представлений на рис. 3.2 технічні характеристики клавіши в таблиці 3.3.
Таблиця 3.3 Технічні характеристики клавіши ПКН125
Напруга, що комутується, В |
1х10-4 ... 36 |
|
Струм (постійний, змінний), А |
1х10-6 ... 0,1 |
|
Максимальна потужність комутації, Вт (ВА) |
3,6 |
|
Кількість комутаційних циклів |
100 000 |
|
Діапазон робочих температур |
от -40 до +60 С |
Рис. 3.2 Клавіши ПКН125
Вибір пристрої сигналізації відкриття дверей
Для сповіщення користувача про те, що двері відкриті, буде використовуватися світлова сигналізація. Для цього підійде світлодіод зеленого кольору АЛ336І. Його технічні характеристики представлені в таблиці 3.5
Таблиця 3.5 Характеристики світлодіода АЛ336І
Матеріал |
GaP |
|
Колір світіння |
зеленый |
|
Довжина хвилі, нм |
563 |
|
Мінімальна сила світла Iv хв., мКд |
20 |
|
при струмі Iпр., мА |
10 |
|
Відомий тілесний кут, град |
5 |
|
Форма лінзи |
круглая |
|
Максимальна пряма напруга, В |
2.8 |
|
Максимальна зворотня напруга, В |
2 |
|
Максимальний імпульсний прямий струм, мА |
60 |
|
Робоча температура, С |
-60...70 |
Вибір пристрої сигналізації про спробу підбору коду
При спробі підбору коду замка для повідомлення про це мешканців будинку доцільно використати звуковий сигнал. Для цього можна використовувати випромінювач звуку з вбудованим генератором робочої частоти. Такий пристрій не вимагає подачі на вхід високочастотного сигналу для його роботи. Досить просто забезпечити напруга живлення. П'єзоелектричний випромінювач звуку SMA-21-P10 фірми Sonitron володіє відповідними характеристиками таблиця 3.6 Зовнішній вигляд пристрою показаний на рис 3.3
Рис. 3.3 Випромінювач звуку SMA-21-P10
Таблиця 3.6 Характеристики випромінювача звуку SMA-21-P10
Тип |
п'єзоелектричний |
|
Вбудований генератор |
є |
|
Частота, Гц |
3300 |
|
Номінальна робоча напруга, В |
1.5-24 |
|
Максимальний струм, мА |
3.8 |
|
Інтенсивність звуку, дБ |
85 |
|
Толщина корпуса h, мм |
9 |
|
Діаметр (ширина) корпусу d, мм |
21 |
|
Робоча температура, С |
-20...70 |
Вибір датчика відкриття дверей
Для визначення моменту відкриття дверей буде використовуватися контактний герконовий датчик фірми Aleph. Для цієї мети нам підходить датчик DC-2541 (рис 3.4). Його технічні характеристики наведені в таблиці 3.7
Рис 3.4 Датчик DC-2541
Таблиця 3.7 Технічні характеристики датчика DC-2541
Габаритні розміри, мм. |
Геркон: 61х18х15 |
|
Зазор мм. |
22 |
|
Напруга, що комутується |
28 В, 0,5 А, 3 Вт |
|
Примітка |
Для дерев'яних і металевих дверей |
Мікроконтролер
Основою завдання є використання мікроконтролер AT90S2313.
AT90S2313 є 8-ми розрядним CMOS мікроконтролером з низьким енергоспоживанням, заснованим на вдосконаленій AVR RISC архітектурі. Завдяки виконанню високопродуктивних інструкцій за один період тактового сигналу, AT90S2313 досягає продуктивності, що наближається до рівня 1 MIPS на МГц, забезпечуючи розробнику можливість оптимізувати рівень енергоспоживання відповідно до необхідної обчислювальної продуктивності. Ядро AVR містить потужний набір інструкцій і 32 робочих регістра загального призначення. Всі 32 регістра безпосередньо підключені до арифметико - логічного пристрою (АЛУ), що забезпечує доступ до двох незалежних регістрів при виконанні однієї інструкції за один такт. В результаті, дана архітектура має більш високу ефективність коду, при підвищенні пропускної здатності, аж до 10 разів, у порівнянні зі стандартними мікроконтролерами CISC.
AT90S2313 підтримується повним набором програм і пакетів для розробки.
Рис 3.5 Блок схема мікроконтролера AT90S2313
Рис 3.6 Розташування виводів
Призначення основних виводів мікросхеми:
VCC - напруга живлення;
GND - земля;
Порт B (PB7.. PB0) Порт B є 8-бітний двонаправлений порт вводу / виводу.
Порт D (PD6..PD0) Порт D має сім двонаправлених портів введення / виводу з внутрішніми підтягуючими резисторами, PD6 .. PD0.
RESET - вхід скидання.
XTAL1, XTAL2 - виводи для приєднання зовнішнього кварцового резонатора;
Характеристики:
AVR ® - висока продуктивність і RISC архітектура з низьким енергоспоживанням
118 потужних інструкцій - більшість з них виконуються за один такт
2 Кбайт Flash-пам'яті з підтримкою внутрішньосистемного програмування
SPI-послідовний інтерфейс для завантаження програмного коду Ресурс: 1000 циклів запису / стирання
128 байти EEPROM:
Ресурс: 100 000 циклів запис / стирання
Робочі регістри загального призначення 32 х 8
15 програмованих ліній I / O
Живлення VCC: від 2.7 В до 6.0 В
Повністю статичний режим роботи:
Від 0 до 10 МГц, при живленні від 4.0 В до 6.0 В
Від 0 до 4 МГц, при живленні від 2.7 В до 6.0 В
Продуктивність, аж до 10 MIPS при 10 МГц
Один 8-ми розрядний таймер / лічильник з окремим попередніми дільником частоти
Один 16-ти розрядний таймер / лічильник з окремим попередніми дільником частоти з режимами порівняння та захоплення
Повнодуплексний UART
Обираєте 8, 9, або 10-ти розрядні режими широтно-імпульсної модуляції (ШІМ)
Зовнішні та внутрішні джерела переривання
Програмований слідкуючий таймер з вбудованим тактовим генератором
Вбудований аналоговий компаратор
Економічні режими очікування і зниженого енергоспоживання
Програмоване блокування для безпеки програмного забезпечення
20 виводів
Вибір стабілізатора напруги
Для живлення мікроконтролера і елементів необхідно стабілізоване джерело живлення напругою +5 В. В якості стабілізатора краще всього використовувати мікросхему КР142ЕН5. Вона забезпечує достатню стабільність вихідної напруги і здійснює фільтрацію перешкод, амплітуда яких може досягати 1В. При установці її на додатковий радіатор максимальний навантаження струму становить близько 2А. Крім цього мікросхема має захист від короткого замикання.
Серія КР142ЕН5 - трьохвиводні стабілізатори з фіксованою вихідною напругою в діапазоні від 5В до 27 В, можуть знайти застосування в широкому спектрі радіоелектронних пристроїв. Діапазон напруг, що перекриваються даної серією стабілізаторів, дозволяє використовувати їх в якості джерел живлення, логічних систем, вимірювальної техніки, пристроїв високоякісного відтворення та інших радіоелектронних пристроїв. Незважаючи на те, що основне призначення цих приладів - джерела фіксованої напруги, вони можуть бути використані і як джерела з регулюванням напруги і струму шляхом додавання в схеми їх застосування зовнішніх компонентів. Зовнішні компоненти можуть бути використані для прискорення перехідних процесів. Вхідний конденсатор необхідний тільки в тому випадку, якщо регулятор знаходиться на відстані більше 5 см від фільтруючого конденсатора джерела живлення. Зовнішній вигляд і типова схема включення наведені на малюнках 3.7 і 3.8 відповідно. Технічні характеристики представлені в таблиці 3.8
Основні особливості:
- Захист від перегріву;
- Вбудований обмежувач струму КЗ;
- Корекція зони безпечної роботи вихідного транзистора;
- Діапазон температур зберігання -55 ... +150 С;
- Робочий діапазон температур кристала -45 ... +125 С.
Рис 3.7 Зовнішній вигляд стабілізатора напруги
Рис 3.8 Типова схема включення стабілізатора напруги
Призначення виводів стабілізатора КР142ЕН5-9:
- 1 - вхід;
- 2 - загальний;
- 3 - вихід.
Таблиця 3.8 Електричні характеристики стабілізатора КР142ЕН5А
Найменування |
Позначення |
Умови вимірювання |
Мін. |
Тип. |
Макс. |
Одиниця виміру |
||
Вихідна напруга |
Vout |
Tj=25°C |
4.9 |
5.0 |
5.1 |
B |
||
7B<Vin<20B 5mA<Iout<1.0A Pt<15Вт |
4.75 |
- |
5.25 |
B |
||||
Нестабільність по вхідній напрузі |
Vo line |
Tj=25°C |
7B<Vin<25B |
- |
3 |
100 |
mB |
|
8B<Vin<12B |
- |
1 |
50 |
mB |
||||
Нестабільність по струму навантаження |
Vo load |
Tj=25°C |
5mA<Iout<1.5A |
- |
15 |
100 |
mB |
|
250mA< Iout<750mA |
- |
5 |
50 |
mB |
||||
Струм спокою |
Iq |
Tj=25°C,Iout=0 |
- |
4.2 |
8.0 |
mA |
||
Нестабільність струму спокою |
Iq |
7B<Vin<25B |
- |
- |
1.3 |
mA |
||
5mA<Iout<1.0A |
- |
- |
0.5 |
mA |
||||
Вихідна напруга шуму |
Vn |
Ta=25°C, 10Гц<f<100кГц |
- |
40 |
- |
mkB |
||
Коефіцієнт подавлення пульсації |
Rrej |
f=120Гц |
62 |
78 |
- |
дБ |
||
Падіння напруги |
Vdrop |
Iout=1.0A, Tj=25°C |
- |
2.0 |
- |
B |
||
Вихідний опір |
Rout |
f=1 кГц |
- |
17 |
- |
мОм |
||
Струм КЗ |
Ios |
Tj=25°C |
- |
750 |
- |
mA |
||
Максимальний вихідний струм |
Io peak |
Tj=25°C |
- |
2.2 |
- |
A |
||
Температурна нестабільність вихідної напруги |
Vout Tj |
Iout=5mA, 0°C<Tj<125°C |
- |
1.1 |
- |
мВ/°C |
Інтерфейс RS-232
Для завантажування параметрів з ПК потрібно передбачити інтерфейс RS-232, краще всього використоувавати MAX232.
MAX232 - інтегральна схема, перетворювача сигналів послідовного порту RS-232 в сигнали, придатні для використання в цифрових схемах на базі ТТЛ або КМОП технологій. MAX232 працює прийомопередатчиком і перетворює сигнали RX, TX, CTS і RTS.
Функціональність мікросхеми стала стандартом де-факто і її аналоги (з іншого маркуванням) випускаються багатьма виробниками напівпровідників.
Схема забезпечує рівень вихідної напруги, використовуваний в RS-232 (приблизно ± 7.5 В), перетворюючи вхідну напругу + 5 В за допомогою внутрішнього зарядового насоса на зовнішніх конденсаторах. Це спрощує реалізацію RS-232 в пристроях, що працюють на напругах від 0 до + 5 В, так як не потрібно ускладнювати джерело живлення лише для того, щоб використовувати RS-232.
Вхідна напруга від RS-232, яка може досягати ± 25 В, знижується до стандартних 5 В, використовуваних в транзисторно-транзисторної логіки. Входи мають середній поріг 1.3 В і серій гістерезис 0.5 В.
Рис. 3.9 Конфігурація контактів і Типова схема MAX232
Таблиця 3.9 Основні параметри MAX232
Швидкість (макс.), МБод |
0.12 |
|
Tx, шт |
2 |
|
Rx,шт |
2 |
|
Cap.,шт |
0 |
|
Rx SHDN,шт |
0 |
|
ESD захист,кВ |
2 |
|
VCC,В |
від 4.5 до 5.5 |
|
TA,°C |
від -40 до 85 |
Блок живлення
Блок живлення 5 В буде трансформаторним, а не імпульсним. На мою скромну думку трансформаторний зібрати і налагодити легше, але можливо за вартістю і габаритами імпульсів краще.
Мережевий фільтр (А1).
Призначений для придушення високовольтних та високочастотних мережевих перешкод. З високовольтними перешкодами успішно справляється варистор. А високочастотними шумами займеться RC фільтр.
Трансформатор (А2).
У нашому БП 5 В трансформатор відіграє ключову роль, саме він знижує (перетворює) мережеве живлення 220 В у низьковольтне. Трансформатор повинен бути силовим, розрахований на мережеву частоту 50 Гц, з первинною обмоткою на 220 В і однієї вторинною обмоткою на 7 - 10 В. Номінальна потужність трансформатора 4 - 8 Вт
Випрямляч (А3).
Перетворює змінну напругу на вході в постійне на виході. Будемо використовувати двухполуперіодний випрямляч - діодний міст.
Фільтр (А4).
Призначений для згладжування напруги після випрямляча. Використовується звичайний електролітичний конденсатор досить великої ємності. Чим більше ємність конденсатора, тим менше пульсації.
Стабілізатор напруги (А5).
Це мікросхема, служить для стабілізації діапазону напруг на вході в чітко встановлене значення на виході. Логічно, що вхідна напруга має бути більше вихідного, як правило, не менше ніж на 3 В. Максимальний поріг звичайно обмежений 30 - 40 В.
Індикатор (А6).
У повсякденному житті ми вже настільки звикли, що будь-яка техніка нам весело підморгує світлодіодом, коли ми її включаємо, то я вирішив, що індикатор робочого режиму не перешкодить у БП 5 В. Він складається з світлодіода і струмообмежувального резистора. Світлодіод червоного або зеленого кольору світіння на напругу 1,5 В або 3 В
Рис. 3.10 Структурна схема блоку живлення
Підвищуючий DC-DC перетворювач
MC34063A виробництва «Analog Integrations Corporation», являє собою монолітний ланцюг керування, містить основні функції необхідні для DC-DC перетворювачів.
Рис. 3.11 Розташування виводів та спосіб підключення
Таблиця 3.9 Основні параметри MAX232
Вхідна напруга |
3…40 В |
|
Вихідна напргуа |
1.55…40 В |
|
Максимальний вихідний струм |
750 mA |
|
Струм власного споживання |
4 mA |
|
Частота перетворення |
0 … 100кГц |
|
Зовнішнє регулювання вихідної напруги |
ADJ |
|
Тип перетворювача |
Buck, Boost, Inverting |
Призначення основних виводів.
SWC/SWE виводи транзисторного ключа мікросхеми SWC - це його колектор, а SWE - емітер.
DRC - колектор складеного транзистора.
Ipk - вхід струмового захисту.
TC - вхід конденсатора, що задає частоту роботи.
CII - вхід компаратора.
Vcc - живлення схеми.
GND - земля
4. Розробка алгоритму та програмного забезпечення
Алгоритм функціонування програми кодового замка включає в себе наступні основні блоки:
- Включення;
- Введення коду;
- Перевірка уведеного коду;
- Контроль кількості спроб введення коду;
- Відкриття замку;
- Закриття замка;
- Світлова індикація;
- Звуковий сигнал;
- Кодування.
На рис 4.1 представлена блок-схема алгоритму роботи програми.
Рис 4.1 Блок-схема програми
Висновки
В даній роботі ми розробили електронний кодовий замок, з використанням мікроконтролера АТ90S2313. Також була виконана графічна частина завдання це креслення схеми електрично принципової.
В ході виконання роботи був проведений аналіз задачі, на основі якого були сформульовані вимоги до кінцевої системи. На основі вимог була побудована структурна схема. На підставі структурної схеми були підібрані відповідні пристрої для реалізації функцій, покладених на елементи системи.
Особливістю даного замку є наявність звукової сигналізації, що оповіщає власника про спробу підбору коду. Також є можливість зміни коду доступу, до замка. Встановлений датчик сповіщає про відкриття та закриття дверей світовою індикацією. З середини замок відкривається за допомогою кнопки.
Далі, з використанням вибраних пристроїв була побудована функціональна схема. Розробка завершилася складанням блок-схеми алгоритму та написанням коду програми для мікроконтролера.
Література
1. Бєлов А.В. «Самоучитель по микропроцессорной технике.» - Видавничий дім «Наука и техника», 2003. - 203с.
2. Бєлов А.В. «Конструирования устройств на микроконтроллере.» - Видавничий дім «Наука и техника», 2007. - 165с.
3. Мілих В.І., Шавьолкін О.О. «Електротехніка електроніка та мікропроцесорна" електроніка.» - Видавничий дім «Каравела», 2008. - 385с.
4. Локазюк В.Н. «Мікропроцесори та мікроЕОМ у виробничих системах» - Видавничий дім «Академія», 2002. - 153с.
5. Якименко Ю.І., Терещенко Т.О., Сокол Є.І., Жуйокв В.Я. «Мікропроцесорна техніка» - Видавничий дім «Кондор», 2008. - 162с.
6. Опис мікроконтролера AT90S2313 http://www.gaw.ru/html.cgi/txt/ic/Atmel/micros/mcs51/at89c2051.htm
7. Журнал «Радио» 2011р. 4 - Випуск. Стаття Н. Салимова «Шагомер на микроконтроллере Attiny2313» - 34с.
8. Корячко В.П. «Микропроцесоры и микроЭВМ в радиоэлектронных средствах» - Видавничий дім «Высшая школа», 1990. - 76с.
9. Болл Стюарт Р. «Аналоговые интерфейсы микроконтроллеров». - Видавничий дім «Додэка-ХХІ», 2007. - 198с.
10. Опис електромеханічного замка «ПОЛИС-13»: http://dialog-universal.ru/product_info.php?cPath=109&products_id=173
11. Хоровиц П., Хилл У. «Искусство схемотехніки» - Видавничий дім «Мир», 2003. - 395с.
Додатки
Код програми на асемблері
dseg
door_code equ r0 ;масив введених значень
attempts equ 38h ;змінна - число спроб введення
cseg
org 00h
ajmp main
org 0bh
ajmp timer0
org 100h
main:
anl pd4, # 1h ; вимикання світлодіода і динаміка
mov ie, # 82h ; дозволяємо переривання від таймера
mov tmod, # 1h ; задаємо режим таймера - 16 біт
mov door_code, # 30h ; завдання адреси для вводу цифр коду
mov attempts, # 3h ; кількість спроб
sjmp ent1 ; перехід до початку головного циклу
enter_digit: ; обробка введеного значення
mov @ door_code, a ; запам'ятовуємо цифру
inc door_code ; переходимо до наступної адреси
mov a, door_code
call delay2
cjne a, # 36h, ent1 ; перевіряємо, чи всі цифри введені
ajmp compare ; перехід до порівняння кодів
ent1: ; введення 1
mov pb0, # 0feh ; встановлюємо 0 на виході P0.0
jb pb4, ent2 ; якщо не натиснута кнопка, до слід. кнопці
call delay2 ; чекаємо, поки пройде брязкіт контактів
mov a, # 1h ; запам'ятовуємо введену цифру
wait1:
jnb pb4, wait1 ; чекаємо, поки відпустять кнопку
ajmp enter_digit ; перехід до оброб. введеного значення
ent2: ; введення 2
jb pb5, ent3
call delay2
mov a, # 2h
wait2:
jnb pb5, wait2
ajmp enter_digit
ent3: ; введення 3
jb pb6, ent4
ц2цcall delay2
mov a, # 3h
wait3:
jnb pb6, wait3
ajmp enter_digit
ent4: ; введення 4
mov pb0, # 0fdh
jb pb4, ent5
call delay2
mov a, # 4h
wait4:
jnb pb4, wait4
ajmp enter_digit
ent5: ; введення 5
jb pb5, ent6
call delay2
mov a, # 5h
wait5:
jnb pb5, wait5
ajmp enter_digit
ent6: ; введення 6
jb pb6, ent7
call delay2 mov a, # 6h
wait6:
jnb pb6, wait6
ajmp enter_digit
ent7: ; введення 7
mov pb0, # 0fbh
jb pb4, ent8
call delay2
mov a, # 7h
wait7:
jnb pb4, wait7
ajmp enter_digit
code_wrong: ; обробка невірного коду
mov door_code, # 30h ; повертаємося до початку масиву
djnz attempts, ent1 ; якщо є ще спроби, в гол. цикл
setb pd3 ; включення звукового сигналу
call delay ; затримка 1 с
clr pd3 ; вимкнення звукового сигналу
mov attempts, # 4h ; віднов. число спроб
jmp code_wrong
compare: ; порівняння кодів
dec door_code ; переходимо до попередньої цифри
cjne @ door_code, # 6h, code_wrong ; перевіряємо 6-ю цифру і далі всі
dec door_code ; цифри по порядку
cjne @ door_code, # 5h, code_wrong
dec door_code
cjne @ door_code, # 4h, code_wrong
dec door_code
cjne @ door_code, # 3h, code_wrong
dec door_code
cjne @ door_code, # 2h, code_wrong
dec door_code
cjne @ door_code, # 1h, code_wrong
clr pd2 ; відкрити замок
setb pd4 ; включити світлодіод
mov attempts, # 3h ; відновл. к-ть спроб
wait_open:
jnb pd5, wait_open ; чекаємо, поки відкриється двері
call delay2
wait_close:
jb p0.7, wait_close ; чекаємо, поки закриється двері
setb pd2 ; закрити замок
clr pd4 ; вимкнути світлодіод
ajmp ent1 ; перехід в гол. цикл
timer0: ; обробка переривання від T0
clr tcon.4
clr tcon.5
reti
delay: ; затримка 1 с
mov r1, # 1fh
loop1:
mov th0, # 0h
mov tl0, # 0h
setb tcon.4
loop2:
jb tcon.4, loop2
djnz r1, loop1
ret
delay2: ;затримка 5 мс
mov r3, # 13h
loop4: mov r2, # 0ffh
loop3:
djnz r2, loop3
djnz r3, loop4
ret
end
Размещено на Allbest.ru
...Подобные документы
Дослідження можливостей та властивостей мікроконтролера ATtiny13, його архітектури. Розробка програми, що керує роботою мікропроцесора. Моделювання роботи системи кодового захисту з однією кнопкою. Організація пам’яті та розподіл адресного простору.
курсовая работа [1,0 M], добавлен 01.06.2013Історія виникнення та характеристика мікропроцесора Power. Архітектура мікропроцесора MPC8640D. Порівняння процесорів MPC8640D і Core i5 650. Будова мікропроцесорної системи. Формалізація задачі, розробка програми на Assembler. Створення ехе–файлу.
курсовая работа [2,0 M], добавлен 13.06.2010Поняття компілятора та теоретичні основи його роботи. Введення коду програми завантаженням текстового файлу. Опрацювання тексту лексичним та синтаксичним аналізаторами. Генерація та оптимізанія об'єктного коду. Побудова графічного інтерфейсу програми.
курсовая работа [586,6 K], добавлен 22.01.2014- Розроблення алгоритму і програми а NASM асемблері для додавання / множення чисел з плаваючою крапкою
Розробка алгоритму роботи програми, її загальна характеристика та функціональні особливості, умови ефективного використання. Способи виклику та адреса завантаження, відомості про використання оперативної пам'яті. Посібник системного програміста.
курсовая работа [182,6 K], добавлен 07.06.2016 Значення операційної системи - програми, яка завантажується при включенні комп'ютера. Компоненти Windows, передача параметрів у мові С++. Системні ресурси та принципи їх роботи. Розробка алгоритму програми емуляції роботи командного процесора ОС.
курсовая работа [37,5 K], добавлен 18.06.2010Принципи побудови та функціонування алгоритмів розпізнавання та виправлення помилок в кодових послідовностях. Переклад символів імені у послідовність цифр 16-річної системи числення. Заміна на протилежне значення біту і можливість його виправлення.
курсовая работа [660,0 K], добавлен 02.10.2010Основи розробки додатків Windows. Параметри функції WinMain. Запуск процесу, використання для цього вибраних на диску файлів. Відслідковування кожного з процесів (його статус, назву, час життя), діяльності користувача. Опис алгоритму роботи програми.
курсовая работа [202,6 K], добавлен 14.05.2015Винахід мікропроцесора розв’язав суперечність між високим ступенем інтеграції, що забезпечує напівпровідникова мікротехнологія, та великим числом інтегральних схем. Розробка програми ініціалізації МК для роботи з пристроями, що входять до складу системи.
курсовая работа [265,6 K], добавлен 18.12.2010Характеристики вузлів системи автоматичного закривання жалюзі. Розробка схеми електричної функціональної. Блок-схема алгоритму роботи пристрою. Середовище розробки програмної частини пристрою. Основні компоненти розробки програмної частини системи.
курсовая работа [1,0 M], добавлен 06.12.2014Опис підрозділу гнучких виробничих систем (ГВС) як об‘єкта управління. Проектування алгоритмічного забезпечення системи оперативного управління. Складання розкладу роботи технологічного обладнання. Розробка програмного забезпечення підсистем СОУ ГВС.
курсовая работа [2,0 M], добавлен 11.07.2012Розробка структурної схеми системи управління, головні вимоги до основних елементів. Обґрунтування та вибір елементної бази. Блок-схема алгоритму і програми реалізації закону управління (лістинг програми). Зміст програми керування мікроконтроллером.
курсовая работа [170,7 K], добавлен 28.08.2012Розробка інформаційної системи для автоматизації, підвищення ефективності та спрощення роботи відділень та приймальної комісії. Опис основних класів, варіантів взаємодії системи. Процес авторизації реєстратора. Процес створення запиту в системі.
курсовая работа [694,9 K], добавлен 16.12.2014Створення алгоритму програмної моделі розкладу в учбовому закладі для ефективного вирішення завдань автоматичного складання розкладу, шляхом підбору найбільш оптимальних варіантів. Шляхи реалізації розробленого алгоритму в середовищі Mathemetica 5.0.
дипломная работа [5,0 M], добавлен 25.10.2012Програма, що модифікує деякі команди для того, щоб вони могли працювати в захищеному режимі роботи мікропроцесора. Вимоги до надійності, маркування і пакування. Умови експлуатації. Стадії і етапи розробки програми. Опис і розробка алгоритму рішення.
курсовая работа [42,4 K], добавлен 20.01.2009Розробка програми мовою Turbo Pascal для автоматизації процесу перевірки оцінок та аналізу успішності групи, для збереження і перегляду всієї інформації стосовно навчання. Формальна постановка задачі, створення алгоритму та вихідного коду програми.
курсовая работа [36,0 K], добавлен 13.10.2010Коректність роботи системи при заданих початкових умовах. Мета - оцінка втрат повідомлень, відносної пропускної спроможності системи та визначення коефіцієнта завантаженості системи. Текст програми та результати її роботи.
курсовая работа [34,3 K], добавлен 16.06.2007Порядок та характеристика етапів розробки та апробації програми "водій" для збереження повноти інформування правоохоронних органів, та швидкості її надання. Структура зберігаючих даних. Формування вихідного коду даної програми. Створення головного поля.
контрольная работа [14,3 K], добавлен 07.10.2010Розробка програми, яка розраховує параметри магнітних ланцюгів генератора постійного струму і асинхронного двигуна, з можливістю імпорту результатів розрахунків в документ Word, а також передбачена можливість збереження результатів в текстовому файлі.
курсовая работа [1,2 M], добавлен 17.04.2009Технічний документообіг проектних організацій та характер інформаційних потоків. Вимоги до проектованої системи: до надійності, роботи, розповсюдження програми. Обґрунтування вибору середовища розробки, вибір середовища, вимоги до окремих компонентів.
дипломная работа [166,7 K], добавлен 20.07.2014Архітектурні особливості процесора ARM9E. Набори інструкцій ARM i Thumb. Порівняння компіляторів за швидкістю роботи та обсягом згенерованого коду. Операційні системи, які підтримує процесор ARM9E. Розміри коду підпрограм для ARM та Thumb станів.
курсовая работа [522,6 K], добавлен 08.09.2011