М. Ахметов
16-розрядні мікроконтролери PHILIPS, INFINEON, PANASONIC, OKI, TI
Один з найістотніших представників сімейства MCS-51, компанія PHILIPS SEMICONDUCTOR, досягнення якої в галузі випуску модифікацій 51 мікроконтролерів відомі всьому світу, примудрилася затягнути вже багаторазово застарілу, але не менш популярну архітектуру на ниву 16-біт застосувань, створивши абсолютно оригінальні 16-разовий. МК з індексом 51XA, сумісні за вихідним кодом з 8-розрядними MCS-51. Розробникам кристала довелося докладати героїчні зусилля, щоб ув'язати разом дві взаємовиключні ідеї, з одного боку, створення справжнього 16-розрядного мікроконтролера, конкурентного за продуктивністю з аналогічними виробами інших фірм, а з іншого - включення в підмножину його ресурсів вихідного ядра 80С51. Завдання не з легких хоча б тому, що процесор 80С51 має архітектуру, що вже відійшла в область переказів, неорієнтовану або взагалі закриту для подальшого розширення (це вам не МК HITACHI, з їх модульним принципом). Зокрема, просте збільшення розрядності регістрів обмежило б продуктивність нового 16-розрядного мікроконтролера (архітектура акумуляторна), а застосування нових регістрових архітектур процесора виключило б сумісність. Докладний перелік усіх проблем та їх вирішень зайняв би кілька сторінок тексту, тому краще відразу подивитися, до якої вершини апаратно-програмного мистецтва все це призвело.
16-розрядний процесор XA51 включає підмножина регістрів 80С51 разом з додатковими сегментними регістрам коду, даних, додаткового сегмента, що забезпечують розширення пам'яті програм і пам'яті даних до 16 Мбайт.
8-розрядний регістр-акумулятор і 16-розрядний покажчик даних DPTR 80С51 i0похованіlг в регістровому файлі, що складається з 20 16-розрядних регістрів загального призначення, кожен з яких може виконувати функції регістра-акумулятора або адресного регістра. 16 регістрів РОН розділені на 4 банки, що включають по 4 16-розрядні регістри. Для підтримки низки 32-біт операцій (зсуву, множення, поділу) РОН об'єднуються в 32-розрядні регістрові пари.
На додаток до покажчика стека 80С51, який називається тепер системним стеком, мікроконтролери ХА51 мають додатковий стек користувача, що розміщується у будь-якому сегменті пам'яті даних.
Для прискорення роботи процесор ХА51 використовує 7-байт чергу команд.
ХА51 зберігає пряму та непряму адресації 80С51, значно збільшуючи діапазон до 1 Кбайт прямої та 16 Мбайт непрямої адресації.
Система команд ХА51 зберігає свою наступність з 80С51 в такий спосіб. Набір команд 80С51 є підмножиною набору команд ХА51, майже всі інструкції 80С51 (крім однієї) мають відповідну команду ХА51. Єдина і, на щастя, інструкція XCHD (обмін зошитом між акумулятором і пам'яттю), що рідко використовується, вимагає для реалізації додаткової апаратної схеми, і тому вона просто емулюється кількома командами ХА51. Самі команди тепер виконуються набагато швидше, незважаючи на збільшений формат (довжина інструкцій може становити від 1 до 6 байт). Більшість команд регістр-регістр вимагають виконання 100 нс, чи 3 циклу процесора, при тактовій частоті 30 МГц.
Процесор ХА51 може працювати у двох основних режимах: розширеному та режимі сумісності. Розширений режим використовує нові можливості процесора, включаючи більш ефективні команди, підтримку мультизадачності і так далі. Режим сумісності забезпечує максимальну емуляцію 80С51.
Для перекладу програми у вихідних кодах з 80С51 на платформу ХА51 використовується спеціальний транслятор, але зазвичай його роботи недостатньо, особливо якщо ви хочете, щоб процесор використовував більш кращий розширений режим. У більшості випадків транслятор видає довгий список помилок та попереджень, які необхідно перевіряти та коригувати вручну. Для полегшення цього процесу, на допомогу програмісту PHILIPS розробила ціле багатосторінкове керівництво "Про те, як правильно перетранслювати вихідний текст", в якому однак відразу попереджає, що це може бути не так просто і швидко, як здається.
З WEB-сторінки PHILIPS SEMICONDUCTORS доступна інформація про дев'ять моделей 16-розрядних мікроконтролерів ХА51, що випускаються в даний час.
Три моделі мають FLASH або одноразово програмоване ПЗП ємністю 32 Кбайт і внутрішню ОЗУ об'ємом від 512 байт до 1 Кбайт.
Інші моделі доступні або з масковим ПЗУ, або як ROMless-версії. МК ХА51 взаємодіють із зовнішньою пам'яттю через мультиплексовану або не мультиплексовану шини адреси та даних (до 24 ліній адреси та 8/16-розрядні лінії даних) з можливістю програмної установки необхідних часових параметрів шини.
Хоча при проектуванні кристала ХА51 і не ставилося мети забезпечити повну ідентичність за використовуваною номенклатурою периферійних пристроїв, в більшості випадків по можливості розробники намагалися не змінювати існуючої периферії, таймерних модулів, контролерів послідовного інтерфейсу, зовнішньої шини і так далі, обмежуючи.
До периферійних пристроїв МК загального застосування входять такі модулі:
Мікроконтролери ХА51 мають від 32 до 50 ліній вводу/виводу, які можуть бути запрограмовані в один із чотирьох режимів (квазідвонаправлений порт, відкритий колектор, включення pull-up резисторів, Z-стан).
МК випускаються в основному у 44-вивідному PLCC або 44/100-вивідному QFP-виконанні. Стандартний діапазон напруги живлення становить 2,7-5,5 Ст.
Мікроконтролери 16-розрядного сімейства із загальною назвою С166 компанії INFINEON AG (раніше – SIEMENS AG), наочно демонструють переваги RISC-архітектури перед традиційною (мається на увазі саме традиційна) CISC-архітектурою. Скорочений набір команд, що дозволив iвзаштовхати l) інструкції в єдиний 2- і 4-байт формат разом із застосуванням 32-розрядної внутрішньої шини (вибірка команд за один процесорний цикл), дав можливість реалізувати ефективний 4-ступінчастий конвеєр команд і в кілька разів підняти підсумкову виробник процесора.
Початкове сімейство 8хС166, що відноситься до так званого першого покоління 16-розрядних мікроконтролерів INFINEON AG, виявилося базовим ядром у створенні універсальних продуктивних МК, призначених вирішувати широке коло завдань з управління в реальному масштабі часу. Для цього розробники С166 спочатку відмовилися від програмної сумісності з 8-розрядними мікроконтролерами SIEMENS, наголосивши на нову реєстрову архітектуру, ефективну обробку переривань (швидкі відгук на переривання і перемикання контексту), застосування розширеного набору інструкцій, що підтримують бітові операції.
Друге покоління МК C166 з найбільш досконалими представниками від імені серії С167 характеризується додатковими інструкціями підтримки мов високого рівня, збільшеним обсягом адресного простору та ємністю внутрішньої пам'яті. Додаткова внутрішня 16-розрядна Х-шина узгодить внутрішній інтерфейс з периферійними пристроями, спрощуючи підключення та інтеграцію нової периферії та вбудованої ОЗП. Мікроконтролери серії С165 є обмеженим і недорогим варіантом МК С167 зі зниженим енергоспоживанням за рахунок відсутності деяких периферійних пристроїв: АЦП, модуля захоплення/порівняння, ШІМ. Найдешевші мікроконтролери СаС161, які пропонуються за ціною 8-розрядних МК, рекомендовані до застосування у додатках, критичних до вартості.
Неймановский процесор С166 встановлює загальний адресний простір розміром до 16 Мбайт (розбитих на 256 сегментів по 64 Кбайт) пам'яті програм, пам'яті даних, регістрів і портів ввода/вывода. Фізична 24-розрядна адреса наступної команди реалізується склейкою вмісту 16-розрядного лічильника команд та молодшого байта регістру сегмента коду. Для адресації даних використовуються 4 10-розрядні регістри покажчика даних, кожен з яких розділяє адресний простір на 1024 сегменти даних по 16 Кбайт. Дані адресуються шляхом конкатенації молодших 14 біт адреси (це можливо, наприклад, вміст РОН при непрямої адресації) і 10 біт регістру покажчика даних, формуючи у результаті 24-разрядный фізичний адресу.
Поточний регістровий банк, що містить до 16 16-розрядних РОН, що функціонують як регістри-акумулятори або адресні регістри, формується у довільній області внутрішнього ОЗП. Розташування регістрового банку визначається спеціальним регістровим покажчиком, що містить адресу регістра R0. Подібна реалізація вказівки регістрових банків дозволяє, окрім швидкого виконання перемикання контексту, виконувати передачу даних від одного завдання до іншого без вивантаження та завантаження параметрів, просто розташовуючи регістрові банки із взаємним перекриттям.
11-розрядний покажчик стека використовує для своєї роботи два додаткові регістри для вказівки верхньої та нижньої допустимих меж стеку.
Набір команд містить 55 основних інструкцій форматом 2 і 4 байт, що включають команди знакового та беззнакового множення 16x16 та поділу 32/16, а також команди бітових операцій. Мікроконтролери другого покоління додають до цього 4 додаткові інструкції з підтримки мов високого рівня. Більшість інструкцій виконуються за цикл процесора або 100 нс при зовнішній тактовій частоті 20 МГц. Залежно від моделі максимальна тактова частота може становити від 16 до 25 МГц. Внутрішні апаратні помножувач/дільник та пристрій барабанного зсуву дозволяють різко прискорити виконання відповідних операцій. Операція зсуву 1..15 біт виконується за процесорний цикл, а операції множення 16x16 і розподілу 32/16 - за 5 і десяти циклів, відповідно.
16-розрядні мікроконтролери С166, залежно від версії, можуть містити 4, 32, 64, 128 Кбайт вбудованого масочного, ОТР або FLASH ПЗУ, а можуть зовсім не містити, як, наприклад, МК серії С161. Місткість вбудованого ОЗУ для МК С166 становить від 1 до 4 Кбайт. Початкове завантаження програми в ОЗП або FLASH ПЗУ може здійснюватись через апаратний завантажувач. Одна з останніх розробок - С167CS-32FM включає навіть 256 Кбайт внутрішнього FLASH ПЗУ, що є поки теоретичною межею для внутрішньої шини, а обсяг ОЗУ досягає 11 Кбайт.
Мікроконтролери С166 дозволяють гнучко конфігурувати зовнішню шину адреси та даних. Залежно від версії МК, можна встановити до п'яти адресних областей з незалежними режимами роботи (мультиплексована/не мультиплексована, ширина 8/16 біт, вставка тактів очікування і так далі) і з видачею всіх необхідних апаратних сигналів.
До номенклатури периферійних пристроїв для 16-розрядних мікроконтролерів входять такі модулі:
Окрім стандартних режимів Idle та Power Down, нові мікроконтролери С166 реалізують режим уповільнення Slow down, при якому досягається зниження енергоспоживання за рахунок зниження внутрішньої тактової частоти та режим відключення незадіяних периферійних пристроїв.
МК С166 мають від 63 до 111 ліній введення/виводу та виробляються у 80/100/144-вивідному виконанні.
Найновіші розробки INFINEON AG-мікроконтролери загального призначення SAB161U та комунікаційні SAB C165Utah з циклом інструкції 55 нс встановлюють нові стандарти продуктивності 18 MIPS для 16-розрядних МК.
Про розробки INFINEON читайте також у статті А. Соколова "Процесорний модуль на базі мікроконтролера фірми INFINEON".
Крім INFINEON AG, сумісні із С166 мікроконтролери марки ST10 випускає франко-італійський концерн STMICROELECTRONICS.
16-розрядні мікроконтролери MN10200 є логічним продовженням 4- та 8-розрядних сімейств PANASONIC з розширеними функціональними можливостями на основі 16-розрядної архітектури. Вимога повної програмної сумісності з молодшими сімействами, природно, певною мірою обмежує застосування нових технічних рішень, змушуючи розробників рухатися у заздалегідь заданому початковій концепцією напрямі. Сімейство MN10200 представляє характерний приклад такого компромісу. З одного боку, скорочений до 36 основних інструкцій набір команд, відмова від використання складних методів адресації, 3-ступінчастий конвеєр команд, 100-н цикл процесора. Ось-ось чекаєш, що з'являться заповітні слова "RISC" та "реєстровий файл", а команди почнуть вибиратися і виконаються за один системний цикл, піднімаючи продуктивність процесора до 10 MIPS - але цього не відбувається. Команди мають неоднаковий формат, виконуються за різне число циклів, відповідно знижуючи ефективність роботи конвеєра команд, а кількість і конфігурація регістрів загального призначення до гордого визначення "реєстровий файл", на жаль, не дотягують. Але, навіть не користуючись швидкісними досягненнями RISC-архітектур, 16-розрядні мікроконтролери PANASONIC (загалом більше 40 моделей) демонструють не гіршу у своєму класі продуктивність, що дозволяє застосовувати їх для широкого спектру завдань управління в реальному масштабі часу. Так само, як і МК С166 виробництва фірми INFINEON AG з додатковою шиною розширення X-Bus, мікроконтролери MN10200 мають внутрішню шину, що спрощує підключення нових периферійних пристроїв, що, зокрема, є актуальним для замовлених МК.
Процесорне ядро MN102L00, на якому побудовано переважну більшість 16-розрядних МК PANASONIC, використовує лінійну адресну модель пам'яті із загальними адресами для регістрів спеціальних функцій, пам'яті програм та даних. Для внутрішніх регістрів процесора використовується переважно 24-біт формат. 24-розрядний лічильник команд безпосередньо адресує до 16 Мбайт пам'яті. 4 24-розрядні регістри даних працюють як регістрів-акумуляторів і регістрів для зберігання операндів. Стільки ж 24-розрядних адресних регістрів використовуються для непрямої реєстрової адресації, а також можуть служити РОН і навіть бути регістрами-акумуляторами для ряду арифметичних операцій. Один з адресних регістрів працює як покажчик стека. Через кілька нестандартного формату регістрів даних, для підтримки операцій множення та поділу введено додатковий 16-розрядний регістр, що зберігає старші 16 біт 32-розрядного твору або поділеного. Загальну картину доповнює 16-розрядний регістр стану програми.
Як згадувалося, підвищення продуктивності використовується тристадійний конвеєр команд, здійснює одночасно вибірку наступної команди разом із виконанням і записом результатів поточної інструкції.
Система команд включає 36 базових інструкцій, що підтримують набір операцій 8- та 16-біт арифметики, зсувних та логічних операцій. Загалом, набір команд не зазнав будь-яких суттєвих змін, порівняно з 8-розрядними попередниками, за винятком того, що команди стали мати байтовий формат замість зошитного, ну і, природно, того, що операції з 16-розрядними операндами почали проводити значно швидше (за визначенням).
Розмір команд становить від 1 до 5 байт (перші 1-2 байт включають код операції, 0-3 байт - розширення адрес/дані). Інструкції пересилок регістр-регістр, завантаження/збереження та деякі команди розгалуження вимагають виконання лише один цикл процесора (100 нс при стандартній зовнішній тактовій частоті 20 МГц). Ряд мікроконтролерів мають процесорний цикл, скорочений до 62,5 та 50 нс. Крім цього, можна відзначити інструкції множення 16x16 та поділу 32/16 та команди бітових операцій.
Мікроконтролери MC10200 мають вбудований одноразово програмований, масковий або FLASH ПЗУ об'єм від 16 до 256 Кбайт і ємність ОЗУ від 1 до 10 Кбайт. До складу внутрішнього ОЗП входить область пам'яті з короткою адресацією, тобто з більш швидким доступом. Область пам'яті програм містить таблицю адрес найчастіше використовуваних підпрограм.
Для роботи із зовнішньою пам'яттю програм та даних, MC10200 використовують 24-розрядну шину адреси з апаратним формуванням 4 сигналів вибірки кристала та 8/16-розрядну шину даних. Мікроконтролери допускають пряме підключення DRAM-модулів з видачею всіх необхідних сигналів керування та регенерації та вставкою за потреби циклів очікування.
Основна периферія, загальна для більшості мікроконтролерів MN10200, включає:
До додаткових периферійних пристроїв мікроконтролерів, що використовуються в спеціалізованих застосуваннях, відносяться: додаткові ШІМ, 8-канальний контролер ПДП, програмований помножувач тактової частоти, допоміжний тактовий генератор, драйвери рідкокристалічних індикаторів, OnScreen Display (OSD) контролер інших функцій, приймач IR-сигналів, схема керування кроковим двигуном тощо.
Для всього ряду мікроконтролерів MN10200 випускаються версії зі зниженою напругою живлення 2,7-В. Деякі моделі працюють при напрузі 2 ст.
МК MN10200 випускаються у різному виконанні від 64-вивідних корпусів SDIP до 84/100/128-висновних корпусів QFP.
Компанія OKI представлена в ніші 16-розрядних пристроїв мікроконтролерів лінії OLMS-66K, перші представники яких базувалися на вихідному процесорному ядрі nX-8/300. Подальша еволюція МК OKI йшла, загалом, шляхом різних модифікацій процесора.
З'явилися мікроконтролери на основі спрощеного ядра nX-8/200 з обмеженим набором інструкцій та МК з процесором nX-8/400 (версія nX-8/200 з підвищеною продуктивністю). Верхом редукціонізму з'явилися мікроконтролери з ядром nX-8/100 (обмежений варіант nx-8/200 обмеженого варіанта nx-8/300). В даний час найбільш поширеними та перспективними вважаються мікроконтролери MSM665xx на основі останнього процесорного ядра nX-8/500, програмно сумісні з МК попередніх сімейств.
Гарвардський процесор nX-8/500 поєднує класичну акумуляторну архітектуру (з чітко вираженим 16-розрядним регістром-акумулятором) з архітектурою регістрового файлу (що робить його дещо схожим на процесор К4 фірми NEC).
Реєстровий файл незвичайний своєю довжиною, він містить до 256 регістрових банків по 8 8-розрядних регістрів загального призначення (РВН) у кожному. Регістри можуть об'єднуватися в регістрові пари і також використовуватися як регістри-акумулятори. Тепер у програміста (або компілятора) з'явилася можливість вибору застосовувати або короткі команди з регістром-акумулятором, або більш довгі команди з РОН, що вимагають на виконання більшого часу (зате без відомої проблеми акумуляторної "пляшкової шийки").
Перші 64 регістри (8 регістрових банків по 4 16-розрядних регістрових пари, що включають 2 індексні регістри, покажчик даних і покажчик стека користувача) можуть працювати як в якості РОН, так і власне адресних регістрів. Індексні регістри використовуються для непрямої адресації даних з базою та зміщенням, а покажчик даних додає до цього можливість непрямої адресації з постінкрементом та постдекрементом. Покажчик стека користувача допускає лише непряму адресацію зі зміщенням.
До системних регістрів, крім 16-розрядних лічильника команд, покажчика системного стека, регістру стану, входять 16-розрядний регістр бази локальних регістрів, використовуваний визначення поточного регістрового банку (молодший байт) і поточної сторінки пам'яті даних (відповідно, старший байт), а також 3 8-розрядних сегментних регістру (коду, даних і таблиці), призначених для розширення простору пам'яті програм, що адресується, і даних з 64 Кбайт до 16 Мбайт. Оскільки для завантаження констант з таблиць, розташованих у пам'яті програм, процесор може використовувати лише безпосередню адресацію, для обходу подібної незручності було введено додатковий системний регістр, що дозволяє відображати комірки пам'яті програм у спеціальному вікні певній ділянці пам'яті даних і відповідно використовувати для адресації констант у таблиці повний набір способів адресації даних.
Система команд містить понад 100 інструкцій, що підрозділяються на так звані базові та композитні (складові) інструкції. Базові команди використовують мінімальний набір методів адресації, іноді навіть один (безпосередній операнд у тілі команди) та мають довжину від 1 до 4 байт. Складові команди працюють з розширеним набором методів адресації даних, вони можуть бути довшими (від 1 до 6 байт) і виконуються за більшу кількість циклів процесора. Деякі базові та складові команди повністю ідентичні за своїми функціями, але мають абсолютно відмінні один від одного кодування та формат. У таких випадках компілятор вибирає базову інструкцію як ефективнішу. Здебільшого інструкції виконуються за 2-10 циклів процесора. Залежно від версії мікроконтролера тривалість процесорного циклу може становити від 67 до 167 нс.
У систему команд входять інструкції беззнакових множення 16x16 (21 цикл, 3 цикли за наявності апаратного помножувача), поділу 32/16 (42 цикли), множення з накопиченням (MAC), що є не у всіх моделей, а також 12 команд бітових операцій. Нестандартною особливістю процесора є використання тих самих команд (з однаковим операційним кодом) підтримки операцій з 8- і 16-разрядными операндами. Саме виконання команди (буде це операція зі словом чи з байтом) визначається спеціальним прапором у регістрі стану. Подібне ускладнення було зроблено збільшення кількості команд без розширення розрядної сітки інструкцій. З іншого боку, це породило низку проблем, викликаних необхідністю регулярно відстежувати стан прапора визначника в процесі виконання програми, щоб ненароком не створити з байтом того, що ви хотіли зробити зі словом.
Мікроконтролери 66К мають досить хитромудру модель пам'яті даних загальним розміром до 16 Мбайт, розділену на 256 сегментів. Нульовий сегмент містить деякі системні регістри, регістри спеціальних функцій управління периферією і до 2 Кбайт регістрів загального призначення. Кожен сегмент розділений додатково на 256 частин і включає область з короткою бітовою адресацією (взагалі ж можна адресувати будь-який біт по всіх 16 Мбайт), область, загальну для всіх сегментів (для обміну даними між завданнями, що використовують різні сегменти), фіксовану сторінку зі швидкою адресацією та поточну сторінку, що використовується для адресації з коротким 1-байт зсувом. Початок поточної сторінки визначається старшим байтом системного регістру бази локальних регістрів.
Пам'ять програм поділена таким чином на 256 сегментів по 64 Кбайт. Об'єм пам'яті програм і даних, що реально адресується, (реалізований апаратно) залежить від моделі мікроконтролера. Крім цього, не у всіх МК взагалі присутні сегментні регістри.
Мікроконтролери сімейства MSM65xx характеризуються ємністю масочного, одноразово програмованого або FLASH вбудованого ПЗП від 32 до 128 Кбайт. Місткість внутрішнього ОЗУ може становити від 1 до 4 Кбайт.
Багато моделей МК мають вбудоване FLASH ПЗУ з можливістю внутрішньосхемного програмування. Пам'ять даних може містити EEPROM, а також двопортове ОЗУ.
Всі мікроконтролери MSM66xx мають вбудований АЦП з розрядністю 10 біт та з числом вихідних каналів від 4 до 16 з тривалістю перетворення від 128 циклів на канал. Кристал MSM66587A має лише 8-розрядний 4-канальний АЦП. Додатково аналоговий блок у деяких моделей МК входить 8-розрядний 2-канальний ЦАП і також детектор переходу через нуль (zero-cross detection).
Таймерний блок включає в себе таймер тимчасової бази або, іншими словами, багатовихідний програмований розподільник, один 16-розрядний таймер і до 7 8-розрядних таймерів загального призначення (один з яких реалізує функцію WATCHDOG), 8-розрядний лічильник подій, 16-розрядний -running таймер з двома каналами вхідного захоплення, 15-розрядний таймер реального часу, тактований від допоміжного генератора частотою 32768 Гц, 4- або 2-канальний 8-розрядний ШИМ, що каскадується.
Крім цього, деякі МК включають 16-розрядний, 3-фазний, 6-канальний ШІМ для управління двигунами постійного та змінного струму.
Система послідовного інтерфейсу представлена двома UART із поєднаними або окремими синхронними каналами. Кількість портів введення/виводу, залежно від моделі, становить від 50 до 110 ліній.
Блок обробки переривань підтримує від 3 до 9 зовнішніх джерел переривань.
Мікроконтролери MSM65xx виробляються в 64/84/100/128-вивідних корпусах типу QFP. Стандартна напруга живлення становить 4,5 В. Найбільш малоспоживаючі серії працюють від напруги 2,4 В з максимальним струмом споживання не вище 20 мА.
16-розрядні мікроконтролери представлені у TI двома основними гілками. Перше сімейство TMS370C16 є подальшим розвитком 8-розрядних МК TMS370 для застосувань, що потребують потужніших процесорів. Після того, як наприкінці 90-х TI відмовилася від планів подальшого розвитку та модернізації TMS370, обмежившись випуском вже існуючих версій, зловісна тінь неминучої смерті опустилася і на їхніх старших родичів TMS370C16. На цьому тлі дуже оптимістично виглядають сьогодні положення та перспективи для іншої гілки 16-розрядних мікроконтролерів TI, сімейства мікроконтролерів MSP430 компанії Texas InstrumentsMSP430, на якому за заявою компанії будуть сконцентровані всі (або майже всі) зусилля TI щодо прогресу в області МК.
Самі мікроконтролери MSP430 мають унікальні характеристики, зокрема, по мікроспоживання та співвідношення продуктивність/споживання, що дозволило їм зайняти міцні позиції у застосуваннях, пов'язаних з використанням енергозберігаючих технологій. Чомусь сьогодні іноді з'являється думка, що МК MSP430 мають дуже повільний процесор (наприклад, у журналі "Компоненти та Технології" № 3 за 2000 р., стаття "Мікроконтролери в Росії: вчора, сьогодні, завтра ...", хоча поряд же матеріал присвячений саме MSP430 і містить коректні дані). Реально ж (якщо не гнатися за рекордами в енергоспоживання) продуктивність MSP430 може становити до 5 MIPS, що є аж ніяк не найгіршим результатом для 16-розрядних МК. Мало хто з 16-біт мікроконтролерів, що випускаються зараз, має процесорний цикл менше 100 нс і, більше того, виконує протягом одного цього циклу більшість команд.
В даний час TI випускає чотири основні лінії МК: MSP430x310, MSP430X320, MSP430X330 і MSP430x11x, реалізовані на одному базовому ядрі і розрізняються в основному по швидкодії, ємності вбудованої пам'яті та набору периферійних пристроїв.
RISC-подібний нейманівський процесор містить 16 16-розрядних регістрів, з яких 4 використовуються як лічильник команд, що адресує відповідно до 64 Кбайт пам'яті, покажчик стека, регістр слова стану програми і так званий регістр формування констант (про його призначення трохи нижче). Інші 12 регістрів є регістрами загального призначення, що використовуються при необхідності як регістри-акумулятори, адресні регістри, що реалізують непряму, індексну, непряму з постінкрементом адресацію, а також просто регістрів для зберігання операндів.
Процесор використовує ортогональну (симетричну) систему команд, що дозволяє виконувати будь-яку операцію з будь-яким регістром, використовуючи будь-який метод адресації. Набір команд містить 27 базових вказівок. Додаткові 24 команди емулюються процесором. Тобто, наприклад, коли компілятор зустрічає команду "DEC R6", то вона виконується як інструкція "SUB #1, R6".
Необхідні емуляції константи формує регістр констант. Більшість емульованих команд вимагають виконання такого ж (не більшого) числа циклів процесора, як і базові інструкції, крім п'яти команд, використовують відразу кілька базових інструкцій. Формат команд, залежно від методу адресації та типу команди, може становити 2, 4 і 6 байт.
При прямій регістрової адресації інструкції виконуються за один цикл процесора (до 200 нс) і займають лише 2 байти. Використання інших методів адресації може збільшити час виконання від 2-3 (непряма та індексна адресація для одного операнда) до 4-6 процесорних циклів (абсолютна адресація або використання непрямої та індексної адресації для обох операндів) та, відповідно, подовжити команду до 4 або 6 байт.
Деякі серії MSP430 містять апаратний помножувач, що дозволяє виконувати знакове та беззнакове множення 16x16 за 1-2 цикли процесора. Правда при цьому необхідно спочатку перенести операнди (наприклад, з РОН) в регістри помножувача, а потім результат перенести назад або кудись ще, щоб скористатися результатом для подальших дій. А це – додатковий час.
Мікроконтролери MSP430, залежно від моделі, мають вбудоване ПЗУ об'ємом від 2 до 32 Кбайт, маскове або програмоване одноразово (серія MSP430F11x містить навіть FLASH розміром до 4 КБайт).
Місткість внутрішнього ОЗУ становить від 128 байт до 1 Кбайт. МК немає можливості адресувати зовнішню пам'ять програм, хоча у планах TI - у майбутніх розробках реалізувати збільшену до 1 Мбайт сегментну модель пам'яті. Отже, використовувати їх у режимі мікропроцесора поки що не можна. Для цілей налагодження випускаються кристали з ультрафіолетовим стиранням.
Номенклатура периферійних пристроїв залежить від серії МК.
Серія MSP430x310 містить досить обмежений набір периферії, який включає:
Мікроконтролери серії MSP430х320 доповнюють цей набір блоком аналогової обробки на основі 6-канального АЦП з розрядністю 12+2 біт, з вбудованим ІОН та часом перетворення 96 та 132 циклів процесора.
Серія MSP430x330, порівняно з MSP430x310, має розширений таймерний блок, що включає додатковий 16-розрядний таймер/лічильник та 5 регістрів захоплення/порівняння. Крім цього, вони мають апаратний помножувач, додаткові лінії вводу/виводу, контролер послідовного USART інтерфейсу.
Останні випущені мікроконтролери MSP430x11x містять 16-розрядний таймер/лічильник з трьома регістрами захоплення/порівняння і виробляються в 20-вивідному корпусі SOP.
Головна відмінність МК MSP430 від інших (звичайних) мікроконтролерів звичайно є дуже високе співвідношення продуктивність/споживання, що перевищує 660 MIPS/Watt.
Мікроконтролери можуть утворювати внутрішню тактову частоту (1-3 МГц) від зовнішнього генератора частотою 32768 Гц.
При напрузі живлення 3 і внутрішньої тактової частоті 1,1 МГц споживання мікроконтролера становить тільки 350 мкА. Мінімальний струм споживання у режимі очікування не перевищує 1,5 мкА. Вихід із режиму очікування відбувається всього за 6 мкс.
МК MSP430 випускаються у корпусах 48/56 SSOP (MSP430x310), 64QFP або 68PLСС (MSP430х320), 100QFP (MSP430x330).
Світлодіодне освітлення набирає все більшої популярності. Воно дозволяє досягати відмінних показників ефективності, має широкий функціонал та високу гнучкість. Сучасні системи «розумне світло» поєднують джерела світла, блоки живлення, датчики (рухи, присутності, освітленості тощо) в єдину інформаційну мережу. Усі великі виробники пропонують свої рішення у цій сфері. Так, наприклад, компанія Infineon випускає широкий спектр спеціалізованих мікросхем від регуляторів напруги до мікроконтролерів сімейства XMC1000.
Мал. 1. Технології та мікросхеми від Infineon
Наразі важко знайти споживача, який не знав би про існування світлодіодних джерел світла. Світлодіоди (LED) знаходять своє застосування в різних пристроях: від кишенькових ліхтариків, до потужних промислових світильників. Причинами такої популярності спочатку була висока ефективність і низьке споживання, проте зараз на перше місце виходить їх функціональність, простота підстроювання рівня освітленості, ефективне управління споживанням та ін. Саме LED-світильники ідеально підходять для реалізації систем «розумне світло».
Так як керувати роботою LED-джерел світла досить просто, то за їх допомогою можна без проблем реалізовувати інтелектуальні функції:
Infineon - один із лідерів у сфері виробництва напівпровідникових компонентів для потреб освітлювальної техніки. Портфоліо компанії включає широкий спектр аналогових та цифрових мікросхем, а також дискретних компонентів, що використовуються у цій галузі:
Основними функціональними блоками в системі «розумного світла» є AC/DC-джерела живлення (драйвери) для світлодіодів, DC/DC-драйвери, датчики, блоки управління (рис. 2). Блоки управління відповідають за опитування датчиків, контролюють параметри системи, обмінюються інформацією з іншими інтелектуальними вузлами, керують драйверами світлодіодів.
Мал. 2. Використання технологій Infineon для програм освітлення
Як не складно здогадатися, основне навантаження щодо реалізації інтелектуальних функцій лягає на мікроконтролери. Саме вони виконують програми з управління освітленням, забезпечують живлення та облік показань датчиків, видають команди для драйверів, керують силовими ключами у джерелах живлення.
Компанія Infineon пропонує до послуг розробників сімейство мікроконтролерів XMC1000, виконаних за сучасними 65-нм топологічними нормами. Вони поєднують простоту використання 8-бітових систем та обчислювальну потужність 32-бітного ядра. Ключовими особливостями сімейства є:
Зараз сімейство поєднує чотири лінійки.
XMC1100 - базова лінійка сімейства з об'ємом FLASH8...64 кБайт, дозволяє реалізовувати найбільш прості та бюджетні програми. Набір периферії у XMC1100 досить скромний (16-бітовий таймер, універсальний інтерфейс USIC, 12-бітовий АЦП).
XMC1200 - лінійка мікроконтролерів з об'ємом FLASH 16...200 кБайт та спеціалізованою периферією для безпосередньої роботи з LED. На додаток до базового набору периферії мікроконтролери XMC1200 мають на борту два АЦП, до трьох аналогових компараторів, спеціалізований блок BCCU (Brightness and Colour Control Unit) для керування яскравістю світлодіодів або світлодіодних панелей роздільною здатністю 64x64, 9 каналів керування яскравістю.
XMC1300 - Лінійка з підвищеною продуктивністю та об'ємом FLASH 8 ... 200 кБайт. Для збільшення швидкості обчислень до складу XMC1300 введено математичний процесор. Це важливо насамперед для додатків, що працюють в умовах жорсткого реального часу. На додаток до базового набору периферії мікроконтролери XMC1300 мають у своєму складі два АЦП, три аналогові компаратори, 9 каналів керування яскравістю світлодіодів, ще один 16-бітний таймер і блок для роботи з енкодерами (або датчиками Холла).
XMC1400 - лінійка з максимальною продуктивністю та найбільш розвиненою периферією. У порівнянні з XMC1300, мікроконтролери XMC1400 можуть похвалитися чотирма 16-бітовими таймерами та чотирма компараторами. Однією з головних переваг цієї лінійки є підтримка шини CAN. Ці мікроконтролери стають ідеальним вибором для найбільш відповідальних та продуктивних додатків.
Основними додатками для нового сімейства мікроконтролерів є: багатоканальні DC/DC-драйвери світлодіодів з підвищеною точністю установки яскравості та інтелектуальні мережеві AC/DC-драйвери, що підтримують різні шинні протоколи та виконують захисні функції.
Наведемо кілька прикладів. На рис. 3 представлений чотириканальний DC/DC-драйвер світлодіодів з точним підстроюванням яскравості та контролем струму. Драйвер може приймати додаткові сигнали від датчиків (руху, присутності, освітленості) та взаємодіяти з іншими пристроями по шинах DALI або DMX512. Такі драйвери найзручніше реалізовувати за допомогою XMC1200 або XMC1300.
Мал. 3. Приклад DC/DC-програми: управління яскравістю RGB-світлодіода
XMC1300 також ідеально підійдуть для створення AC/DC-драйверів для потужних світлодіодів (рис. 4, рис. 5). Управління яскравістю може здійснюватися за допомогою стандартного аналогового сигналу 0-10 або по шині DALI.
Мал. 4. Приклад AC/DC-програми: джерело живлення для світлодіода
Мал. 5. Приклад AC/DC-програми: джерело живлення для світлодіода з ККМ
Щоб допомогти своїм споживачам з розробкою освітлювальних програм, Infineon випустила цілий спектр налагоджувальних наборів.
KIT_LED_XMC1202_AS_01(Рис. 6) - налагоджувальна плата на базі XMC1202, призначена для роботи у складі стека Arduino (Genuino) Uno R3 або спільно з платою XMC1100 bootkit. KIT_LED_XMC1202_AS_01 працює з напругою живлення до 48 В, містить три незалежні DC/DC-перетворювачі з вихідним струмом до 700 мА на канал, і має можливість підключення по I2C.
Мал. 6. Зовнішній вигляд KIT_LED_XMC1202_AS_01
KIT_ XMC1 X_ AK_ LED_001 - набір, що включає базову плату (XMC1200 bootkit) з вбудованим відладчиком Segger J-Link та дві плати розширення з різними наборами світлодіодів (три повнокольорові RGB або 20 одноколірних). Взаємодіяти з платами розширення можна по шинах DALI, DMX512 та каналу RF.
Мал. 7. Зовнішній вигляд KIT_XMC1X_AK_LED_001
KIT_ XMC1_ LED_ CC_ EXP_001 - Набір на базі XMC1300, що складається з двох плат: базової XMC1300 boot kit та плати розширення з драйвером світлодіода (до 15 Вт) та гальванічно розв'язаним інтерфейсом DALI (рис. 8).
Мал. 8. Зовнішній вигляд XMC1300 boot kit
Важливою перевагою контролерів XMC1000 є наявність безкоштовних бібліотек, утиліт та середовища розробки DAVE™.
DAVE™ - безкоштовна та закінчена платформа, побудована на базі Eclipse CDT. Вона поєднує ARM ® GNU компілятор, безкоштовний налагоджувач, завантажувач, графічний візуалізатор xSPY. Звичайно, якщо розробник захоче, він може використовувати й інші популярні середовища (Atollic, IAR, Keil MDK, Rowley та TASKING).
DAVE поставляється з багатим набором бібліотек. У цей набір, зокрема, входить і реалізація стеку DALI, що дуже цікаво з точки зору створення програм для сучасних систем освітлення.
ХарактеристикиконтролераXMC1202-T016X0016:
Склад налагоджувального набору KIT_XMC1X_AK_LED_001:
Про компанію
Infineon - компанія виділилася зі складу Simens у 1999 році. На даний момент це один із найбільших виробників електронних компонентів у світі. Номенклатура компанії включає широкий вибір аналогових та цифрових мікросхем, низьковольтних та високовольтних дискретних компонентів, потужних силових транзисторів та інтелектуальних ключів, датчиків та мікроконтролерів, у тому числі з 32-бітним ядром ARM® Cortex®-M тощо.
Нове сімейство 32-розрядних мікроконтролерів для промислового застосування XMC4000 компанії Infineon поєднує потужну передову периферію та стандартне ядро ARM® Cortex™-M4, орієнтуючись на розробку енергоефективних кінцевих додатків.
Мікроконтролер XMC4500 є першим представником даного сімейства, призначеного для реалізації логіки управління в різних промислових додатках та забезпечує прискорення циклу розробки кінцевих виробів, що є винятково актуальним в умовах сучасного динамічного ринку. Особлива увага при розробці даного контролера приділена скороченню енергоспоживання та підтримці великої кількості комунікаційних стандартів. Використовуючи багаторічний досвід та напрацьовані за останні десятиліття ноу-хау, компанія Infineon створила унікальний продукт, що поєднує переваги стандартного широко відомого ядра та кращого в галузі набору периферії для роботи в режимі реального часу.
Перші мікроконтролери XMC4500 та супутні інструментальні засоби будуть доступні у 2 кварталі 2012 року.
Відмінні особливості:
Галузь застосування:
Інструментальні засоби:
Інтегроване середовище розробки DAVE™ 3 забезпечує зручний, швидкий та орієнтований на конкретну програму процес створення програмного забезпечення. Модульна середовище розробки на базі Eclipse з безкоштовним компілятором GNU, налагоджувачем та утилітами відображення даних може бути розширено інструментами третіх фірм. DAVE™ 3 також підтримує автоматичну генерацію об'єктних кодів на основі визначених програмних компонентів – так званих «Додатків DAVE». Дані компоненти конфігуруються за допомогою зручного графічного інтерфейсу і охоплюють найширший спектр використання: від усіх видів драйверів периферійного обладнання, наприклад, PWM, SPI, CAN або ADC додатків, компонентів середнього рівня, таких як TCP / IP, USB, підтримки файлової системи та графічного інтерфейсу, додатків для керування двигуном та автоматизації, аж до повністю налаштованих вбудованих додатків.
Базові інструменти DAVE™ 3 можна безкоштовно завантажити з сайту www.infineon.com/dave . Основою DAVE™ 3 є Менеджер завантаження, що дозволяє завантажувати та конфігурувати Програми DAVE з мережі Інтернет та Генератор кодів DAVE™, що здійснює автоматичну генерацію об'єктних кодів та забезпечує безконфліктне використання апаратних засобів, а також розподіл висновків контролера. Згенерований код може бути безпосередньо скомпільований, налагоджений та відображений у DAVE™ 3 або імпортований до інструментів третіх фірм для подальшої обробки.
Hexagon Application Kit є модульною, розширюваною платформою для налагодження додатків на базі сімейства XMC4000 і являє собою ряд периферійних модулів, що стикуються з центральним модулем контролера для швидкого прототипування спеціальних додатків, таких як системи управління двигуном зі схемою імпульсного датчика. ізольованих ключів ISOFACE™ компанії Infineon, системи перетворення енергії, такі як сонячні інвертори.
Периферійні модулі забезпечують підключення карток пам'яті SD/MMC, сенсорної клавіатури, OLED дисплея, засобів забезпечення аудіофункціоналу. Також з їх допомогою можуть бути реалізовані інтерфейси Ethernet, CAN та RS485.
Сьогодні глобальний ринок мікроконтролерів значною мірою у владі 8-розрядних та 16-розрядних мікроконтролерів. Сегмент 32-розрядних приладів відносно малий, але у перспективі відзначається тенденція до його зростання. Аналітики зазначають, що найближчим часом в автомобільних застосуваннях левову частку ринку займатимуть 16-розрядні прилади. Незважаючи на деяке зниження попиту на автомобільні мікроконтролери в 2001 році, через деякий економічний спад, рівень попиту на 16-розрядні мікроконтролери продовжує зростати, що пояснюється зростаючою потребою в комплексній автоматизації керування автомобілем. Відомий приклад: у сучасному автомобілі підвищеної комфортності BMW745i використовується до 60 мікроконтролерів.
З початку 2001 року, у відповідь на зростання потреб ринку, автомобільний/промисловий підрозділ мікроконтролерного відділення фірми Infineon випустив кілька нових приладів. До цього нового покоління приладів входять: 8-розрядні прилади класу «система-на-кристалі» (C868), нове покоління 16-розрядних Flash мікроконтролерів (XC161, XC164 і XC167), і новий член визнаного 32-розрядного сімейства мікроконтролерів 6 ). Нові мікроконтролери надають розробникам промислових та автомобільних застосувань можливість суттєвого зниження вартості розробки, значно скорочуючи тривалість проектування та скорочуючи, таким чином, час виведення ринку кінцевого продукту. Розроблені спеціально під жорсткі вимоги промислових та автомобільних застосувань, нові 8-розрядні, 16-розрядні та 32-розрядні сімейства гарантують плавний перехід від раніше розроблених сімейств до нових приладів.
Ця стаття присвячена 16-розрядним Flash мікроконтролерам сімейства XC166 (XC161, XC164 та XC167), в основі яких нова вдосконалена архітектура C166S V2.
Фірма Infineon позиціонує ці прилади переважно як мікроконтролери для автомобільних застосувань (приладові панелі, обладнання автомобільних салонів, інтелектуальні фари, подушки безпеки, електропідсилення кермового управління, приводи). У той же час особливо відзначається можливість використання мікроконтролера XC167 для управління приводом промислового призначення, в засобах управління промисловим виробництвом.
Відмінні особливості:
В архітектурі мікроконтролерів XC166 добре збалансовані переваги RISC, CISC та DSP процесорів у поєднанні з удосконаленою підсистемою периферії.
Взаємодія CPU з пам'яттю, у тому числі зовнішньої, організується за допомогою блоків керування PMU (керує доступом до блоку пам'яті програм – IMB та зовнішньої пам'яті) та DMU (керує надходженням даних з пам'яті даних та периферії) пов'язаних до того ж з контролером зовнішньої шини ( EBC).
Блоки вбудованої пам'яті дозволили реалізувати дуже компактний кристал, що забезпечує високу продуктивність у різних областях застосування (у обчислювальних засобах, засобах управління і комунікації і т.п.). І блоки вбудованої пам'яті (пам'ять програм і SRAM, двопортова RAM, SRAM даних) та підсистема вбудованої периферії з'єднуються за допомогою окремих шин. Ще одна шина – шина LXBus – використовується для з'єднання із зовнішніми ресурсами та рядом додаткових вбудованих ресурсів. Розширена структура шин підвищує загальну продуктивність системи, забезпечуючи одночасно роботу різних підсистем.
Як базовий, при розгляді мікроконтролерів серії XC166, візьмемо мікроконтролер XC161CJ.
Блок-схему цього мікроконтролера наведено на Мал. 1.
Мал. 1. Блок-схема мікроконтролера XC161CJ
Оскільки в першу чергу основні характеристики мікроконтролерів залежать від використовуваного ядра, розгляд мікроконтролерів серії XC166 почнемо з розгляду ядра C166S-V2, блок-схема якого показана на Рис. 2.
Мал. 2. Блок-схема ядра CPU мікроконтролерів XC166
Основними блоками ядра CPU, як видно з Рис. 2, є:
Використана в мікроконтролерах XC166 нова архітектура С166S-V2 оптимізована під виконання високопродуктивних команд та мінімальний час реакції (відгуку) на зовнішні переривання. У той же час інтелектуальний принцип побудови інтегрованої з ядром системи периферійних модулів дозволяє значно зменшити завантаження обчислювального ядра (CPU). Основними відмінностями нового ядра від ядра C166 стали: розширення конвеєра (C166 мав 4-рівневий конвеєр); більш висока тактова частота і, отже, менша тривалість робочого циклу; виконання практично всіх команд за цикл; виконання нуль-циклового контекстного перемикання; розширення 16-розрядного покажчика стека до 24 розрядів. У результаті ядро C166S V2 забезпечує більш ніж удвічі більшу продуктивність, порівняно зі своїм попередником - ядром C166S V1, зберігши при цьому сумісність за кодами, забезпечивши простий перехід від стандартних, вже експлуатованих мікроконтролерів сімейства C166 до нового високопродуктивного сімейства XC166.
Пам'ять мікроконтролерів серії XC166 реалізована за комбінованою архітектурою – «Harvard» та «von Neumann». Згідно з архітектурою Harvard пам'ять кодів і даних розділена, і такий фізичний поділ дозволяє організувати одночасний доступ і до кодів і даних, збільшуючи при цьому продуктивність. Відповідно до архітектури «von Neumann» коди та дані розміщуються в єдиному адресному просторі, що становить 16 Мбайт, що дозволяє ефективно використовувати пам'ять.
Розташована в блоці IMB вбудована Flash пам'ять кодів і констант мікроконтролерів XC166 займає 128 Кбайт адресного простору і поділяється на чотири сектори по 8 Кбайт, сектор ємністю 32 Кбайта та сектор ємністю 64 Кбайта. Flash пам'ять, оснащена вбудованим механізмом корекції помилок (ECC), взаємодіє з CPU (через PMU) через 64-розрядний інтерфейс, що дозволяє CPU зчитувати чотири 16-розрядні команди інструкції за один раз. Через блок PMU з CPU взаємодіють також кеш-пам'ять програм (RAM ємністю 2 Кбайта) та ROM початкового запуску (Start up ROM).
Пам'ять даних організована з регістрової двопортової ОЗП (DPRAM), із зверненням короткою адресацією та можливістю одночасного доступу для запису та читання; та блоку пам'яті даних. До блоку пам'яті даних CPU звертається у вигляді 16-розрядного блоку DMU.
Така організація пам'яті дозволяє CPU одночасно взаємодіяти з 64-розрядним кодом Flash пам'яті та з трьома 16-розрядними джерелами даних (два в двопортовому ОЗП та одне джерело даних пам'яті даних або периферії).
Таблиця 1. Карта пам'яті мікроконтролера XC161CJ 1)
Через блок DMU, за допомогою шини PD+Bus, повністю сумісної з шиною PDBus приладів сімейства С166 відбувається обмін даними між CPU і вбудованою периферією. Також через блок DMU організується взаємодія CPU із зовнішньою шиною. Модулі вбудованої периферії мікроконтролерів сімейства XC166 за своїми функціями, за винятком модуля TwinCAN практично повністю збігаються з аналогічними модулями периферії мікроконтролерів сімейства C166. Набір та кількість периферійних модулів для кожного приладу сімейства XC166 показано в Табл. 1. Тут відзначимо основні можливості модулів.
Модуль таймерів загального призначення (GPT12E) - дуже гнучка структура багатофункціональних таймерів/лічильників, яку можна використовувати у великій кількості пов'язаних з часовими проміжками завдань, типу визначення моменту події та рахунку, визначення ширини імпульсу та вимірювання шпаруватості, генерації імпульсів або їх розмноження. Модуль GPT12E містить п'ять 16-розрядних таймерів, організованих у два окремих модулі: GPT1 та GPT2. Кожен таймер кожного модуля може працювати автономно або може бути об'єднаний з іншим таймером того ж модуля. Кожен таймер може бути індивідуально налаштований в один з чотирьох основних режимів роботи, таймера, таймера, що стробується, в режим лічильника і в режим інкрементного інтерфейсу (тільки таймери GPT1). Максимальна роздільна здатність таймерів модуля GPT1 - 8 циклів сигналу тактування CPU. Максимальна роздільна здатність таймерів модуля GPT2 становить 4 цикли сигналу тактування CPU.
Модулі захоплення/порівняння (CAPCOM1/2) управляють формуванням послідовностей тимчасових проміжків, підтримуючи до 32 каналів з максимальною роздільною здатністю 16 tCL. Модулі CAPCOM використовуються для: формування імпульсів та імпульсних послідовностей, широтно-імпульсної модуляції (PMW), цифро-аналогового (D/A) перетворення, організації програмного тактування або реєстрації часу, що відноситься до зовнішніх подій. Чотири 16-розрядні таймери (T0/T1 в CAPCOM1, T7/T8 в CAPCOM2) з перезавантажуваними регістрами формують дві незалежні тимчасові бази для масиву регістрів захоплення/порівняння. Вхідний сигнал тактування таймерів організується програмуванням коефіцієнтів попереднього поділу сигналу тактування системи, або може бути організований сигналами переповнення/антипереповнення таймера T6 модуля GPT2.
Модуль захоплення/порівняння CAPCOM6, яким оснащені мікроконтролери XC164 і XC167, призначений для формування, в першу чергу, сигналів PWM управління електродвигунами.
Тимчасові послідовності формуються з використанням до трьох 16-розрядних каналів захоплення/порівняння та ще одного автономного 10-розрядного каналу порівняння.
У режимі порівняння модуль CAPCOM6 формує по два вихідні сигнали (прямий та інверсний) по кожному каналу з проміжками замикання між імпульсами (управління deadtime). Канал порівняння може формувати одиночний вихідний сигнал і, крім того, може бути використаний для модуляції вихідних сигналів захоплення/порівняння. У режимі захоплення, переходу сигналу на виведенні входу, стан таймера порівняння T12 зберігається в регістрі захоплення.
Таймери порівняння (16-розрядний T12 та 10-розрядний T10) є таймерами вільного рахунку з тактуванням сигналом попереднього дільника
Аналого-цифровий перетворювач (ADC), що виконує 10-розрядне перетворення за 2,85 мкс (мінімум), є в кожному мікроконтролері сімейства XC166, проте кількість каналів, що мультиплексуються, залежить від типу мікроконтролера, від кількості висновків корпусу. ADC реалізований за методом послідовного наближення, діапазон вимірюваної напруги становить від 0 до 5 В, і головною його відмінністю від ADC приладів сімейства C166 стало вбудоване автоматичне самокалібрування, що коригує вплив температури або умов роботи мікроконтролера на результат перетворення, і функція Auto-Power-Down. Над результатом перетворення, що записується в регістр, виконується процедура виявлення/захисту від помилки переповнення. У тих застосуваннях, для яких достатньо меншої кількості каналів входу аналогового сигналу, входи каналів, що залишаються, можуть бути використані як порти цифрових входів.
ADC підтримує ряд режимів перетворення: одноразове перетворення фіксованого каналу, безперервне перетворення фіксованого каналу, одноразового перетворення з автоскануванням безперервного перетворення з автоскануванням. Крім того, виконувану послідовність перетворень може бути вставлено (інжектовано - injected) перетворення якогось специфічного каналу.
З тим, щоб скоротити непродуктивні витрати виклику та виходу з підпрограм обробки переривань, при кожній передачі результатів перетворення пам'ять може бути використаний контролер подій периферії (PEC).
Модуль годинника реального часу (RTC) це, в основному, незалежний таймер. Базова частота RTC може бути запрограмована за допомогою таймера, що перезавантажується.
Новими можливостями годинника реального часу стали: формування переривання для активації мікроконтролера в заданий час, робота в синхронній системній частоті або асинхронному режимах, можливість відключення від живлення мікроконтролера з підключенням власного джерела живлення.
Асинхронні/синхронні послідовні інтерфейси (ASCx) забезпечують послідовний зв'язок між мікроконтролером хост і іншими мікроконтролерами, мікропроцесорами або зовнішніми периферійними пристроями. Інтерфейси ASCx підтримують повнодуплексний асинхронний зв'язок та напівдуплексний синхронний зв'язок. В асинхронному режимі пересилаються 8 або 9 бітів даних із завданням контролю парності та кількості стопових бітів. Для забезпечення надійності передачі даних виконується контроль парності, фреймінгу та переповнення. У синхронному режимі дані передаються або приймаються синхронно із сигналом тактування, що формується всередині ASC.
На додаток до можливостей ASC мікроконтролерів сімейства C166, ASC нових мікроконтролерів оснащені FIFO передачі та прийому даних, у спеціальному асинхронному режимі ASC0 підтримують IrDA передачу даних з продуктивністю до 115,2 Кбод з фіксованою або програмованою шириною IrDA імпульсу, підтримують автоматичне.
Для забезпечення багатопроцесорного зв'язку організовано механізм розпізнавання адреси серед байтів даних. 13-розрядний генератор бодової швидкості забезпечує формування ASC0 окремого послідовного синхросигналу з дуже точним налаштуванням попереднім дільником, виконаним за схемою дробового дільника. Модулем формуються переривання: по порожньому буферу передавача, по останньому біту фрейму, по повному буферу приймача, помилково і по запуску та закінчення автоматичного детектування бодової швидкості.
Швидкодіючі синхронні послідовні канали (SSCx) підтримують повно- та напівдуплексний послідовний синхронний зв'язок із продуктивністю до 20 Мбод (при частоті тактування 40 МГц). Формат даних, напрямок зсуву, полярність синхросигналу та фаза програмуються. Спеціальний бодгенератор дозволяє настроювати всі стандартні бодові швидкості без налаштування підсистеми тактування. Модуль SSCx передає або отримує символи довжиною від 2 до 16 бітів синхронно з сигналом зсуву, який формується SSCx (в режимі ведучого) або зовнішнім ведучим (в режимі веденого). Зсув SSCx може починати як з LSB, і з MSB. Цілком підтримуються всі функції SPI. Для збільшення надійності пересилання даних використовується низка додаткових можливостей виявлення апаратних помилок. Переривання формуються модулем: по порожньому передавачу, по повному приймачеві, помилково і по запуску та закінченню автоматичного детектування бодової швидкості.
Модуль каналу послідовних даних (SDLM) Опція модуля каналу послідовних даних (SDLM), відповідна специфікації SAE Class B J1850 модуляції зі змінною шириною імпульсу (VPW) і, за сумісним з Class B протоколу, забезпечує послідовний зв'язок через мультиплексовану послідовну шину, типу J1850, через зовнішній 0. Модуль, що оснащується буферами прийому та передачі по 11 байтів, здатний працювати зі стандартною продуктивністю 10,4 Кбод або з високою (4-кратною) продуктивністю 41,6 Кбод.
Модуль шини I2C передає та приймає кадри даних по двопровідній I2C шині, відповідно до специфікації IIC Bus. Оснащений буферами прийому/передачі модуль може працювати, використовуючи 7 або 10-розрядну адресацію в режимі веденого, в режимі ведучого або в режимі з безліччю ведучих.
Під керуванням програми може бути встановлене динамічне звернення до кількох фізичних шин (до 3). Дані можуть надсилатися з продуктивністю до 400 Кбіт/с. Призначені модулю I2C два вузли переривання забезпечують ефективне обслуговування переривань та, крім того, підтримують роботу через пересилання PEC.
Модуль TwinCAN, що замінив модуль CAN, що використовується в мікроконтролерах сімейства C166, взаємодіє з CPU за допомогою шини LXBus, що працює аналогічно зовнішній шині. До шини LXBus приєднано два (як опція) або один вузол Full-CAN. Передача та прийом CAN кадрів обробляються відповідно до специфікації CAN V2.0 part B (active). Кожен із двох Full-CAN вузлів може отримувати та передавати стандартні кадри з 11-розрядними ідентифікаторами та розширені кадри з 29-розрядними ідентифікаторами. Два вузли CAN використовують ресурси TwinCAN модуля спільно, оптимізуючи обробку трафіку шини CAN та мінімізуючи навантаження CPU.
Кожен із 32 можливих об'єктів повідомлень може бути призначений індивідуально до одного з двох вузлів CAN. Функцією шлюзу забезпечується автоматичний обмін даними між двома окремими системами CAN шин, що сприяє зниженню завантаженості CPU та покращує поведінку всієї системи в реальному часі.
Сигнал тактування бітів в обох вузлах CAN формується сигналу тактування периферії (fCAN) і може бути запрограмований до швидкості передачі даних в 1 Мбод. Кожен вузол CAN з'єднується з приймачем шини парою висновків прийому та передачі даних.
Управління перериваннями та винятками організується спеціальним контролером (Interrupt Controller and PEC (Peripheral Event Controller)). Контролер переривань мікроконтролерів XC166, порівняно з мікроконтролерами сімейства C166, забезпечує обробку більшої кількості джерел або вузлів переривань (до 128 із 16 рівнями пріоритету) та більшу кількість груп (до 8). Типова затримка переривання у разі внутрішньої обробки програм і даних не перевищує 200 нс (8 циклів). Рівень запиту 8-канального контролера подій периферії (PEC), що працює з 24-розрядними покажчиками джерел та призначень та організує DMA пересилання, тепер програмується від найвищого рівня 15 до рівня 8.
Управління системою та організація специфічних для застосування функцій організуються у модулі управління системою (System Control Unit – SCU). Модуль SCU складається, у свою чергу, із субмодулів, що реалізують функції: централізованого управління роботою системи, управління скиданням, управління споживанням, відновлення працездатності системи після збоїв (WDT), формування сигналів тактування (CGU) та управління зовнішніми перериваннями (до 8 входів швидких асинхронних) переривань).
Порівняно з мікроконтролерами сімейства C166, можливості SCU розширені засобами управління ідентифікацією та компенсації впливу зміни температури.
Одна з основних переваг мікроконтролерів сімейства XC166 – вбудована підтримка налагодження (On Chip Debug Support – OCDS), що надає користувачеві можливість емулювати найважливіші апаратні засоби без використання емуляційного кристала. Основне призначення OCDS, керованої зовнішнім налагоджувальним пристроєм через інтерфейс JTAG - налагодження програмного забезпечення користувача безпосередньо в системі користувача. Вбудоване налагодження дозволяє встановлювати апаратні та програмні контрольні точки, контрольні точки зовнішніх висновків, відстежувати стан GPRS/пам'яті, покроково виконувати програму.
Внутрішньосхемна емуляція (On-Chip Emulation - OCE) приладів сімейства XC166 забезпечує функціональність налагодження в реальному масштабі часу, у разі емуляції ресурсів сприяє налагодженню програм застосування. Внутрішньосхемна емуляція забезпечує розширені можливості перемикань, включаючи події покажчиків команд, події даних за адресами або значеннями, зовнішні входи, лічильники, послідовності подій, таймери тощо. Підтримуються програмні зупинки, під час режимів зупинки чи моніторингу, обслуговуються переривання
Фірмою Infineon розроблений та поширюється безкоштовно пакет DAvE 2.1 (Digital Application Engineer) – інструмент розробника, що дозволяє суттєво скоротити час розробки програм користувача. Інтерфейс DAvE гнучкий і дуже простий, що дозволяє швидко його освоїти навіть користувачу-початківцю. Цьому сприяє вбудована система оперативної довідкової інформації.
Безпосередньо в DAvE користувач вибирає модель мікроконтролера та специфічні для проекту налаштування, включаючи системну частоту та надання імені файлу, що отримується при генеруванні коду.
DAvE дозволяє, викликавши будь-який блок периферії мікроконтролера, задати необхідні установки та налаштування, пропоновані в табличному вигляді.
Після налаштування всіх певних периферійних блоків, користувач може за допомогою DAvE згенерувати С-код і використовувати його як вихідний код у своєму проекті.
Крім того, DAvE містить готові шаблони С-файлів, Header-файлів та документацію.
Фірмою розроблені та можуть бути поставлені налагоджувальні засоби під мікроконтролери сімейства XC166. Але необхідно відзначити, що аналогічні налагоджувальні засоби вже створені і в нашій країні і вартість цих коштів істотно нижча за фірмові.
Підіб'ємо підсумки короткого розгляду основних можливостей 16-розрядних мікроконтролерів нового сімейства фірми Infineon.
Нове ядро, розширений набір вбудованої периферії та інтелектуальне управління периферією забезпечують більш ніж удвічі більшу продуктивність, ніж попереднє сімейство C166. У той же час, збережена сумісність кодів, що дозволяє розробникам використовувати раніше напрацьовані програмні засоби, дозволяє просто перейти на нове сімейство. Нова наднадійна пам'ять забезпечує роботу в діапазоні температур від -40 ° C до +125 ° C, зберігаючи дані протягом 15 років. Хороша електромагнітна сумісність забезпечує стійку роботу мікроконтролерів сімейства XC166 за умов сильних електромагнітних перешкод.
The XMC™ microcontroller family базується на ARM® Cortex®-M cores. Це спрямоване на застосування в segments of power conversion, factory and building automation, transportation and home appliances . XMC1000 bring totherther ARM® Cortex®-M0 core і market-proven and differentiating peripherals in leading-edge 65 nm manufacturing process. XMC1000 є номером однієї команди для bringing traditional 8-bit designs до next level, addressing a broad application spectrum from typical 8-bit applications up to digital power conversion and even field-oriented motor control .
XMC4000 є активованою в ARM® Cortex®-M4 with built-in DSP instruction set. Сільськотривалий floating-point unit, Direct Memory Access (DMA) feature and Memory Protection Unit (MPU) є State-of-the-art для всіх F64K128пристроїв – навіть невеликий XMC4000 runs with up to 80 MHz in core and perip Вони складаються з досконалим набором загального, швидкого і точного аналогового/зменшеного сигналу, timer/PWM і комунікації перифералів.
AURIX™ TC2xx мікроконтролерів сприяють необхідним потребам в автомобільному та індустріальному ринку в термінах ефективності та безпеки. Це innovative multicore архітектура базується на трьох незалежних 32-бітів TriCore™ CPU і має бути розроблений для того, щоб зробити велику сферу безпеки standards, коли simultaneously increasing performance significantly.
Останній AURIX ™ TC3xx мікроконтролери є також добре застосовані для надійних і практичних applications для підтримки clean, autonomous, connected cars і support IoT forconnected, safe, secure industrial applications. Це діапазони від класичної Airbag , braking and power steering to fail-operational systems supported by sensor-based systems using radar , LIDAR or camera technologie s. З промислового сегменту застосування як безпечні і надійні служби drive , PLCs, drones , robots і також медичні застосування.
AURIX™ TC3xx є pin compatible with the AURIX™ TC2xx і offers увімкнули flash memory sizes of 16 MByte, over 6 MByte integrated RAM and up to six TriCore™ 1.62 embedded cores, each with full clock0. Нові особливості включають новий радіатор процесування субсистеми з двома dedicated Signal Processing Units (SPU), Gigabit Ethernet , додаткові CAN FD і LIN interfaces і eMMC interface for external flash.
Infineon має з'єднувати свою практику в мікроконтролері з високою вдосконаленою системою-контуром рішень. Наші MCU portfolio включають Embedded Power ICs, які встановлюються на малій die the 32-bit microcontroller, non-volatile flash memory, analog and mixed signal peripherals, communication interfaces along with the driving stages needed for either relay, ha -Bridge DC та BLDC motor applications. Наші Embedded Power System-on-Chip (SoC) рішучості розрізняють нерівномірний рівень integration всіх функцій, що потребують неспроможності, контролю і функціонування мотора, і надійного PCB space saving while helping to reduce energy consumption due to power saving modes. Додаткові diagnostics and protections є embedded within system-on-chip, більше, ніж discrete approach can offer. Безсумнівно, що, наші рішення зменшують вартість через мінімальне число зовнішніх компонентів, і здатні до multiple і flexible designs. Embedded Power ICs може бути використаний для range of motor control applications such as window lift , sunroof, wiper, fuel pump , HVAC fans, engine cooling fan, water pumps . Infineon Embedded Power ICs є сприятливим для досконалого розвитку інструментів керування, що забезпечується Infineon і 3d party vendors. До складу інструментів включаються комп'ютери, debugger, evaluation board, LIN low level driver and configuration tool as well as diversos software code examples.
Будучи працюючи глибоко разом з великими Tier1 і OEM виробники, були встановлені, розробка і отримання на ринку інноваційних мікроконтролерів, які сприяють нашим клієнтам адреси потреби в будь-яку зміну світової електроніки. Ми займаємо велику ціну на overall system understanding, які разом з нашим досконалим Customer support і широкому portfolio з інших semiconductors helps customers до виконання своїх проектів більш ефективно, quicker і в низькій вартості.