- Почніть з Вимоги до проекту
- Подивіться на вибрані параметри
- Робоча напруга
- Цільові сполучники
- Розширені інтерфейси
- Середовище розвитку
- Ціна та доступність
- Інші особливості
- Висновок
Що стосується вибору мікроконтролера, це справді заплутане завдання, оскільки на ринку є різні мікроконтролери з однаковими характеристиками. Отже, кожен параметр стає важливим, коли йдеться про вибір мікроконтролера. Тут ми порівнюємо два найбільш часто використовувані мікроконтролери - мікроконтролер PIC та мікроконтролер AVR. Тут їх порівнюють на різних рівнях, що буде корисно при виборі мікроконтролера для вашого проекту.
Почніть з Вимоги до проекту
Зберіть всю інформацію про свій проект, який потрібно розпочати, перед тим, як почати вибирати будь-який мікроконтролер. Дуже важливо, щоб інформація збиралася якомога більше, оскільки це відіграє важливу роль у виборі правильного мікроконтролера.
- Зберіть інформацію про проект, таку як розмір проекту
- Кількість використовуваних периферійних пристроїв та датчиків
- Вимоги до живлення
- Бюджет проекту
- Вимоги до інтерфейсів (наприклад, USB, SPI, I2C, UART тощо),
- Складіть базову апаратну блок-схему,)
- Перелічіть, скільки потрібно GPIO
- Аналого-цифрові входи (АЦП)
- ШІМ
- Виберіть потрібну потрібну архітектуру, тобто (8-біт, 16-біт, 32-біт)
- Визнати потребу проекту в пам’яті (ОЗУ, Flash тощо)
Подивіться на вибрані параметри
Коли вся інформація зібрана, то саме час вибрати мікроконтролер. У цій статті буде проведено порівняння двох конкуруючих мікроконтролерів марки PIC та AVR за різноманітними параметрами. Залежно від необхідності проекту порівнювати два, подивіться на такі параметри, як,
- Частота: Швидкість, з якою буде працювати мікроконтролер
- Кількість штифтів вводу-виводу: необхідні порти та шпильки
- Оперативна пам'ять: усі змінні та масиви, декларовані (DATA) у більшості мікроконтролерів
- Флеш-пам’ять: Будь-який код, який ви пишете, потрапляє сюди після складання
- Розширені інтерфейси: вдосконалені інтерфейси, такі як USB, CAN та Ethernet.
- Робоча напруга: Робоча напруга MCU, така як 5 В, 3,3 В або низька напруга.
- Цільові роз'єми: Роз'єми для зручності конструкції та розміру схеми.
Більшість параметрів подібні як в PIC, так і в AVR, але є деякі параметри, які, безумовно, відрізняються при порівнянні.
Робоча напруга
Завдяки більшій кількості продуктів, що працюють від акумуляторів, PIC та AVR вдалося вдосконалити роботу в умовах низьковольтної роботи. AVR більш відомі за низьковольтною роботою, ніж старші серії PIC, такі як PIC16F та PIC18F, оскільки в цих серіях PIC використовувався метод стирання мікросхем, для роботи якого потрібно щонайменше 4,5 В, а програмісти PIC нижче 4,5 В повинні використовувати алгоритм стирання рядків який не може стерти заблокований пристрій. Однак це не так у AVR.
AVR вдосконалив і випустив новітні варіанти P (піко-потужності), такі як ATmega328P, які мають надзвичайно низьку потужність. Крім того, поточний ATtiny1634 вдосконалений і оснащений режимами сну для зменшення енергоспоживання при використанні відключення, що дуже корисно в пристроях з акумулятором.
Висновок полягає в тому, що AVR раніше були орієнтовані на низьковольтну, але зараз PIC перетворена на низьковольтну роботу і випустила деякі продукти на основі picPower.
Цільові сполучники
Цільові з'єднувачі дуже важливі для проектування та розробки. AVR визначила 6 і 10-смуговий інтерфейс ISP, що полегшує його використання, тоді як PIC його не має, тому програмісти PIC постачаються з провідними провідниками або розетками RJ11, які важко помістити в схему.
Висновок полягає в тому, що AVR спростив конструкцію та розробку схеми за допомогою цільових роз’ємів, тоді як PIC все ще повинен це виправити.
Розширені інтерфейси
Що стосується вдосконалених інтерфейсів, то PIC, безсумнівно, є варіантом, оскільки він має свої дії з такими розширеними функціями, як USB, CAN та Ethernet, чого не скажеш про AVR. Однак можна використовувати зовнішні мікросхеми, такі як FTDI USB для послідовних мікросхем, контролери Ethernet Microchip або мікросхеми Philips CAN.
Висновок полягає в тому, що PIC, безсумнівно, має вдосконалені інтерфейси, ніж AVR.
Середовище розвитку
Крім цього, є важливі особливості, завдяки яким обидва мікроконтролера відрізняються один від одного. Простота середовища для розвитку дуже важлива. Нижче наведено кілька важливих параметрів, які пояснюють легкість середовища розробки:
- Розробка IDE
- С Укладачі
- Монтажники
Розробка IDE:
Як PIC, так і AVR постачаються зі своїми власними середовищами розробки . Розробка PIC здійснюється на MPLAB X, який, як відомо, є стабільною та простою IDE у порівнянні з Atmel Studio7 від AVR, який має великий розмір 750 Мб і трохи незграбний з додатковими функціями, що ускладнює та ускладнює для початківців електронних любителів.
PIC може бути запрограмований з допомогою мікрочіпа інструментів PicKit3 і MPLAB X . AVR програмується за допомогою таких інструментів, як JTAGICE та AtmelStudio7. Однак користувачі переходять на старіші версії AVR Studio, такі як 4.18 із пакетом оновлень 3, оскільки він працює набагато швидше та має основні функції для розробки.
Висновок полягає в тому, що PIC MPLAB X трохи швидший і зручніший за користування, ніж AtmelStudio7.
С Компілятори:
І PIC, і AVR постачаються з компіляторами XC8 та WINAVR C відповідно. PIC викупив Hi-tech та запустив власний компілятор XC8. Це повністю інтегровано в MPLAB X і добре функціонує. Але WINAVR - це ANSI C, заснований на компіляторі GCC, що полегшує перенесення коду та використання стандартних бібліотек. Безкоштовна обмежена версія IAR C Compiler на 4 КБ надає смак професійним компіляторам, який коштує дорого. Оскільки AVR на початку розроблений для C, вихід коду невеликий і швидкий.
PIC має багато можливостей, які роблять його непоганим порівняно з AVR, але його код стає більшим завдяки структурі PIC. Платна версія доступна з додатковою оптимізацією, проте безкоштовна версія недостатньо оптимізована.
Висновок полягає в тому, що WINAVR хороший і швидкий з точки зору компіляторів, ніж PIC XC8.
Асемблери:
Завдяки трьом 16-розрядним регістрам покажчиків, які спрощують адресацію та операції зі словами, мова збірки AVR дуже проста з великою кількістю інструкцій та можливістю використовувати всі 32 регістри як накопичувач. Тоді як асемблер PIC не так добре з усім, що змушено працювати через акумулятор, змушує постійно використовувати комутацію банків для доступу до всіх реєстрів спеціальних функцій. Хоча MPLAB включає макроси для спрощення переходу між банками, але це нудно і вимагає багато часу.
Також відсутність інструкцій з гілок, просто пропустіть і GOTO, що змушує заплутані структури і трохи заплутаний код. Серія PIC має кілька мікроконтролерів набагато швидше, але знову ж обмежена одним акумулятором.
Висновок полягає в тому, що, хоча деякі мікроконтролери PIC і швидші, але з AVR краще працювати з точки зору монтажників.
Ціна та доступність
Якщо говорити про ціну, то і PIC, і AVR дуже схожі. Обидва доступні в основному за однаковою ціною. Що стосується доступності, то PIC зумів доставити продукцію у встановлений термін порівняно з AVR, оскільки Microchip завжди дотримувався політики коротких термінів виконання. У Atmel були важкі часи, оскільки їх широкий асортимент продукції означає, що AVR є невеликою частиною їхнього бізнесу, тому інші ринки можуть мати пріоритет над AVR для виробничих потужностей. Тому доцільно використовувати PIC з точки зору графіків поставок, тоді як AVR може бути критичним для виробництва. Деталі мікрочіпів, як правило, легше доступні, особливо в невеликих кількостях.
Інші особливості
Як PIC, так і AVR доступні в різних упаковках. PIC випускає більше версій, ніж AVR. Ця версія розгортання може мати плюси і мінуси в залежності від додатків, як більше версій створюють плутанину у виборі відповідної моделі, але в той же час вона забезпечує кращу гнучкість. Остання версія як PIC, так і AVR мають дуже низьку потужність і працюють в різних діапазонах напруги. Годинники та таймери PIC є більш точними, але з точки зору швидкості PIC та AVR майже однакові.
Atmel Studio 7 додав виробничі ELF-файли, які включають дані EEPROM, Flash та запобіжники в одному файлі. Тоді як AVR інтегрував дані запобіжників у їх формат шістнадцяткового файлу, щоб запобіжник можна було встановити в коді. Це дозволяє передати проект на виробництво для PIC простіше.
Висновок
І PIC, і AVR є чудовими недорогими пристроями, які не тільки використовуються у галузях промисловості, але й популярним вибором серед студентів та любителів. Обидва вони широко використовуються і мають хороші мережі (форуми, приклади коду) з активною присутністю в Інтернеті. Обидва вони мають гарний охоплення та підтримку спільноти, і обидва доступні у широких розмірах та форм-факторі з основною незалежною периферією. Мікрочіп перебрав Atmel і зараз опікується як AVR, так і PIC. Зрештою, добре розуміємо, що вивчення мікроконтролера подібно вивченню мов програмування, оскільки вивчення іншого стане набагато простішим, коли ви його вивчите.
Незалежно від того, щоб сказати, що хто б не перемагав, але майже в усіх галузях техніки немає такого слова, як "найкращий", тоді як "Найбільш підходящий для застосування" - це добре підходяща фраза. Все залежить від вимог конкретного товару, способу розробки та процесу виготовлення. Отже, залежно від проекту, можна вибрати добре підходящий мікроконтролер з PIC та AVR.