Проектування мікропроцесорних систем
Проект мікропроцесорної системи обробки даних на базі мікроконтролеру AtMega8515. Розробка структурної а принципової схем МПС. Розподіл адресного простору блоку індикації цифрових і аналогових каналів. Програмування алгоритму роботи матричної клавіатури.
Рубрика | Коммуникации, связь, цифровые приборы и радиоэлектроника |
Вид | курсовая работа |
Язык | украинский |
Дата добавления | 05.10.2016 |
Размер файла | 988,8 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Зміст
- Вступ
- 1. Аналіз технічного завдання
- 2. Розробка структурної схеми МПС
- 3. Розробка принципової схеми
- 3.1 Розробка блоку мікроконтролера
- 3.2 Розподіл адресного простору
- 3.3 Розробка блоку індикації
- 3.4 Розробка клавіатури
- 3.5 Розробка цифрових каналів
- 3.6 Розробка аналогових каналів
- 3.7 Розробка послідовного інтерфейсу
- 4. Розробка програмного забезпечення
- 4.1 Алгоритм роботи контролера
- 4.2 Алгоритм роботи матричної індикації
- 4.3 Алгоритм роботи порту SPI
- 4.4 Алгоритм роботи матричної клавіатури
- 4.5 Програмування цифрового порту
- Висновок
- Список використаних джерел
Вступ
Мікроконтролери використовуються у всіх сферах життєдіяльності людини: у побутовій техніці, медичних приладах, системах керування ліфтами, телефонах, раціях та інших засобах зв'язку, електронних музичних інструментах та автомагнітолах, комп'ютерній периферії (клавіатурах, джойстиках, принтерах, тощо), світлофорах, автоматичних воротах та шлагбаумах, інтерактивних дитячих іграшках, автомобілях, локомотивах та літаках, роботах та промислових верстатах. В мікроконтролерах присутня простота підключення і великі функціональні можливості. За допомогою програмування мікроконтролера можна вирішити багато практичні завдання апаратної техніки.
Можна вважати що мікроконтролер (МК) - це комп'ютер в одній мікросхемі. Звідси і його основні привабливі якості: малі габарити; висока продуктивність, надійність і здатність бути адаптованим для виконання самих різних завдань.
Використання у сучасному мікроконтролері досить потужного обчислювального пристрою з широкими можливостями, вбудованого на одній мікросхемі замість цілого набору, значно знижує розміри, енергоспоживання і вартість побудованих на його базі пристроїв.
У той час як 8-розрядні мікропроцесори загального призначення повністю витіснені більш продуктивними моделями, 8-розрядні мікроконтролери продовжують широко використовуватися. Це пояснюється тим, що існує велика кількість застосувань, в яких не потрібна висока продуктивність, але важлива низька вартість. У той же час, є мікроконтролери, що мають великі обчислювальні можливості, наприклад, цифрові сигнальні процесори, що застосовуються для обробки великого потоку даних в реальному часі (наприклад, аудіо -, відео потоків).
Досить широке поширення мають МК фірми ATMEL, у яких у своєму розпорядженні є великі функціональні можливості.
Застосування МК можна розділити на два етапи: перший - програмування, коли користувач розробляє програму і прошиває її безпосередньо в кристал, і другий - узгодження спроектованих виконавчих пристроїв з запрограмованим МК. Значно полегшують налагодження програми на першому етапі - симулятор, який наочно моделює роботу мікропроцесора. На другому етапі для налагодження використовується внутрішньосхемний емулятор, який є складним і дорогим пристроєм, часто недоступним пересічному користувачеві.
В даному курсовому проекті буде розроблений контролер керування.
1. Аналіз технічного завдання
Метою курсового проекту є розробка системи керування об'єктом. Система має бути зв'язковою ланкою між об'єктом керування і ЕОМ верхнього рівня у вигляді персональної ЕОМ. При цьому контролер повинен виконувати наведені нижче функції:
- здійснювати прийом інформації від джерела зі стробуванням із використанням лінії “Керування”;
- аналізувати прийняту інформацію і, за необхідністю, виконувати її перетворення;
- протягом інтервалу часу, що задається внутрішнім таймером, формувати масив даних для передачі до ПК;
- здійснювати передачу інформації до приймача із стробуванням з використанням лінії “Керування”;
- після закінчення формування масиву даних і при наявності запиту ПК передавати вказаний масив до ПК.
В курсовому проекті передбачене використання інтерфейсу ІРПС. Базова адреса, що задається, використовується для підрахунку фізичної адреси (ФА), починаючи з якої в адресному просторі контролера розміщуються ВІС контролера переривань, послідовного інтерфейсу і ін. Початкова фізична адреса першої ВІС визначається за формулою:
ФА = БА + N, (2.1)
де БА= 40h - базова адреса; N = 2h - порядковий номер студента за списком у журналі.
ФА = 40h + 2h = 42h
2. Розробка структурної схеми МПС
Структурно контролер складається з двох основних частин: ядра та факультативної частини.
До складу ядра входить:
- Однокристальний мікропроцесор Atmega 8515;
- оперативний запам'ятовуючий пристрій, з організацією пам'яті 3Кб;
- постійний запам'ятовуючий пристрій, з організацією пам'яті2Кб;
- програмований таймер;
- матрична клавіатура;
- матрична індикація;
- послідовний інтерфейс ІРПС.
Факультативна частина реалізує цифрові та аналогові канали вводу-виводу інформації, за допомогою яких контролер взаємодіє з об'єктом керування.
Канали цифрового виводу інформації реалізуються на підставі ППА паралельного, які повинні забезпечити потрібний рівень вихідних сигналів.
Канали аналогового вводу реалізуються на підставі відповідних схем послідовних АЦП, які забезпечують необхідну кількість аналогових каналів. Структурна схема показана на рисунку 3.1. Узагальнена структурна схема пристрою показана на рисунку 3.2.
Рисунок 2.1 - Структурна схема мікропроцесорної системи
Вибір розрядності коду, що передається цифровим каналом, або розрядності АЦП при використанні аналогових каналів виконується згідно з формулами:
NX = log 2 (Xmax / дx), (2.1)
NY = log 2 (Ymax / дy), (2.2)
де Xmax, Ymax - максимальні величини координат ПВГІ і ГРП;
дx, дy - дозволяюча здатність ПВГІ і ГРП за координатами X і Y .
В зв'язку з тим, що максимальні значення координат для ПВГІ і ГРП можуть різнитись, розрахунки виконуються окремо для кожного пристрою.
Користуючись формулами 3.1 та 3.2 розраховуємо розрядність коду для ПВГІ:
NX = log 2 (420 / 0,1) = 13,
NY = log 2 (600 / 0,1) = 13
Користуючись формулами 3.1 та 3.2 розраховуємо розрядність коду для ГРП:
NX = log 2 (420 / 0,25) = 11,
NY = log 2 (300 / 0,25) = 11
Рисунок 2.2 - Узагальнена структурна схема пристрою
Таким чином в курсовому проекті будемо використовувати 2 мікросхеми 14-разрядних АЦП для аналогових каналів, та 1 мікросхему програмованого периферійного адаптера для цифрових каналів.
3. Розробка принципової схеми
3.1 Розробка блоку мікроконтролера
Мікроконтролер. Головною ланкою мікроконтролерної системи є мікросхема мікроконтролера AtMega8515 - 8-розрядного мікроконтролера з внутрішньо-системною програмованою флеш-пам'яттю ємністю 8 Кбайт, який має такі відмінні особливості:
- високоефективний, економічний 8-розрядний AVR мікроконтролер.
- RISC архітектура;
- потужна система команд з 130 інструкціями, більшість з яких виконуються за один машинний цикл;
- 32 восьмирозрядних робочих регістрів загального призначення;
- повністю статичне функціонування;
- продуктивність до 16 млн. Оп. / Сек. при заданій частоті 16 МГц;
-вбудоване множення за 2 циклу;
- енергонезалежна пам'ять програм і даних;
- 8 Кбайт внутрісхемної програмованої флеш-пам'яті з можливістю самозапису. Довговічність: 10,000 циклів «запис-стирання».;
- можливість зчитування під час запису;
- 512 байт ЕППЗУ (EEPROM). Довговічність: 100,000 циклів «запис-стирання»;
- 512 байт внутрішнього статичного ОЗП;
- можливість організації зовнішньої області пам'яті розміром до 64 Кбайт;
- програмування бітів захисту програмного забезпечення;
- три канали ШІМ (широтно-імпульсна модуляція);
- програмований послідовний ПСАПП (пристрій синхронної або асинхронної прийомопередачі);
- послідовний інтерфейс SPI з режимами головний і підлеглий;
- програмований сторожовий таймер з окремим вбудованим генератором;
- вбудований аналоговий компаратор;
- скидання при подачі живлення і програмований супервізорживлення;
- вбудований калібрований RC-генератор;
- внутрішні і зовнішні джерела запитів на переривання;
- три режими управління енергоспоживанням: холостий хід (Idle), знижене споживання (Power-down) і черговий (Standby);
- 35 програмованих ліній введення-виведення;
- робоча частота - 0-16 МГц;
ATmega8515 підтримується повним набором інструментальних і програмних засобів для розробки додатків: Сі-компілятори, макроасемблери, програмні отладчики/симулятори, внутрісхемні емулятори, оціночні набори. Умовне графічне позначення мікроконтролера ATmega8515 показано на рисунку 2.1
Рисунок 3.1 - Умовне графічне позначення мікроконтролера AtMega 8515
Схема синхронізації. Функціонування мікроконтролера AtMega8515 у часі визначається внутрішнім генератором тактових імпульсів(ГТІ). Збудження його задається зовнішнім кварцовим резонатором, що підключається до входів XTAL1, XTAL2 мікроконтролера. Умовне графічне позначення схеми підключення кварцового резонатора для AtMega8515 показано на рисунку 3.2
Рисунок 3.2 - Умовне графічне позначення схеми підключення кварцового резонатора для AtMega8515
Буферний регістр. Для поділу шини адреса даних мікроконтролера будемо використовувати регістр i8282 - 8-розрядний адресний регістр, призначений для зв'язку мікропроцесора з системною шиною; володієте підвищеною здатністю навантаження. Умовне графічне позначенняi8282 показано на рисунку 3.1. Запам'ятовування сигналу в тригерах досягається при переході сигналу STB від високого рівня до низького. Сигнал керує вихідними буферами: при =0 буфер відпирається, при =1 він встановлюється в третій стан.
Рисунок 3.3 - Умовне графічне позначення i8282
Організація скидання мікроконтролера. В процесі скидання в усі регістри вводу-виводу записуються їх початкові значення і виконання програми починається з вектора скидання. За вектором скидання повинна зберігається інструкція абсолютного переходу JMP на мітку процедури обробки скидання. Якщо в програмі не використовуються джерела переривання, то вектори переривань не використовуються, а зарезервовані під них осередки пам'яті можуть використовуватися для рівномірного розташування коду програми. Умовне графічне позначення схеми скидання мікроконтролера AtMega8515 показано на рисунку 3.4
Рисунок 3.4 - Умовне графічне позначення схеми скидання мікроконтролера AtMega8515
3.2 Розподіл адресного простору
В мікропроцесорній системі на базі мікропроцесору Atmega8515 головна пам'ять має об'єм 64 К слів. В цій пам'яті розміщується ОЗП починаючи з адреси 0000Н та ПЗП, яка розміщується за ОЗП.
Розраховуємо початкову та кінцеву адреси ОЗП та ПЗП.
Кінцева адреса ОЗП та ПЗП розраховуються однаково за формулою
Ак = Ан + (Об-1), (3.1)
де Ак - кінцева адреса ЗП;
Ап - початкова адреса ЗП;
Об - об'єм ЗП.
Користуючись формулою 4.1 розраховуємо кінцеву адресу ОЗП
Ак = 0000Н+(3•1024-1) = BFFh
Розраховуємо початкову адресу ПЗП виходячи з того, що ПЗП розміщується зразу після ОЗП.
АнПЗП = АкОЗП+1 (4.2)
АнПЗП = BFF+1 = C00h
Користуючись формулою 4.2 розраховуємо кінцеву адресу ПЗП
АкПЗП = C00h+(2•1024-1) = C00h+800h = 13FFh
Таблиця 3.1
Таблиця розподілу адресного простору мікропроцесорної системи
A15 |
A14 |
A13 |
A12 |
A11 |
A10 |
A9 |
A8 |
A7 |
A6 |
A5 |
A4 |
A3 |
A2 |
A1 |
A0 |
||
Начальна адреса ОЗП |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
Конечна адреса ОЗП |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
|
Начальна адреса ПЗП |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
Конечна адреса ПЗП |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
Розробка ОЗП. В мікропроцесорній системі ОЗП будується на основі мікросхеми К185РУ5. Ця мікросхема являє собою статичний оперативний запам'ятовувальний пристрій на основі ТТЛ - елементів, що має 10 адресних входів, та вихід з відкритим колектором. Умовне графічне позначення К185РУ5 показано на рисунку 3.5 Таблиця істинності мікросхеми К185РУ5 надана в таблиці 3.2
Рисунок 3.5 - Умовне графічне позначення мікросхеми К185РУ5
Мікросхема має наступні технічні характеристики:
Інформаційна ємність 1024 біт
Організація 1024 слів х 1 розряд
Термін вибірки адреси Не більше 350 нс
Напруга живлення 5В±10%
Споживана потужність:
в режимі звернення не більш ніж 360 мВт
в режимі зберігання не більш ніж 225 мВт
Таблиця 3.2
Таблиця істинності мікросхеми К185РУ5
/RD |
A0….A9 |
DI |
D0 |
Режим роботи |
||
1 0 0 0 |
X 0 0 1 |
X А А А |
X 0 1 Х |
1 1 1 Данні у прямому коді |
Зберігання Запис 0 Запис 1 Зчитування |
Для досягнення необхідного об'єму 3К байт (3К слів х 8 розрядів) розрахуємо загальну кількість мікросхем ОЗП
Для досягнення необхідної розрядності ОЗП потрібно адресувати паралельно окремі ВІС ОЗП. При цьому кількість ВІС ОЗП у рядку визначається як
mp = n/nbic (3.3)
де mp - кількість ВІС у рядку;
n = 8 - розрядність шини даних;
nbic = 1 - розрядність однієї мікросхеми.
mp = 8/1 = 8
Досягнення необхідної кількості комірок пам'яті ОЗП відбувається шляхом з'єднання послідовно адресованих ВІС ОЗП, що мають однакову розрядність. Кількість ОЗП у стовбці визначається за виразом
Mc = N/Nbic (3.4)
де N = 3К - необхідна кількість комірок пам'яті ОЗП;
Nbic = 1K- кількість комірок пам'яті в одній мікросхемі;
Mc - кількість ОЗП у стовбці.
Mc = 3К/1К = 3
Загальна кількість ВІС ОЗП, яка необхідна для організації запам'ятовуючого пристрою, що проектується, визначається як
m = mp •Mc (3.5)
m = 8 • 3 = 24
Шинний формувач. Так як мікросхеми ОЗП мають вихід відкритий колектор, нам необхідно розробити шинний формувач. В якості основного елементу формувача шини даних вибираємо мікросхему i8286, яка є 8-розрядним шинним формувачем неінвертуючим, що має 3 стани. Дозвіл передачі залежить від рівню сигналу (ОЕ), а напрямок передачі визначається рівнем сигналу на виводі Т. Умовне графічне позначення i8286 показано на рисунку 3.6
Передача сигналів через формувач дозволено, якщо рівень сигналу на виводі сигналу (ОЕ) = 0. Напрямок передачі визначається станом виводу Т. При Т = 1 відкритий верхній формувач функціональної схеми і передача сигналів відбувається від групи виводів А до виводів групи В. При Т=0 навпаки.
Рисунок 3.6 - Умовне графічне позначення i8286
Також для кожного виводу мікросхеми потрібно підключити резистори номіналом в 1кОм, які, у відсутності посадки на землю і великого опору, що висить на виході навантаження, заводить на ці виходи високий потенціал. Умовне графічне позначення підтягуючих резисторів показано на рисунку 3.7.
Рисунок 3.7 Умовне графічне позначення підтягуючих резисторів
Розробка ПЗП. В мікропроцесорній системі ПЗП будується на основі мікросхеми К1601РР1, яка є електричним перепрограмованим постійним запам'ятовуючим пристроєм з трьома станами. Умовне графічне позначення показано на рисунку 3.8 Таблиця істинності надана в таблиці 3.3
Рисунок 3.8 - Умовне графічне позначення мікросхеми К1601РР1
Таблиця 3.3
Таблиця істинності мікросхеми К1601РР1
CS |
ER |
PR |
RD |
A0…A3 |
A4…A9 |
UPR, В |
DIO0…DIO7 |
Режим роботи |
|
0 1 1 1 1 1 |
Х 0 0 1 1 1 |
Х 1 0 0 0 1 |
Х 0 0 0 0 1 |
Х Х Х А А А |
Х Х Х А А А |
Х (33…31)В (33…31)В (33…31)В (33…31)В (33…Ucc2) |
Roff X 1 1 0 Вихідні данні у прямому коді |
Збереження Загальне стирання виборче стирання Запис 1 Запис 0 Зчитування |
Мікросхема має такі характеристики:
- Інформаційна ємність 4096 біт
- Організація слів x розрядів 1024 слів х 4 розряд
- Час вибірки адреса Не більше 1,8 мкс
- Час зберігання інформації
- в включеному стані в режимі не вибора - не менше 500ч годин
- в вимкненому стані Не менше 3 000 годин
- час безперервного зчитування інформації,
записаної в мікросхему - не менше 250 годин
- Число циклів перепрограмування - не менше 104
- Напруга живлення Ucc2 = 5 B ± 5%
Uсс1 = -12 B ± 5%
UPR =-33 В…Ucc2 (в режимі зчитування
- Загальна споживана напруга
(у режимі зчитування )Не більше 625 мВт
- Діапазон температур -45 … +70С
- Вихід Три стани
Для досягнення необхідного об'єму 2К байт (1К слів х 4 розрядів) розрахуємо загальну кількість мікросхем ПЗП.
Згідно з формулою 3.3 розраховуємо необхідну кількість мікросхем ПЗП в стовбці.
Mp = 8/4 = 2
Згідно з формулою 3.4 розраховуємо необхідну кількість мікросхем в стовбці.
Mc = 2K/1K = 2
Згідно з формулою 3.5 розраховуємо загальну кількість мікросхем ПЗП
M = 2 • 2 = 4
Розробка дешифратора адреси. Дешифратор адреси запам'ятовуючого пристрою призначений для розпізнавання адреси та переведення мікросхем ЗП в робочій стан. Кількість виходів дешифратора визначається кількістю мікросхем в стовбці. Так як організація мікросхем ОЗП і ПЗП однакова, необхідно вибрати спільний дешифратор з розрядністю - 3, а саме мікросхему SN74LS138N. Умовне графічне позначення показано на рисунку 3.9
Для повної і правильної роботи дешифратора будемо використовувати мікросхему SN7404N для інвертування сигналів для вибірки мікросхем пам'яті. Умовне графічне позначення SN7404N показано на рисунку 3.10.
Рисунок 3.9 - Умовне графічне позначення SN74LS138N
Рисунок 3.10 - Умовне графічне позначення SN7404N
3.3 Розробка блоку індикації
Одним із важливих вузлів МПС є пристрої відображення інформації. Це зв'язано з тим, що при експлуатації більшість МПС присутність оператора обов'язкова. В завданні до курсового проекту блок індикації містить 3 матричні індикатори IE-57O-112U
Характерні особливості:
- Частота надходження імпульсівне більше 2 МГЦ
- Час встановлення сигналуне більше 70 нс
- максимальна температура корпусане більше 85°С
Основною його перевагою можна вважати можливість відображення графічної інформації і нестандартних символів. Серед недоліків слід відзначити необхідність використання великих ресурсів системи, як на апаратному, так і на програмному рівні. Пов'язано це з потребою генерації символів і організації режиму динамічної індикації.
Для висвітлення символів на індикаторах реалізовано 7x5 матрицю, тому на рядки потрібно подавати 7-розрядний код, а на стовбці 5-розрядний код, а так як кількість індикаторів в схемі 3, то загальна кількість стовбців - 15. Таким чином, будемо використовувати мікросхему SN74154N для дешифрації стовбців. Умовне графічне позначення показано на рисунку 4.11
За допомогою цього дешифратора та мікроконтролера, ми зможемо звертатися до кожного стовпця в усіх трьох індикаціях.
Рисунок 3.11 - Умовне графічне позначення SN74154N
Для постійного висвітлення символів двійковий код необхідно запам'ятовувати. Тому для збереження інформації, а також для можливості підключення до шини даних вибираємо мікросхему SN74LS374, яка є восьми розрядним регістром - фіксатором з трьома станами на виходах. Переведення виходів в активний стан відбувається при наявності логічного нуля на вході . Запис інформації відбувається по передньому фронту символу на вході С. Умовне графічне позначення показано на рисунку 3.12
Рисунок 3.12 - Умовне графічне позначення мікросхеми SN74LS374
3.4 Розробка клавіатури
Практично жоден МПП не обходиться без кнопок і простих датчиків. За допомогою цих периферійних елементів в мікроконтролер поступає різна інформація, яка використовується для зміни алгоритму роботи програми. Один із прикладів цих датчиків є клавіатура. Вона складається з двох основних частин: набору клавіш, що відповідають набору знаків алфавіту і функцій редагування, та пристроїв кодування для перетворювання сигналу на тисненої клавіші в паралельний код обміну інформацією (КОІ).
Кожна клавіша знаходиться у вузлі матриці провідників, яка складається з mx стовпців та my рядків, кількість яких вибирають із умови:
Na = mx * my (4.6)
де Na - загальна кількість клавішь;
mx = 8 - кількість рядків клавіатури;
my = 3 - кількість стовбців клавіатури.
Na = 8 * 3 = 24
Таким чином клавіатура складається з 8 рядків і 3 стовбців. При скануванні на горизонтальних лініях матриці формується сигнал нуля, що "біжить". На решті виходів зберігається рівень логічної 1. Будемо використовувати мікросхему SN74LS138N - Повний двійково-десятковий дешифратор на 3 входи і 8 виходів. Входи служать для подачі трьох розрядного двійкового коду, виходи - для видачі його десяткового еквіваленту. Умовне графічне позначення показано на рисунку 3.13
Для кожної фази нуля, що "біжить", проводитися зчитування і аналіз коду стовбців клавіатури. При замиканні якої-небудь з клавіш матриці, програмно встановлюється код даної клавіші. Це можна реалізувати за допомогою мікросхеми SN74LS147 - шифратор на 9 каналів без стропування. Умовне графічне позначення показано на рисунку 3.14
Рисунок 3.13 - Умовне графічне позначення SN74LS138N
Рисунок 3.14 - Умовне графічне позначення SN74LS147
При роботі з механічними кнопками виникає одна проблема - брязкіт контактів. Суть його в тому, що при замиканні контакт спрацьовує не один раз, а в момент замикання і розмикання відбувається кілька спрацьовувань. Відбувається це від того, що ідеальний контакт виникає не відразу, а через якийсь час, іскрить і скрегоче, хоч це і не видно. Ось і виходить, що замість одного перепаду отримуємо спочатку серію сплесків і тільки потім виникає стійкий стан. Але мікроконтролер працює з такою швидкістю, що встигає порахувати ці сплески як стійкі стани. Вирішити цю проблему можна апаратно, за допомогою RS тригера, так і програмно - внісши невелику затримку перед наступним опитуванням кнопки. Затримка підбирається така, щоб брязкіт встиг припинитися до її закінчення. Ми будемо вирішувати цю проблему програмним шляхом.
3.5 Розробка цифрових каналів
мікропроцесорний даний цифровий аналоговий
Будь-який пристрій має бути тим чи іншим чином пов'язаний з зовнішнім світом. У мікропроцесорній техніці цю роль виконують периферійні адаптери. З їх допомогою мікроконтролер видає дані чи управляє різними пристроями.
Так як наша система повинна виводити цифровий сигнал, ми використовуємо програмований периферійний адаптер (ППА) i8255, що являє собою три канали введення / виведення A, B і C по 8 біт кожен. Існує три режими роботи мікросхеми. В даному курсовому проекті система працює в 0 режимі. У цьому режимі порти А і В та дві різні частини порту С незалежно налаштовуються для введення або виведення інформації без супроводу сигналів керування. Дані, які виводяться з мікроконтролера, завжди попередньо завантажуються в акумулятор. За командою OUT вміст акумулятора пересилається в адресуємий порт, де воно запам'ятовується. Режим 0 використовується в програмно-керуючому вводі-виводі з периферійними пристроями, які діють повільно. Умовне графічне позначенняi8255 показано на рисунку 3.15
Рисунок 3.15 - Умовне графічне позначення i8255
Інтерфейс складається зі схем керування вводом-виводом СКВ/В, буфера шини даних БД; схем керування групами А та В, в які входять регістри керуючого слова (РКС), та трьох 8-розрядних портів А,В і С, причому порт С складається із двох 4-розрядних портів, які можуть програмуватися окремо. Всі ці вузли зв'язані внутрішньою шиною даних.
Згідно з формулами 3.1 і 3.2 розрядність коду для ГРП: для X дорівнює 11, для Y також - 11. Таким чином ми можемо використати тільки одну мікросхему i8255, і запрограмувати всі її порти в 0 режим на вихід.
Вибірка мікросхеми відбувається за допомогою підключення логічних елементів І, АБО,НІ. В якості логічного елемента І ми будемо використовувати мікросхему SN7430N. Умовне графічне позначення показано на рисунку 3.16
Рисунок 3.16 - Умовне графічне позначення SN7430N
В якості логічного елемента АБО ми будемо використовувати мікросхему К155ЛЛ2. Умовне графічне позначення SN74453N показано на рисунку 3.17
Рисунок 3.17 - Умовне графічне позначення SN74453N
В якості логічного елемента Ні ми будемо використовувати мікросхему К155ЛН1. Умовне графічне позначення SN7404N показано на рисунку 4.10
3.6 Розробка аналогових каналів
Для передачі аналогового сигналу до МПС використовують аналого-цифровий перетворювач(АЦП). АЦП сприймає аналоговий сигнал, напругу або струм, і перетворює його в цифрове слово, зрозуміле МП. Аналого-цифрове перетворення використовується скрізь, де потрібно обробляти, зберігати або передавати сигнал в цифровій формі. Швидкі відео АЦП використовуються, наприклад, в ТВ-тюнерах. Повільні вбудовані 8, 10, 12, або 16-бітові АЦП часто входять до складу мікроконтролерів. Дуже швидкі АЦП необхідні у цифрових осцилографах. В нашому випадку ми використовуємо послідовні АЦП, перевагою даного класу є порівняльна простота побудови, обумовлена послідовним характером виконання процесу перетворення.
Згідно з формулами 3.1 та 3.2 розрядність коду для ПВГІ дорівнює: для Х - 13, для Y - 13. Таким чином ми будемо використовувати два 14-розряднихпослідовних АЦП TLC4535. Умовне графічне позначення К580ВВ55 показано на рисунку 3.18
Рисунок 3.18 - Умовне графічне позначення TLC4535
Даний АЦП ми будемо підключати через послідовний порт SPI, вбудований в наш мікроконтролер. Інтерфейс передбачає використання 2 зсувних регістрів, які передають інформацію від одного іншому, В даному інтерфейсі існує провідний пристрій, що керує веденим пристроєм. Перший подає тактовий сигнал останньому.
Інтерфейс має 4 режими, що програмуються через 3 регістри . Будемо використовувати 0 режим, в якому сигнал синхронізації починається з низького рівня, і вибірка даних проводиться по передньому фронту сигналу синхронізації. Вибір часу ініціалізації Інтерфейсу SPI мікросхеми TLC3545 показаний на рисунку 3.19
Рисунок 3.19 - Вибір часу ініціалізації Інтерфейсу SPI мікросхеми TLC3545
Так як ми використовуємо тільки АЦП, нам потрібен скорочений варіант схеми підключення, коли лінія MOSI не використовується. Тобто передача даних здійснюється тільки в одну сторону.
Вибірка мікросхем відбувається за допомогою ніжки на мікроконтролері, та використанням інвертора. Умовне графічне позначення інвертора - SN7404N показано на рисунку 3.10
3.7 Розробка послідовного інтерфейсу
Для з'єднання мікроконтролерної системи з ПК широко використовується послідовний інтерфейс синхронної і асинхронної передачі даних, який визначається стандартом EIA RS-232 і рекомендаціями V.24 CCITT. Спочатку створювався для зв'язку комп'ютера з терміналом. В даний час використовується в самих різних застосуваннях.
Інтерфейс RS-232 з'єднує два пристрої. Лінія передачі першого пристрою з'єднується з лінією прийому другого і навпаки (повний дуплекс) Для управління з'єднаними пристроями використовується програмне підтвердження (введення в потік переданих даних відповідних керуючих символів). Можлива організація апаратного підтвердження шляхом організації додаткових RS-232 ліній для забезпечення функцій визначення статусу та управління.
В даному курсовому проекті послідовний інтерфейс RS-232 буде підключатися до нашого мікроконтролера за допомогою вбудованого програмованого послідовного порту УСАПП, що має 4 регістри керування, за допомогою яких можна встановити режими нашого послідовного порту. Особливість даного інтерфейсу є підтримка полнодуплексної синхронної або асинхронної передачі даних. Передача виконується посилками, формат яких задається користувачем. Це дозволяє домогтися сумісності з різними стандартами. Модуль USART буферизований в обох напрямках, що дозволяє домогтися безперервності передачі даних без будь-яких пауз між посилками. Помилки в посилці і переповнення буфера виявляються на апаратному рівні, про що сигналізують окремі прапори статусу.
Також для підключення RS-232 будемо використовувати мікросхему MAX202. Мікросхема розроблена для застосування в інформаційних інтерфейсах RS-232 і V.28, де недоступні джерела живлення ±12В. Вбудовані насоси підкачки заряду перетворюють вхідна напруга +5 В в напругу ± 10 В, необхідне для вихідних рівнів інтерфейсу RS-232. MAX202 відповідає всім специфікаціям стандартів EIA / TIA- 232E і CCIT V.28 на швидкості передачі даних 20 Кбіт / с. Драйвер забезпечують вихідні рівні сигналу ± 5 В, на швидкостях понад 120 Кбіт / с, коли має навантаження, відповідну специфікації EIA/TIA-232E.Умовне графічне позначення MAX202 показано на рисунку 3.20
Для повної працездатності мікросхеми необхідно підключити на певні входи живлення, конденсатори, і землю. Умовне графічне позначення повного включення MAX202 показано на рисунку 3.21
Рисунок 3.20 - Умовне графічне позначення МАХ202
Рисунок 3.21 - Умовне графічне позначення повного підключення МАХ202
4. Розробка програмного забезпечення
Для мікроконтролерів AVR існують різні мови програмування, але, мабуть, найбільш придатними є асемблер і С, оскільки в цих мовах в найкращій мірі реалізовані всі необхідні можливості по управлінню апаратними засобами мікроконтролерів.
Асемблер - це низькорівнева мова програмування, що використовує безпосередній набір інструкцій мікроконтролера. Створення програми на цій мові вимагає хорошого знання системи команд мікроконтролера і достатнього часу на розробку програми. Асемблер має помітні переваги в розмірі кінцевого виконуваного коду, а відповідно, і швидкості його виконання
Асемблер є системою програмування, яка включає мову асемблера та транслятор з цієї мови. Вона також є мовою програмування низького рівня. Чим нижчий рівень мови програмування, тим ближча специфіка роботи програми до самого процесора, для якого вона й була написана. Вважається, що мови низького рівня складніші й потребують більш вузької спеціалізації програміста, оскільки програма написана на асемблері для одного типу процесорів виявиться не завжди придатною для роботи з іншими процесорами. З іншого боку програми написані на асемблері компактні та швидкі, що теж є немало важливим.
4.1 Алгоритм роботи контролера
Алгоритм роботи контролера реалізується у вигляді керуючої програми «Монітор». Узагальнена блок-схема алгоритму керуючої програми наведена на рис. 4.1
Керуюча програма повинна реалізувати такі функції:
- ініціалізація всіх пристроїв контролера;
- за сигналом «введення» при наявності дозволу від контролера здійснювати запис до ОЗП координат Xi , Yj;
- формувати масив даних для передачі до ПК;
- час формування масиву даних визначається інтервалом часу, що задається внутрішнім таймером (величина цього інтервалу визначається керівником курсового проекту);
- розмір масиву не повинен перевищувати деякого рівня, який визначається керівником проекту.
Рисунок 4.1 - Умовне графічне позначення блок-схеми алгоритму керуючої програми
В разі перевищення одного з вказаних параметрів контролер повинен перейти до режиму зв'язку з ПЕОМ (прийом інформації при цьому переривається);
- здійснювати контроль достовірності прийнятої інформації шляхом порівняння прийнятих даних з заданими межами;
- виконувати масштабування даних при формуванні посилок до ГРП, якщо величини Xmax , Ymax для ПВГІ і ГРП відрізняються між собою;
- керувати виведенням інформації до ГРП, супроводжуючи її керуючим сигналом “Вивід”;
- реалізувати драйвер зв'язку контролера з ПЕОМ за допомогою інтерфейсу RS-232.
4.2 Алгоритм роботи матричної індикації
Блок матричної індикації містить регістр та дешифратор, за допомогою яких виконується опитування кожного стовпця матричних індикаторів. Це можливо зробити якщо на дешифратор виділити 4 виходів мікроконтролера і запрограмувати ці виходи на рахунок до числа, що дорівнює кількості стовбців в матричному блоці. На регістр треба підключити шину даних, та видавати на входи регістра двійковий код стовпця символу. Алгоритм роботи матричної індикації зображений на рисунку 4.2.
В даному курсовому проекті на блок індикації було виділено сім виводів мікроконтролера:
- PB0, PB1, PB2, PB3 Виводи, що відповідають за опитування стовпців через дешифратор
- PE2 Вхід стробування дешифратора та регістра
- PE1Синхровхід регістра
- PA0, PA1, PA2, PA3, PA4, PA5, PA6, PA7 Шина даних
Рисунок 4.2 - Алгоритм роботи матричної індикації
4.3 Алгоритм роботи порту SPI
Послідовний порт SPI, вбудований в мікроконтролер AtMega8515, передає інформацію за допомогою 2 виводів: PB5, PB6, і також містить входи вибірки(SS), тактових імпульсів(SCK). Алгоритм роботи порту SPI зображений на рисунку 4.3
Рисунок 4.3 - Алгоритм роботи порту SPI
Також для програмування цього порту потрібно запрограмувати 3 керуючі регістри:
- Керуючий регістр SPCR,
- Статусний регістр SPSR,
- Регістр даних SPDR.
Значення першого керуючого слова регістра SPCR приведене на рисунку 4.4
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
SPIE |
SPE |
DORD |
MSTR |
CPOL |
CPHA |
SPR1 |
SPR0 |
|
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
|
0 |
1 |
0 |
1 |
0 |
0 |
0 |
1 |
Рисунок 4.4 - Значення першого слова керуючого регістра SPCR
Значення другого слова статусного регістра SPSR приведене на рисунку 4.5
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
SPIF |
WCOL |
- |
- |
- |
- |
- |
SPI2X |
|
R |
R |
R |
R |
R |
R |
R |
R/W |
|
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
Рисунок 4.5 - Значення другого слова статусного регістра SPSR
Значення прапору керуючого регістра даних SPDR приведене на рисунку 4.6
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
MSB |
- |
- |
- |
- |
- |
- |
LSB |
|
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
|
X |
X |
X |
X |
X |
X |
X |
X |
Рисунок 4.6 - Значення прапору слова статусного регістра SPDR
4.4 Алгоритм роботи матричної клавіатури
Для матричної клавіатури використовується 24 клавіші, що складаються зі 3 стовбців і 8 рядків. Для реалізації опитування рядків будемо використовувати спільні виводи з індикацією PB0…PB3. Для прийому інформації з шифратора будемо використовувати 2 виводи PD2, PD3, вони будуть слідкувати за змінами значень на виходах з шифратора. Таким чином можливо записати код клавіші коли вона нажата. Алгоритм роботи матричної клавіатури зображений на рисунку 4.7
Якщо під час опитування була натиснута клавіша, то виводи мікроконтролера, що відповідають за виходи шифратора відразу запишуть слово нажатої клавіші та виконуватимуть програму по заданому коду.
Рисунок 4.7 - Алгоритм роботи Матричної клавіатури
4.4 Ініціалізація послідовного інтерфейсу RS-232
Для того щоб встановити зв'язок між мікропроцесорною системою та персональним комп'ютером необхідно зробити ініціалізацію послідовного інтерфейсу УСАПП мікроконтролера AtMega8515. Це можна зробити наступним шляхом:
USART_Receive:
; Очікування даних
sbis UCSRA, RXC
rjmp USART_Receive
; Отримування статусу слова і перших 9 біт, далі видачі їх в буфер
in r18, UCSRA
in r17, UCSRB
in r16, UDR
; Якщо помилка, повертає -1
andi r18,(1<<FE)|(1<<DOR)|(1<<PE)
breq USART_ReceiveNoError
ldi r17, HIGH(-1)
ldi r16, LOW(-1)
USART_ReceiveNoError:
; Фільтр 9 біт, а потім повертання
lsr r17
andi r17, 0x01
ret
А даному випадку також необхідно запрограмувати регістри керування:
- Керуючий регістр UCSRA,
- Керуючий регістр UCSRB,
- Керуючий регістр UCSRC,
- Регістри швидкості передачі UBRRL і UBRRH,
- Регістр даних UDR.
Значення першого керуючого слова регістра UCSRA приведене на рисунку 4.8
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
RXC |
TXC |
UDRE |
FE |
DOR |
PE |
U2X |
MPCM |
|
R |
R/W |
R |
R |
R |
R |
R/W |
R/W |
|
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
Рисунок 4.8 - Значення першого керуючого слова регістра UCSRA
Значення другого керуючого слова керуючого UCSRB приведене на рисунку 4.9
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
RXCIE |
TXCIE |
UDRIE |
RXEN |
TXEN |
UCSZ2 |
RXB8 |
T |
|
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R |
|
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
Рисунок 4.9 - Значення другого керуючого слова регістра UCSRB
Значення третього керуючого слова регістра UCSRC приведене на рисунку 4.10
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
URSL |
USEL |
UPM1 |
UPM0 |
USBS |
USC1 |
USC0 |
UCS |
|
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
|
1 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
Рисунок 4.10 - Значення третього керуючого слова регістра UCSRС
Значення Регістрів швидкості передачі UBRRL і UBRRH приведене на рисунку 4.11
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
|
URSEL |
- |
- |
- |
UBRR[11:8] |
||||
UBRR[7:0] |
||||||||
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
R/W |
R |
R |
R |
R/W |
R/W |
R/W |
R/W |
|
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
|
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
Рисунок 4.11 - Значення Регістрів швидкості передачі UBRRL і UBRRH
4.5 Програмування цифрового порту
Для того щоб цифрові канали виводили інформацію необхідно записати в регістр керуючого слова записати двійкове число, і таким чином встановити мікросхему i8255 в 0 режим, який необхідний для видачі цифрового сигналу. Формат керуючого слова зображений на рисунку 5.5
Рисунок 4.5 - Формат керуючого слова мікросхеми i8255
В даному курсовому проекті нам необхідно запрограмувати паралельний порт вводу-виводу тільки на вивід. Формат керуючого слова для виводу мікросхеми i8255 зображене на рисунку 5.12
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
||
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
=80H |
Рисунок 4.12 - Графічне позначення керуючого слова мікросхеми i8255
Програма для виведення інформації має вигляд:
Mov A, 80H; Формування керуючого слова
Out 47; Запис керуючого слова
Mov A, #42h; Запис в акумулятор вибірки мікросхеми
Out 44 ; виведення даних на шину адреса
Mov A, B
Out 44; Виведення даних на шину даних через порт А
Висновок
В даному курсовому проекті було розроблено мікропроцесорну систему обробки даних на базі мікроконтролеру AtMega8515. В результаті виконання КП було досліджено принципи та основи проектування мікроконтролерної системи, а також основи програмування всіх її елементів:
Параметри МПС, що проектувались:
- мікроконтролер AtMega8515;
-мікросхема ОЗП К185РУ5 з організацією пам'яті 3К;
- мікросхема ПЗП КР1601РР1 з організацією пам'яті 2К;
- матрична клавіатура: 24 клавіш
- матрична індикація на основі індикатора IE-57O-112U
- послідовний інтерфейс І...
Подобные документы
Розробка таймера на базі мікроконтролера AT90S8515. Опис принципової електричної схеми блоку клавіатури і індикації. Використання периферійних пристроїв. Таблиця робочих регістрів. Підпрограми обробки переривання таймера, Oproskl та рахунку часу.
курсовая работа [3,3 M], добавлен 27.02.2014Розрахунок навантаження, що надходить від цифрових та аналогових абонентів. Розподіл навантаження по напрямах міжстанційного зв'язку: пропорційно вихідних навантажень та ємності АТС. Розробка структурної схеми EWSD. Розрахунок об’єму буфера повідомлень.
курсовая работа [573,0 K], добавлен 25.10.2010Розробка мікропроцесорної системи управління роботом з контролем переміщення на базі мікроконтролера AT89C51. Розробка і опис структурної схеми мікропроцесорної системи. Відстань між світлодіодом і фототранзистором. Розробка алгоритмів програми.
курсовая работа [2,3 M], добавлен 13.04.2013Розробка блоку з генератором одиночних імпульсів, двійково-десятковим лічильником і вузлом індикації. Аналіз принципу роботи двійково-десяткового лічильника одиничних імпульсів. Вибір елементів генератора імпульсів, цифрового блоку та вузла індикації.
курсовая работа [775,0 K], добавлен 14.01.2015Особливості аналогових і цифрових систем в телекомунікаційних системах зв’язку (комутації). Розробка структурної схеми МТМ. Розрахунок інтенсивності телефонного навантаження. Визначення кількості з’єднувальних ліній і групового тракту між станціями.
курсовая работа [639,8 K], добавлен 18.08.2014Розробка структурної схеми мікропроцесора. Узгодження максимальної вхідної напруги від датчиків з напругою, що може обробити МПСза допомогою дільника напруги та аналогового буферного повторювача. Система тактування та живлення. Організація виводу даних.
курсовая работа [354,3 K], добавлен 14.12.2010Методи і засоби вводу інформації в автоматизовану систему обробки зображень. Огляд механізмів сканування та цифрових камер. Розробка і опис структурної схеми пристрою фотовводу інформації в АСОЗ. Розробка і опис алгоритму роботи пристрою фотовводу.
дипломная работа [55,6 K], добавлен 30.01.2011Причини для розробки цифрових пристроїв обробки інформації, їх призначення і область застосування. Блок-схема алгоритму роботи. Розробка функціональної схеми пристрою та принципової схеми обчислювального блока. Виконання операції в заданій розрядності.
курсовая работа [691,7 K], добавлен 29.09.2011Характеристика структур систем мікропроцесорної централізації, їх порівняний аналіз. Розробка структурної схеми та оцінка її функціональних можливостей, сфери використання. Розробка схем включення обладнання. Розрахунок модулів введення-виведення.
курсовая работа [3,2 M], добавлен 17.03.2015Проектування каналу збору аналогових даних реальної мікропроцесорної системи, який забезпечує перетворення аналогового сигналу датчика - джерела повідомлень в цифровий код. В такому каналі здійснюється підсилення, фільтрація і нормування сигналу.
курсовая работа [305,8 K], добавлен 18.09.2010Основні види схем керування кроковими двигунами. Розробка варіантів структурної схеми електропривода та прийняття рішення принципу його побудови. Розробка вузла мікроконтролера, блока живлення. Забезпечення індикації режимів роботи схеми дослідження КД.
курсовая работа [1,6 M], добавлен 14.05.2013Блок керування та синхронізації. Вибір АЦП, комутатора-мультиплексора, інтерфейсних схем. Таблиця розподілу оперативної пам'яті. Розробка структурної та принципової схеми і алгоритму функціонування контролера. Архітектура мікроконтролерів MCS-51.
курсовая работа [801,8 K], добавлен 17.05.2013Загальна характеристика метеорологічних приладів: термометрів, барометрів, психрометрів, гігрометрів. Розробка електричної принципової схеми мікропроцесорної метеостанції, розрахунок її надійності. Вибір мікроконтролера і датчиків, монтаж друкованих плат.
дипломная работа [3,1 M], добавлен 13.06.2012Конструкція та принцип роботи холодильної камери. Структурна схема автоматизованої системи керування, її проектування на основі мікроконтролера за допомогою сучасних програмно-інструментальних засобів розробки та налагодження мікропроцесорних систем.
курсовая работа [4,5 M], добавлен 08.07.2012Область використання аналого-цифрових перетворювачів. Механізм придушення шумів в режимі сну. Класифікація і принцип роботи АЦП послідовного наближення. Особливості роботи цифро-аналогового перетворювача. Розрахунки параметрів і схема АЦП І ЦАП.
курсовая работа [1,1 M], добавлен 26.11.2013Пристрої захисту офісу. Аналіз мікропроцесорних охоронних датчиків. Апаратна частина та принципова схема. Вибір типу контролера, наведення його технічних характеристик. Підбір елементів схеми, калькуляція виробу. Вибір середовища та мови програмування.
курсовая работа [982,3 K], добавлен 15.02.2012Проблема зростання ємності і трафіку телефонних мереж, збільшення кількості телекомунікаційних служб. Розробка міської телефонної мережі з використанням аналогових систем комутації. Схема і комутаційний граф двокаскадного комутаційного блоку ВПВП.
курсовая работа [1,9 M], добавлен 05.02.2015Загальна характеристика та принцип дії пристроїв введення (виведення) аналогової інформації в аналого-цифрових інтерфейсах, їх структура та основні елементи. Порядок та етапи розробки структурної схеми АЦІ, необхідні параметри для даної операції.
реферат [100,9 K], добавлен 14.04.2010Загальна характеристика мікроконтролерів сімейства AVR фірми Atmel, складання структурної схеми електронних годинників та інформаційного табло. Розробка мікропроцесорної системи для багатоканального інформаційного табло на основі даного мікроконтролера.
дипломная работа [2,7 M], добавлен 12.12.2010Система реєстрації даних як високопродуктивний обчислювач з процесором або контролером, накопичувачем інформації й інтерфейсом зв'язку. Розробка функціональної схеми й вибір елементної бази. Аналіз принципової електричної схеми. Економічні розрахунки.
дипломная работа [694,4 K], добавлен 20.02.2011