Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
курсач.docx
Скачиваний:
35
Добавлен:
16.05.2015
Размер:
2.21 Mб
Скачать

Вступ

На сьогоднішній день одним з найбільш потужних і гнучких засобів розробки електронних схем є мікроконтролери. При роботі з мікроконтролерами необхідно мати на увазі таку обставину - коли розробляється система на основі мікроконтролера, то створюються не тільки апаратні засоби, що реалізуються відповідним підключенням мікроконтролера до зовнішніх пристроїв. Окрім цього розробник повинен забезпечити виконання багатьох системних функцій, які в традиційних мікропроцесорних системах забезпечуються за допомогою операційної системи та спеціальних периферійних мікросхем. Це, з одного боку, дещо ускладнює задачу, з іншого ж боку, дозволяє суттєво оптимізувати проект - як його апаратну, так і програмну частину для конкретного застосування.

Відмінності в архітектурі процесорів можуть істотно позначитися на їхній продуктивності при виконанні різних завдань. Дискусії про порівняльні переваги різних комп'ютерних архітектур можна вести до нескінченності. Щоб уникнути участі в цих дискусіях, обмежимося коротким оглядом найбільш важливих особливостей різних архітектур та вказівками, для яких найкращим чином підходить та чи інша архітектура.

Типи мікроконтролерів

Всі мікроконтролери можна розділити на наступні основні типи:

  • Вбудовані 8-розрядні мікроконтролери

  • 16- і 32-розрядні мікроконтролери

  • Цифрові сигнальні процесори (DSP)

Вбудовувані мікроконтролери

Промисловістю випускається дуже широка номенклатура вбудовуваних(embedded) мікроконтролерів. У цих мікроконтролерах всі необхідні ресурси (пам'ять, пристрої вводу-виводу і т.д.) розташовуються на одному кристалі з процесорним ядром. Все, що необхідно зробити - це подати живлення і тактові сигнали. Вбудовуванімікроконтролери можуть базуватися на існуючому мікропроцесорному ядрі або на процесорі, розробленому спеціально для даного мікроконтролера. Це означає, що існує велика різноманітність функціонування навіть серед пристроїв, що виконують однакові завдання.

Основне призначення вбудованих мікроконтролерів - забезпечити за допомогою недорогих коштів гнучке (програмне) управління об'єктами і зв'язок із зовнішніми пристроями. Ці мікроконтролери не призначені для реалізації комплексу складних функцій, але вони здатні забезпечити ефективне управління в багатьох галузях застосування.

Вбудовуванімікроконтролери містять значну кількість допоміжних пристроїв, завдяки чому забезпечується їх включення в систему з використанням мінімальної кількості додаткових компонентів. До складу цих мікроконтролерів зазвичай входять:

  • Схема початкового запуску процесора (Reset)

^ Генератор тактових імпульсів

  • Центральний процесор

  • Пам’ять програм (E(E)P)ROMі програмний інтерфейс

  • Пам’ять даних RAM

  • Засоби вводу-виводу даних

  • Таймери, які фіксують кількість командних циклів

Загальна структура мікроконтролера показана на рис. 1. Ця структура дає уявлення про те, як мікроконтролер зв'язується із зовнішнім світом.

Рис. 1. Структура мікроконтролера

Більш складні вбудовуванімікроконтролери можуть додатково реалізувати наступні можливості:

  • Вбудований монітор/наладчик програм

  • Внутрішні засоби програмування пам’яті програм EОМ)

  • Обробка переривань від різних джерел

  • Аналоговий ввід-вивід

  • Послідовний ввід-вивід (синхронний і асинхронний)

  • Паралельний ввід-вивід (включаючи інтерфейс з комп’ютером)

  • Підключення зовнішньої пам’яті (мікропроцесорний режим)

Всі ці можливості значно збільшують гнучкість застосування мікроконтролерів і роблять більш простим процес розробки систем на їх основі. Слід зауважити, що для реалізації цих можливостей в більшості випадків потрібне розширення функцій зовнішніх виводів.

Раніше мікроконтролери виготовлялися по біполярній або NMOS технології. Всі сучасні мікроконтролери виробляються за допомогою CMOS технології, яка дозволяє значно зменшити розмір кристала і розсіювану на ньому потужність.

Типові значення максимальної частоти тактових сигналів складають для різних мікроконтролерів 10 - 20 МГц. Головним чинником, що обмежує їх швидкість, є час доступу до пам'яті, яка використовується в мікроконтролерах. Однак для типових застосувань це обмеження не є суттєвим.

Мікроконтролер із зовнішньою пам’яттю

Деякі мікроконтролери (особливо 16- і 32-розрядні) використовують тільки зовнішню пам’ять, яка включає в себе як пам’ять програм ^ОМ), так і деякий об’єм пам’яті даних (ИЛМ), необхідний для даного застосування. Структура мікроконтролера із зовнішньою пам’яттю показана на рис. 2.

Рис. 2. Блок схема мікроконтролера із зовнішньою пам’яттю.

Класичним прикладом такого мікроконтролера є Intel80188. По суті він являє собою мікропроцесор 8088, який використовувався в комп’ютерах IBMPC, інтегрований на загальному кристалі з додатковими схемами, що реалізують ряд стандартних функцій, таких як переривання і прямий доступ до пам’яті (DMA). Мета створення 80188 полягала в тому, щоб об’єднати в одному корпусі всі пристрої, необхідні інженеру для реалізації систем, в яких можуть використовуватися функціональні можливості та програмне забезпечення мікропроцесора 8088.

Аналогічні цілі досягаються при використанні мікроконтролера 80186, який має 16-розрядну зовнішню шину (80188 має 8-розрядну зовнішню шину) і являє собою 16-розрядний процесор 8086, інтегрований на загальному кристалі з додатковими периферійними схемами (такими ж, як у 80188). Так як мікропроцесор 8088 є спрощеною (8-розрядна зовнішня і 16-розрядна внутрішня шина) версією 8086 (16-розрядні зовнішня і внутрішня шини), так і мікроконтролер 80188 є спрощеною версією 80186.

Мікроконтролери з зовнішньою пам’яттю призначені для інших застосувань, ніж вбудовуванімікроконтролери. Ці застосування зазвичай вимагають великого обсягу пам’яті (RAM) і невеликої кількості пристроїв (портів) вводу-виводу. Для мікроконтролерів з зовнішньою пам’яттю найбільш підходящими є доповнення, у яких критичним ресурсом є пам’ять, а не число логічних вводів- виводів загального призначення, тоді як для вбудованих мікроконтролерів має місце протилежна ситуація. Типовим прикладом застосування для мікроконтролера з зовнішньою пам’яттю є контролер жорсткого диска з буферною кеш-пам’яттю, який забезпечує проміжне зберігання і розподіл великих обсягів даних (зазвичай вимірюються в мегабайтах). Зовнішня пам’ять дає можливість такому мікроконтролеру працювати з більш високою швидкістю, ніж вбудований мікроконтролер.

Цифрові сигнальні процесори

Цифрові сигнальні процесори (DSP) - відносно нова категорія процесорів. Призначення DSPполягає в тому, щоб отримувати поточні дані від аналогової системи і формувати відповідний відгук. DSPі їх ALU (ArithmeticLogicUnit - арифметико-логічний пристрій, який є апаратним засобом для виконання обчислень) працюють з дуже високою швидкістю, що дозволяє здійснювати обробку даних в реальному масштабі часу.DSPчасто використовуються в активних шумопригнічуючих мікрофонах, які встановлюються в літаках (другий мікрофон забезпечує сигнал навколишнього шуму, який вираховується з сигналу першого мікрофона, дозволяючи таким чином придушити шум і залишити тільки голос) або для придушення роздвоєння зображення в телевізійних сигналах.

Розробка DSPалгоритмів - це спеціальний розділ теорії керування. Викладка цієї теорії вимагає використання вельми поглибленої математики.

У різноманітних DSPможна знайти особливості, властиві як вбудовуваниммікроконтролерам, так і мікроконтролерам з зовнішньою пам'яттю. DSPне призначені для автономного застосування. Зазвичай вони входять до складу систем, в якості пристроїв керування зовнішнім устаткуванням, а також для обробки вхідних сигналів і формування відповідного відгуку.

Архітектура процесорів

Як вказано було вище, не будемо вдаватися в дискусію щодо того, яка з архітектур краще - CISCчи RISC, Гарвардська чи Прінстонська. Розглянемо відмінності між цими архітектурами і покажемо, яке відношення вони мають до мікроконтролерів.

CISCпроти RISC

В даний час існує безліч RISC (ReducedInstructionSetComputers - комп'ютери із скороченою системою команд) процесорів, так як склалася думка, що RISCшвидше ніж CISC (ComplexInstructionSetComputers - комп'ютери зі складною системою команд) процесори. Така думка не зовсім вірна. Є багато процесорів, які називають RISC, хоча насправді вони відносяться до CISC.

Більше того, в деяких додатках CISC-процесори виконують програмний код швидше, ніж це роблять RISC-процесори, або вирішують такі завдання, які RISC-процесори не можуть виконати.

Якою ж є насправді різниця між RISCі CISC? CISC-процесори виконують великий набір команд з розвиненими можливостями адресації (безпосередня, індексна і т.д.), даючи розробникові можливість вибрати найбільш підходящу команду для виконання необхідної операції. У RISC-процесорах набір виконуваних команд скорочений до мінімуму. При цьому розробник повинен комбінувати команди, щоб реалізувати більш складні операції.

Можливість рівноправного використання всіх регістрів процесора називається «ортогональністю» або «симетричністю» процесора. Це забезпечує додаткову гнучкість при виконанні деяких операцій. Розглянемо, наприклад, виконання умовних переходів в програмі. У CISC-процесорах умовний перехід звичайно реалізується відповідно до визначеного значення біта (флага) у регістрі стану. У RISC-процесорах умовний перехід може відбуватися при певному значенні біта, який знаходиться в будь-якому місці пам'яті. Це значно спрощує операції з флагами і виконання програм, які використовують ці флаги.

Успіх при використанні RISC-процесорів забезпечується завдяки тому, що їх більш прості команди вимагають для виконання значно меншу кількість машинних циклів. Таким чином досягається істотне підвищення продуктивності, що дозволяє RISC-процесорам ефективно вирішувати надзвичайно складні завдання.

  1. Аналіз технічного завдання

В даний час для побудови автомобільних пристроїв використовують мікроконтролери, які дозволяють розширити можливості. Мікроконтролер споживає меншу потужність від джерела живлення і має економічний режим енергоспоживання.

Пристрій має наступні функціональні можливості:

  • індикація поточного часу;

  • індикація температури в трьох точках;

  • контроль за станом дверей салону автомобіля;

  • контроль напруги в бортовій мережі автомобіля;

  • звукова сигналізація та блокування стартера автомобіля, коли відкриті двері салону автомобіля;

  • звукова сигналізація при падінні напруги бортової мережі нижче 12В.

По технічному завданню пристрій повинен зчитувати інформацію з трьох різних термодатчиків, що знаходяться в різних місцях автомобіля. Завдання легко вирішується шляхом використання однопровідної шини 1-Wire, що об’єднає всі датчики розроблюваної системи в одну мережу (MicroLAN). Така мережа є надійною.

ТермодатчикиDS18B20 - мають високу дискретність, що досягається збільшенням кількості розрядів результуючого коду. Причому в мікросхемі є можливість зміни кількості розрядів вихідного регістра. По замовчанню вихідний регістр має 9 розрядів. Змінюючи вміст регістра конфігурації, мікроконтролер може збільшити кількість розрядів до 12. Точність вимірювання температури в діапазоні -10...+85С складає +/- 0,5С (робочий діапазон складає від -55С до 125С). Максимальний час перетворення для мікросхеми рівний 750 мс.

Функції годинника виконує мікроконтролер, при відсутності напруги мережі він продовжує працювати від автономного джерела живлення і при цьому не виконує індикацію поточного часу.

Контроль напруги в бортовій мережі здійснюється за допомогою компаратора. Як тільки напруга на виході компаратора перевищить напругу мережі сигнал на виході зміниться з 1 на 0.

До мікроконтролера підключені клавіатура, індикатор, сигнальний пристрій, шина 1- Wire, датчики температури, компаратор.

  1. Розробка апаратної частини

2.1 Вибір мікроконтроллера та огляд його архітектури

Основні характеристики.

У принципі, всі мікроконтролери побудовані по одній схемі. Система керування, що складає з лічильника команд і схеми декодування, бере на себе зчитування й декодування команд із пам'яті програм, а операційний пристрій відповідає за виконання арифметичних і логічних операцій; інтерфейс ведення/виведення дозволяє обмінюватися даними з периферійними приладами; і, нарешті, необхідно мати запам'ятовувальний пристрій для зберігання програм і даних. Операційний прилад, як правило, складається з арифметико-логічного прилад (АЛУ), що накопичує суматор й декількох допоміжних регістрів. У класичній програмі майже половина всіх команд - це команди пересилання (move) для передачі даних від допоміжних регістрів до суматора й назад. У сімействі мікроконтролерів AVR накопичуючий суматор, що представляє собою "тонке місце", стає не настільки критично важливим, завдяки застосуванню 32-х робочих регістрів, пов'язаних із блоком АЛП. У результаті арифметичні й логічні операції можуть бути виконані протягом єдиного такту

Операції АЛП можна розділити на три основні категорії: арифметичні, логічні й поразрядные. Кожної із цих категорій відповідають потужні команди. Деякі (нові) мікроконтролери сімейства AVR мають також апаратні помножувачі в арифметичному блоці АЛП. Незважаючи на RISC-Архітектуру, запас команд не так вже і обмежений: як ніяк, ATmega8, "парадний кінь" базової серії, має 130 команд, а самий "слабкий" представник сімейства – ATtiny4 - навряд чи сильно "відстає від лідера" зі своїми 54 командами (ATtiny2313/4313 - 120 каманд).

У мікроконтролерах AVR базової серії всі команди мають однакову ширину слова 16 біт (тобто, 2 байти). Виключенням є тільки дві команди для прямої адресації статичної пам'яті даних Ids і sts, що складаються із двох слів і, відповідно, з 4 байт. Майже, всі команди обробляються протягом одного такту системної синхронізації, крім команда переходу, операції з безпосередньою адресацією й пересилання даних.

У пристроях збереження інформації, що відповідають класичної концепції фон Неймана, дані й команди зберігаються в одній пам'яті. На противагу цьому, пам'ять Гарвардської архітектури, вживаної в мікроконтролерах AVR, складається з декількох компонентів. У цьому випадку пам'ять команд і пам'ять даних розділені, тобто, звертання до команд здійснюється незалежно від доступу до даних.

У мікроконтролерах AVR окремі сегменти пам'яті влаштовані по різному:

■ Пам'ять програм реалізована на основі флеш технології, що електрично стирається. У всіх мікроконтролерах AVR пам'ять 16-розрядна (двухбайтова). Розширення пам'яті програм за допомогою блоків EPROM або флеш неможливо.

■ Внутрішня пам'ять або електрозалежна пам’ять даних (тобто, даних, які будуть загублені після відключення робочої напруги), являє собою статичну пам'ять RAM (SRAM). Перевага цього та, що відпадає всяка необхідність у внутрішній регенерації, як у випадку з деякими іншими процесорами, які використовують динамічну пам'ять. Із цієї причини мікроконтролери AVR можуть працювати з тактами аж до 0 Гц. На додаток до цього, деякі мікроконтролери AVR для збільшення обсягу оброблюваних даних можуть працювати із зовнішньою пам'яттю, що підключається, SRAM. Проте для цього, доводиться жертвувати дорогоцінними контактами портів ведення/виведення.

■ Для даних, які повинні зберегтися після відключення робочої напруги, у розпорядженні є мікросхема EEPROM ( ElectricallyErasableProgrammable Read-Only Memory – електрично-зтираюча програмована пам’ять ). EEPROM можна записувати дані під час нормального виконання програми.

Характеристики мікроконтроллеру ATtiny2313A/4313

Рис.3 Блок-схема мікроконтроллеру ATtiny2313A/4313

ATtiny2313A/4313 - економічні 8-розрядні КМОП-мікроконтролери, виконані на основі покращеної RISC-архітектури AVR. За рахунок виконання більшості інструкцій за один цикл синхронізації ATtiny2313A/4313 досягають продуктивності близькою до 1 млн. оп. в сек. на кожен МГц тактовою частоти, тим самим дозволяючи розробникам систем оптимізувати співвідношення енергоспоживання і продуктивності.

Ядро AVR поєднує в собі багатий набір інструкцій з 32 робочими регістрами загального призначення. Усі 32 регістра безпосередньо підключені до АЛУ (арифметико-логічний пристрій), що дозволяє вказувати в одній інструкції два різних регістра і виконати цю інструкцію за один машинний цикл. У кінцевому рахунку, архітектура AVR, за рахунок 10 кратного перевищення продуктивності в порівнянні зі звичайними CISC мікроконтролерами, володіє більшою ефективністю коду програми.

ATtiny2313A/4313 містять такі вузли: 2 / 4 кбайтвнутрішньосистемної-самопрограмованої Flash-пам'яті, 128/256 байт EEPROM, 128/256 байт статичного ОЗУ, 18 універсальних ліній введення-виведення, 32 робочих регістра загального призначення, однопроводной інтерфейс вбудованої налагоджувальної системи, два таймери-лічильника з режимами порівняння, внутрішні та зовнішні переривання, послідовний програмований інтерфейс УСАПП, універсальний послідовний інтерфейс з детектором умови старту, програмований сторожовий таймер з внутрішнім генератором, а також три настроюваних економічних режиму роботи. У режимі IDLE припиняє роботу ЦПУ, але, при цьому продовжують працювати статичне ОЗУ, таймер-лічильник, а також системні переривання. У режимі POWER-DOWN зберігається вміст регістрів, а генератори зупиняються, викликаючи відключення всіх вбудованих функцій аж до наступного переривання або апаратного скидання. У режимі STANDBY включеним залишається тільки кварцовий генератор, а всі інші вузли діють. Це дозволяє добитися швидкого відновлення активної роботи при збереження електроспоживання на низькому рівні.

Мікроконтролер випускається за розробленою Atmel технології енергонезалежної пам'яті високої ємності. Вбудована Flash-пам'ять дозволяє перепрограмувати пам'ять програм безпосередньо на платі через послідовний інтерфейс SPI у внутрішньо-схемному режимі або за допомогою звичайного програматора енергонезалежної пам'яті. За рахунок об'єднання в одному кристалі 8-розрядного RISC ЦПУ і внутрішньосистемнії-самопрограмованої Flash-пам'яті, мікроконтролери ATtiny2313A/4313 є потужним інструментом для гнучкого й вигідного в ціновому плані вирішення завдань вбудованого управління.

Мікроконтролери ATtiny2313A/4313 підтримуються повним набором програмних і апаратних засобів для проектування, в т.ч.: C-компілятори, макроассемблер, програмний «відгадчик» / симулятор, «внутрішньосхемний» емулятори та оціночні набори.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]