В наші дні мікроконтролери можна зустріти практично в кожному примірнику побутової техніки та електроніки. Наприклад, якщо в мікрохвильовій печі є світлодіодний або РК-екран і клавіатура, то вона обов'язково обладнана спеціальною керуючою мікросхемою.
Різноманіття застосувань
Всі сучасні автомобілі містять принаймні один мікроконтролер і можуть бути обладнаними кількома для двигуна, антиблокувальної системи, круїз-контролю і т. д. Будь-який пристрій з ПДУ майже напевно має керування мікроконтролером. В цю категорію потрапляють телевізори, плеєри і високоякісні стереосистеми. Цифрові компактні і дзеркальні камери, мобільні телефони, відеокамери, автовідповідачі, лазерні принтери, стаціонарні телефони з можливістю ідентифікації абонента і пам'яттю на 20 номерів, багатофункціональні холодильники, посудомийні та пральні машини, сушарки. В принципі, будь-яка побутова техніка або пристрій, який взаємодіє з користувачем, має вбудований мікроконтролер.
Що це таке?
Мікроконтролер – це комп'ютер. Всі комп'ютери, незалежно від того, чи є вони персональними або великими мэйнфреймами, володіють деякими загальними рисами. У них є центральний процесор (ЦП), який виконує програми, завантажуючи команди з будь-якого сховища даних. На ПК, наприклад, це жорсткий диск. Комп'ютер також обладнаний оперативним запам'ятовуючим пристроєм (ОЗП). Для комунікації з зовнішнім світом повинні передбачатися спеціальні засоби. На ПК клавіатура і миша є пристроями введення інформації, а монітор і принтер використовуються для її виведення. Жорсткий диск поєднує в собі обидві ці функціональні можливості, оскільки працює як з вхідними, так і вихідними даними.
ЦПУ
Тип використовуваного в мікроконтролері процесора залежить від конкретного додатка. Доступні варіанти від простих 4-, 8 - або 16-розрядних до більш складних 32 - або 64-бітних. Що стосується пам'яті, то можуть використовуватися ОЗП, флеш-пам'ять, EPROM або в EEPROM. Як правило, мікроконтролери розраховані на використання без додаткових обчислювальних компонентів, оскільки вони спроектовані з достатнім об'ємом вбудованої пам'яті, а також мають контакти для спільних операцій вводу-виводу, щоб безпосередньо взаємодіяти з датчиками та іншими компонентами. Архітектура ЦПУ може бути як гарвардської, так і фон-неймановской, пропонуючи різні методи обміну інформацією між процесором і пам'яттю. В першому випадку шини даних і команд розділені, що дозволяє здійснювати одночасну їх передачу. У архітектури фон Неймана для цього використовується загальна.
Програмування
Процесори мікроконтролерів можуть базуватися на розширеному (CISC) або скороченому наборі команд (RISC). CISC зазвичай включає близько 80 інструкцій (RISC – близько 30), а також більша кількість режимів адресації – 12-24 за порівняно з 3-5 у RISC. Хоча розширений набір команд простіше реалізувати і він ефективніше використовує пам'ять, його продуктивність нижче з-за більшої кількості тактових циклів, необхідних для їх виконання. RISC-процесори приділяють більше уваги програмного забезпечення та більш продуктивні.
Спочатку мовою мікроконтролерів був асемблер. Сьогодні популярним варіантом є мова C. При наявності відповідного кабелю, програмного забезпечення і ПК запрограмувати мікроконтролер своїми руками нескладно. Необхідно підключити контролер кабелем до паралельного порту комп'ютера, запустити додаток і завантажити набір команд.
Визначальні характеристики
Як відрізнити комп'ютер від мікроконтролера? Якщо перший являє собою пристрій загального призначення, яка може запускати тисячі різних програм, то другий є спеціалізованим, орієнтованим на один додаток. Існує і ряд інших характеристик, які дозволяють відрізнити мікроконтролери. Для початківців це проблемою не буде – досить встановити наявність у чіпа більшості перелічених якостей, щоб можна було сміливо віднести його до даної категорії. Мікроконтролери є елементами будь-якого іншого пристрою (часто побутової техніки) для управління його функціями, або роботою. Ще їх називають вбудованими контролерами. Пристрій призначений для виконання однієї задачі і запуску однієї конкретної програми, що зберігається в ПЗУ, яка зазвичай не змінюється.
Мікроконтролери – це малопотужні чіпи. Їх потужність при живленні від батареї становить близько 50 мВт. Настільний комп'ютер майже завжди підключений до розетки і споживає 50 Вт і більше. Мікроконтролер відрізняється наявністю спеціального блоку введення і часто (але не завжди) невеликого світлодіода або РК-дисплея для виводу. Приймає вхідні дані від пристрою, яким він керує, посилаючи сигнали різних його компонентів. Наприклад, мікроконтролер телевізора отримує сигнали з ПДУ і відображає висновок на екрані телевізора. Він керує селектором каналів, динаміками і деякими параметрами зображення, такими як контраст і яскравість. Контролер автомобільного двигуна приймає вхідні сигнали від датчиків кисню і детонації, регулює створення паливної суміші і синхронізує роботу свічок запалювання. В мікрохвильовій печі він приймає введення з клавіатури, відображає висновок на РК-дисплеї і управляє реле включення і відключення НВЧ-генератора. Мікроконтролери – це часто невеликі і недорогі пристрої. Компоненти вибираються таким чином, щоб мінімізувати розміри і максимально здешевити виробництво. Часто, але не завжди, робота мікроконтролера здійснюється в несприятливих умовах. Наприклад, пристрій керування двигуном автомобіля повинно працювати в екстремальних температурах, при яких звичайний комп'ютер взагалі не може функціонувати. На півночі мікроконтролер автомобіля повинен функціонувати при температурі -34 °C, а на півдні - при 49 °C. У моторному відсіку температура може досягати 65-80 °C. З іншого боку, мікроконтролер, вбудований програвач Blu-ray, взагалі не повинен бути особливо міцним.
Вимоги до ЦПУ
Процесори, що використовуються в мікроконтролерах, можуть сильно відрізнятися. Наприклад, в стільникових телефонах застосовувався 8-розрядний мікропроцесор Z-80 розроблений в 1970-х роках і спочатку використовувався в домашніх комп'ютерах. GPS-навігатор Garmin устатковувався малопотужною версією Intel 80386 яку також спочатку встановлювали в настільних ПК. Велика частина побутової техніки, такої як мікрохвильові печі, невимоглива до процесорів, але їх ціна є важливим фактором. У цих випадках виробники звертаються до спеціалізованих мікроконтролерів, розробленим з недорогих, невеликих і малопотужних ЦПУ. Motorola 6811 і Intel 8051 є хорошими прикладами таких чіпів. Також випускається серія популярних контролерів PIC компанії Microchip. За сьогоднішніми мірками ці процесори неймовірно мінімалістичні, але вони надзвичайно дешеві і часто можуть повністю задовольнити потреби конструктора.
Економічність
Типовий мікроконтролер – це чіп з 1000 байтів ПЗУ, 20-ю байтами ОПЕРАТИВНОЇ пам'яті і 8-ю контактами вводу-виводу. При випуску великими партіями їх вартість невисока. Звичайно, запустити Microsoft Word на такому чипі неможливо – для цього знадобиться не менше 30 МБ ОПЕРАТИВНОЇ пам'яті і процесор, що виконує мільйони операцій на секунду. Але для управління мікрохвильовою піччю цього і не потрібно. Мікроконтролер виконує одну конкретну задачу, а низька вартість і енергоспоживання є його головними перевагами.
Як працює?
Незважаючи на велику різноманітність мікроконтролерів і ще більшу кількість програм для них, навчившись звертатися з одним з них, можна познайомитися з усіма. Типовий сценарій роботи виглядає наступним чином: При відключеному живленні пристрій ніяк себе не проявляє. Підключення мікроконтролера до джерела енергії запускає блок логіки системи управління, який відключає всі інші схеми, крім кварцового кристала. Коли напруга досягає свого максимуму, частота генератора стабілізується. Регістри заповнюються бітами, що відображають стан всіх схем мікроконтролера. Всі контакти конфігуруються як входи. Електроніка починає працювати згідно ритмічної послідовності тактових імпульсів. Лічильник команд обнуляється. Інструкція за цією адресою відправляється в декодер команд, який розпізнає її, після чого вона негайно виконується. Значення лічильника команд, збільшується на 1 і весь процес повторюється зі швидкістю мільйон операцій за секунду.