Рисунок 3 Графічне зображення SN74LS145N
Для побудови мікропроцесорної системи недостатньо мікроконтролера та дешифратора. Всі мікропроцесорні та навіть елементарні системи будуються за допомогою таких складових як конденсатори, резистори, діоди та інших елементів. Кожен з них виконує свою власну функцію. Стабілізації, згладжування, та збільшення опору або очищення від шумів на схемі.
2 СПЕЦІАЛЬНИЙ РОЗДІЛ
2.1 Розробка принципової схеми годинника
2.1.1 Етапи створення принципової схеми
Для реалізації теми дипломного проекту, а саме проектування мікропроцесорної системи для багатоканального інформаційного табло, необхідно створити годинник та під’єднати його до табло.
Розпочнемо з створення годинників. Для стабільної роботи та виконання відповідних функцій необхідно було обрати елементи для реалізації завдання. На даному етапі розвитку мікроелектроніки широке розповсюдження отримали AVR мікроконтролери. Однією з переваг мікроконтролерів на відмінність від мікросхем є те, що вони можуть виконувати велику кількість підпрограм завдяки потужному контролеру, який містить великий об’єм оперативної пам’яті (від 512 Кбіт), а також мікроконтролери володіють багатим різноманіттям периферійних пристроїв і великою кількістю портів вводу виводу даних. Тому в дипломному проекті було обрано саме мікроконтролер серії ATmega.
ATMega-8 - 8-розрядний КМОП мікроконтролер заснований на архітектурі Atmel AVR. Контролер виконує більшість інструкцій за 1 такт, тому обчислювальна потужність контролера рівна 1MIPS на 1 Мгц. Блок схема процесора показана на рисунку 4.
Рисунок 4 Блок – схема процесора ATMega 8
Мікроконтролер має RISC – архітектуру, але формат команди двооперандний, за один такт може бути звернення тільки до двох регістрів. Контролер містить 32 регістри, які можуть рівноправно використовуватися в арифметичних операціях.
Основні апаратні характеристики мікроконтролера:
- 8 кб флеш пам’яті команд;
- 512 байт електричнопрограмовної пам’яті;
- 1 кбайт статичної пам’яті;
- 23 лінії ввода/вивода загального призначення;
- 32 регістра загального призначення;
- три багатоцільових таймера – лічильника з режимом порівняння;
- підтримка внутрішніх і зовнішніх переривань;
- універсальний асинхронний адаптер;
- байт орієнтований двох провідний послідовний інтерфейс;
- 6/8 канальний АЦП з точністю до 8 і 10 двійкових розрядів;
- сторожовий таймер;
- послідовний порт SPI;
- розширені режими управління енергоспоживання.
Основні елементи архітектури мікроконтролера ATmega8.
Ядро мікроконтролера, що зображене на рисунку 5, виконує команди програми.
Рисунок 5 Блок – схема ядра AVR
Ядро включає елементи гарвардської архітектури з незалежними шинами, тому вибірка інструкцій проводиться незалежно від операцій в арифметично логічному пристрої (АЛП).
Старші 6 8-ми бітових регістрів утворюють 3 регістрові пари, які використовуються для адресації пам'яті - X,Y,Z.
АЛП проводить арифметико-логічні операції між регістрами (без обмежень) і регістром і константою. Кожна арифметико-логічна операція встановлює прапори в регістрі прапора (рис. 6).
I - прапор дозволу переривання;
T - прапор-хранитель біта - встановлюється і аналізується тільки спецінструкціями;
H - прапор додаткового перенесення з 3-го розряду в 4-й;
S - прапор знаку результату;
V - прапор переповнювання;
N - прапор негативного результату операції;
Z - прапор нуля;
С - прапор перенесення.
В АЛП підтримується апаратний стек у внутрішній статичною пам'яттю.
Структура регістрового файлу показана на рисунку 7.
На рисунку 7 видно, що 6 старших регістрів утворюють регістрові пари - індексні регістри. Ядро процесора за допомогою цих регістрів допускають автоінкрементну, атодекрементну адресацію і адресацію з малим зсувом.
Ядро процесора ATmega працює в декілька таймерів 0-му та 1-му.
0-й таймер загального призначення має 8-бітовий лічильник з 10-бітовим додатковим дільником частоти. Таймер може генерувати переривання по переповнюванню, або по досягненню значення.
1-й таймер має 16-бітовий лічильник. Він може бути використаний для генерації сигналів із змінною шин (широко імпульсні модуляції), генерації частоти і визначення часу надходження зовнішніх подій.
2 регістри, які порівнюють значення таймера можуть використовуватися для генерації імпульсів із змінною шин. Вхідний регістр використовується для завантаження значення таймера в момент надходження зовнішньої події.
Таймера можуть тактуватися різними сигналами 2-й таймер є 8-ми бітовим, і може генерувати частоту і сигнали із змінною шин, генерувати переривання по переповнюванню і досягненню значення.
Аналоговий компаратор використовує 2 вхідні сигнали і виставляє біт порівняння в "1". Компаратор може бути сполучений з таймером для фіксації моменту переходу біта з результатом компаратора в інше значення. Всього мультиплексор може комутувати до 8 входів.
В флеш-пам'яті виділена область завантажувача, яка може бути захищена від стирання, а також в неї існує програма, що може використовуватися як завантажувач виконуваних кодів за допомогою будь-якого інтерфейсу контролера. Природно внутрішня флеш-пам'ять може програмуватися ззовні програматором в двох режимах – паралельному і послідовному [2].
З урахуванням особливостей мікроконтролера було обрано відповідні елементи. Одним із них є дешифратор SN74LS145. Потім слід обрати блок живлення, який буде відповідатипараметрам схеми.
Для створення схеми блока живлення, перш за все, необхідно визначитися початковими параметрами – напругу, яка буде видавати наш блок живлення та максимальний струм, який він буде спроможний видавати в навантаженні. Тобто, наскільки потужне навантаження можливо до нього під’єднати. Наш блок живлення буде мати вихідну напругу 12 V. А струм навантаження візьмемо рівним 1 А.
Рисунок 8 Схема блока живлення
Для того щоб спаяти схему блока нам знадобляться елементи, які зображенні на рисунку 8. Перш за все, знадобиться трансформатор з напругою на вторинній обмотці 11 – 13 V та струмом навантаження неменше 1 ампера (він позначений на схемі Т1). Також знадобиться діодний міст VD1 з максимальним струмом 1 ампер. Далі – С1 – електричний конденсатор, яким будемо фільтрувати та згладжувати вирівняний діодним містом напругу, його параметр зображено в таблиці 1. D1 – стабілітрон – від відповідає за стабілізацію напруги, для того щоб при зміні напруги в мережі, змінювалася напруга і в самій схемі. При створенні схеми обрано стабілітрон Д814Д але й можливо обрати будь-який інший з напругою стабілізації 13 вольт. Також нам знадобиться постійний резистор R1,а також два транзистори – КТ 315 з будь-якою літерою в назві та КТ 817 також з будь-якою літерою. Всі елементи зображені в таблиці 1.
Таблиця 1 Елементи схеми блоку живлення
Позначення на схемі | Номінал | Ознаки |
Т1 | Будь-який з напругою вторинної обмотки 11-13V | |
VD1 | КЦ405Б | Діодний міст. Максимальний вирівнювальний ток не менше 1 ампера |
C1 | 4700мкФ х 50V | Електричний конденсатор |
R1 | 470 ом | Постійний резистор |
R2 | 1 Ком | Постійний резистор |
D1 | Д814Д | Стабілітрон. Напруга стабілізації 14В |
VT1 | КТ315 | Транзистор. З будь-яким літерним позначенням |
VT2 | КТ817 | Транзистор. З будь-яким літерним позначенням |
Транзистор VT2 необхідно встановити на радіатор. Оптимальна площа радіатора можна обрати експериментально, але вона повинна буди неменше 30 кв. см. При правильному зібранні схема не потребує налагоджування та починає відразу працювати. Але для переконання роботи необхідно провірити її тестером.
На наступному етапі розробки нашої схеми потрібно створити схему на якій будуть розміщуватися мікроконтролер та інші елементи.
Є декілька можливих способів зібрання схеми: збирання на монтажній платі або ж створити свою власну, яка буде набагато зручніша та виглядати набагато краще. Також це зменшить витрати на нашу схему.
В даному проекті схему було спроектовано за допомогою програми PonyProg. Головною задачею програми PonyProg – це програмування логічних мікросхем. В даний час програма дозволяє працювати не тільки з Code Vision, а також з AVR Studio.
PonyProg може бути встановлена, як на ОС Windows так і на ОС Linux. Для початку роботи необхідно відкрити нове вікно де буде зображено вміст мікросхеми або файлу. Потім необхідно відкрити файл з програмою. PonyProg підтримує 4 різних файлових форматів e2p, intel hex, motorola S-record та двійковий. Але потрібно правильно обрати тип мікросхеми, тому що для кожного типу розширення відповідають свої мікросхеми. Для нашого мікроконтролера програма збережена з розширення .hex. Наступним етапом було сконфігуровано асемблер AVR для генерації формата intel hex з розширенням .hex для FLASH та .eep для EEPROM. (яким чином. Вміст EEPROM повинно виводитися на екран після вмісту FLASH в даному вікні.
І так почнемо прошивати нашу програму в мікроконтролер. Виводиться діалогове вікно для підтвердження необхідної операції. Якщо запис проходить доволі довго, то виводиться індикатор виконання. Якщо необхідно завершити запис, слід натиснути кнопку "Abort". Після запису проводиться автоматична перевірка прошивки програми. Після закінчення виводиться вікно з результатом запису.