Микроконтроллеры ARM7/ARM9 обзор Сравнительный анализ современных 8 и 32разрядных микроконтроллеров Появление микроконтроллеров с ядром ARM сделало переход с 8 на 32разрядные встраиваемые системы естественным и неотвратимым событием. Постоянно повышающаяся функциональная насыщенность встраиваемых систем обуславливает рост требований к мощности используемых микроконтроллеров и их программ. Однако до настоящего времени самыми популярными во встраиваемых системах оставались 8разрядные микроконтроллеры, которые по показателю цена/функциональность были вне конкуренции. От существовавших 32разрядных микроконтроллеров они отличались рядом преимуществ: • • • низкой ценой; низким потреблением энергии; относительной доступностью качественных средств разработки и отладки. Однако за последние годы в мире 32разрядных микроконтроллеров произошли события, которые в корне изменили расклад сил. Ниша исключительного применения 8разрядных микроконтроллеров оказалась под жёстким давлением со стороны 32разрядных устройств. Согласно данным маркетингового анализа компании Semico в 2006 г. объём продаж 32разрядных микроконтроллеров должен превысить продажи 8 и 16разрядных микросхем. Из приведённой на рис. 1. диаграммы видно, что развитие 16раз рядных микроконтроллеров идёт существенно более медленными темпами, чем 32разрядных. Это лишний раз говорит о том, что при принятии решения о смене 8разрядного микроконтроллера на более мощный в качестве основной стратегической перспективы имеет смысл рассматривать, в первую очередь, сразу 32разрядные микросхемы, минуя 16раз рядные, за исключением особых случаев, о которых будет сказано ниже. Стоимость как функция уровней технологии и интеграции Что же изменилось за последние годы и позволило говорить о массовом вторжении 32разрядных микроконтроллеров в область 8разрядных приложений? Во-первых, произошёл массовый переход полупроводниковой индустрии на технологию 0,18 мкм, что резко снизило размеры 32разрядного кристалла и сделало их стоимость сопоставимой со стоимостью аналогичной 8разрядной микросхемы. Однако простого снижения цены было недостаточно. Помимо стоимости самого микроконтроллера на конечную цену всей системы значительное влияние PDF created with FinePrint pdfFactory Pro trial version http://www.fineprint.com оказывала стоимость необходимых периферийных устройств. В этом плане 8разрядные микроконтроллеры традиционно «давали фору» любому 32разрядному конкуренту: они работали от единственного источника питания, интегрировали силовые выводы и всевозможные каналы связи, имели встроенную систему сброса, генерировали системную тактовую частоту от встроенного генератора. Помимо этого, важнейшими требованиями являлись предсказуемое поведение системы при сбоях (функции brownout детектора и сторожевого таймера) и наличие защиты FLASH памяти от несанкционированного считывания (lock bits). Именно появление 32разрядных микроконтроллеров, соединивших в себе эти два важнейших качества – низкую стоимость и высочайшую функциональную насыщенность – сделало их прямыми конкурентами традиционных 8разрядных систем. Микроконтроллеры с ядром ARM – лидеры рынка До сих пор, упоминая 32разрядные микроконтроллеры для встраиваемых систем, мы не называли конкретные архитектуры. Однако на данный момент можно утверждать, что безусловным лидером являются микроконтроллеры с ядром ARM, захватившие 75% рынка. Хорошо это или плохо – вопрос спорный, однако, по крайней мере, проблему выбора этот факт существенно упрощает. Если вы в настоящее время задумались над переходом на 32разрядный микроконтроллер с 8разрядного, то микроконтроллер с ядром ARM – это первый кандидат в списке претендентов. Архитектура ARM Сокращение ARM происходит от названия английской компании Advanced RISC Machines, основанной в 1990 г. в результате сотрудничества компаний Acorn и Apple Computer's. Первое ядро, названное ARM6, было разработано в 1991 г., однако реальное воплощение получила только следующая разработка – ядро ARM7, созданное в 1993 г. Компания не занимается непосредственным производством микросхем. Возможно, эта особенность, которая, на первый взгляд, воспринимается как недостаток, и способствовала удивительной популярности архитектуры ARM. Фирма поставляет свои разработки в электронном виде, на основе которых клиенты конструируют свои собственные микропроцессоры и микроконтроллеры. Клиентами ARM являются свыше 60 производителей полупроводников, среди которых можно выделить такие известные компании, как Altera, Analog Devices, Atmel, Cirrus Logic, Fujitsu, MagnaChip (Hynix), Intel, Freescale (Motorola), National Semiconductor, NXP (Philips), OKI, ST Microelectronics и Texas Instruments. В настоящее время архитектура ARM занимает лидирующие позиции и охватывает 75% рынка 32разрядных встраиваемых RISC микропроцессоров. Фактически можно говорить об архитектуре ARM как о промышленном стандарте. Распространённость ядра предоставляет возможность разработчику более гибко использовать свои и сторонние программные наработки как при переходе на новое процессорное ARM ядро, так и при «миграциях» между разными типами ARM микроконтроллеров. Особенности архитектуры ARM PDF created with FinePrint pdfFactory Pro trial version http://www.fineprint.com Архитектура ARM отражает собственную философию компании, суть которой – максимальное удовлетворение требованиям встраиваемых систем. Для этого разработчики не стали замыкаться в формальных рамках RISC архитектуры, а в одном продукте реализовали идеи, ранее считавшиеся несовместимыми. Хотя в своей основе ядро ARM отталкивается от идеологии RISC архитектуры (ограниченный набор команд, очередь выборки инструкций, активное использование регистров и ограниченный доступ к памяти), оно не является «чистым» представителем RISC. Не все инструкции ARM выполняются за один цикл. Например, есть инструкции, позволяющие переслать между памятью и регистрами 16 слов по 32 разряда. Поскольку подобные операции активно используются компиляторами при каждом вызове и возврате из функций, введение таких инструкций существенно ускоряет работу программы, и минимизируют размер кода. В состав системы команд входят так же инструкции обращения к аппаратному сопроцессору. Это позволяет разработчикам микроконтроллеров на базе ARM расширять возможности базовой архитектуры, добавляя свои сопроцессоры в случае необходимости. Дополнительно к ARM архитектуре могут интегрироваться несколько расширений: • • Thumb® – 16разрядный набор инструкций, улучшающий эффективность использования памяти рограмм; DSP – набор арифметических инструкций для цифровой обработки сигналов; • Jazelle™ – расширение для аппаратного непосредственного исполнения Java инструкций; • Media – расширение для 2…4 кратного увеличения скорости обработки аудио и видеосигналов. Набор инструкций Thumb Первоначальная система команд ARM содержала только 32разрядные инструкции. Однако для систем, критичных к стоимости и объёму памяти программ, к которым относятся практически все встраиваемые системы реального времени, большая длина инструкций оказалась «узким местом», ограничивающим распространение новой архитектуры. FLASH память – один из наиболее дорогих компонентов системы, и снижение её объёмов – актуальная задача. Поэтому в 1995 г. система команд ARM дополнилась новым набором 16разрядных инструкций, получившим название Thumb. Это стало в инженерном смысле очень красивым решением проблемы. Из всего набора инструкций ARM были отобраны наиболее употребляемые инструкции и перекодированы в 16 разрядные опкоды. При выборке такой инструкции процессор ARM с помощью простого аппаратного дешифратора восстанавливает истинный 32 разрядный код инструкции, который и выполняется процессором. Таким образом, стандартное 32 разрядное ядро без каких-либо переделок получило возможность работы с 16 битовыми инструкциями. При разработке Thumb пришлось пожертвовать некоторыми инструкциями, было снижено по сравнению с ARM количество доступных регистров, режимов адресации, ограничен доступ к некоторым системным ресурсам (регистрам состояния, сопроцессорам). PDF created with FinePrint pdfFactory Pro trial version http://www.fineprint.com Однако при необходимости процессор может легко сменить режим выбора инструкций, переходя из Thum в ARM и обратно. Имея это в виду, разработчик может гибко управлять поведением своей программы, используя наиболее эффективный для каждого случая набор команд: /// Технология SIMD Технология SIMD (несколько данных в одной инструкции) используется в media расширении и нацелена на увеличение скорости обработки данных в приложениях, где требуется малое энергопотребление. SIMD расширения оптимизированы под широкий диапазон программного обеспечения, в том числе под аудио видео кодеки, где эти технологии позволяют увеличить быстродействие обработки в 4 раза. Набор инструкций DSP Многие приложения предъявляют повышенные требования по быстродействию реальновременной обработки сигналов. Традиционно в таких ситуациях разработчики прибегают к использованию цифрового сигнального процессора (DSP), что увеличивает энергопотребление и стоимость, как самой разработки, так и конечного устройства. Для устранения этих недостатков в ряд ARM процессоров интегрированы инструкции ЦСП, выполняющие 16 и 32разрядные арифметические операции. Технология Jazelle Технология ARM Jazelle предназначена для приложений с поддержкой языка программирования Java. Она предлагает уникальное сочетание высокой производительности, малой системной стоимости и невысоких запросов к энергопотреблению, что не может быть достигнуто одновременно, если использовать сопроцессор или специализированный Java процессор. Технология ARM Jazelle является расширением 32разрядной RISC архитектуры, которое позволяет ARM процессору выполнять Java код на аппаратном уровне. При этом достигается непревзойдённое быстродействие исполнения Java кода с помощью ARM архитектуры. Таким образом, разработчики имеют возможность свободно реализовывать Java приложения, в том числе операционные системы и прикладной код, на одном процессоре. В настоящее время технология Jazelle интегрирована в следующие ARM процессоры: ARM1176JZ(F)S, ARM1136J(F)S, ARM1026EJS, ARM926EJS и ARM7EJS. Традиционные ARM процессоры поддерживают два набора инструкций. В режиме ARM поддерживаются 32 разрядные инструкции, а в режиме Thumb наиболее популярные инструкции сжимаются до 16 разрядного формата. Технология Jazelle расширяет эту концепцию, добавляя третий набор инструкций – Java, который активизируется в новом Java режиме. Технология интеллектуального управления энергопотреблением Одна из основных задач, которую решают разработчики портативных устройств, например, смартфонов, персональных цифровых помощников и аудио видео плееров, – это оптимизация энергопотребления, что позволяет улучшить эксплуатационные характеристики готового устройства за счёт продления ресурса батареи питания или уменьшения размеров устройства. PDF created with FinePrint pdfFactory Pro trial version http://www.fineprint.com Традиционным методом снижения энергопотребления является использование экономичных режимов работы, например, холостой ход (idle) или сон (sleep), которые различаются глубиной деактивации внутренних элементов. Как правило, активный режим работы такой системы рассчитан на наихудшие условия функционирования и характеризуется максимальной загрузкой. Тем самым неоправданно сокращается срок службы батареи. Поэтому для оптимизации расходования энергии бата процессоров ARM. Технология является сочетанием аппаратных и программных компонентов, которые сов местно выполняют динамическое управление напряжением питания (power scaling). Суть метода динамического управления напряжением питания можно понять, проанализировав формулу потребляемой мощности для КМОП процессоров: где Р – общая потребляемая мощность, С – переключаемая ёмкость, fc – частота процессора, VDD – напряжение питания, IQ – ток утечки в статическом режиме. Из формулы следует, что энергопотребление зависит от частоты и напряжения питания. Снижение частоты для уменьшения энергопотребления широко используется в микроконтроллерах и системах на кристаллах (PSoC), но недостатком этого метода является уменьшение быстродействия. Метод динамического управления напряжением основан на изменении напряжения питания (см. рис. 2), однако если возможности регулировки исчерпаны, то как дополнительный используется метод регулировки частоты процессора. Семейства ядер и процессоров ARM К настоящему времени разработано восемь основных семейств ядер: ARM7™, ARM9™, ARM9E™, ARM10E™, ARM11™, Cortex, SecurCore™ и OptimoDE Data Engines. Помимо перечисленных, существуют также специфические ядра, разработанные совместно с компанией Intel: XScale™ и StrongARM®. Первоначально для обозначения различных вариантов ядер и процессоров компания ARM использовала свою внутреннюю систему обозначений, которая предполагала, что имя любого ядра или процессора формируется в соответствии с шаблоном – ARM{x}{y}{z}{T}{D}{M}{I}{E}{J}{F}{S}, где: x – семейство; y – блок управления или защиты памяти; z – память кэш; T – поддержка режима Thumb; D – JTAG порт; M – быстрый умножитель; I – встроенный блок эмуляции; E – расширенный набор инструкций (подразумевает обязательное наличие функций TDMI, поэтому в случае использования индекса E индексы TDMI из названия опускаются); J – поддержка Java инструкций (режим Jazelle); F – блок векторной арифметики над числами с плавающей точкой; S – синтезируемая версия (поставляется производителю кристалла в виде исходного текста, требующего компиляции (синтеза), в отличие от несинтезируемых версий, которые имеют заданную и неизменяемую топологию). PDF created with FinePrint pdfFactory Pro trial version http://www.fineprint.com Процессоры ARM разрабатывались для удовлетворения потребностей следующих основных категорий систем: • • • встраиваемые системы реального времени; универсальные платформы для приложений на базе открытых операционных систем, включающих: Linux, Palm OS, Symbian OS и Windows CE; системы защиты данных для смарт карт, SIM карт и платёжных терминалов. Процессоры ARM для приложений на базе открытых операционных систем Приложения на базе операционных систем предъявляют к процессорам требования по аппаратной поддержке многозадачности и повышенной производительности. Для достижения этих целей в состав процессоров вводятся блоки управления памятью (MMU – Memory Management Unit) и сверхоперативная память (кэш). Перечень процессоров ARM для указанных приложений приведён в табл. 1. Семейство Название ядра/процессора Cortex ARM Cortex-A8 ARM1020E ARM1022E ARM1026EJ-S ARM11MPCore ARM1136J(F)-S ARM1176JZ(F)-S ARM720T ARM920T ARM922T ARM926EJ-S ARM10E™ ARM11™ ARM7™ ARM9™ ARM9E™ Размер кэш памяти кода/данных, байт переменный 32k/32k 16k/16k переменный переменный переменный переменный 8k 16k/16k 8k/8k переменный Блок Thumb® DSP управления памятью (MMU, MPU) MMU есть есть MMU есть есть MMU есть есть MMU или MPU есть есть MMU есть есть MMU есть есть MMU есть есть MMU есть нет MMU есть нет MMU есть нет MMU есть есть Jazelle™ есть нет нет есть есть есть есть нет нет нет есть Ядра и процессоры ARM для систем реального времени Самое главное требование, предъявляемое к системам реального времени – быстрая и детерминированная реакция на внешние события. Иногда для решения этой задачи приходится жертвовать роизводительностью; в табл. 2 показано, что у большинства ядер и процессоров, разработанных для систем реального времени, отсутствует память кэш, а там, где она есть, кэш не может быть отключен программно. Отсутствие кэш обеспечивает детерминированность реакции процессора на внешнее событие. Семейство Название ядра/процессора Размер кэш памяти кода/данных, байт Cortex ARM Cortex-M3 - Блок Thumb® DSP управления памятью (MMU) MPU (опционально) есть PDF created with FinePrint pdfFactory Pro trial version http://www.fineprint.com нет Jazelle™ нет ARM10E™ ARM11™ ARM7™ ARM9E™ ARM9™ ARM Cortex-R4 ARM Cortex-R4F ARM1026EJ-S ARM1156T2(F)-S ARM7EJ-S ARM7TDMI ARM7TDMI-S ARM946E-S ARM966E-S ARM968E-S OK-64k OK-64k переменный переменный переменный - ARM996HS - MPU MPU MMU или MPU MPU MPU DMA MPU (опционально) есть есть есть есть есть есть есть есть есть есть есть есть есть есть нет нет нет нет нет есть нет нет есть нет нет нет нет нет нет нет есть есть нет Системы защиты данных для смарт-карт, SIM-карт и платежных терминалов. Эти процессоры относятся к области специфических приложений. В рамках данного обзора они не представляют для нас интереса и приведены здесь для справки. Семейство SecurCore™ Название ядра/процессора SecureCore SC100 SecureCore SC200 Размер кэш памяти кода/данных, байт - Блок управления памятью Thumb® DSP Jazelle™ MPU MPU есть есть нет есть нет есть Микроконтроллеры с ядром ARM7 – прямой конкурент 8разрядным микроконтроллерам Из всего многообразия процессоров ARM нас больше всего интересуют микросхемы, составляющие прямую конкуренцию 8разрядным микроконтроллерам. Поэтому далее мы сконцентрируем внимание на микроконтроллерах с ядром ARM7, которые наиболее полно отвечают требованиям встраиваемых систем реального времени, работающих без использования операционных систем. Семейство ядер и процессоров ARM7 Семейство процессоров ARM7 ориентировано на приложения, требующие дешевые и малопотребляющие микроконтроллеры. Оно включает в себя следующие ядра и процессоры: • ARM7TDMI: Ядро с целочисленной арифметикой, 3-х ступенчатым конвейером команд. Обеспечивает высокую производительность в сочетании с очень низким уровнем потребления, занимает очень маленькую площадь кристалла. Сочетание перечисленных свойств обеспечило этому ядру наибольшую популярность среди всех известных RISC процессоров для встраиваемых систем. • ARM7TDMI-S: Синтезируемая версия ядра ARM7TDMI, идеальна для современных систем разработки полупроводниковых устройств. PDF created with FinePrint pdfFactory Pro trial version http://www.fineprint.com • ARM7EJ-S: Улучшенная, синтезируемая версия ядра с поддержкой инструкций для цифровой обработки сигналов (DSP) и расширением для аппаратного исполнения Javaинструкций на базе технологии Jazelle®. • ARM720T: Процессор с устройством управления памятью и 8 Кб кэшем инструкции. Версия ориентирована на использование операционных систем, таких как: Windows CE, Linux, Palm OS и Symbian OS. Основные характеристики • Максимальная производительность – до 133 MHz; • Наборы команд ARM (32 бита) и Thumb (16 бит); • 3-х ступенчатый конвейер инструкций; • Единая шина команд и данных; • Полностью статический дизайн; • Малый размер кристалла, необходимый для размещения ядра; • Встроенный внутрисхемный эмулятор (EmbeddedICE-RT); • Встроенный интерфейс аппаратного трассировщика (ETM). Характеристики производительности и энергопотребления напрямую связаны с применяемой технологией производства полупроводников. Значения этих параметров для современных технологических процессов приведены в таблице. Название Размер кэш памяти Блок управления Thumb® DSP Jazelle™ Семейство ядра/процессора кода/данных, Кб памятью (MMU) ARM CortexM3 – MPU (опционально) Есть Нет Нет Cortex ARM CortexR4 OK64 MPU Есть Есть Нет ARM CortexR4F OK64 MPU Есть Есть Нет ARM10E™ ARM1026EJS Переменный MMU или MPU Есть Есть Есть ARM11™ ARM1156T2(F)S Переменный MPU Есть Есть Нет ARM7EJS – – Есть Нет Нет ARM7™ ARM7TDMI – – Есть Нет Нет ARM7TDMIS – – Есть Нет Нет ARM946ES Переменный MPU Есть Нет Нет ARM9E™ ARM966ES – – Есть Нет Нет ARM968ES – DMA Есть Есть Нет ARM9™ ARM996HS – MPU (опционально) Есть Есть Нет Характеристики производительности и энергопотребления семейства ARM7 Процессор Технология, мкм ARM7TDMI 0,18 ARM7TDMIS 0,18 ARM7EJS 0,18 ARM720T 0,18 Потребление, мВт/МГц 0,25 0,28 0,31 0,65 Площадь, мм2 0,53 0,62 1,25 4,7 PDF created with FinePrint pdfFactory Pro trial version http://www.fineprint.com Частота, МГц 100 80...110 80...110 75 ARM7TDMI ARM7TDMIS ARM7EJS ARM720T 0,13 0,13 0,13 0,13 0,05 0,11 0,14 0,2 0,26 0,32 0,65 2,4 116 100...133 100...133 100 На данный момент наиболее популярными в области встраиваемых систем являются ядра: ARM7TDMI, ARM7TDMIS. На их основе выпускаются сотни типов микроконтроллеров, способных удовлетворить самые разнообразные потребности разработчиков. Основные критерии целесообразности перехода на 32разрядные микроконтроллеры Для принятия решения о переводе своих встраиваемых систем на 32 разрядную платформу необходимо провести сравнение 8 и 32разрядных микроконтроллеров по следующим основным критериям: • уровень функциональной интеграции микроконтроллеров; • стоимость самого микроконтроллера; • требования к производительности системы и проблемы реального времени; • требования к энергопотреблению, режимы энергосбережения; • возможность переноса программного обеспечения на новую платформу; • доступность и качество средств разработки и отладки (интегрированных сред, компиляторов, отладчиков, программаторов). Рассмотрим каждый из перечисленных критериев подробнее. Уровень функциональной интеграции микроконтроллеров Ещё несколько лет назад 8разрядные микроконтроллеры были вне конкуренции по уровню функциональной насыщенности. Многие представители семейств 8051, PIC, AVR давали разработчику возможность создать всю систему практически на единственном кристалле. В то же время 32разрядные микропроцессоры представлялись некими монстрами. Для создания законченных систем на их основе требовалось довольно много внешних компонентов: токовые генераторы, мониторы питания, микросхемы памяти и устройства ввода вывода. Так было до тех пор, пока в дело не вступили компании – лидеры рынка 8битных микро контроллеров: Atmel, Philips, STMicro electronics и другие. Сегодня уже можно с уверенностью сказать, что 32 разрядные микроконтроллеры не только не уступают, но зачастую и превосходят своих 8разрядных собратьев по уровню функциональной интеграции. В качестве примера рассмотрим микроконтроллер LPC2148 компании NXP (Philips). Он имеет следующие основные характеристики и функциональные возможности: ядро ARM7TDMIS с поддержкой 16 разрядного набора инструкций Thumb; максимальная тактовая частота – 60 МГц; PDF created with FinePrint pdfFactory Pro trial version http://www.fineprint.com FLASH объёмом 512 Кб со встроенной 128битной шиной для ускорения доступа; внутрисистемное программирование FLASH (ISP/IAP). Полное стирание за 400 мс, запись 256 байт за 1 мс; ОЗУ объёмом 40 Кб; встроенные ресурсы JTAG эмулятора и трассировщика; интерфейс USB 2.0 Full Speed (12 МГц), 8 Кб ОЗУ для данных USB с доступом через канал прямого доступа к памяти (DMA); два десятиразрядных АЦП со временем преобразования 2,44 мкс на канал, 14 аналоговых входов; десятиразрядный ЦАП; два 32разрядных таймера/счётчика (по четыре канала выборки и сравнения), модуль ШИМ (6 каналов), сторожевой таймер (WDT); часы реального времени с независимым питанием и тактовой часто той 32 кГц; универсальные последовательные каналы: два UART, два I2C, SPI и SSP с буферированием и настройкой длины формата данных; векторный контроллер прерываний с программируемыми приоритетами и адресами векторов; встроенный умножитель частоты до 60 МГц с периодом стабилизации 100 мкс; интегрированный генератор для работы с кварцами 1…25 МГц; режимы энергосбережения Idle и Powerdown; индивидуальное управление питанием периферийных устройств для оптимизации потребляемой энергии; детектор пропадания напряжения питания (BOD); встроенная система сброса по включению питания; единственный источник питания 3,3 В ± 10%; выводы, толерантные к напряжению 5 В. Микросхема LPC2148 была выбрана в качестве примера достаточно произвольно, но, тем не менее, она даёт хорошее представление о функциональных возможностях современных 32 разрядных микроконтроллеров. Даже при беглом взгляде на структурную схему микроконтроллера, приведённую на рис. 3, видно, что он до боли напоминает привычный набор периферии, характерный для большинства 8разрядных микроконтроллеров из семейств 8051, AVR, PIC, HC08. Но редко в каком из 8битных устройств можно обнаружить все перечисленные выше возможности, реализованные в одной микросхеме. Дополнительным преимуществом микроконтроллеров на базе ядра ARM перед такими семействами, как AVR, PIC, MSP430, является отсутствие монополии в разработке и производстве его разновидностей. Очевидно, что ни одна компания производитель не PDF created with FinePrint pdfFactory Pro trial version http://www.fineprint.com способна предложить рынку столько вариантов микроконтроллеров, сколько могут это сделать более 60 компаний, уже приобретших лицензию на ядро ARM. Фактически став промышленным стандартом, ядро ARM обеспечивает разработчику богатый выбор устройств с самыми широкими функциональными возможностями, которые непрерывно расширяются благодаря вовлечению в процесс разработки и производства всё новых и новых полупроводниковых компаний. Стоимость микроконтроллера Буквально несколько лет назад понятия «32разрядный микроконтроллер» и «низкая стоимость» были абсолютно несовместимыми. Цена на 32 разрядные устройства была на порядок больше по сравнению с ценой на 8разрядные. Первую «брешь» в представлении о том, что 32разрядные микроконтроллеры пригодны только для дорогих систем, «пробила» компания Atmel. В 2004 г. она вы пустила на рынок семейство микро контроллеров AT91SAM7S, цены на которые начинались от нескольких долларов, т.е. напрямую конкурировали с ценами на 8разрядные микросхемы. В 2005 г. компания Philips анонсировала выпуск микроконтроллеров LPC2101/02/03, нацеленных уже на рынок так называемых долларовых приложений – в оптовых количествах цена микроконтроллера LPC2101 составляет немногим больше одного доллара. В 2006 г. компания Luminary выпустила серию Stellaris LM3S1xx, которая имеет цену уже в пределах одного доллара. Отныне разница в стоимости уже не является определяющим фактором при выборе между 8 и 32разрядным микроконтроллером. Цены на современные 32разрядные микроконтроллеры вполне сопоставимы с ценами их 8разрядных конкурентов. Требования к производительности системы и проблемы реального времени Постоянное развитие рынка предъявляет растущие требования к встраиваемым системам. К примеру, обычная задача микроконтроллера, управляющего стиральной машиной, до недавнего времени сводилась к функциям конечного автомата на несколько состояний, управляемого не большим количеством кнопок и индицирующего состояние устройства на нескольких светодиодах. Микроконтроллеры в современных стиральных машинах уже должны напрямую управлять электроприводом, минимизируя расход электроэнергии, контролировать состав химикатов для уменьшения вредных выбросов, выводить информацию на графический дисплей и поддерживать сетевые коммуникации для общения со службами сервиса. Для решения совокупности подобных задач производительности 8разрядных микроконтроллеров уже может быть не достаточно. Очевидно, что по вычислительной мощности 32разрядные микропроцессоры находятся вне конкуренции. Однако при выборе микроконтроллера для системы реального времени принципиально важна скорость его отклика на внешние события и, кроме того, детерминированность этой реакции – то есть время отклика должно находиться в достаточно узких временных пределах, независимо от состояния микроконтроллера в момент возникновения внешнего события. PDF created with FinePrint pdfFactory Pro trial version http://www.fineprint.com Удовлетворяют ли этим требованиям микроконтроллеры с ядром ARM? Наибольший вклад в неопределённость реакции вносят такие элементы архитектуры, как сверхоперативная промежуточная память (кэш). Кэш повышает интегральную производительность микроконтроллера за счёт фоновой предварительной выборки инструкций и данных из относительно медленной памяти (например, FLASH) в очень быструю сверхоперативную память, способную работать на одной частоте с ядром микроконтроллера. Однако, в случае возникновения внешнего события в момент, когда кэш не содержит необходимой части программы обработки, реакция на событие может стать очень мед ленной, а само время реакции трудно прогнозируемым. Поэтому для систем с такими требованиями наибольшее распространение получили микроконтроллеры с ядрами ARM7TDMI, ARM7TDMIS, которые не имеют кэш памяти и по реакции на прерывания не отличаются от обычных 8разрядных микроконтроллеров. Для максимального удовлетворения требований реального времени разработчики микроконтроллеров предпринимают дополнительные меры повышения эффективности своих систем. Проиллюстрируем некоторые такие решения на примере микроконтроллера AT91SAM7S компании Atmel. Векторный контроллер прерываний Ядро ARM7 имеет всего два внешних входа прерывания. Для систем реального времени этого явно недостаточно. Поэтому в состав микроконтроллера AT91SAM7S вводится дополнительный аппаратный модуль, называемый векторным контроллером прерываний, который обеспечивает переход на адрес обработки прерывания одного из 32 источников прерывания с помощью единственной команды перехода. Смысл его работы сводится к тому, что в состав контроллера входят 32 регистра адреса, в которые предварительно записываются адреса подпрограмм обработки для каждого из 32 возможных источников прерывания. При возникновении прерывания ядро ARM вызывает передачу управления на адрес, соответствующий внешнему прерыванию. По этому адресу рас полагается инструкция, которая считывает данные из контроллера прерываний, а контроллер в этот момент подставляет значение именно того регистра адреса, который соответствует возникшему прерыванию. Таким образом, микроконтроллер переходит сразу на программу обработки нужного прерывания, не используя ни единой дополнительной инструкции. Оптимизация доступа к портам ввода вывода Характерной задачей встраиваемых систем является манипулирование битами на портах ввода вывода. Процедура изменения бита обычно подразумевает чтение всего слова, наложение битовой маски и запись нового значения слова обратно в порт. В RISC процессорах такая операция производится одной командой, выполняющей неразрывный цикл «чтение-модификация-запись». Поскольку в архитектуре ARM нет команд, обеспечивающих такой цикл при обращении к памяти, манипуляция с битами может стать проблемой. При наличии многозадачности между моментами первоначального значения порта и записью его модифицированного значения может произойти прерывание, в результате которого изменится текущее состояние порта. Для исключения такой ситуации необходимо запрещать прерывания PDF created with FinePrint pdfFactory Pro trial version http://www.fineprint.com перед каждой битовой процедурой. В этом случае потребуется выполнить следующую последовательность инструкций: MRS r0,CPSR ; Запрет прерываний на уровне ядра ORR r0,r0,#(I_BIT OR _F_BIT) MSR CPSR,r0 LDR r0,=PORT_ADDR LDR r1,[r0] ; Чтение значения порта ORR r1,r1,#80 ; Наложение маски STR r1,[r0] MRS r0,CPSR BIC r0,r0,#(I_BIT OR _F_BIT) MSR CPSR,r0 ; Загрузка указателя адресом порта PORT_ADDR ; Запись результата в порт ; Разрешение прерываний Очевидно, что такая процедура чрезвычайно громоздка и медлительна. Поэтому для повышения эффективности работы с портами в микроконтроллерах с ядром ARM применяется необычная для 8-разрядных микроконтроллеров структура порта. Каждый порт представлен в виде двух виртуальных регистров, один из которых служит только для установки битов, а другой – только для их сброса. В результате отпадает необходимость в предварительном чтении порта, запрете прерываний и вся процедура модификации бита выполняется одной инструкцией. Последовательность инструкций для этого случая выглядит следующим образом: LDR r0,=PORT_ADDR MOV r1,#80 STR r1,[r0,#PORT_SET_offset] ; Загрузка указателя адресом порта PORT_ADDR ; Загрузка маски бита в регистр ; Установка бита в регистре «установки», где ; PORT_SET_offset – смещение адреса регистра ; относительно PORT_ADDR Вывод: микроконтроллеры с ядром ARM разрабатывались с учетом требований, предъявляемых системами реального времени. Потенциальные проблемы эффективности выполнения программы, связанные с особенностями RISC архитектуры, успешно решаются за счет использования оригинальных аппаратных решений на уровне периферийных модулей. PDF created with FinePrint pdfFactory Pro trial version http://www.fineprint.com Требования к энергопотреблению, режимы энергосбережения Интересное исследование [1], касающееся режимов энергопотребления различных микроконтроллеров, было проведено группой разработчиков из университета Беркли (США). В их задачу входила разработка беспроводного датчика для исследовательских сетей. Автономное питание датчика накладывало жёсткие требования к энергопотреблению использованных микроконтроллеров. В таблице приведены некоторые результаты этого исследования. (исходную статью можно найти по ссылке в интернете http://www.moteiv.com/products/docs/an002-telos.pdf) RAM, Flash, Кб Кб AT90LS8535 0,5 8 Mega 128 4 128 Mega165/325/645 4 64 Производитель Микроконтроллер Atmel General Instruments Microchip Intel Philips Motorola Texas Instruments Активный режим, мА 5 8 2,5 Спящий режим, мА 15 20 2 Год выпуска 1998 2001 2004 PIC 0,025 0.5 19 1 1975 PIC Modern 4004 4bit 8051 8bit Classic 8051 16bit 80C51 16bit HC05 HC08 HCS08 TSS400 4bit 4 0,625 0,5 1 2 0,5 2 4 0,03 128 4 32 16 60 32 32 60 1 2,2 30 30 45 15 6,6 8 6май 15 1 N/A 5 10 3 90 100 1 12 2002 1971 1995 1996 2000 1988 1993 2003 1974 MSP430F14x 16bit 2 60 1,5 1 2000 MSP430F16x 16bit 10 48 2 1 2004 Atmel AT91 ARM Thumb 256 1024 38 160 2004 Intel XScale PXA27X 256 N/A 39 574 2004 Более свежие данные по микроконтроллерам с ядром ARM7 представлены в табл. 5. NXP (Philips) NXP (Philips) Atmel LPC2103, 10/70 МГц 8 32 LPC2148, 10/60 МГц 40 512 15/40 100 AT91SAM7S32/512, 55 64 512 МГц 7/41 60 7 60 2005 2005 2005 Данные, приведённые в таблицах, можно рассматривать только как ориентировочные, так как реальное потребление микроконтроллера зависит от комбинации многих факторов, которые трудно учитывать при анализе. Такими факторами являются: рабочая тактовая частота, объём памяти FLASH и ОЗУ, количество задействованных периферийных устройств, нагрузка на выходах портов. PDF created with FinePrint pdfFactory Pro trial version http://www.fineprint.com В качестве примера влияния компонентов системы на общее потребление в табл. 6 приведены данные из спецификации микро контроллеров AT91SAM7S32/512 компании Atmel. Однако, анализируя даже такие ориентировочные сведения, можно заметить основные тенденции: по мере снижения технологических норм производства полупроводников разрыв в потреблении энергии между 8/16разрядными и 32разрядным микропроцессорами быстро уменьшается. На сегодняшний день современные 32разрядные микроконтроллеры с ядром ARM демонстрируют результаты, не уступающие популярным 8битным микроконтроллерам из семейств 8051, HC08 и даже таким относительно свежим изделиям, как ATMega128. А проигрывают они только современным 8 и 16разрядным микроконтроллерам, лидером среди которых является семейство MSP430, специально разработанное для приложений, требующих минимального потребления. Вывод: при принятии решения о замене классических 8разрядных микроконтроллеров, микроконтроллеры ARM можно рассматривать как устройства с аналогичными параметрами энергопотребления. Рассматривать другие варианты в качестве альтернативы имеет смысл только при чрезвычайно жёстких требованиях к энергопотреблению. Для таких случаев можно подобрать 8 или 16разрядный микроконтроллер, заметно превосходящий по показателю энергопотребления любой из микроконтроллеров ARM. Таким образом, требования к экономии энергии являются наиболее критичными по отношению к 32разрядным микроконтроллерам. Популярные микроконтроллеры с ядром ARM7 для систем реального времени.Справочные данные Микроконтроллеры компании NXP (бывшая Philips) Серия микроконтроллеров LPC2000 разработана на базе ядра ARM7TDMI S. Микроконтроллеры способны работать на частотах до 75 МГц, сочетая высокую производительность и низкое энергопотребление (см. табл. 7). Микросхемы имеют «на борту» память FLASH до 1 Мб, ОЗУ до 64 Кб, широкий набор периферийных устройств: всевозможные последовательные каналы, включая USB и CAN, десятиразрядные аналогоцифровые и цифро-аналоговые преобразователи, встроенные умножители частоты, часы реального времени, таймеры, универсальные порты ввода вывода. Контроллеры поставляются в различных вариантах корпусов – от компактных 48выводных для систем с памятью на кристалле, до мощных 144 – 180 выводных с возможностью доступа к внешней шине. Напря Интерфейсы Число Число жени Темпе Вне канал канал Число Прерыван ш Частот е, В ра Микро ов ов I/O ия PL Тип контролл няя а, МГц турное Защи Число Число АЦП ЦАП вывод (внешн.)/ L корпуса ISP ер шин (макс.) CP I/ испол FLAS RA та таймеро PWM US UAR CA SP (10 (10 ов уровни / I2C а H M памят в* канал B T N I U O нение бит) бит) IAP и ов Семейство LPC2800 +/ 1(1 1(3 3, TBGA18 LPC2888 1024 64 4 1(2) 5 79 30/16 + + 60 1,8 F + ) ) 3 0 Семейство LPC2200 LPC2294 256 16 +/ 4 6 2 1 4 2 8 112 25(4)/16 + 60 1,8 3, H,J LQFP14 Память , Кб Таймеры PDF created with FinePrint pdfFactory Pro trial version http://www.fineprint.com + +/ LPC2292 256 16 + 3 3, 1,8 3 4 6 2 1 2 2 8 112 25(4)/16 + 60 2 2 8 76 25(4)/16 + 60 1,8 3, 3 F 3, 3 F LPC2290 16 4 6 2 1 LPC2220 64 4 6 2 1 2 8 76 16(4)/16 + 75 1,8 4 6 2 1 2 8 112 16(4)/16 + 60 1,8 4 6 2 1 2 8 112 16(4)/16 + 60 4 6 2 1 2 8 76 16(4)/16 + 4 6 2 1 46 25(4)/16 + 60 1,8 + 4 6 1 2 2 2 8+6 1 45 23(4)/16 + 60 3,3 + 4 6 1 2 2 2 8+6 1 45 23(4)/16 60 3,3 + 4 6 1 2 2 2 8+6 1 45 23(4)/16 + 60 3,3 + 4 6 1 2 2 2 6 1 45 23(4)/16 + 60 3,3 + 4 6 1 2 2 2 6 45 23(4)/16 + 60 3,3 + 4 6 2 2 2 2?8 1 47 22(4)/16 + 60 3,3 + 4 6 2 2 2 2?8 1 47 22(4)/16 + 60 3,3 + 4 6 2 2 2 2?8 1 47 22(4)/16 + 60 + 4 6 2 2 2 8 1 47 22(4)/16 + 60 3,3 + 4 6 2 2 2 8 47 22(4)/16 + 60 3,3 + 4 6 2 1 2 2 4 46 18(4)/16 + 60 + 4 6 2 1 2 2 4 46 18(4)/16 + 60 +/ + +/ LPC2212 128 16 + LPC2214 256 16 LPC2210 16 + 60 3, 3 3, 1,8 3 3, 1,8 3 F F F F 4 LQFP14 4 LQFP14 4, TFBGA1 44 LQFP14 4, TFBGA1 44 LQFP14 4 LQFP14 4 LQFP14 4 Семейство LPC2100 LPC2194 256 16 LPC2148 512 40 LPC2146 256 40 LPC2144 128 16 LPC2142 64 16 LPC2141 32 8 LPC2138 512 32 +/ + +/ + +/ + +/ + +/ + +/ + +/ + +/ + +/ LPC2134 128 16 + LPC2136 256 32 LPC2132 64 16 +/ + +/ + +/ LPC2129 256 16 + +/ LPC2119 128 16 + LPC2131 32 8 LPC2124 256 16 LPC2114 128 16 LPC2106 128 64 LPC2105 128 32 LPC2104 128 16 LPC2103 32 8 LPC2102 16 4 LPC2101 8 2 +/ + +/ + +/ + +/ + +/ + +/ + +/ + +/ + 4 2 4 3, 3 3, 3 3, 1,8 3 3, 1,8 3 4 6 2 1 2 4 46 16(4)/16 + 60 1,8 + 4 6 2 1 2 4 46 16(4)/16 + 60 1,8 4 6 2 1 1 32 16(3)/16 + 60 1,8 4 6 2 1 1 32 16(3)/16 + 60 1,8 4 6 2 1 1 32 16(3)/16 + 60 1,8 6 14** 2 2 2 8 32 19(3)/16 70 1,8 6 14** 2 2 2 8 32 19(3)/16 + 70 1,8 6 14** 2 2 2 8 32 19(3)/16 + 70 1,8 + 3, 3 3, 3 3, 3,3 3 + + 3, 3 3, 3 3, 3 3, 3 3, 3 3, 3 3, 3 3, 3 3, 3 3, 3 3, 3 3, 3 3, 3 3, 3 H,J LQFP64 F LQFP64 F LQFP64 F LQFP64 F LQFP64 F LQFP64 F LQFP64, HVQFN6 4 F LQFP64 F LQFP64 F LQFP64, HVQFN6 4 F LQFP64 F LQFP64 F LQFP64 F LQFP64, HVQFN6 4 F LQFP64 B,F LQFP48 B LQFP48 B LQFP48 F LQFP48 F LQFP48 F LQFP48 Микроконтроллеры компании Atmel Серия микроконтроллеров SAM7 разработана на базе ядра ARM7TDMI. Микроконтроллеры Atmel напрямую конкурируют с семейством LPC2000 компании NXP (Philips). Они имеют близкий по составу набор периферийных устройств, FLASH и ОЗУ. Среди отличительных особенностей можно выделить наличие блока прямого доступа к PDF created with FinePrint pdfFactory Pro trial version http://www.fineprint.com памяти (DMA), значительно ускоряющего обмен данными между периферийными устройства ми и памятью, наличие расширенного контроллера прерываний, богатый выбор коммуникационных каналов, среди которых USB, Ethernet, SPI, USART и т.д. Микро Flash SRAM Ethern АЦ Частот PWM, PDC, Таймеро Резо MMU Тип контроллер , Кб , Кб et П а, МГц канало канало в (16 наторо / корпус I/ SDRA CA US UAR RT SP SS TW MC (MAC в в бит) в а (10 MPU M N B T T I C I I O 10/100 бит ) ) LQFP AT91SAM7A1 – 4 – 1 – 3 8 40 4 49 11 – 9 – 1 – – – 2 – 144 LQFP AT91SAM7A2 – 16 – 4 – 2 16 30 4 57 10 – 10 – 1 – – – 2 – 176 LQFP AT91SAM7A3 256 32 – 2 1 4 16 60 8 62 19 – 9 1 2 2 1 1 1 MPU 100 AT91SAM7S12 128 32 – – 1 3 8 55 4 32 11 – 3 1 1 1 1 – 1 – QFN 64 8 AT91SAM7S25 LQFP 256 64 – – 1 3 8 55 4 32 11 – 3 1 1 1 1 – 1 – 6 64 LQFP AT91SAM7S32 32 8 – – – 2 8 55 4 21 9 – 3 1 1 1 1 – 1 – 48 AT91SAM7S32 32 8 – – 1 2 8 55 4 32 11 – 3 1 1 1 1 – 1 – QFN 64 1 LQFP AT91SAM7S64 64 16 – – 1 3 8 55 4 32 11 – 3 1 1 1 1 – 1 – 64 AT91SAM7SE2 LBGA 256 32 – – 1 3 8 48 4 88 11 1 3 1 1 1 1 – 1 MPU 56 144 AT91SAM7SE3 LBGA 32 8 – – 1 3 8 48 4 32 11 1 3 1 1 1 1 – 1 MPU 2 144 AT91SAM7SE5 LBGA 512 32 – – 1 3 8 48 4 88 11 1 3 1 1 1 1 – 1 MPU 12 144 AT91SAM7X12 LQFP 128 32 1 1 1 3 8 55 4 60 11 – 3 1 2 1 1 – 1 – 8 100 AT91SAM7X25 LQFP 256 64 1 1 1 3 8 55 4 60 11 – 3 1 2 1 1 – 1 – 6 100 AT91SAM7XC1 LQFP 128 32 1 1 1 3 8 55 4 60 11 – 3 1 2 1 1 – 1 – 28 100 AT91SAM7XC2 LQFP 256 64 1 1 1 3 8 55 4 60 11 – 3 1 2 1 1 – 1 – 56 100 Микроконтроллеры компании STMicroelectronics Микроконтроллеры на базе ядра ARM7TDMI компании STMicroelectronics представлены сериями: STR710, STR730, STR750 Они имеют богатый выбор периферийных устройств, FLASH и оперативной памяти. В качестве особенностей можно выделить развитые коммуникационные возможности, 12разрядные аналого-цифровые преобразователи, толерантность портов ввода вывода к напряжению 5 В. Память, Кб Микрокон троллер STR711FR 0 STR712FR 0 STR715FR 0 STR751FR 0 STR752FR 0 FLASH 64+16 64+16 64+16 64+16 64+16 Входы АЦП, число Таймеры Интерфейсы Защит число RA а разрядо разрядов Други M памят в (IC/OC/PWM е и ) WDG, 2xSPI/2xI2C/4xUAR 16 4 * 12 RTC T/ HDLC/SC/USB WDG, 2xSPI/2xI2C/4xUAR 16 4 * 12 4 16 (5/5/3) RTC T/ HDLC/SC/CAN WDG, 2xSPI/2xI2C/4xUAR 16 4 12 RTC T/ HDLC/SC WDG, 2xSSP/I2C/3xHS 16 11 10 RTC UART/ USB 5 16 WDG, 2xSSP/I2C/3xHS 16 11 10 (5/5/11) RTC UART/ CAN Число входов/ выходов Питание (силовых ,В ) Тип корпуса 30 (0) 3,0...3,6 LQFP64/BGA64 32 (0) 3,0...3,6 LQFP64/BGA64 32 (0) 3,0...3,6 LQFP64/BGA64 38 (7) 3,0...3,6 LQFP64 38 (7) 3,0...3,6 или LQFP64 PDF created with FinePrint pdfFactory Pro trial version http://www.fineprint.com Примечания 50 МГц, 16 Кб data flash 60 МГц, 16 Кб data flash, 4xDMA, AWU, SMI, RCгенератор, STR755FR 64+16 16 0 STR711FR 128+1 32 1 6 STR712FR 128+1 32 1 6 STR751FR 128+1 16 1 6 WDG, 2xSSP/I2C/3xHSUAR 38 (7) RTC T 11 10 4 12 4 16 + 4 12 (5/5/3) + 11 10 STR752FR 128+1 16 1 6 + 11 10 STR755FR 128+1 16 1 6 + 11 10 + 4 12 4 16 + 4 12 (5/5/3) + 11 10 STR752FR 256+1 16 2 6 + 11 10 STR755FR 256+1 16 2 6 + 11 10 STR711FR 256+1 64 2 6 STR712FR 256+1 64 2 6 STR751FR 256+1 16 2 6 STR731FV 0 STR736FV 0 64 16 + 12 10 64 16 + 12 10 5 16 (5/5/11) 5 16 (6/6/12) STR755FV 64+16 16 0 + 16 10 (6/6/12) 12 10 128 16 + 12 10 15 16 STR755FV 128+1 16 1 6 16 10 (6/6/12) 16 256 16 12 10 + STR750FV 256+1 16 2 6 12 10 WDG, RTC 2xSSP/I2C/3xHS UART/ CAN/USB WDG, RTC 2xSSP/I2C/3xHS UART/ CAN/USB WDG, 3xSPI/2xI2C/4xUAR RTC T/ 3xCAN WDG, 3xSPI/2xI2C/4xUAR (12/12/12) RTC T 15 16 WDG, RTC 2xSSP/I2C/3xHS UART/ CAN/USB 5 16 16 10 (6/6/12) 64 4 12 4 16 WDG, RTC 2xSPI/2xI2C/4xUAR T/ HDLC/SC/CAN/USB STR710FZ 128+1 32 1 6 4 12 (5/5/3) WDG, RTC 2xSPI/2xI2C/4xUAR T/ HDLC/SC/CAN/USB STR710RZ STR730FZ 1 STR735FZ 1 + 128 16 16 10 128 16 16 10 32 (0) 3,0...3,6 LQFP64/BGA64 38 (7) 3,0...3,6 LQFP64 38 (7) WDG, 2xSSP/I2C/3xHSUAR RTC T WDG, 3xSPI/2xI2C/4xUAR RTC T/ 3xCAN WDG, 3xSPI/2xI2C/4xUAR (20/20/16) RTC T 19 16 3,0...3,6 или 4,5...5,5 3,0...3,6 или 4,5...5,5 LQFP64 LQFP64 30 (0) 3,0...3,6 LQFP64/BGA64 32 (0) 3,0...3,6 LQFP64/BGA64 38 (7) 3,0...3,6 LQFP64/BGA64 38 (7) 3,0...3,6 или 4,5...5,5 3,0...3,6 или 4,5...5,5 LQFP64/BGA64 LQFP64/BGA64 72 (0) 4,5...5,5 LQFP100 72 (0) 4,5...5,5 LQFP100 72 (9) 3,0...3,6 или 4,5...5,5 (без USB) 3,0...3,6 или 4,5...5,5 LQFP100 LQFP100 72 (0) 4,5...5,5 LQFP100 72 (0) 4,5...5,5 LQFP100 72 (9) WDG, 2xSSP/I2C/3xHSUAR 72 (9) RTC T 16 10 STR755FV 256+1 16 2 6 LQFP64/BGA64 WDG, 2xSSP/I2C/3xHSUAR 72 (9) RTC T WDG, 3xSPI/2xI2C/4xUAR RTC T/ 3xCAN WDG, 3xSPI/2xI2C/4xUAR (12/12/12) RTC T 16 10 256 2xSSP/I2C/3xHS UART/ CAN 15 16 STR750FV 128+1 16 1 6 STR731FV 2 STR736FV 2 WDG, RTC WDG, 3xSPI/2xI2C/4xUAR RTC T/ 3xCAN WDG, 3xSPI/2xI2C/4xUAR (12/12/12) RTC T 5 16 + WDG, 2xSPI/2xI2C/4xUAR RTC T/ HDLC/SC/USB WDG, 2xSPI/2xI2C/4xUAR T/ HDLC/SC/CAN RTC WDG, 2xSSP/I2C/3xHS RTC UART/ USB 15 16 16 10 16 2xSSP/I2C/3xHS UART/ CAN 3,0...3,6 WDG, 2xSSP/I2C/3xHSUAR 38 (7) RTC T + 128 WDG, RTC LQFP64 30 (0) WDG, 2xSSP/I2C/3xHSUAR 38 (7) RTC T STR750FV 64+16 16 0 STR731FV 1 STR736FV 1 WDG, 2xSPI/2xI2C/4xUAR T/ HDLC/SC/USB RTC WDG, 2xSPI/2xI2C/4xUAR RTC T/ HDLC/SC/CAN WDG, 2xSSP/I2C/3xHS RTC UART/ USB 4,5...5,5 3,0...3,6 или 4,5...5,5 ШИМ для управления электродвигателе м 50 МГц, 16 Кб data flash 60 МГц, 16Кб data flash, 4xDMA, AWU, SMI, RCгенератор, ШИМ для управления электродвигателе м 50 МГц, 16 Кб data flash 60 МГц, 16Кб data flash, 4xDMA, AWU, SMI, RCгенератор, ШИМ для управления электродвигателе м 36 МГц, 16xDMA channels, onchip RC oscillator 60 МГц, 16Кб data flash, 4xDMA, AWU, SMI, RCгенератор, ШИМ для управления электродвигателе м 36 МГц, 16xDMA , RCгенератор 3,0...3,6 60 МГц, 16Кб data или flash, 4xDMA, 4,5...5,5 LQFP100/BGA100 AWU, SMI, (без RCгенератор, USB) ШИМ для управления 3,0...3,6 электродвигателе или LQFP100 м 4,5...5,5 72 (0) 4,5...5,5 LQFP100 72 (0) 4,5...5,5 LQFP100 36 МГц, 16xDMA channels, RCгенератор 3,0...3,6 60 МГц, 16Кб data или flash, 4xDMA, 72 (9) 4,5...5,5 LQFP100/BGA100 AWU, SMI, (без RCгенератор, USB) ШИМ для управления 3,0...3,6 72 (9) или LQFP100/BGA100 электродвигателе м 4,5...5,5 50 МГц, LFBGA144/LQFP14 48 (8) 3,0...3,6 интерфейс 4 внешней памяти 50 МГц, 16 Кб LFBGA144/LQFP14 data flash, 48 (8) 3,0...3,6 4 интерфейс внешней памяти LFBGA144/LQFP14 112 (0) 4,5...5,5 36 МГц, 16xDMA 4 channels, LFBGA144/LQFP14 RCгенератор 112 (0) 4,5...5,5 4 PDF created with FinePrint pdfFactory Pro trial version http://www.fineprint.com STR710FZ 256+1 64 2 6 STR730FZ 2 STR735FZ 2 4 12 256 16 16 10 256 16 16 10 4 16 (5/5/3) WDG, RTC 2xSPI/2xI2C/4xUAR T/ HDLC/SC/CAN/USB 48 (8) 3,0...3,6 LFBGA144/LQFP14 4 50 МГц, 16 Кб data flash, интерфейс внешней памяти WDG, 3xSPI/2xI2C/4xUAR LFBGA144/LQFP14 112 (0) 4,5...5,5 36 МГц, 16xDMA RTC T/ 3xCAN 4 channels, WDG, 3xSPI/2xI2C/4xUAR LFBGA144/LQFP14 RCгенератор (20/20/16) 112 (0) 4,5...5,5 T 4 RTC 19 ? 16 Микроконтроллеры компании Texas Instruments Семейство TMS470 разработано на базе ядра ARM7TDMI. Характерной особенностью этих микроконтроллеров является наличие в составе периферии так называемого супертаймера (Highend Timer – HET). Этот таймер представляет собой аппаратный сопроцессор, который имеет собственный набор инструкций, позволяющий управлять 32 линиями ввода вывода микроконтроллера независимо от состояния ядра ARM7. Контроллером поддерживаются функции выборки, сравнения, широтно-импульсной модуляции и общего ввода вывода. В остальном представители семейства TMS470 аналогичны по своим функциональным возможностям микроконтроллерам других компаний. Память Частота, МГц Flash/ROM, RAM, Кб Кб TMS470R1A64 [1] 48 64/64 8 TMS470R1A128 48 128/128 8 [1] TMS470R1A256 48 256/256 12 [1] Периферия Микроконтроллер HighEnd таймер 13 Mib АЦП, канал/бит 8/10 16 Температурный I/O LQFP диапазон, °С 3,3 В (выводы) SPI/SCI CAN Доп-но 2/2 с –– –40…+125 40 80 16/10 2/2 с –– –40…+125 50 100 16 16/10 2/2 с –– –40…+125 50 100 –40…+125 93 100/144 –40…+125 94 100/144 –40…+125 –40…+125 87 87 144 144 –40…+85 93 144 TMS470R1A288 48 288 16 12 12/10 2/2 TMS470R1A384 48 384 32 12 12/10 2/2 TMS470R1B512 TMS470R1B768 60 60 512 768 32 48 32 32 16/10 16/10 3/2 5/2 TMS470R1B1M 60 1024 64 12 12/10 2/3 MSM, 3x I2C, DMA, EBM 3xI2C, DMA, 2xSCC EBM 2xHECC DMA 3xHECC DMA 5xDMA, EBM, 2xHECC MSM 2xSCC Микроконтроллеры компании Analog Devices Микроконтроллеры на базе ядра ARM7TDMI компании Analog Devices представлены семейством MicroConverter®. Компания традиционно специализируется на прецизионном аналого-цифровом и цифро-аналоговом преобразовании сигналов, поэтому основной особенностью указанных микроконтроллеров является наличие 12разрядных АЦП и ЦАП в составе периферийных устройств. Микроконтроллер Быстродействие (MIPS) Flash, Кб SRAM, байт GPIO, выводы Разрешение, бит Скорость АЦП, KSPS АЦП, каналов ADUC7019 ADUC7020 ADUC7021 ADUC7022 ADUC7024 ADUC7025 ADUC7026 ADUC7027 40 40 40 40 40 40 40 40 62 62 62 62 62 62 62 62 8192 8192 8192 8192 8192 8192 8192 8192 14 14 13 13 30 30 40 40 12 12 12 12 12 12 12 12 1000 1000 1000 1000 1000 1000 1000 1000 5 5 8 10 10 12 12 16 Выходов ЦАП (12 бит) 3 4 2 – 2 – 4 – ADUC7128 40 126 8192 28 12 1000 10 – PDF created with FinePrint pdfFactory Pro trial version http://www.fineprint.com Прочее – – – – ШИМ ШИМ ШИМ ШИМ ЦАП 10 бит, ШИМ Микроконтроллеры компании OKI Компания предлагает своё семейство микроконтроллеров общего назначения на базе ядра ARM7TDMI. Эти микроконтроллеры обладают достаточно развитым набором функциональных возможностей. Они не имеют каких либо выдающихся характеристик, но являются дополнительным примером высокой популярности ядра ARM7 на мировом рынке микроконтроллеров. Микроконтроллер ML675050 ML6704050 ML6704051 ML6704060 ML6704061 Периферия Тип корпуса Напряжение Частота, Flash, RAM, (Vdd), В МГц Кб Кб Таймеры GPIO АЦП USB I2C UART SSIO ARM7 До USB 2.0 Host, 176 LQFP, 176 3,3/1,5 64 – + 62 + + + + 30 LFBGA 32бит MCU USB 2.0 Device V ARM7 3,3/2,5; 2,5/2,5 33,33 64 16 + 108 + – + + + 144 LQFP 32бит MCU ARM7 3,3/2,5; 2,5/2,5 33,33 128 16 + 108 + – + + + 144 LQFP 32бит MCU ARM7 3,3/2,5; 2,5 64 WCSP, 64 33,33 64 16 + 40 + – + + + 32бит MCU /2,5 TQFP, 84 LFBGA ARM7 3,3/2,5; 2,5 64 WCSP, 64 33,33 128 16 + 40 + – + + + 32бит MCU /2,5 TQFP, 84 LFBGA Ядро Источник: http://www.phyton.ru/ PDF created with FinePrint pdfFactory Pro trial version http://www.fineprint.com