11 міфів про 8-розрядних мікроконтролерах

Дотепне есе Вейна Фрімена (Wayne Freeman) про переваги 8-бітної архітектури мікроконтролерів було опубліковано в авторитетному галузевому виданні ElectronicDesign і, навіть не дивлячись на деяку суперечливість, безумовно, заслуговує на увагу розробників вбудованих систем.

ElectronicDesign

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

Інженери, які досить молоді, щоб вже не застати Берлінську стіну або Радянський Союз, вважають за краще відмовлятися від ефективної простоти 8-бітних контролерів в пошуках обіцяної нескінченної обчислювальної потужності 32-бітних приладів. Але, чи справді 32-розрядні мікроконтролери є кращим вибором для будь-якої програми? Давайте розглянемо найбільш поширені міфи і помилки, що стосуються старійшини ранка вбудованих систем.

  1. 8-бітові мікроконтролери йдуть геть.

Хочете вірте, хочете ні - але це найпоширеніша помилка, з яким ми стикаємося в області 8-розрядних вбудованих пристроїв.

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

Давайте спробуємо підкріпити наше обговорення деякими конкретними даними. Відповідно до звіту дослідницької компанії Gartner за 2015 рік, обсяги продажів 8- і 32-бітних пристроїв в доларовому вираженні були приблизно рівні і становили близько $ 6 млрд. З урахуванням різниці середніх цін, ці цифри говорять про те, що в 2015 році на один вбудований 32 -бітний мікроконтролер доводилося три 8-бітних. Так що ж, вони йдуть геть? Не так скоро.

  1. У 8-бітних пристроях немає нічого нового. Ніяких інновацій.

Легко припустити, що виробники мікроконтролерів всі бюджети своїх НДДКР витрачають на нові лінійки 32-бітних продуктів, дозволяючи чахнути своїм старіючим 8-бітовим родин або, в кращому випадку, зменшуючи розміри їх кристалів, щоб знизити витрати виробництва. Істина полягає в тому, що всі 8-розрядні мікроконтролери еволюціонували протягом багатьох років слідом за змінами вимог ринку вбудованих пристроїв. Деякі виробники мікроконтролерів вдосконалюють свої 8-бітові пристрою, використовуючи технології, розроблені для 32-бітних приладів. Інші ж, виходячи з потреб своїх клієнтів, цілеспрямовано працюють над розвитком 8-бітної екосистеми.

Наприклад, лінійки 8-бітних мікроконтролерів PIC і AVR мають незалежну від ядра периферію (core independent peripherals - CIP), що працює без участі центрального процесора і здатну обмінюватися даними один з одним (див. Малюнок). Це допомагає підвищити ефективність і швидкодію системи при одночасному зниженні енергоспоживання. У поєднанні з сучасними засобами прискорення розробки, такими як MPLAB Code Configurator і Atmel START, ці інноваційні 8-бітові прилади дозволяють конструкторам пройти шлях від прототипу до серійного виробництва за лічені місяці.

  1. 8-бітові процесори дуже складно програмувати на C та іншими мовами високого рівня.

Так це правда. Те, що 8-бітові архітектури з'явилися задовго до широкого використання мов високого рівня при програмуванні вбудованих пристроїв. Безліч інженерів старої школи дійсно все ще відмовляються встановлювати новомодні компілятори C в середу розробки. Мабуть, це в порядку речей - судити не нам, - але слід зазначити, що для більшості продаваних зараз 8-бітних мікроконтролерів розробити код на сучасному компіляторі C досить легко.

У мікроконтролерах сучасного сімейства PIC16 "F1" є кілька інструкцій, повністю присвячених усунення будь-яких проблем, пов'язаних зі сторінками і адресацією. Якщо цього недостатньо, то архітектури PIC18 і AVR мають великі простори лінійних адрес, спеціально створені для компіляторів мов високого рівня. Природно, що сучасні інтегровані середовища розробки всі ці проблеми зробили несуттєвими.

  1. 8-бітові мікроконтролери можна використовувати тільки в простих додатках.

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

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

  1. Потужності 8-бітних пристроїв недостатньо для пристроїв Інтернету речей.

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

Ці системи виконують вимірювання. Вони посилають дані в Інтернет через ваш домашній роутер. Вони керують простими імпульсними джерелами живлення. Вони прокидаються, коли їх «штовхає в бік» мережу. Вони виконують свою роботу, витрачаючи дуже мало енергії. І все це - саме ті завдання, під які спеціально розроблялися новітні 8-бітові мікроконтролери. Тому, якщо в наступному вашому пристрої IoT НЕ буде 8-бітника, значить, ймовірно, що ви упустили можливість оптимізувати свій додаток.

  1. 8-бітові процесори занадто повільні, щоб реагувати на критичні системні події.

Пам'ятайте про це: час відгуку на критичні системні події пов'язано з затримкою і детермінізмом.

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

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

  1. 32-бітові мікроконтролери більш енергоефективні, ніж 8-бітові.

Так само, як всі знають, що 32-бітові мікроконтролери - найшвидші у вбудованих пристроях, точно також все розуміють, що більш швидким 32-бітників потрібно більше енергії. Тут сперечатися не очем, але деякі інженерипочему-то вважають, що можуть трохи «обдурити систему». В основному, вони виходять з того, що, прискорюючи роботу процесора, можна швидше виконувати обчислення і на більшу [залишився] час занурювати процесор в сплячку. При цьому виходить, 3что 2-бітові мікроконтролери більш енергоефективні, ніж 8-бітові, правильно? Ні не правильно.

Навіть якщо на обох архітектурах ви виконуєте приблизно еквівалентні підпрограми, набагато більш низьке споживання енергії в активному режимі 8-бітного мікроконтролера гарантує більший термін служби крихітної батареї. Додайте до цього той факт, що більшість сучасних 8-бітних мікроконтролерів мають кращий баланс периферійних функцій, ніж 32-розрядні пристрої порівнянній вартості. Це дозволяє «менш потужним» микроконтроллерам виконувати більше завдань на апаратному рівні, залишаючи центрального процесора більше часу для сплячого режиму. У деяких поширених додатках, що використовують нові 8-бітові мікроконтролери PIC і AVR, час активного стану центрального процесора майже дорівнює нулю.

  1. 32-бітові коштують стільки ж, але мають подвоєну продуктивність.

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

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

  1. У 8-бітних рішень немає перспективи.

Вибір мікроконтролера з прицілом на непередбачувані ринкові тенденції далекого майбутнього ніколи не буде гарантовано успішним, але майже напевно призведе до непередбачених наслідків. Неможливо визначити, що буде в майбутньому. Якщо ринок перейде до зовсім іншого набору функціональних вимог, повне перепроектування системи буде потрібно незалежно від того, чи використовуєте ви 8-, 16- або 32-бітний мікроконтролер.

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

  1. 32-бітові мікроконтролери скорочують час розробки програм.

Написати програмний код нескладно. Набагато складніше написати працюючий код. Люди, що підтримують міф №10, зазвичай недооцінюють кількість часу і зусиль, необхідних для тестування, налагодження та перевірки їх коду в робочому додатку. Або ж все вони генії програмування. Один день кодування може вилитися в місяці перевірки (див. Ілюстрацію).

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

Підводячи підсумок, можна сказати, що кращий спосіб скоротити час розробки програми - написати менше рядків коду.

  1. Міграція з 8-бітних мікропроцесорів неможлива.

Можливість міграції залежить більшою мірою від використовуваного середовища розробки, ніж від будь-якого конкретного мікроконтролера або частини обладнання. Якщо міграція є ключовою проблемою, то краще за все використовувати мікроконтролери виробника, що пропонує «повну лінійку» 8-, 16- і 32-бітних приладів, підтримуваних сумісної екосистемою розробки. В наші дні саме середовище розробки, а не обладнання, визначає легкість переходу від одного мікроконтролера до іншого. Добре продумане середовище розробки, така як MPLAB X або Atmel START, дозволяє користувачам реалізувати свої ідеї на будь-якому микроконтроллере конкретного виробника.

Якщо ви проектуєте черговий Linux-суперкомп'ютер, який буде носитися на зап'ясті, то має сенс починати і закінчувати пошук мікроконтролера серед новітніх і найкращих 32-бітних пристроїв. Але якщо ви, як і всі інші, додаєте в звичайні повсякденні системи інтелект, керованість і детермінізм, ви зробили б велику помилку, якби не включили до свого списку нові 8-бітові мікроконтролери. Ви отримаєте найменшу потужність споживання, неймовірно корисні периферійні пристрої та виняткову простоту розробки. Що вам в цьому не подобається?

За консультаціями щодо застосування сучасної компонентної бази для виробництва електричного обладнання в   відділ електронних компонентів   фірми VD MAIS - професійного дистриб'ютора електронних компонентів від провідних світових виробників для різних галузей промисловості України За консультаціями щодо застосування сучасної компонентної бази для виробництва електричного обладнання в відділ електронних компонентів фірми VD MAIS - професійного дистриб'ютора електронних компонентів від провідних світових виробників для різних галузей промисловості України.

Але, чи справді 32-розрядні мікроконтролери є кращим вибором для будь-якої програми?
Так що ж, вони йдуть геть?
При цьому виходить, 3что 2-бітові мікроконтролери більш енергоефективні, ніж 8-бітові, правильно?
Що вам в цьому не подобається?
© 2008 — 2012 offroad.net.ua . All rights reserved. by nucleart.net 2008