Микроконтроллеры Cortex-M стали сегодня одними из самых популярных процессоров, применяемых при разработке и изготовлении электронной техники. Высокая вычислительная мощность, широкий набор периферии и низкая стоимость делают эти устройства привлекательными для самого широкого круга разработчиков. При этом каждый желающий может выбрать наиболее подходящий вариант для решения конкретной задачи. Производители предлагают огромное количество разнообразных микросхем, общим для которых остается только процессорное ядро. На сегодняшний день распространение получили 3 варианта ядер: Cortex-M0, Cortex-M3, Cortex-M4. Отличия этих моделей не всегда явно прослеживаются, поэтому данная статья делает попытку разобраться в особенностях этих вариантов.
Микроконтроллеры Cortex-M представляют собой одно из направлений развития микропроцессорных ядер, предлагаемых фирмой ARM. Фактически, под общей торговой маркой Cortex можно увидеть три типа процессоров (профилей), обозначаемых буквами A, R, M.
Микроконтроллеры, использующие ядро Cortex-M0, позиционируются производителями в качестве замены 8-ми разрядных моделей. Их отличительной особенностью стала предельно низкая стоимость и малое энергопотребление, при сохранении многих возможностей архитектуры ARM.
По своей структуре ядро Cortex-M0 — это конфигурируемый мультистадийный 32-разрядный RISC процессор. В его основе лежит архитектура ARMv6-M. Основное отличие от классической «большой» ARMv6 заключается в использовании только набора 16-разрядных инструкций, под общим названием Thumb. Дополнительно поддерживаются некоторые команды более нового набора Thumb2. Такое решение, при незначительном падении вычислительной мощности, максимально упростило процессор относительно старших моделей и позволило использовать дешевую 16-ти разрядную память. Благодаря использованию современных технологий проектирования, количество транзисторов, из которых построено данное ядро, составляет примерно 12 тысяч. Такое количество обеспечило низкое энергопотребление и невысокую стоимость. Для сравнения процессор i8086 имел 32 тысячи транзисторов при намного меньших возможностях. Энергопотребление процессора M0, в зависимости от исполнения и решаемых задач, колеблется от 73 до 4мкВт/МГц.
Быстродействие ядра Cortex-M0 составляет 0. 84 DMIPS / МГц. Это значит, что на максимальной частоте работы ядра в 50Мгц, достигается производительность 45 DMIPS. Данное значение превышает возможности 8-ми разрядных систем в несколько десятков раз, и на порядок выше, чем у 16-разрядных моделей.
Разработчики, в архитектуре Cortex, попытались получить законченное процессорное ядро. Поэтому в его состав включены: контроллер прерываний на 32 вектора, интерфейс для периферийных устройств в виде 32-разрядной шиной ASB-Lite, отладчик. При необходимости процессор может оснащаться контроллером «спящего» режима.
Процессорное ядро Cortex-M3 стало наиболее популярным вариантом архитектуры ARM у производителей и разработчиков микроконтроллеров. Структурно, это также мультистадийный RISC процессор. Но в отличие от M0, данное ядро основано на архитектуре ARMv7-M и полностью реализует наборы команд Thumb и Thumb2. Из особенностей следует упомянуть аппаратное умножение 32-разрядных чисел за 1 цикл, а также деление чисел подобной разрядности (от 2 до 12 циклов). Производительность процессора составляет 1.25DMIPS/МГц. Энергопотребление примерно в два раза выше, чем у варианта M0. Количество физических прерываний увеличено до 240. В ядре предусмотрен механизм защиты памяти.
Cortex-M3, в отличие от классической ARMv7, выполнен по Гарвардской архитектуре и поддерживает несколько периферийных шин. Следует отметить, что ARMv7 является основой только процессоров под обозначением Cortex и имеет мало общего с некогда сверхпопулярной ARM7 и ее вариантами. Хотя именно с ARM7 часто сравнивают возможности Cortex-M3.
Вариант микроконтроллерного ядра Cortex-M4, по сравнению с Cortex-M3, не характеризуется ростом общих показателей. Фактически M4 тот же самый M3, но дополнительно оснащенный DSP-инструкциями. Наличие последних существенно ускоряет обработку потоковых данных, что в свою очередь делает M4 весьма привлекательным для использования в системах управления и обработки информации.
Возможности DSP, входящего в состав M4, позволяют параллельно выполнять четыре операции сложения/вычитания для 8-ми разрядных чисел или две операции сложения/вычитания с16-ти разрядными операндами. Также реализовано умножение за один цикл, при этом для 16-ти разрядных чисел возможно параллельное исполнение двух операций.
В серии M4 есть еще один вариант, под обозначением Cortex-M4F. В нем, дополнительно к DSP, установлен блок операций для чисел с плавающей точкой – FPU.
Кроме вышеназванных, существуют и другие варианты процессоров. Большинство из них представляют модернизированные варианты основных ядер. Несколько особняком стоит малоизвестный Cortex-M1, предназначенный для использования в программируемых логических матрицах. Основные характеристики этого процессора практически совпадают с вариантом M0, но при этом он реализован только в виде программной модели.
В отличие от профиля А, Cortex-M развивается не столь бурно. Когда и какими будут будущие микроконтроллеры неизвестно. Можно только предположить, что развитие пойдет по пути «больших» систем и в скором времени привычными станут двух-, трех или четырехядерные контроллеры.
You have no rights to post comments
Фирма АРМ продала более 200 лицензий на ядра Cortex-M, и на рынке представлены тысячи вариантов этих устройств.
Хотя фирма создала ядро M7 в прошлом году, которое предлагает невероятную производительность для MCU, начальный уровень линейки ядер продолжает представлять огромный интерес для производителей. Реализация ядра M0 требует около 12000 gates (трудно сказать, идет речь о затворах либо базовых элементах, в любом случае это немного, но в первом — намного меньше — примечание переводчика), так что стоит она чуть больше, чем ничего (реализация, конечно, а не лицензия, кстати, если кто знает цены — поделитесь в комментах — пп). М0 + имеет тот же набор инструкций (как и M0-пп), но показывает лучшую производительность при низком энергопотреблении для устройств с батарейным питанием, плюс расширенные (необязательные) возможности отладки, и даже дополнительный блок защиты памяти (MMU бедняка).Книга весьма актуальна, так как освещает вопросы, связанные с получением высоких EEMBC(показателей производительности — пп) на ультра-низких напряжениях питания. Я писал об этом в марте и для тех из нас, кто работает с батарейным питанием систем, стоит посмотреть, до каких значений можно поднять этот показатель. Главе охватывает маломощные фичи, но Вы должны глубоко изучить документацию применяемых вами изделий, поскольку лицензиаты добавляют иногда ошеломляют число собственных функций, чтобы минимизировать потребляемые кулоны.
Аудитория книги несколько размыта. Я бы утверждал, что она состоит из практикующих инженеров, поскольку книга содержит все детали, необходимые для реализации. Но в ней есть целая глава, посвященная разъяснению основ разработки встроенного программного обеспечения, которую читатели этого сайта могут пропустить. Этот раздел книги содержит введение в библиотеке CMSIS, важный ресурс для Cortex-M пользователей, но мы и так уже все знаем о сбросе, типах данных и других основах нашего бизнеса.
Как и в его более ранней книге, г-н Ю делает хорошую работу, описывая архитектуру как микроконтроллеров, так и шинных устройств. Если Вы используете, или рассматриваете такие устройства, то эта информация совершенно необходима для Вас. ARM ядра сложны, содержат множество шин, конвейеры переменной длины, различные порядки байт в памяти и другие особенности, которые могут вызвать путаницу.
Лучшая часть книги — четыре главы о начале работы по написания кода. Каждая из них охватывает одну среду из Keil, IAR, GCC и mbed. Выбирайте подходящее средство (начнем холливар? — пп), переходите к соответствующей главе, и г-н Ю поможет вам быстро выполнить настройку среды и написать свой первый код для Cortex-M0/M0+. Он также дает некоторые конкретные советы для продукции компаний Freescale(FRDM) и ST (STM32). Ваш начальник должен заплатить за эту книгу.
Один раздел подробно описывает перенос кода из различных процессоров (например, 8051) в M0 / M0 +. Это, несомненно, озадачит продавцов других виды процессоров! Но в основном этот раздел подробно описывает перенос кода из более сложных, ARM ядер в ядра начального уровня, процесс, который имеет определенные особенности. Данные рекомендации весьма полезны.
Стиль автора ясен и типография не вычурна. Один каламбур, который, пожалуй, более похож на жалобу о состоянии современной издательской индустрии: нет ни одного листа, свидетельствующего о участии редактора. Давным-давно (в одной Галактике — пп) были такие люди, которые были повелителями английского языка, которые находили очевидные языковые ошибки и исправляли их. (Ладно бы только грамматические ошибки, это еще фигня. Но когда ты читаешь изданную книгу — перевод технической литературы, и диаграммы Боде перенесены со смещением, и ты никак не можешь понять, что за странный излом на АЧХ, вот это действительно неприятно. Или при расчете теплового сопротивления пропускают запятую, пишут 62 вместо 0. 62 и внезапно при установке радиатора тепловое сопротивления системы возрастает, вот это может снести мозг. Те, кто в теме, книгу узнали.- длинное пп) Данная книга содержит много грамматических ошибок. Пример: «Easy to learning programming of new devices» (наверное, тут действительно ошибка, но не с моим знанием английского ее найти, так что верю Джеку на слово). Они отвлекают, но не уменьшают достоинств, касающихся технического содержания.
Книга стоит $ 62 на Amazon, или 34 $ для версии Kindle (наверное, электронный вариант — пп). Отдать целых 62 бакса за книгу — очень смешное предложение для сегодняшнего положения вещей (у них там что, тоже кризис? Мне казалось что 62 бакса там и тут — это немного разные баксы — пп). Но если вы новичок в этих ядрах, задавите свое жабу и купите книгу. Она даст Вам понятие о необходимых вещах для реальных проектов.
Серия процессоров Cortex-M позволяет разработчикам создавать недорогие решения с ограниченным энергопотреблением для широкого спектра устройств.
Разработанный для интеллектуальных и подключенных встраиваемых приложений, особенно там, где размер имеет значение, Cortex-M0 является самым маленьким доступным процессором Arm, что делает его идеальным для использования в простых, чувствительных к стоимости устройствах. Для кремниевых конструкций Arm Flexible Access предлагает Cortex-M0 по цене 0 долларов.Снижение стоимости и мощности
Исключительная плотность кода Cortex-M0 значительно снижает требования к памяти, что оптимизирует использование встроенной флэш-памяти для экономии затрат на память, снижения энергопотребления и повышения производительности. Воспользуйтесь преимуществами 32-разрядной интеллектуальной обработки по цене 8/16-разрядного процессора.
Увеличенный срок службы батареи
Процессор Cortex-M0 позволяет разработчикам оптимизировать энергопотребление для конкретных приложений благодаря встроенным функциям с низким энергопотреблением. Благодаря трем высокооптимизированным режимам с низким энергопотреблением процессор экономит энергию в соответствии с требованиями обработки.
Добавить интеллект
Крошечные размеры и чрезвычайно низкое энергопотребление Cortex-M0 означают, что он может добавить интеллекта даже самым простым устройствам.
Cortex-M0 имеет исключительно малую площадь кремния, низкое энергопотребление и минимальный объем кода, что позволяет разработчикам достигать 32-битной производительности по цене 8-битной, минуя шаг к 16-битным устройствам. Сверхмалое количество вентилей процессора позволяет использовать его в аналоговых и смешанных устройствах.
Дополнительные сведения см. в ресурсах для разработчиков.
Ключевая документацияВарианты использования
Носимые устройства требуют длительного времени работы от батареи в сочетании с низким энергопотреблением, заключенным в небольшой кремниевой области. Cortex-M0 предлагает недорогое компактное решение, идеально подходящее для носимых устройств.
Узнать больше
Узнайте, почему Cortex-M0 лучше всего подходит для недорогих устройств ограниченного размера.
Свяжитесь с нами
Чтобы получить неограниченный доступ к дизайну этого продукта и другой полезной интеллектуальной собственности Arm, посетите сайт Arm Flexible Access. Начните свой проект с правильного пути с помощью ведущего в мире портфолио дизайна SoC. Этот IP-адрес ЦП доступен в Arm Flexible Access по цене 0 долларов США.
Узнать больше
Сопутствующие продукты и услуги
Виртуальное оборудование Arm предоставляет модели процессоров, систем и оборудования сторонних производителей для разработчиков приложений и разработчиков SoC для создания и тестирования программного обеспечения без оборудования, ускорение разработки IoT и ML.
Узнать больше
Разработка защищенной системы на кристалле является сложной и трудоемкой задачей. Чтобы помочь разработчикам быстро выйти на рынок, Arm предоставляет IP-блоки, необходимые для построения системы. Corstone — это решение для проектирования системы, которое делает ее безопасной и способной управлять сложной инфраструктурой управления питанием, при этом балансируя между производительностью и мощностью.
Подробнее
Cortex-M System Design Kit (CMSDK) — это комплексное решение, включающее набор компонентов инфраструктуры SoC, основные периферийные устройства, примеры систем и драйверов, а также сценарии компиляции и моделирования. . Он предназначен для работы с процессорами Cortex-M «из коробки», чтобы помочь интегрировать подсистему обработки в ваш продукт с минимальным риском.
Узнать больше
Prizm™ — это домашнее аудиоустройство, которое использует информацию
из окружающей среды, чтобы определить настроение события
, прежде чем предлагать мелодии, соответствующие ему. Самая широкая экосистема инструментов и программного обеспечения
и простая модель программирования
C для Cortex-M0 делают
идеальным выбором.
Наш масштабируемый портфель микроконтроллеров (MCU) Arm Cortex-M0+ имеет варианты, совместимые по выводам, чтобы соответствовать вашим требованиям к памяти, аналоговым и вычислительным устройствам, что позволяет вам снизить затраты как на уровне компонентов, так и на уровне системы без ущерба для производительности. и гибкость. Быстро приступайте к работе с помощью интуитивно понятных и удобных ресурсов для проектирования, включая графические инструменты, упрощающие настройку устройства.
Простые устройства для основных приложений, начиная с 0,39 долл. США за 1000 единиц и различные варианты упаковки.
параметрический фильтр Найдите свое устройство
Интегрируйте высокопроизводительные аналоговые устройства из широкого спектра вариантов устройств, включая операционные усилители с нулевым дрейфом, TIA, 12-разрядный АЦП со скоростью 1 MSPS и высокоскоростной компаратор.
параметрический фильтр Найдите свое устройство
Серия
Простые устройства с повышенной вычислительной производительностью, предлагаемые по низкой цене в нескольких вариантах упаковки.
параметрический фильтр Найдите свое устройство
Полная высокопроизводительная цепь аналоговых сигналов. Варианты устройств включают в себя несколько операционных усилителей с нулевым дрейфом, два 14-разрядных АЦП со скоростью 250 тыс. операций в секунду, два 12-разрядных АЦП с частотой 4 млн операций в секунду, высокоскоростные компараторы и 12-разрядный ЦАП с частотой 1 млн операций в секунду.
параметрический фильтр Найдите свое устройство
Контроллеры Локальная сеть (CAN) 2.0A, CAN2.0B или шины CAN-Flexible Data Rate (CAN-FD), поддерживающие скорость до 5 Мбит/с.
параметрический фильтр Найдите свое устройство
Набор для разработки
Комплект разработки LP-MSPM0L1306 LaunchPad™ — это простой в использовании оценочный модуль (EVM), основанный на MSPM0L1306. Он содержит все необходимое для начала разработки на платформе микроконтроллера MSPM0L1306 M0+, включая встроенный отладочный зонд для программирования, отладки и измерения энергопотребления. Доска (…)
Ресурс
Используйте MSP Academy в качестве отправной точки для всех разработчиков, чтобы узнать о платформе MSPM0. Эти простые в использовании обучающие модули охватывают широкий круг тем, таких как аналого-цифровые преобразователи, таймеры, универсальные асинхронные передатчики-приемники и прямой доступ к памяти.
НОВЫЙ
Микроконтроллеры Arm Cortex-M0+
MSPM0G1106 ПРЕДПРОСМОТР
Микроконтроллер Arm® Cortex®-M0+ 80 МГц с флэш-памятью 64 КБ, SRAM 32 КБ, 12-разрядным АЦП
прибл. цена (USD) 1ку | 0,749
MSPM0G1107НОВЫЙ
Микроконтроллеры Arm Cortex-M0+
MSPM0G1107 ПРЕДПРОСМОТР
Микроконтроллер Arm® Cortex®-M0+ с тактовой частотой 80 МГц, флэш-памятью 128 КБ, SRAM 32 КБ и 12-разрядным АЦП
прибл. цена (USD) 1ку | 0,833
MSPM0G3507НОВЫЙ
Микроконтроллеры Arm Cortex-M0+
MSPM0G3507 ПРЕДПРОСМОТР
Микроконтроллер Arm® Cortex®-M0+ 80 МГц с флэш-памятью 128 КБ, SRAM 32 КБ, АЦП, COMP, ЦАП, OPA и CAN-FD
прибл. цена (USD) 1ку | 1,077
MSPM0G3506НОВЫЙ
Микроконтроллеры Arm Cortex-M0+
MSPM0G3506 ПРЕДПРОСМОТР
Микроконтроллер Arm® Cortex®-M0+ 80 МГц с флэш-памятью 64 КБ, SRAM 32 КБ, АЦП, COMP, ЦАП, OPA и CAN-FD
прибл. цена (USD) 1ку | 0,951
MSPM0G3505НОВЫЙ
Микроконтроллеры Arm Cortex-M0+
MSPM0G3505 ПРЕДПРОСМОТР
Микроконтроллер Arm® Cortex®-M0+ 80 МГц с флэш-памятью 32 КБ, SRAM 16 КБ, АЦП, COMP, ЦАП, OPA и CAN-FD
прибл. цена (USD) 1ку | 0,888
MSPM0G3107НОВЫЙ
Микроконтроллеры Arm Cortex-M0+
MSPM0G3107 ПРЕДПРОСМОТР
Микроконтроллер Arm® Cortex®-M0+ 80 МГц с флэш-памятью 128 КБ, SRAM 32 КБ, АЦП и CAN-FD
прибл. цена (USD) 1ку | 0,987
Автоматизация зданий
Используйте режимы пониженного энергопотребления и встроенные аналоговые устройства для достижения правильного баланса энергопотребления и времени отклика для критически важных систем.
Medical
Быстрее выходите на рынок с приложениями для ухода за пациентами и личной гигиены, используя датчики и простое управление двигателем.
Заводская автоматизация
Упростите свою систему, используя аналоговую интеграцию в различных типах датчиков для получения надежных диагностических данных.
Управление батареями и подача питания
Мониторинг использования батареи и управление системами измерения заряда батареи с помощью высокопроизводительных функций. CAN FD обеспечивает надежную связь и управление двигателем в критических системах.
Автомобильный кузов и освещение
Управление различными автомобильными датчиками и модулями с использованием сертифицированных AEC Q100, оптимизированных по стоимости микроконтроллеров MSPM0 со встроенными контроллерами локальной сети CAN-FD
Бытовая техника
Создавайте простые, изящные, беспроводные системы с аналоговыми и моторизованными функциями управления.
Эффективное обнаружение различных типов сенсорных и измерительных приложений, таких как детекторы движения, дыма и тепла.
РАЗРАБОТКА АППАРАТНОГО ОБЕСПЕЧЕНИЯ
РАЗРАБОТКА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
Небольшой размер корпуса микроконтроллера MSPM0, от пульсоксиметров до персональных медицинских устройств, позволяет использовать его во многих различных конструкциях.
ПРОДУКТЫ
РАЗРАБОТКА АППАРАТНОГО ОБЕСПЕЧЕНИЯ
РАЗРАБОТКА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
Наше недорогое системное решение предлагает масштабируемость от контакта к выводу для удовлетворения потребностей различных приложений, что позволяет:
ПРОДУКТЫ
РАЗРАБОТКА АППАРАТНОГО ОБЕСПЕЧЕНИЯ
РАЗРАБОТКА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
MSPM0 представляют собой надежные решения для управления батареями низкого и высокого уровня и приложений подачи питания.
Автор:
ПРОДУКТЫ
РАЗРАБОТКА АППАРАТНОГО ОБЕСПЕЧЕНИЯ
РАЗРАБОТКА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
MSPM0 могут использоваться для питания автомобильных осветительных приборов, кузовной электроники, гибридных/электрических транспортных средств и информационно-развлекательных систем с помощью Совета по автомобильной электронике (AEC)
ПРОДУКТЫ
РАЗРАБОТКА АППАРАТНОГО ОБЕСПЕЧЕНИЯ
РАЗРАБОТКА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ