Выпуск #1/2016
А.Гусаров
Семейства микроконтроллеров Atmel на основе платформы Cortex-M
Семейства микроконтроллеров Atmel на основе платформы Cortex-M
Просмотры: 3329
Рассматривается развитие семейств микроконтроллеров на платформе Cortex-M, отмечаются их уникальные особенности, даются некоторые рекомендации по применению.
Теги: sam4l sam d sam e sam g sam l and sam c microcontrollers sam l и sam c sam s микроконтроллеры sam s
Немного истории
Эпоха ARM Cortex-M началась с платформы Cortex-M3. Несмотря на то, что Atmel стал одним из первых производителей микроконтроллеров на платформе ARM7TDMI, компания не проявила интереса к Cortex-M3 и сфокусировалась на развитии собственных платформ. В результате первыми серийными контроллерами нового типа стали микроконтроллеры компании ST Microelectronics (ST) – STM32.
Еще одним обстоятельством послужило то, что выпуск первых микроконтроллеров на платформе Cortex-M пришелся не на лучшие времена компании. Следствием этого стали существенно более высокие цены на контроллеры производства Atmel по сравнению с ST.
Оба обстоятельства поспособствовали приоритету микроконтроллеров STM32. Причем год за годом это лидерство закреплялось сильнее, поскольку в Сети появлялось все больше материалов о разработках на базе STM32. Аналоги от Atmel на рынке стали восприниматься стереотипно:
• Atmel – это AVR;
• платформа Cortex от Atmel – дорогостоящая и неинтересная для использования.
В безосновательности первого утверждения можно убедиться, если заглянуть на сайт Atmel. Что касается второго, то все немного сложнее. Попробуем выяснить.
В обзоре рассматриваются только те семейства микроконтроллеров, которые отвечают одному или двум следующим критериям:
• наличие уникальных особенностей;
• цена лучше, чем у конкурентов, или сопоставима (имеются в виду оптовые цены).
Микроконтроллеры на основе ядра ARM Cortex-M
SAM S и SAM E
Это микроконтроллеры на основе ядра ARM Cortex-M7, дебютировавшего в 2015 году у Atmel и у ST. Его преимущества по сравнению с предшественником Cortex-M4 заключаются в наличии аппаратной поддержки вычислений с плавающей точкой двойной точности (у Cortex-M4 – только одинарная точность, и не во всех Cortex-M4, а только в Cortex-M4F), более высокой производительности (DMIPS/MГц примерно в 1,6 раза выше) и более высокой тактовой частоты ЦПУ (до 300 МГц).
Сравнение параллельно существующих ядер семейства Cortex-M и развитие серий микроконтроллеров Atmel на базе ядер этого семейства приведены на рис.1 и 2.
SAM S – это "базовое" семейство, SAM E – семейство c Ethernet и CAN на борту. Микроконтроллеры доступны в корпусах LQFP (64, 100, 144 вывода) и LFBGA (100 и 144 вывода). Размеры флеш-памяти – от 512 до 2 048 Кбайт. Все контроллеры имеют USB (Host, Device) и интерфейс для подключения КМОП-матриц. В некоторых модификациях (зависит от размера корпуса) имеется интерфейс внешней памяти и интерфейс работы с картами памяти. Кроме указанных семейств, есть еще SAM V, но это аналог упомянутых семейств для автомобильной промышленности. Они входят только в отладочный комплект, общий для всех семейств с ядром Cortex-M7.
Если сравнивать контроллеры SAM S и SAM E с аналогами компании ST Microelectronics, то можно отметить ряд преимуществ продукции Atmel:
• тактовая частота CPU (300 MГц против 216 MГц), обеспечивающая большую производительность;
• наличие чипов с флеш-памятью до 2 048 Kбайт (у ST только до 1 024 Kбайт);
• наличие семейства микроконтроллеров без CAN и Ethernet (что позволяет не переплачивать за эти функции, если они не востребованы в проекте).
К преимуществам контроллеров производства компании ST относятся:
• наличие интерфейса для подключения ЖК-дисплеев (для продукции Atmel рекомендуется использовать интерфейс внешней памяти);
• наличие семейства без криптографии (у Atmel криптография предусмотрена для всех микроконтроллеров Cortex-M7).
Микроконтроллеры от Atmel не проигрывают в цене ST, поэтому вызвали большой интерес у клиентов Atmel. У микроконтроллеров этого семейства сохраняется pin-to-pin совместимость с "младшими" семействами на основе Cortex-M4 – SAM4S и SAM4E. Единственный подводный камень в том, что совместимость не распространяется на выводы USB, поскольку модули USB у этих семейств разные: у Cortex-M4 – USB Device, у флагманов – USB Host и Device.
SAM 4L
Это семейство микроконтроллеров на основе Cortex-M4 с тактовой частотой 48 МГц и технологией picoPower, что обеспечивает низкое потребление (меньше 90 мкА/МГц). По производительности семейство занимает промежуточную нишу между семействами STM32 L1 (Cortex-M3, 32 MГц) и STM32 L4 (Cortex-M4, 80 MГц). Цены на эти микроконтроллеры примерно одинаковые. Набор периферии также схож, но у SAM 4L есть два особых модуля: измерения частоты и программируемый логический модуль.
Первый модуль позволяет измерять частоту внешнего сигнала и сравнивать ее с опорной. Второй модуль дает возможность отказаться от использования логических микросхем на плате (если, конечно, не требуется очень сложная логика). Принцип работы прост: четыре входа составляют 16 возможных комбинаций, для каждой из них задается соответствующее состояние вывода (0 или 1), дальше модуль функционирует без участия ЦПУ согласно заданной таблице состояний. В микроконтроллере может быть один или два таких модуля, в зависимости от корпуса.
SAM G
Еще одно семейство микроконтроллеров Cortex-M4 с низким энергопотреблением. С точки зрения процессора основное отличие от предыдущего семейства в наличии модуля для вычислений с плавающей точкой (Cortex-M4F). В этом семействе также применена технология picoPower, потребление чуть больше, чем у SAM4L, но все равно на достаточно низком уровне (меньше 100 мкА/МГц).
Семейство состоит из четырех микроконтроллеров, которые различаются размером флеш-памяти (256 или 512 Кбайт), максимальной тактовой частотой процессора (от 48 до 120 МГц), размерами корпуса (LQFP100/64 WLCSP49). Небольшое разнообразие вариантов микроконтроллеров с лихвой компенсируется ценами, которые существенно ниже цен конкурентов.
Микроконтроллеры на основе ядра ARM Cortex-M0+
Мощные производительные контроллеры – это, конечно, хорошо, но настоящую революцию в мире микроконтроллеров совершила все-таки платформа Cortex-M0. 32-разрядные микроконтроллеры уверенно вытесняют 8-битные контроллеры благодаря не только производительности, но и цене. Atmel также вывела на рынок ряд семейств на базе этой архитектуры. Отличительная особенность этих семейств – модули SERCOM, которые в зависимости от конфигурации могут выполнять роль UART, SPI, I2C, при этом можно выбирать выводы, которые используются модулем. Еще одна особенность – развитый аппаратный модуль PTC, с помощью которого можно создавать сенсорные интерфейсы с большим количеством элементов управления (кнопок, слайдеров и т. д.).
SAM D
Это базовое семейство, которое составляет основу остальных семейств Cortex-M0. Если не принимать во внимание названные особенности, это семейство можно было бы отнести к заурядным: обычные наборы периферии, корпусов, стандартная линейка размеров памяти, средняя цена на рынке.
Тем не менее, семейство заслуживает внимания по двум причинам. Первая заключается в том, что старшие представители (SAM D20 и SAM D21) этого семейства служат основой для микроконтроллеров других семейств. SAM D20 обладает всеми описанными выше особенностями Cortex-M0+ производства Atmel. SAM D21 представляет собой его дальнейшее развитие: добавлены USB, DMA, I2S. Между собой эти контроллеры pin-to-pin совместимы, имеют одинаковую линейку корпусов (LQFP32/48/64) и флеш-памяти (от 16 до 256 Кбайт).
Вторая причина – недавно анонсированные младшие представители: микроконтроллеры SAM D09, SAM D10, SAM D11. Корпуса оснащены небольшим количеством выводов: SOIC14/SOIC20, QFN24. Возможный размер флеш-памяти – 8 или 16 Кбайт. Семейства различаются набором доступной периферии, при этом SAM D11 имеет на борту USB Device. Цены на маленькие контроллеры низкие.
SAM L
Опыт создания малопотребляющих микроконтроллеров не мог быть не использован для Cortex-M0+. Так появилось семейство SAM L. Отличительная черта этих микроконтроллеров – очень низкое для Cortex-M0+ потребление (меньше 35 мкА/МГц). Кроме того, есть модуль программируемой логики, причем значительно усовершенствованный по сравнению с модулем у SAM 4L. Модуль позволяет не только реализовывать логические операции (И, НЕ, ИЛИ и т. д.), но и создавать более сложные элементы логики – триггеры и защелки.
SAM L бывают двух видов: SAM L21 – малопотребляющие микроконтроллеры с USB, pin-to-pin совместимые с SAM D21, и SAM L22 – SAM L21 с аппаратной поддержкой ЖК-дисплея. Таким образом, каждая из линеек является конкурентом соответствующих семейств STM32L0: STM32L0x2 и STM32L0x3. SAM L21 доступны для заказа, массовое производство SAM L22 запланировано на второй квартал этого года. По цене SAM L21 сопоставимы с аналогами от ST.
SAM C
Производство этого интересного семейства также начнется во втором квартале 2016 года. От микроконтроллеров Cortex-M0+ конкурентов оно в первую очередь отличается диапазоном напряжений: 2,7–5,5 В. Среди других его особенностей следует отметить измеритель частоты, поддержку интерфейса LIN, модуль программируемой логики, аналогичный SAM L.
Анонсированы два подсемейства:
SAM C20 – pin-to-pin совместимые контроллеры с SAM D20, корпуса и варианты емкости флеш-памяти аналогичны.
SAM C21 – обратно совместимые с SAM C20 контроллеры (по выводам, памяти и периферии), добавлены два контроллера CAN, аппаратный ускоритель деления и вычисления квадратного корня, датчик температуры выполнен в виде отдельного модуля (а не заведен на АЦП).
Цены пока не известны.
* * *
Таким образом, Atmel прилагает серьезные усилия для того, чтобы вернуть себе лидерство на рынке микроконтроллеров. Об этом свидетельствуют тенденция удешевления новых семейств микроконтроллеров и наделение их интересными, а иногда и уникальными функциями. Конечно, достоинства каждого из перечисленных семейств не ограничиваются рассмотренными в статье. Сделано это сознательно, чтобы не заимствовать параметры из технических описаний и заострить внимание читателя на наиболее интересных, по мнению автора, семействах и их особенностях.
Эпоха ARM Cortex-M началась с платформы Cortex-M3. Несмотря на то, что Atmel стал одним из первых производителей микроконтроллеров на платформе ARM7TDMI, компания не проявила интереса к Cortex-M3 и сфокусировалась на развитии собственных платформ. В результате первыми серийными контроллерами нового типа стали микроконтроллеры компании ST Microelectronics (ST) – STM32.
Еще одним обстоятельством послужило то, что выпуск первых микроконтроллеров на платформе Cortex-M пришелся не на лучшие времена компании. Следствием этого стали существенно более высокие цены на контроллеры производства Atmel по сравнению с ST.
Оба обстоятельства поспособствовали приоритету микроконтроллеров STM32. Причем год за годом это лидерство закреплялось сильнее, поскольку в Сети появлялось все больше материалов о разработках на базе STM32. Аналоги от Atmel на рынке стали восприниматься стереотипно:
• Atmel – это AVR;
• платформа Cortex от Atmel – дорогостоящая и неинтересная для использования.
В безосновательности первого утверждения можно убедиться, если заглянуть на сайт Atmel. Что касается второго, то все немного сложнее. Попробуем выяснить.
В обзоре рассматриваются только те семейства микроконтроллеров, которые отвечают одному или двум следующим критериям:
• наличие уникальных особенностей;
• цена лучше, чем у конкурентов, или сопоставима (имеются в виду оптовые цены).
Микроконтроллеры на основе ядра ARM Cortex-M
SAM S и SAM E
Это микроконтроллеры на основе ядра ARM Cortex-M7, дебютировавшего в 2015 году у Atmel и у ST. Его преимущества по сравнению с предшественником Cortex-M4 заключаются в наличии аппаратной поддержки вычислений с плавающей точкой двойной точности (у Cortex-M4 – только одинарная точность, и не во всех Cortex-M4, а только в Cortex-M4F), более высокой производительности (DMIPS/MГц примерно в 1,6 раза выше) и более высокой тактовой частоты ЦПУ (до 300 МГц).
Сравнение параллельно существующих ядер семейства Cortex-M и развитие серий микроконтроллеров Atmel на базе ядер этого семейства приведены на рис.1 и 2.
SAM S – это "базовое" семейство, SAM E – семейство c Ethernet и CAN на борту. Микроконтроллеры доступны в корпусах LQFP (64, 100, 144 вывода) и LFBGA (100 и 144 вывода). Размеры флеш-памяти – от 512 до 2 048 Кбайт. Все контроллеры имеют USB (Host, Device) и интерфейс для подключения КМОП-матриц. В некоторых модификациях (зависит от размера корпуса) имеется интерфейс внешней памяти и интерфейс работы с картами памяти. Кроме указанных семейств, есть еще SAM V, но это аналог упомянутых семейств для автомобильной промышленности. Они входят только в отладочный комплект, общий для всех семейств с ядром Cortex-M7.
Если сравнивать контроллеры SAM S и SAM E с аналогами компании ST Microelectronics, то можно отметить ряд преимуществ продукции Atmel:
• тактовая частота CPU (300 MГц против 216 MГц), обеспечивающая большую производительность;
• наличие чипов с флеш-памятью до 2 048 Kбайт (у ST только до 1 024 Kбайт);
• наличие семейства микроконтроллеров без CAN и Ethernet (что позволяет не переплачивать за эти функции, если они не востребованы в проекте).
К преимуществам контроллеров производства компании ST относятся:
• наличие интерфейса для подключения ЖК-дисплеев (для продукции Atmel рекомендуется использовать интерфейс внешней памяти);
• наличие семейства без криптографии (у Atmel криптография предусмотрена для всех микроконтроллеров Cortex-M7).
Микроконтроллеры от Atmel не проигрывают в цене ST, поэтому вызвали большой интерес у клиентов Atmel. У микроконтроллеров этого семейства сохраняется pin-to-pin совместимость с "младшими" семействами на основе Cortex-M4 – SAM4S и SAM4E. Единственный подводный камень в том, что совместимость не распространяется на выводы USB, поскольку модули USB у этих семейств разные: у Cortex-M4 – USB Device, у флагманов – USB Host и Device.
SAM 4L
Это семейство микроконтроллеров на основе Cortex-M4 с тактовой частотой 48 МГц и технологией picoPower, что обеспечивает низкое потребление (меньше 90 мкА/МГц). По производительности семейство занимает промежуточную нишу между семействами STM32 L1 (Cortex-M3, 32 MГц) и STM32 L4 (Cortex-M4, 80 MГц). Цены на эти микроконтроллеры примерно одинаковые. Набор периферии также схож, но у SAM 4L есть два особых модуля: измерения частоты и программируемый логический модуль.
Первый модуль позволяет измерять частоту внешнего сигнала и сравнивать ее с опорной. Второй модуль дает возможность отказаться от использования логических микросхем на плате (если, конечно, не требуется очень сложная логика). Принцип работы прост: четыре входа составляют 16 возможных комбинаций, для каждой из них задается соответствующее состояние вывода (0 или 1), дальше модуль функционирует без участия ЦПУ согласно заданной таблице состояний. В микроконтроллере может быть один или два таких модуля, в зависимости от корпуса.
SAM G
Еще одно семейство микроконтроллеров Cortex-M4 с низким энергопотреблением. С точки зрения процессора основное отличие от предыдущего семейства в наличии модуля для вычислений с плавающей точкой (Cortex-M4F). В этом семействе также применена технология picoPower, потребление чуть больше, чем у SAM4L, но все равно на достаточно низком уровне (меньше 100 мкА/МГц).
Семейство состоит из четырех микроконтроллеров, которые различаются размером флеш-памяти (256 или 512 Кбайт), максимальной тактовой частотой процессора (от 48 до 120 МГц), размерами корпуса (LQFP100/64 WLCSP49). Небольшое разнообразие вариантов микроконтроллеров с лихвой компенсируется ценами, которые существенно ниже цен конкурентов.
Микроконтроллеры на основе ядра ARM Cortex-M0+
Мощные производительные контроллеры – это, конечно, хорошо, но настоящую революцию в мире микроконтроллеров совершила все-таки платформа Cortex-M0. 32-разрядные микроконтроллеры уверенно вытесняют 8-битные контроллеры благодаря не только производительности, но и цене. Atmel также вывела на рынок ряд семейств на базе этой архитектуры. Отличительная особенность этих семейств – модули SERCOM, которые в зависимости от конфигурации могут выполнять роль UART, SPI, I2C, при этом можно выбирать выводы, которые используются модулем. Еще одна особенность – развитый аппаратный модуль PTC, с помощью которого можно создавать сенсорные интерфейсы с большим количеством элементов управления (кнопок, слайдеров и т. д.).
SAM D
Это базовое семейство, которое составляет основу остальных семейств Cortex-M0. Если не принимать во внимание названные особенности, это семейство можно было бы отнести к заурядным: обычные наборы периферии, корпусов, стандартная линейка размеров памяти, средняя цена на рынке.
Тем не менее, семейство заслуживает внимания по двум причинам. Первая заключается в том, что старшие представители (SAM D20 и SAM D21) этого семейства служат основой для микроконтроллеров других семейств. SAM D20 обладает всеми описанными выше особенностями Cortex-M0+ производства Atmel. SAM D21 представляет собой его дальнейшее развитие: добавлены USB, DMA, I2S. Между собой эти контроллеры pin-to-pin совместимы, имеют одинаковую линейку корпусов (LQFP32/48/64) и флеш-памяти (от 16 до 256 Кбайт).
Вторая причина – недавно анонсированные младшие представители: микроконтроллеры SAM D09, SAM D10, SAM D11. Корпуса оснащены небольшим количеством выводов: SOIC14/SOIC20, QFN24. Возможный размер флеш-памяти – 8 или 16 Кбайт. Семейства различаются набором доступной периферии, при этом SAM D11 имеет на борту USB Device. Цены на маленькие контроллеры низкие.
SAM L
Опыт создания малопотребляющих микроконтроллеров не мог быть не использован для Cortex-M0+. Так появилось семейство SAM L. Отличительная черта этих микроконтроллеров – очень низкое для Cortex-M0+ потребление (меньше 35 мкА/МГц). Кроме того, есть модуль программируемой логики, причем значительно усовершенствованный по сравнению с модулем у SAM 4L. Модуль позволяет не только реализовывать логические операции (И, НЕ, ИЛИ и т. д.), но и создавать более сложные элементы логики – триггеры и защелки.
SAM L бывают двух видов: SAM L21 – малопотребляющие микроконтроллеры с USB, pin-to-pin совместимые с SAM D21, и SAM L22 – SAM L21 с аппаратной поддержкой ЖК-дисплея. Таким образом, каждая из линеек является конкурентом соответствующих семейств STM32L0: STM32L0x2 и STM32L0x3. SAM L21 доступны для заказа, массовое производство SAM L22 запланировано на второй квартал этого года. По цене SAM L21 сопоставимы с аналогами от ST.
SAM C
Производство этого интересного семейства также начнется во втором квартале 2016 года. От микроконтроллеров Cortex-M0+ конкурентов оно в первую очередь отличается диапазоном напряжений: 2,7–5,5 В. Среди других его особенностей следует отметить измеритель частоты, поддержку интерфейса LIN, модуль программируемой логики, аналогичный SAM L.
Анонсированы два подсемейства:
SAM C20 – pin-to-pin совместимые контроллеры с SAM D20, корпуса и варианты емкости флеш-памяти аналогичны.
SAM C21 – обратно совместимые с SAM C20 контроллеры (по выводам, памяти и периферии), добавлены два контроллера CAN, аппаратный ускоритель деления и вычисления квадратного корня, датчик температуры выполнен в виде отдельного модуля (а не заведен на АЦП).
Цены пока не известны.
* * *
Таким образом, Atmel прилагает серьезные усилия для того, чтобы вернуть себе лидерство на рынке микроконтроллеров. Об этом свидетельствуют тенденция удешевления новых семейств микроконтроллеров и наделение их интересными, а иногда и уникальными функциями. Конечно, достоинства каждого из перечисленных семейств не ограничиваются рассмотренными в статье. Сделано это сознательно, чтобы не заимствовать параметры из технических описаний и заострить внимание читателя на наиболее интересных, по мнению автора, семействах и их особенностях.
Отзывы читателей