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

Переклад
ТОО "Торнадо Модульні Системи",
Росія, Новосибірськ, 1995

ВСТУП

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

ПРИЗНАЧЕННЯ

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

ПРОЦЕС ВИБОРУ

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

КРИТЕРІЇ ВИБОРУ

Основні критерії вибору мікроконтролера представлені нижче в порядку значимості. Кожен критерій детально пояснюється надалі.

  • Придатність для прикладної системи. Чи може вона бути зроблена на однокристальному микроконтроллере або її можна реалізувати на основі будь-якої спеціалізованої мікросхеми?
    • Чи має мікроконтролер необхідне число контактів / портів введення / виводу, тому що в разі їх нестачі він не зможе виконати роботу, а в разі надлишку ціна буде занадто високою?
    • Чи має він всі необхідні периферійні пристрої, такі як послідовні порти введення / виводу, RAM, ROM, A / D, D / A і т.д.?
    • Чи має він інші периферійні пристрої, які не будуть потрібні в системі?
    • Чи забезпечує ядро ​​процесора необхідну продуктивність, тобто обчислювальну потужність, що дозволяє обробляти системні запити протягом усього життя системи на обраному прикладному мовою? Занадто багато марнотратно, занадто мало не працюватиме.
    • Виділено чи в бюджеті проекту достатньо коштів, щоб дозволити собі використовувати даний мікроконтролер. Для відповіді на це питання, звичайно потрібні розцінки постачальника. Якщо даний мікроконтролер не прийнятний для проекту, всі інші питання стають несуттєвими, і ви повинні почати пошуки іншого мікроконтролера.
  • Доступність.
    • Чи існує пристрій в достатніх кількостях?
    • Проводиться воно зараз?
    • Що очікується в майбутньому?
  • Підтримка розробника.
    • Асемблери.
    • Компілятори.
    • Засоби налагодження.
      • Оціночний модуль (EVM).
      • Внутрісхемние емулятори.
      • Насадки для логічних аналізаторів.
      • Налагодження монітори.
      • Відладчики програм в початкових текстах.
  • Інформаційна підтримка
    • Приклади застосування.
    • Повідомлення про помилки.
    • Утиліти, в тому числі "безкоштовні" асемблери.
    • Приклади вихідних текстів.
  • Підтримка застосувань у постачальника.
    • Чи є спеціальна група, яка займається тільки підтримкою застосувань?
    • Чи є інженери, техніки або продавці?
    • Наскільки кваліфікований підтримує персонал, чи дійсно він зацікавлений у допомозі вам при вирішенні вашої проблеми?
    • Чи існує телефонна і / або FAXовая зв'язок?
  • Надійність фірми виробника.
    • Компетентність, підтверджена розробками.
    • Надійність виробництва, тобто якість продукції.
    • Час роботи в цій області.

СИСТЕМНІ ВИМОГИ

Проведення системного аналізу вашого проекту дозволить визначити і вимоги до мікроконтролера. Які потрібні периферійні пристрої? Чи застосовуються бітові операції або тільки числові? Скільки потрібно маніпуляцій для обробки даних? Чи повинна система управлятися по перериваннях, по готовності або за командами людини? Якою кількістю пристроїв (бітів введення / виведення) необхідно управляти? Які пристрої з числа багатьох можливих типів I / O пристроїв повинні контролюватися управлятися: термінали, вимикачі, реле, клавіші, сенсори (температура, світло, напруга і т.д.), звукові пристрої, візуальні індикатори (LCDдісплеі, LED), аналогоцифрового ( A / D), цифроаналогові (D / A) перетворювачі? Одне або декілька напруг живлення потрібен для системи? Наскільки отказоустойчів джерело живлення? Чи буде працювати пристрій при напрузі вашої мережі харчування? Чи повинні напруги утримуватися у вузькому фіксованому діапазоні змін, або ж система може працювати при великій нестабільності? Який робочий струм? Виріб повинен працювати від мережі або від батарей? Якщо від батарей, чи повинні використовуватися акумуляторні батареї і якщо це так, то яке час роботи без перезарядки, і яке для неї потрібен час? Чи існують обмеження за розміром, вагою, естетичним параметрам, таким як форма і / або колір? Чи існують будьякі специфічні вимоги до умов навколишнього середовища, таким як військові умови, температура, вологість, атмосфера (вибухонебезпечна, корозійна і т.д.), тиск / висота? Користувача програмне забезпечення має базуватися на дисках або ROM? Виріб працює в реальному часі, і якщо так, чи збираєтеся ви створити або придбати ядро ​​програм реального часу або, можливо, буде достатньо звичайної широко використовуваної версії? Чи достатньо персоналу і часу для розвитку вашого власного ядра програм? Як будуть оплачуватися авторські права і програмне забезпечення? Для вирішення завдань реального часу потрібна велика дослідницька робота, щоб задовольнити їх особливим вимогам.

ОСНОВНІ ОСОБЛИВОСТІ МИКРОКОНТРОЛЛЕРА

Мікроконтролери в цілому можна розділити на групи 8, 16 і 32разрядних за розміром їх арифметичних та індексних регістрів, хоча деякі розробники вважають, що 8/16 / 32разрядную архітектуру визначає розрядність шини. Чи здатний дешевий мікроконтролер задовольнити вимогам системи або потрібно дорогою 16 або 32разрядний? Чи може 8разрядная програмна емуляція особливостей 16 / 32разрядного мікроконтролера дозволити використання дешевого 8разрядного, жертвуючи розміром виконуваного коду і швидкістю? Наприклад, чи може 8разрядний мікроконтролер бути використаний з програмним макросом, щоб емулювати 16разрядний акумулятор і операції індексування? Вибір прикладного мови (високого рівня замість асемблера) може сильно вплинути на продуктивність системи, яка потім може диктувати вибір 8/16 / 32разрядной архітектури, але обмеження за ціною може відкинути цей вибір.
Тактова частота або, більш точно, швидкість шини визначає, скільки обчислень може бути виконано за одиницю часу. Деякі мікроконтролери, в основному ранніх розробок мають вузький діапазон допустимої тактовою частоти, в той час як інші можуть працювати аж до нульової частоти. Іноді вибирається специфічна тактова частота, щоб згенерувати іншу тактову частоту, необхідну в системі, наприклад, для завдання швидкостей послідовної передачі. В основному, обчислювальна потужність, споживана потужність і вартість системи збільшуються з підвищенням тактової частоти. Ціна системи при підвищенні частоти збільшується за вартості не тільки мікроконтролера, але також і всіх потрібних додаткових мікросхем, таких як RAM, ROM, PLD та контролери шини.
Розглянемо технологію, з використанням якої виготовлено мікропроцесор: Nканальную металлокіселполупроводнік (NMOS), яка використовувалася в мікроконтролерах ранніх розробок, порівняємо з сучасною CMOS технологією з високим рівнем інтеграції (HCMOS). На відміну від ранніх NMOSпроцессоров, в HCMOS рівні сигналів змінюються в діапазоні від 0 до рівня напруги живлення. У зв'язку з цією обставиною перевага віддається HCMOS процесорам. Крім того, HCMOS споживають меншу потужність і, отже, менше нагріваються. Геометричні розміри елементів в HCMOS менше, що дозволяє мати більш щільні схеми і, таким чином, працювати при більш високих швидкостях. Більш щільний дизайн також зменшує вартість окремого мікроконтролера, тому що на кремнієвій пластині того ж розміру можна отримати більшу кількість чіпів. З цих причин сьогодні переважна більшість мікроконтролерів виробляються з використанням HCMOSтехнологіі.

МОЖЛИВОСТІ МИКРОКОНТРОЛЛЕРА

За рахунок досягнення більш високого рівня інтеграції і надійності при збереженні низької ціни, все мікроконтролери оснащені вбудованими додатковими пристроями. Ці пристрої під управлінням мікропроцесорного ядра мікроконтролера виконують певні функції. Вбудовані пристрої володіють підвищеною надійністю, оскільки вони не вимагають ніяких зовнішніх електричних ланцюгів. До найбільш відомих вбудованим пристроїв відносяться пристрої пам'яті і порти введення / виводу (I / O), таймери, системний годинник / генератор. Пристрої пам'яті включають оперативну пам'ять (RAM), постійні запам'ятовуючі пристрої (ROM), перепрограммируемую ROM (EPROM), електрично перепрограммируемую ROM (EEPROM). Таймери включають і годинник реального часу, і таймери переривань. Слід брати до уваги діапазон і дозвіл таймера, так само як і інші підфункції, такі як функції порівняння та / або захоплення вхідних ліній при вимірюванні тривалості сигналу. Засоби I / O включають послідовні порти зв'язку, паралельні порти (I / O лінії), аналогоцифрового перетворювачі (A / D), цифроаналогові перетворювачі (D / A), драйвери рідкокристалічного дисплея (LCD) або драйвери вакуумного флуоресцентного дисплея (VFD).
Іншими, рідше використовуються, вбудованими ресурсами є внутрішня / зовнішня шина, таймер стеження за нормальним функціонуванням системи сторожова схема, система виявлення відмов тактового генератора, можливість вибору конфігурації пам'яті та системний інтеграційний модуль (SIM). SIM зазвичай замінює зовнішню "склеює" логіку, необхідну для організації взаємодії мікроконтролера із зовнішніми пристроями через задані контакти мікросхеми.
У більшість мікроконтролерів з внутрісхемний ресурсами включається блок конфігураційних регістрів для управління цими ресурсами. Іноді сам цей блок може бути відображений в різні місця карти пам'яті. Іноді є призначений для користувача і / або фабричний тестовий регістр, який вказує на те, яке значення виробник надає якості. Наявність конфігураційних регістрів призводить до проблеми випадкової зміни бажаної конфігурації "блукаючим" кодом. Для запобігання такої випадкової можливості використовується механізм "блокування", тобто до того, як регістр конфігурації може бути змінений, біти в іншому регістрі повинні бути змінені в певній послідовності. Хоча регістри конфігурації можуть спочатку налякати своєю складністю, вони вкрай цінні оскільки забезпечують високу гнучкість конфігурації при низькій вартості, так що одному мікроконтролеру можна знайти найрізноманітніші застосування.

НАБІР КОМАНД МИКРОКОНТРОЛЛЕРА

Необхідно уважно вивчити набір команд і регістрів кожного мікроконтролера, так як вони грають найважливішу роль у визначенні можливостей системи в цілому. Вивчили ваші програмісти індексні режими адресації в зв'язку з передбачуваними потребами вашої системи? Чи є будьякі спеціальні команди, які будуть використовуватися у вашій системі, такі як множення, ділення і табличне інтерполювання? Чи є будьякі режими енергозбереження для економії батарейного живлення, такі як стоповий, стоповий з низьким споживанням потужності та / або з очікуванням? Чи є будьякі команди бітових маніпуляцій (установка біта, очищення біта, тест біта, зміна біта, команди переходу за встановленим / очищеному біту), що полегшують застосування мікроконтролера, або команди маніпуляції з бітовими полями?
Будьте обережні з чудовими командами, які здійснюють багато дій в одній команді. Реальним критерієм продуктивності є кількість тактових циклів, необхідне для виконання завдання, а не кількість виконаних команд. Для справедливого порівняння краще закодувати однакову програму і порівняти повне число виконаних тактових циклів і використаних байтів. Чи є в карті операційних кодів нереалізовані інструкції і що вийде, якщо вони випадково виконуватися? Обробить чи система подібну ситуацію коректно обробником "виняткових" подій або це призведе до виходу системи з ладу?

ПЕРЕРИВАННЯ МИКРОКОНТРОЛЛЕРА

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

ХАРАКТЕРИСТИКА ВАШОЇ КОМПАНІЇ

Критично проаналізуйте майновий стан вашої компанії. Чи має ваша компанія достатніми засобами для навчання персоналу тонкощам виробництва систем на основі мікроконтролерів і використання коштів їх розробки? Чи володіє вже ваша компанія достатніми засобами розробки, або ж ви будете купувати або орендувати їх? Якщо розглядається новий мікроконтролер, чи існують доступні засоби розробки, такі як компілятори мови високого рівня, асемблери / компоновщики, прототипні модулі і отладчики / емулятори? Чи достатньо легко розширюються наявні у вас кошти розробки для нових мікроконтролерів? Чи потрібно наймати і навчати додатковий персонал для цього проекту? Чи можете ви залучити експерта для навчання інших членів вашої команди? Чи дозволяє вам бюджет наймання додаткового постійного штату і / або працівників за контрактом? Чи задоволена ваша компанія микроконтроллерами, наявними в даний часЛ ринку, а також обслуговуванням?

ХАРАКТЕРИСТИКА ПОСТАЧАЛЬНИКА

Третій крок у скороченні списку технічно прийнятних мікроконтролерів перевірка виробників і постачальників мікроконтролерів, тобто компаній, з якими ви плануєте вступити в тривалі стосунки на взаємовигідній основі. Постачальник може бути виробником мікроконтролерів, або він може бути дилером, який є повноважним представником декількох виробників. Найкращим чином задовольнить ваші запити постачальник з більш широким асортиментом продуктів і репутацією високої якості, надійності, обслуговування та своєчасної поставки при справедливою ціною. Крім того, чим більше продуктів ви купуєте у одного постачальника, тим більші переваги ви отримуєте щодо ціни, послуг і підтримки. Завжди майте на увазі, що, хоча доларовий обсяг вашої покупки може здаватися вам високим, це завжди відносна величина до загального обсягу продажів постачальника. Постачальники, які постачають не тільки микроконтроллерами, а й пам'яттю (RAM, ROM), дискретними пристроями (транзисторами, діодами і т.д.), стандартними цифровими логічними пристроями (7400, 74HC00 і т.д.), спеціальними мікросхемами, замовними приладами (CSIC), спеціалізованими мікросхемами (ASIC) і програмованими логічними пристроями (PLD), зможуть краще задовольнити ваші зростаючі запити. Чи має виробник і / або постачальник будьякі нагороди за якість, надійність, сервіс і / або поставку? Не слід надто довіряти самопрісуждаемим нагород.

ХАРАКТЕРИСТИКА ВИРОБНИКА

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

ПІДТРИМКА ВИРОБНИКА

Пряма поддерка виробника включає маркетинг / продажу і прикладну інженерну підтримку. Коли ви дзвоните, звертаючись за допомогою, чи можете ви прямо зв'язатися з тим, хто вам потрібен, або вам доводиться грати в "глухий телефон"? Чи передаються дзвінки негайно? Чи є номер факсу? Скільки є телефонних ліній? Телефонні лінії завжди зайняті? Чи є у них система комутації або секретар передає ваші повідомлення відповідальному за підтримку? В котрій годині працює персонал підтримки? Чи мають вони інші обов'язки окрім підтримки? Який кількісний склад обслуговуючого персоналу? Охоче ​​йому допоможе заводський персонал, а саме, фахівці з готової продукції, з виробництва, за якістю, електронщики, програмісти? Дружать чи заводські інженери з персоналом підтримки? Знаючий чи персонал підтримки, чи має потрібні навички, і виконують вони своєчасно те, що обіцяли, наприклад, вирішити вашу проблему або вислати вам що-небудь? Приходить це звичайною поштою, платите ви за швидку доставку? Чи є у виробника електронна дошка оголошень (BBS) або сторінка в Internet, на яких можна отримати таку інформацію, як прикладні програми, новини про продукти, свіжі програми, вихідні тексти, повідомлення про помилки, електронну пошту, конференції? Які підтримуються швидкості передачі? Скільки телефонних ліній є? Який годинник роботи? Чи потрібна вам особлива марка комп'ютера і / або модему для доступу? Чи є системний оператор (sysop)?

ЛІТЕРАТУРНА ПІДТРИМКА

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

ЗАКІНЧУЮЧИ ВИБІР

Для остаточного кроку в процесі вибору побудуйте таблицю, яка містить розглядаються мікроконтролери в одній графі, а їх важливі характеристики в інший. Потім прикладіть бланки технічних описів виробників, щоб отримати справедливе наочне порівняння. Деякі виробники мають попередньо зроблені порівняльні описи їх мікроконтролерів, які спростять ваше завдання, але перевірте по технічним описам, чи всі новітні продукти представлені. Серед можливих характеристик ціна (на очікуваний обсяг продукції, включаючи передбачення майбутньої ціни, тобто зменшиться ціна, якщо ви увіллєтеся в виробництво?), RAM, ROM, EPROM, EEPROM, таймер (и), A / D, D / A, послідовні порти, паралельні порти, швидкість шини (мінімальна / максимальна), спеціальні команди (множення, ділення і т.д.), число доступних переривань, час відгуку переривання (час від початку переривання до виконання першої команди, керованої перериванням), розмір корпусу / тип (керамічний DIP або LCC, пластиковий 0.3 "DIP або 0.6" DIP, стиснений DIP (відстань між контактами .071 "), PLCC, PQFP, EIAJQFP, SOIC; деякі з них використовують технологію поверхневого монтажу), вимоги щодо харчування та інші деталі, важливі для пристрою вашої системи.

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

РОБОТА КОМАНДИ

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

ВИСНОВОК

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