Arm микроконтроллеры: обсуждаем преимущества и технические характеристики

Digitrode

цифровая электроника вычислительная техника встраиваемые системы

Микроконтроллеры 8051, PIC, AVR и ARM: отличия и особенности

Различие между микроконтроллерами AVR, ARM, 8051 и PIC

В настоящее время микроконтроллеры настолько дешевы и доступны, что их обычно используют вместо простых логических схем на основе дискретных компонентов, что позволяет достигнуть гибкости проектирования и сократить площадь, занимаемую на печатной плате. Некоторые машины и роботы сегодня полагаются на огромное количество микроконтроллеров, каждый из которых решает определенную задачу.

Но на рынке сегодня представлено большое количество микроконтроллеров. Что они из себя представляют? И в чем их отличие друг от друга? В этой статье мы рассмотрим разницу между основными семействами микроконтроллеров: AVR, ARM, 8051 и PIC.

Микроконтроллеры 8051

Микроконтроллер 8051 – это 8-битное семейство микроконтроллеров, разработанное Intel в 1981 году. Это одно из популярных семейств микроконтроллеров, которые используются во всем мире. Кроме того, этот микроконтроллер изначально назывался «системой на кристалле», поскольку он имеет 128 байт оперативной памяти, 4 Кбайт ПЗУ, 2 таймера, 1 последовательный порт и 4 порта на одном кристалле. Процессор может обрабатывать до 8 бит данных одновременно. Если данные больше 8 бит, то они должны быть разбиты на части, чтобы процессор мог легко их обрабатывать. Большинство микроконтроллеров серии 8051 различных производителей содержат 4 Кбайт ПЗУ, хотя объем ПЗУ может быть расширен до 64 Кбайт.

Микроконтроллеры 8051 используются в огромном количестве устройств, главным образом потому, что их легко интегрироватьв проект. Ниже перечислены основные направления их применения.

Во первых, это контроль электроэнергии: эффективные системы измерения облегчают контроль использования энергии в домах и производственных помещениях. Эти измерительные системы оптимальны для возможности интеграции микроконтроллеров.

Сенсорные экраны. Большое количество поставщиков микроконтроллеров включает сенсорные функции в свои устройства. Примерами сенсорных экранов на микроконтроллерах являются портативная электроника, такая как сотовые телефоны, медиаплееры и игровые устройства.

Автомобили: микроконтроллеры 8051 находят широкое применение в автомобильных решениях. Они широко используются в гибридных транспортных средствах для обработки данных с двигателей и управления ими. Кроме того, такие функции, как круиз-контроль и анти-тормозная система, более эффективны с использованием микроконтроллеров.

Медицинские устройства: переносные медицинские устройства, такие как измерители артериального давления и мониторы глюкозы, используют микроконтроллеры для отображения данных, что обеспечивает более высокую надежность при предоставлении медицинских результатов.

Микроконтроллеры PIC

Контроллер периферийного интерфейса (PIC) – это серия микроконтроллеров, разработанная компанией Microchip. Микроконтроллер PIC быстрее и проще реализует программы, если сравнивать с другими микроконтроллерами, такими как 8051. Простота программирования и простота взаимодействия с другими периферийными устройствами делает PIC более успешным микроконтроллером.

PIC – это микроконтроллер, который также состоит из центрального процессора, ОЗУ, ПЗУ, таймеров, счетчиков, АЦП (аналого-цифровых преобразователей), ЦАП (цифроаналоговых преобразователей). Микроконтроллер PIC также поддерживает протоколы, такие как CAN, SPI, UART для взаимодействия с дополнительными периферийными устройствами. PIC в основном использует модифицированную гарвардскую архитектуру, а также поддерживает RISC (сокращенный набор команд). Благодаря этому PIC быстрее, чем контроллеры на основе ядра 8051, которые основаны на фон-неймановской архитектуре.

Микроконтроллеры AVR

Первые микроконтроллеры AVR были разработаны в 1996 году компанией Atmel (теперь часть Microchip). Проект AVR был разработан Альф-Эгилем Богеном и Вегаром Волланом, поэтому AVR аббревиатура получила две первые буквы от имен разработчиков: Alf-Egil Bogen Vegard Wollan RISC, после эта аббревиатура стала расшифровываться более официально как Advanced Virtual RISC. AT90S8515 был первым микроконтроллером в линейке AVR, хотя первым микроконтроллером, который попал на коммерческий рынок, был AT90S1200 (в 1997 году).

Микроконтроллеры AVR доступны в трех основных подсемействах:

TinyAVR: меньше памяти, небольшой размер, подходит только для более простых приложений.

MegaAVR: это популярные микроконтроллеры, в основном имеющие относительно большое количество памяти (до 256 КБ), большее количество встроенных периферийных устройств и подходят для довольно сложных приложений.

XmegaAVR: используются в коммерческих приложениях для решения сложных задач, которым требуется большая память программ и высокая скорость.

Микроконтроллеры ARM

Микроконтроллеры с ядром ARM также являются одним из семейств процессоров на базе архитектуры RISC, разработанным компанией Advanced RISC Machines (ARM).

Микроконтроллеры ARM основаны на 32-битных и 64-битных многоядерных процессорах RISC. Процессоры RISC предназначены для выполнения меньшего количества инструкций, чтобы они могли работать с большей скоростью, выполняя дополнительные миллионы инструкций в секунду (MIPS). Устраняя ненужные инструкции и оптимизируя обработку информации, RISC-процессоры обеспечивают большую производительность по сравнению с большинством рассмотренных выше микроконтроллеров.

Процессоры ARM широко используются в потребительских электронных устройствах, таких как смартфоны, планшеты, мультимедийные проигрыватели и другие мобильные устройства. Из-за сокращенного набора команд им требуется меньше транзисторов, что позволяет уменьшить размер матрицы интегральной схемы. Процессоры ARM с меньшими размерами уменьшают сложность проектирования и сокращают энергопотребление, что делает их пригодными для более миниатюрных устройств.

Интересные семейства микроконтроллеров Cortex от Atmel

Общаясь с разработчиками различной электроники (как любителями, так и профессионалами), я и мои коллеги обратили внимание, что широкой публике практически неизвестны микроконтроллеры Atmel на платформе Cortex-M. Я решил подготовить обзор по новым семействам микроконтроллеров, чтобы показать: не AVRом единым интересен Atmel.

Эпоха ARM Cortex-M началась с платформы Cortex-M3. Несмотря на то, что Atmel стал одним из первых производителей микроконтроллеров на платформе ARM7TDMI, компания не проявила интереса к новой платформе, сфокусировавшись на развитии собственных платформ. В результате этого, первыми серийными контроллерами нового типа стали микроконтроллеры STM32 от компании ST.

Вторым обстоятельством послужило то, что выпуск первых микроконтроллеров на платформе Cortex-M у Atmel пришелся не на лучшие времена. Следствием этого стали существенно более высокие цены на Atmel’овские контроллеры в сравнении с ST.

Оба этих обстоятельства закрепили приоритет за микроконтроллерами STM32. Причем это лидерство год за годом закреплялось все сильнее, поскольку в Сети стало появляться все больше и больше материалов по разработке на STM32. А к аналогам от Atmel на нашем рынке стал применяться один из двух стереотипов:

2. Cortex’ы от Atmel дорогие и не интересны для использования.

Если первый стереотип развеивается заходом в соответствующий раздел на сайте Atmel, то со вторым все немного сложнее. С ним мы и попробуем разобраться.

В обзоре я не стану перечислять все семейства, расскажу только о тех, которые отвечают одному или обоим критериям:

• уникальные особенности семейства;

• цена лучше, чем у конкурентов, или сопоставима (здесь я вынужден сделать оговорку, что речь идет о сопоставимости оптовых цен).

Это микроконтроллеры на основе ядра ARM Cortex-M7, дебютировавшего в этом году у Atmel и у ST. Преимущества этого ядра по сравнению с предшествующим Cortex-M4 заключаются в наличии аппаратной поддержки вычислений с плавающей точкой двойной точности (у Cortex-M4 – только одинарной точности, и не во всех Cortex-M4, а только в Cortex-M4F), более высокой производительности (DMIPS/MHz примерно в 1,6 раза выше) и более высокой тактовой частоте ЦПУ (до 300 МГц).

SAM S – это «базовое» семейство, SAM E – это семейство c Ethernet и CAN на борту. Микроконтроллеры доступны в корпусах LQFP (64, 100, 144 вывода) и LFBGA (100 и 144 вывода). Размеры Flash памяти – от 512 до 2048 КБ. Все контроллеры имеют на борту USB (Host, Device) и интерфейс для подключения КМОП-матриц. В некоторых модификациях (зависит от размера корпуса) имеется интерфейс внешней памяти и интерфейс работы с картами памяти. Кроме этих двух семейств есть еще семейство SAM V, но это аналоги названных ранее семейств для автомобильной промышленности. Столкнуться с ними Вы можете только в отладочном комплекте, общим для всех семейств с ядром Cortex-M7.

Если сравнивать эти контроллеры с аналогами от ST, то в пользу Atmel выступают:

• большая тактовая частота CPU (300 MHz vs 216 MHz), что обеспечивает большую производительность;

• наличие чипов с памятью до 2048 KB Flash (у ST только до 1024 KB);

• наличие семейства без CAN и Ethernet (что позволяет не переплачивать за эти функции, если они не требуются в проекте).

Преимуществом контроллеров от ST является:

• наличие интерфейса для подключения ЖК дисплеев (у Atmel для этого рекомендуется использовать интерфейс внешней памяти);

• наличие семейства без криптографии (у Atmel криптография есть на борту всех микроконтроллеров).

Микроконтроллеры от Atmel не проигрывают в цене ST, а потому вызвали большой интерес у наших клиентов. У микроконтроллеров этого семейства сохраняется pin-to-pin совместимость с «младшими» семействами на основе Cortex-M4 (SAM4S и SAM4E). Единственный подводный камень в том, что эта совместимость не распространяется на выводы USB. Это связано с тем, модули USB у этих семейств разные: у Cortex-M4 — USB Device, у флагманов — USB Host и Device.

Это семейство микроконтроллеров на основе Cortex-M4 с тактовой частотой 48 МГц и технологией picoPower, что обеспечивает низкое потребление (меньше 90 мкА/МГц). По производительности это семейство занимает промежуточную нишу между семействами STM32 L1 (Cortex-M3, 32 MHz) и STM32 L4 (Cortex-M4, 80 MHz). Цены на этим микроконтроллеры приблизительно одинаковы. Набор периферии также схож, но у SAM4L есть два особенных модуля:

1. модуль измерения частоты;

2. программируемый логический модуль.

Первый модуль позволяет измерять частоту внешнего сигнала, сравнивая измеряемую частоту с опорной. Второй модуль позволяет отказаться от использования логических микросхем на плате (если конечно не требуется очень сложной логики). Принцип работы прост: четыре входа составляют 16 возможных комбинаций, для каждой из комбинаций задается соответствующее состояние вывода (0 или 1), дальше модуль работает без участия ЦПУ согласно заданной таблице состояний. В микроконтроллере может быть один или два таких модуля, в зависимости от корпуса.

Еще одно семейство микроконтроллеров Cortex-M4 с низким энергопотреблением. С точки зрения процессора основное отличие от предшествующего семейства в наличии модуля для вычислений с плавающей точкой (Cortex-M4F). В этом семействе также применена технология picoPower, потребление чуть больше чем у SAM4L, но все равно на достаточно низком уровне (меньше 100 мкА/МГц).

Семейство состоит из 4 микроконтроллеров, которые отличаются между собой размером flash-памяти (256 или 512 КБ), максимальной тактовой частотой процессора (от 48 до 120 МГц), размерами корпуса (LQFP100/64, WLCSP49). Небольшое разнообразие вариантов микроконтроллеров с лихвой компенсируется ценами, которые существенно ниже цен конкурентов.

Мощные производительные контроллеры — это, конечно, хорошо, но настоящую революцию в мире микроконтроллеров совершила все-таки платформа Cortex-M0. 32-разрядные микроконтроллеры уверенно вытесняют 8-битные контроллеры не только производительностью, но и ценой. Atmel также вывела на рынок ряд семейств на этой архитектуре. Отличительной особенностью этих семейств является модули SERCOM, которые в зависимости от конфигурации могут выполнять роль UART, SPI, I2C, при этом есть возможность выбирать выводы, которые используются этим модулем. Другая особенность: развитый аппаратный модуль PTC, с помощью которого можно создавать сенсорные интерфейсы с большим количеством элементов управления (кнопок, слайдеров и т.д.).

Это базовое семейство, которое ложится в основу всех остальных семейств Cortex-M0. Если не принимать во внимание уже названные особенности, это семейство можно было бы считать вполне заурядным: обычный набор периферии, обычный набор корпусов, стандартная линейка размеров памяти, средняя цена на рынке.

Тем не менее, это семейство заслуживает упоминания по двум причинам. Первая причина заключается в том, что старшие представители (SAM D20 и SAM D21) этого семейства служат основой для микроконтроллеров других семейств. SAM D20 обладает всеми описанными выше особенностями atmel’овских Cortex-M0+. SAM D21 является его дальнейшим развитием: добавлен USB, DMA, I2S. Между собой эти контроллеры pin-to-pin совместимы, имеют одинаковую линейку корпусов (LQFP32/48/64) и flash-памяти (от 16 до 256 КБ).

Вторая причина — недавно анонсированные младшие представители: микроконтроллеры SAM D09, SAM D10, SAM D11. Корпуса имеют небольшое количество выводов: SOIC14/SOIC20, QFN24. Возможный размер flash-памяти — 8 или 16 КБ. Сами семейства отличаются набором доступной периферии, при этом SAM D11 имеет на борту USB Device. Цены на маленькие контроллеры тоже маленькие.

Разумеется, что накопленный опыт в создании малопотребляющих микроконтроллеров не мог быть не использован для Cortex-M0+. Так появилось семейство SAM L. Отличительная черта этих микроконтроллеров — очень низкое для Cortex-M0+ потребление (меньше 35 мкА/МГц). Так же здесь есть модуль программируемой логики, причем значительно усовершенствованный по сравнению с модулем у SAM 4L. Модуль позволяет не только реализовывать логические операции (И, НЕ, ИЛИ и т.д.), но и создавать более сложные элементы логики — триггеры и защелки.

SAM L бывают двух видов: SAM L21 — малопотребляющие микроконтроллеры с USB, pin-to-pin совместимые с SAM D21, и SAM L22 — тоже самое, но с LCD дисплеем. Таким образом, каждая из линеек является конкурентом соответствующих семейств STM32L0: STM32L0x2 и STM32L0x3. SAML21 уже доступны для заказа, массовое производство SAM L22 планируется в начале следующего года. Опять таки, по цене SAM L21 сопоставимы с аналогами от ST.

Очень интересное семейство, производство которого начнется в начале следующего года. От микроконтроллеров Cortex-M0+ конкурентов его в первую очередь отличает диапазон напряжений: 2.7 — 5.5V. Другими особенностями являются: измеритель частоты, поддержка интерфейса LIN, модуль программируемой логики, аналогичный SAM L.

Анонсированы два подсемейства:

SAM C20 — pin-to-pin совместимые контроллеры с SAM D20, корпуса и варианты размера flash-памяти так же аналогичны.

SAM C21 — обратно совместимые с SAM C20 контроллеры (по выводам, памяти и периферии), добавлены два контроллера CAN, аппаратный ускоритель деления и вычисления квадратного корня, датчик температуры выполнен в виде отдельного модуля (а не заведен на АЦП).

Цены пока не известны.

Как, я надеюсь, видно из этого обзора, Atmel прилагает серьезные усилия для возвращения себе лидерства на рынке микроконтроллеров. Это выражается как и в тенденции удешевления новых семейств микроконтроллеров, так и в наделении этих семейств интересными, а иногда и уникальными функциями.

Конечно, достоинства каждого из перечисленных семейств не ограничиваются тем, что я назвал. Я это сделал сознательно, для того чтобы не раздувать текст и не сводить все к переписыванию параметров из даташитов. Перед написанием статьи я по памяти набросал план, перечислив те семейства, которые мне кажутся наиболее интересными, и те особенности этих семейств, которые мне запомнились.

Преимущества микроконтроллеров ARM

Техника не стоит на месте, микроконтроллеры эволюционируют и дешевеют, если в начале 2000-х самыми распространенными и доступными были два семейства – ARM и PIC, то в 2010-х на рынок вышел их серьезный конкурент на ядре Cortex-M – микроконтроллеры ARM.

Вернее будет сказать – архитектура ARM – это, в основном, 32-хбитные микроконтроллеры, которые стоят дешевле, а их функционал и производительность выше, чем у оппонентов, поэтому они стремительно завоевывают рынок. Почему так происходит? Давайте поговорим.

STM32 – мощные и доступные

Для примера рассмотрим недорогой микроконтроллер – STM32F100C4T6RBT, его цена в 2017 году немногим более 100 рублей. В этом ценовом сегменте ему нет равных.

STM32

Посмотрите его технические характеристики. Для наглядности его достоинств в скобках будут приведены характеристики более дорогого AVR-микроконтроллера (8 бит) ATmega48-20PU, он стоит порядка 200 рублей.

  1. Flash-память – 16 кб (4 кб уAVR).
  2. Оперативная память (RAM) – 4096 байт (512 б уAVR).
  3. Работает на частоте 24 МГц и выполняет 30 миллионов итераций в секунду (1.25 DMIPS) (AVRработает на 20 МГц).
  4. 16 каналов 12 битного АЦП и 12 битный ЦАП (уAVR– АЦП 8 каналов и 10 бит, а ЦАП – отсутствует).
  5. 5 таймеров и 7 каналов прямого доступа к памяти (3 и 0 соответственно).
  6. Поддержка всевозможных шин и интерфейсов – USART, CAN, I2C, USB, SDIO (поддержка SD-карт), SPI. Большинство из них есть либо в меньшем количестве, либо отсутствуют у AVR.

Конечно, сравнивать 32 и 8 бит не совсем корректно, так как разница в 4-хкратном размере, и, чтобы сделать операцию с 32-битным числом AVR микроконтроллеру нужно произвести более 4-х операций… Вывод простой – за меньшие деньги вы получаете большие возможности.

Программирование ARM микроконтроллера

Если вести речь о семействе STM32, то есть два варианта прошивки для начинающих – это либо USART, либо USB.

Во-первых, эти микроконтроллеры очень сложно «убить» неверной прошивкой или прерыванием её, ведь загрузчик контроллера находится в system memory, изменить которые вы просто не сможете.

Это уже весомое преимущество перед конкурентами, в которых, при любом неправильном действии, нужен специальный программатор. Он с помощью логических уровней высокого напряжения может разблокировать «мёртвый» чип.

В случае прошивки через USART нужен преобразователь USB-UART, например, на базе микросхемы FT232RL.

Обратите внимание на схему: программатор подключен к USART1 на выводе Boot0 – логическая единица, а на boot1 – ноль. Если вы используете плату STM32F103C8, перемычки должны быть выставлены как на картинке ниже.

После этого нужно произвести сброс МК нажатием на «Reset» или подключить и отключить питание.

Чтобы залить прошивку, нужно скачать программу для прошивки микроконтроллера по последовательному порту. Она носит имя «Flash Loader Demonstrator». В бесплатном доступе находится на сайте Stlink.com, кстати, одноименном с названием фирмы производителя микроконтроллеров этого семейства.

Вот теперь всё готово к прошивке и дальнейшей работе.

Выше было сказано о наличии «железного» USB порта в чипе. Его присутствие здесь не просто так, благодаря тому, что в этом семействе микроконтроллеров бутлоадер является неотъемлемой частью программы и стоит в начале памяти. Если загрузить вышеописанным способом (через usb-uart) бутлоадер STM32duino – в дальнейшем вы сможете шить его напрямую, через USB порт, подобно Arduino.

Кстати, Arduino выполнена на тех МК семействах AVR, в которых нет встроенного USB, и разработчикам пришлось использовать для этого дополнительные преобразователи (на тех же МК AVR с USB или на FT232RL или CH340 на младших платах Arduino). В случае с STM вы получаете полноценный аппаратно- и программно-поддерживаемый порт USB

Выводы

К сожалению, порог вхождения в работу с STM32 высокий, что не позволяет ему полностью заменить морально устаревшие микроконтроллеры. В то же время проект STM32duino позволил многим любителям-энтузиастам ускорить работу своих Arduino проектов, к тому же улучшив качество их работы.

Нельзя не упомянуть о том, что чипы STM32 взаимозаменяемы и совместимы в пределах одного корпуса. Поэтому, если вы ошиблись с микроконтроллерами, и вам не хватило его ресурсов – вы легко можете запаять более мощный, не изменяя при этом своей схемы и платы!

Разработка интеллектуальных систем автоматизации на базе микроконтроллеров ARM Cortex-M3

ARM Cortex-M3

Новое поколение 32-разрядных микроконтроллеров с ядром ARM Cortex-M3 позволяет понизить энергопотребление и открывает новые возможности интеллектуальных систем автоматизации

Процессор ARM Cortex-M3 – это хороший пример одного из последних поколений процессоров, разработанных компанией ARM, которые достигли массового применения во встраиваемых системах. Они обеспечивают снижение стоимости платформы, которая отвечает потребностям разработчиков встраиваемых систем за счет снижения количества выводов, низкого энергопотребления и минимального времени реакции на прерывания.

Ядро использует 3-уровневый конвейер с Гарвардской архитектурой, что подразумевает отдельные шины инструкций, данных и периферии. Такая архитектура подходит для приложений чувствительных к цене, но ARM добавила еще внутренний модуль предварительной выборки, который поддерживает спекулятивные ветвления для повышения производительности. Это сочетание необходимо для уравновешивания рисков, связанных с ошибками КЭШа, с требованиями к задержкам встраиваемых приложений.

Ядро было специально разработано, чтобы бросить вызов 8/16-разрядным контроллерам с точки зрения эффективности кода, поддерживающего компактный набор инструкций ARM Thumb2, требующих минимальной системной логики, и которые зачастую могли бы выполняться исключительно в чипе. Для производителей микроконтроллеров, ядро является основным для целого семейства устройств с различным набором периферии, совместимых по выводам корпуса, насколько это возможно. Периферия микроконтроллеров ориентирована на различные сегменты рынка, от домашней автоматизации до систем промышленного управления и контроля. Для разработчиков это возможность выбора микроконтроллера, отвечающего требованиям приложения (производительность, периферия, стоимость) и возможность оптимизации под конкретную задачу без дорогостоящих услуг конфигурирования.

Ключевой особенностью микроконтроллеров является то, что программное обеспечение, разработанное для одного микроконтроллера, может в дальнейшем использоваться для всех представителей семейства, и оно совместимо по возрастанию с новыми устройствами, выполненными на базе архитектуры Cortex-M4. Это дает разработчикам простой и легкий способ обновления и наращивания возможностей проектов. Будучи 32-битным, ядро позволяет применять высокоуровневые отладочные инструменты и запускать операционные системы реального времени. Вместо использования ассемблера или другого специализированного языка программирования, разработчики систем автоматики могут использовать язык Си и экосистемы отладочных инструментов для всего семейства микроконтроллеров Cortex-M3. В случае, если разработчик захочет отойти от этого семейства, то также возможно, что 32-битный код может быть при необходимости портирован на другие архитектуры, избавляя от вложения значительных инвестиций в разработку и тестирование.

Переход на 32-битную архитектуру приносит конкретную пользу для систем интеллектуальной автоматизации. Это позволяет легко интегрировать стеки коммуникационных протоколов сторонних разработчиков в базовое программное обеспечение, что открывает новые возможности сетевой передачи данных. Они могут варьироваться от стеков беспроводной передачи данных (ZigBee и 2.4 ГГц Wi-Fi) до TCP/IP стека, который позволит подключить любое устройство в доме к Интернет и управлять им с помощью WEB-интерфейса. Также это влияет на тип периферийных устройств, которые необходимы системе. Например, микроконтроллеры компании STMicroelectronics (ST) серии STM32F20x имеют 512 Байт встроенной однократно программируемой памяти, которая может использоваться для хранения критически важных пользовательских данных, таких как MAC адрес или криптографические ключи.

Ядро Cortex-M3 является более сложным, чем ядро микроконтроллеров основного направления. STM32F205x и STM32F207x совмещают ядро Cortex-M3 с блоком защиты памяти (MPU) – дополнительным компонентом для разделения адресного пространства процессов и защиты данных. Этот блок поддерживает управление до восьми областей защищаемой памяти, которые могут быть разбиты на 8 подобластей. Размеры защищаемой зоны могут быть от 32 Байт до 4 ГБайт адресуемой памяти.

Это особенно полезно для приложений, где некоторый критически важный код должен быть защищен от неправильного поведения других задач, таких как сетевые стеки и аутентификация. Особую актуальность данный блок приобретает в приложениях домашних систем, чтобы избежать перезагрузки устройства из-за ошибок в программном обеспечении.

Блок защиты памяти, как правило, управляется операционной системой реального времени с ядром, которое может динамически обновлять настройки области MPU на основе процесса, который будет выполнен.

Компания ST также разработала пользовательский блок, получивший название Adaptive Real-time Memory Accelerator (ART Accelerator, адаптивный ускоритель памяти реального времени), для ядра Cortex-M3, предоставляющий преимущества по сравнению с традиционными технологиями Flash-памяти, которые обычно требуют от процессора некоторого время ожидания при работе на высоких скоростях.

Ускоритель использует инструкции предварительной выборки очереди и КЭШ ветвлений для повышения скорости выполнения приложения из 128-битной Flash-памяти. Тест CoreMark показал, что эффективность, достигаемая за счет ускорителя, такая же, как при выполнении программы из Flash-памяти с нулевым временем ожидания на частоте 120 МГц.

Системы домашней автоматизации

Системы домашней автоматизации являются основными на рынке устройств на микроконтроллерах с ядром Cortex-M3. Спектр устройств с различной периферией позволяет разрабатывать одинаковое программное обеспечение для широкого круга устройств управления, а также для центрального узла или шлюза контроллера.

32-разрядные микроконтроллеры с рабочей частотой от 20 МГц до 168 МГц доступны от разных производителей, и поэтому можно выделить некторый диапазон точек производительности, объема памяти и набора периферии, которые могут быть подобраны для конкретного приложения, будь-то контроллер интеллектуальной системы освещения или мини-концентратор для управления различными устройствами. Наличие широкого спектра стеков сетевых протоколов для ядра Cortex-M3 помогает ускорить разработку и тестирование. Некоторые производители, например Atmel, оптимизировали периферию микроконтроллера для управления оборудованием в доме.

Микроконтроллеры Atmel серии SAM3N (Таблица 1) работают на частоте до 48 МГц и имеют встроенную Flash-память до 256 КБайт и ОЗУ до 24 КБайт. Периферия микроконтроллера включает в себя 2 USART, 2 UART, 2 канала TWI а также ШИМ таймер, шесть 16-битных таймеров общего назначения, часы реального времени, 10-битный АЦП и 10-битный ЦАП (Рисунок 1). Дополнительно микроконтроллеры поддерживают библиотеку Atmel QTouch для организации емкостного сенсорного интерфейса, предоставляющей простой путь реализации в устройствах сенсорных кнопок, сладйеров и колесиков.

Таблица 1. Состав семейства микроконтроллеров SAM3N

Источники:

http://pikabu.ru/story/interesnyie_semeystva_mikrokontrollerov_cortex_ot_atmel_3832067

http://arduinoplus.ru/preimushhestva-mikrokontrollerov-arm/

http://www.rlocman.ru/review/article.html?di=134036

http://radioded.ru/forum/pomosch/%D0%BA%D0%BD%D0%B8%D0%B3%D0%B8-%D0%BF%D0%BE-%D0%BC%D0%B8%D0%BA%D1%80%D0%BE%D0%BA%D0%BE%D0%BD%D1%82%D1%80%D0%BE%D0%BB%D0%BB%D0%B5%D1%80%D0%B0%D0%BC-avr/

Ссылка на основную публикацию