Atmel ARM-based processors

Atmel ARM-based processors are microcontrollers and microprocessors integrated circuits, by Microchip Technology (previously Atmel), that are based on various 32-bit ARM processor cores, with in-house designed peripherals and tool support.[1]

Overview

ARM licenses the core design for a series of 32-bit processors. ARM does not manufacture any complete silicon products, just intellectual property (IP). The ARM processors are RISC (reduced instruction set computing). This is similar to Microchip's AVR 8-bit products, a later adoption of RISC architecture. Whereas the AVR architecture used Harvard architecture exclusively, some ARM cores are Harvard (Cortex-M3) and others are Von Neumann architecture (ARM7TDMI).

Semiconductor companies such as Microchip take the ARM cores, which use a consistent set of instructions and register naming, and add peripheral circuits such as ADCs (analog to digital converters), clock management, and serial communications such as USART, SPI, I2C, CAN, LIN, USB, Ethernet, and LCD, Camera or Touch controllers. Microchip made efforts to adapt advanced peripherals and power management that used very little power and can operate independently without having the CPU core powered up (sleepwalking). They also provided for DMA between external interfaces and memories increasing data throughput with minimal processor intervention.

Microchip sells both MCUs (microcontroller units) that have internal Flash memory, and MPUs (microprocessor units) that use external memory. In addition to the chips themselves, Microchip offers demo boards, both on its website, and through distribution channels such as Digi-key, Farnell, Ineltek, Arrow, Avnet, Future Electronics, and Mouser.

Some of the Microchip ARM-based products are meant for specific applications, such as their SAM4CP that is used in smart-grid energy meters.

History

  • 1995 sign ARM ARM7TDMI "Thumb" core license agreement (ARMv4T Von Neumann architecture) (an MPU core Atmel made into MCU)
    • AT91M40800 (1998)
    • AT91M42800A
    • AT91M55800A
    • AT91R40008
    • AT91FR40162 (2002)
    • SAM7S/SE
    • SAM7X/XC
    • SAM7L
  • 1995 sign ARM920T/ARM9TDMI (MPU) core license agreement (ARMv4T Von Neumann architecture)
    • AT91RM9200 (2003)
  • 2000 sign ARM926EJ/ARM9E (MPU) core license agreement (ARMv5 architecture)
    • AT91SAM9260 (2006)
    • AT91SAM9263 (2007)
    • SAM9XE (2008)
    • SAM9N/CN,
    • SAM9R (2009)
    • SAM9G (2009)
    • SAM9M (2010)
    • SAM9X (2020)[2]
  • 2004 sign ARM1176JZ-S core license agreement (not used in Atmel parts)
  • 2008 sign Cortex license agreement with ARM Holdings.[3]
    • Cortex-M3 (MCU) (ARMv7-M Harvard architecture)
      • SAM3U (2009)[4]
      • SAM3S (2009)[5]
      • SAM3N (2010)[6]
      • SAM3A (2012)[7]
      • SAM3X (2012)[7]
    • Cortex-M4 (MCU) (ARMv7E-M Harvard architecture)
      • SAM4S (2011)[8]
      • SAM4L (2012)[9]
      • SAM4E (2013) series based on the ARM Cortex-M4F, first Atmel MCU that has a FPU (Floating-Point Unit).[10]
      • SAM4N (2013)
      • SAM4C (2014) dual-core[11]
      • SAM G51/53 (2014) based on the ARM Cortex-M4F.[12]
      • SAM G54/55 (2015) based on the ARM Cortex-M4F.[13]
    • Cortex-A5 (MPU) (ARMv7-A architecture)
      • SAMA5D3 series, (2013) Atmel announced the SAMA5D3 series based on the ARM Cortex-A5, which is the first Atmel chip with a Cortex-A5 core.[3]
      • SAMA5D4 (2014)[14]
      • SAMA5D2 series (2015)[15]
    • Cortex-A7 (MPU) (ARMv7-A architecture)
    • Cortex-M0+ (MCU)in the SAM D20 (2013) (ARMv6-M architecture) – In June 2013, Atmel announced the SAMD20 series based on the ARM Cortex-M0+.[17]
    • Cortex-M7 (MCU) (ARMv7-M architecture)
      • SAMS70 series, (2015) Atmel announced the SAM S70 series based on the ARM Cortex-M7.[18]
      • SAME70 series, (2015) Atmel announced the SAM S70 series based on the ARM Cortex-M7.[18]
      • SAMV70 series, (2015) Atmel announced the SAM S70 series based on the ARM Cortex-M7, which is the first Atmel chip automotive grade with a Cortex-M7 core.[19]

Products

Microcontrollers

Microcontrollers have internal program memory as well as the conventional internal registers and RAM. Microchip ARM MCUs range from the SAM D10 series with as few as 14 pins, to the 144-pin SAM S70 and SAM E70 products.

The SAM4S, SAM4N, SAM3S, SAM3N, SAM7S (64-pin) families have pin-compatible IC footprints, except for USB device, though they are not voltage level compatible.[20]

SAM C

The Atmel C family was launched in May 2015.[21] Based on Cortex-M0+, pin and code compatible with the SAM D and SAM L series,[21] with wide operating voltage ranges (2.7–5.5 V), CAN bus, and up to 12 DMA controller channels.

SAM D

The SAM D (ATSAMD)[22] family from Microchip consists of four different sub series (SAM D10, SAM D11, SAM D20, SAM D21). The devices are all based on the ARM Cortex-M0+ processor and offer different pin, memory, and feature combinations. The devices are pin- and code-compatible and share peripherals like the Event System and the SERCOM module for reconfigurable multiplexed serial communication ports.[23] This microcontroller family is used on various hobbyist development boards, such as Arduino Zero (ATSAMD21G18),[24][25] Sparkfun SAMD21 Mini Breakout (ATSAMD21G18),[26] and Seeed Studio XIAO SAMD21 (ATSAMD21G18).[27]

The SAM D5X/E5X and SAM D51 feature the 32-bit Cortex-M4F.

SAM L

SAM 3

Arduino Due board with Atmel ATSAM3X8E (ARM Cortex-M3 core) microcontroller

In 2009 Atmel announced the ATSAM3U line of flash-based microcontrollers based on the ARM Cortex-M3 processor, as a higher end evolution of the SAM7 microcontroller products. They have a top clock speed in the range of 100 MHz, and come in a variety of flash sizes. In the summer 2009 these parts were still sampling, and a development board had recently been made available.

In December 2009, the ATSAM3S line was announced. This features several enhancements for lower power operation and bill of materials cost reduction.

Market watchers observe that these Cortex-M3 products are competition for Atmel's own AVR32 UC3A products. Both are microcontrollers with largely identical peripherals and other hardware technology, flash-based, similar clock speeds, and with dense 16/32 bit RISC instruction sets.

  • SAM3A
  • SAM3N
  • SAM3S – reduce power consumption
  • SAM3U – high-speed USB
  • SAM3X – the Arduino Due board uses the Atmel SAM3X8E microcontroller[28]

SAM 4

The ATSAM4 is based on the ARM Cortex-M4 core. The SAM4E includes a FPU (Floating-Point Unit). The SAM4C includes a dual-core ARM Cortex-M4 (one core with a FPU).

1 August 2017, the ATSAMD5x and ATSAME5x family was announced. This features several enhancements for lower power operation and more peripherals, Ethernet and CANBUS-FD in SAME5x series. [1] Archived 2019-11-06 at the Wayback Machine

  • SAM4C – ARM Cortex-M4/M4F dual-core, which includes FPU
  • SAM4E18-16 series – ARM Cortex-M4F core, which includes FPU
  • SAM4L – ARM Cortex-M4 core
  • SAM4N – ARM Cortex-M4 core, pin-to-pin compatibility with SAM4S, SAM3S, SAM3N, SAM7S devices
  • SAM4S – ARM Cortex-M4 core
  • SAMG5x – ARM Cortex-M4F core, which includes FPU, ATSAMG55 for 120 MHz CPU speed.
  • SAMD5x - Latest ARM Cortex-M4F core, which includes FPU and Integrated Security including Symmetric (AES) and Asymmetric (ECC) Encryption, Public Key Exchange Support(PUKCC), TRNG and SHA based memory Integrity checker.
  • SAME5x - Same with D5x plus Ethernet MAC and CAN-FD networking peripherals. Both SAMD5x-E5x series integrate many similar peripherals for ex Timers and Sercoms for UART, I2C, SPI etc. from ATSAMD2x and ATSAMC2x M0+ series thus is easier to upgrade to M4F Core MCUs.

SAM x70

These are based on the ARM Cortex-M7 core.

  • SAMS70 – general purpose high performance MCU
  • SAME70 – connectivity high performance MCU
  • SAMV70, SAMV71 – automotive high performance MCU

Legacy

AT91SAM7

There are a wide variety of AT91 flash-based microcontrollers, based on ARM7TDMI cores. These chips have a top clock speed in the range of 60 MHz, and come with a variety of flash sizes and peripheral sets.

  • SAM7L – low power operation
  • SAM7S – USB and other peripherals. SAM7S 64-pin chips are compatible with SAM4S, SAM4N SAM3S, SAM3N families.
  • SAM7SE – USB, external memory support, and other peripherals
  • SAM7X – Ethernet, USB, CAN, and other peripherals
  • SAM7XC -–cryptographic extensions (notably AES support) to AT91SAM7X chips

Microprocessors

AT91SAM9

The AT91SAM9XE flash-based microcontrollers are based on the ARM926ej-s cores. They have a top clock speed in the range of 200 up to 400 MHz, and come with a variety of flash sizes. They somewhat resemble flash-equipped AT91SAM9260 chips.

Microchip introduced the AT91SAM9 processors (using the ARM926ej-s core, with the ARMv5TEJ architecture) as its first broad market follow on to the highly successful AT91RM9200 processor. These processors improved on that predecessor by using less power, incorporating a newer and more powerful ARM core, and providing a variety of chips with different peripheral sets. While most are clocked at up to about 200 MHz, some can run at twice that speed. Processors include:

  • SAM9G25
  • SAM9G45
  • SAM9X35
  • SAM9XE512
  • SAM9260

SAMA5

This series is based on the ARM Cortex-A5 core.[3][29]

SAMA5D2
  • SAMA5D2 – 10/100 Ethernet, CAN, LCD, ClassD audio, QSPI, USB HSIC, Raw Bayer Image Sensor Interface, LPDDR3/LPDDR2/LPDDR/DDR2, up to 10 UART
SAMA5D3
  • SAMA5D31 – 10/100 Ethernet, LCD
  • SAMA5D33 – Gigabit Ethernet, LCD
  • SAMA5D34 – Gigabit Ethernet, LCD, dual CAN
  • SAMA5D35 – no LCD, dual CAN, one Gigabit Ethernet + one 10/100 Ethernet
  • SAMA5D36 – LCD, dual CAN, one Gigabit Ethernet + one 10/100 Ethernet
SAMA5D4
  • SAMA5D4 – 528 MHz (840 DMIPS), Neon, 128 KB L2 cache, video decoder, LCD, Ethernet

Smart Energy

  • SAM 4C/CM

Arduino boards

Official
Shield Compatible
  • Shield-compatible Rascal with 400 MHz Atmel AT91SAM9G20 (ARM926EJ-S core).

Atmel boards

  • Xplained Pro
  • Xplained
  • SAM W21
  • SAMA5

Development tools

Cortex-M

IDE

Integrated development environments:

Windows
  • Microchip - MPLAB and Microchip Studio for AVR and SAM devices (formerly Atmel Studio 7)
  • IAR – Embedded Workbench for ARM
  • Crossware – Development Suite for ARM
Linux
  • Buildroot[30]
  • Openembedded[31]
  • meta-atmel Yocto compliant layer[32]

Debuggers

Documentation

The amount of documentation for all ARM chips is daunting, especially for newcomers. The documentation for microcontrollers from past decades would easily be inclusive in a single document, but as chips have evolved so has the documentation grown. The total documentation is especially hard to grasp for all ARM chips since it consists of documents from the IC manufacturer (for example, Microchip) and documents from CPU core vendor (ARM Holdings).

A typical top-down documentation tree is: manufacturer website, manufacturer marketing slides, manufacturer datasheet for the exact physical chip, manufacturer detailed reference manual that describes common peripherals and aspects of a physical chip family, ARM core generic user guide, ARM core technical reference manual, ARM architecture reference manual that describes the instruction set(s).

Documentation tree (top to bottom)
  1. Microchip Microcontrollers and Microprocessors website
  2. Microchip ARM-series marketing slides
  3. Microchip ARM-chip datasheet
  4. ARM core website
  5. ARM core generic user guide
  6. ARM core technical reference manual
  7. ARM architecture reference manual

Microchip has additional documents, such as: evaluation board user manuals, application notes, getting started guides, software library documents, errata, and more. See External Links section for links to official Microchip and ARM documents.

See also

  • iconElectronics portal

References

  1. ^ "Microchip's "Selection Guide" page that clarifies difference between their microcontrollers based on PIC and ARM processors".
  2. ^ "Press release; Microchip; Aug. 4, 2022".
  3. ^ a b c Press Release; Atmel; February 4, 2013.
  4. ^ "Press Release; Atmel; June 1, 2009". Archived from the original on 2014-07-14. Retrieved 2013-01-06.
  5. ^ "Press Release; Atmel; December 15, 2009". Archived from the original on 2014-07-14. Retrieved 2013-01-06.
  6. ^ "Press Release; Atmel; November 9, 2010". Archived from the original on 2014-07-14. Retrieved 2013-01-06.
  7. ^ a b "Press Release; Atmel; February 28, 2012". Archived from the original on 2013-03-17. Retrieved 2013-01-06.
  8. ^ "Press Release; Atmel; October 26, 2011". Archived from the original on 2013-03-17. Retrieved 2013-01-06.
  9. ^ "Press Release; Atmel; September 24, 2012". Archived from the original on 2013-03-17. Retrieved 2013-01-06.
  10. ^ Press Release; Atmel; January 14, 2013.
  11. ^ Press Release; Atmel; August 12, 2014.
  12. ^ Press Release; Atmel; January 7, 2014.
  13. ^ Press Release; Atmel; January 5, 2015.
  14. ^ Press Release; Atmel; October 1, 2014.
  15. ^ Press Release; Atmel; September 14, 2015.
  16. ^ Press Release; Microchip; May 24, 2022.
  17. ^ Press Release; Atmel; June 17, 2013.
  18. ^ a b Press Release; Atmel; July 15, 2015.
  19. ^ Press Release; Atmel; Jan 6, 2015.
  20. ^ Pin-compatible Cortex replacement for Microchip ARM7 SAM7S derivatives; ECE; May 2011.[permanent dead link]
  21. ^ a b "Atmel Launches Innovative 5V Cortex-M0+ MCU Family With Integrated Peripheral Touch Controller". prnewswire.com. as furnished by Atmel Corporation. 27 May 2015. Retrieved 1 September 2020.
  22. ^ Microsite; Atmel; July 11, 2014.
  23. ^ "Adding More SERCOM Ports for SAMD Boards". learn.sparkfun.com. Retrieved 2021-09-29.
  24. ^ "Board; Zero; Docs". Arduino. Archived from the original on May 8, 2023.
  25. ^ "Board; Zero; Store". Arduino.
  26. ^ "SparkFun SAMD21 Mini Breakout".
  27. ^ "Seeed Studio XIAO SAMD21(Seeeduino XIAO) with SAMD21 Cortex M0+".
  28. ^ Arduino Due; arduino.cc
  29. ^ SAMA5 webpage; Microchip.com
  30. ^ Buildroot
  31. ^ Openembedded
  32. ^ "meta-atmel Yocto Compliant layer". Archived from the original on 2019-01-22. Retrieved 2019-10-05.

Further reading

External links

Microcontrollers, Digital Signal Controllers and Microprocessors official documents
  • Official website
ARM official documents
Other
  • Atmel AT91 ARM Microcontroller Forum
  • Atmel AT91 Embedded Linux support
  • v
  • t
  • e
ARM-based chips
  • v
  • t
  • e
Application ARM-based chips
Application
processors
(32-bit)
ARMv7-A
Cortex-A5
Cortex-A7
Cortex-A8
Cortex-A9
Cortex-A15
Cortex-A17
Others
ARMv7-A
compatible
ARMv8-A
Others
Application
processors
(64-bit)
ARMv8-A
Cortex-A35
Cortex-A53
Cortex-A57
Cortex-A72
Cortex-A73
  • Qualcomm Snapdragon 460, 636, 660, 632, 662, 665, 680, 685, 835
  • Samsung Exynos 7872, 7884, 7885, 7904, 9609, 9610, 9611
  • HiSilicon Kirin 710, 960, 970
  • MediaTek MT6771/V, MT6799, MT8183, MT8788
  • Amlogic S922X
Others
ARMv8-A
compatible
ARMv8.1-A
ARMv8.1-A
compatible
ARMv8.2-A
Cortex-A55
Cortex-A75
Cortex-A76
Cortex-A77
Cortex-A78
Cortex-X1
Neoverse N1
Others
  • Cortex-A65, Cortex-A65AE, Cortex-A76AE, Cortex-A78C, Cortex-X1C, Neoverse E1
ARMv8.2-A
compatible
ARMv8.3-A
ARMv8.3-A
compatible
ARMv8.4-A
Neoverse V1
ARMv8.4-A
compatible
ARMv8.5-A
ARMv8.5-A
compatible
ARMv8.6-A
ARMv8.6-A
compatible
ARMv9.0-A
Cortex-A510
Cortex-A710
Cortex-A715
Cortex-X2
Cortex-X3
Neoverse N2
Neoverse V2
ARMv9.2-A
Cortex-A520
  • Qualcomm Snapdragon 7+ Gen 3, Snapdragon 8(s) Gen 3
  • Samsung Exynos 2400
Cortex-A720
Cortex-X4
Neoverse N3
-
Neoverse V3
-
  • v
  • t
  • e
Embedded ARM-based chips
Embedded
microcontrollers
Cortex-M0
  • Cypress PSoC 4000, 4100, 4100M, 4200, 4200DS, 4200L, 4200M
  • Infineon XMC1000
  • Nordic nRF51
  • NXP LPC1100, LPC1200
  • nuvoTon NuMicro
  • Sonix SN32F700
  • STMicroelectronics STM32 F0
  • Toshiba TX00
  • Vorago VA108x0
Cortex-M0+
  • Cypress PSoC 4000S, 4100S, 4100S+, 4100PS, 4700S, FM0+
  • Holtek HT32F52000
  • Microchip (Atmel) SAM C2, D0, D1, D2, DA, L2, R2, R3
  • NXP LPC800, LPC11E60, LPC11U60
  • NXP (Freescale) Kinetis E, EA, L, M, V1, W0
  • Raspberry Pi RP2040
  • Renesas Synergy S1
  • Silicon Labs (Energy Micro) EFM32 Zero, Happy
  • STMicroelectronics STM32 L0
Cortex-M1
  • Altera FPGAs Cyclone-II, Cyclone-III, Stratix-II, Stratix-III
  • Microsemi (Actel) FPGAs Fusion, IGLOO/e, ProASIC3L, ProASIC3/E
  • Xilinx FPGAs Spartan-3, Virtex-2-3-4
Cortex-M3
Cortex-M4
  • Microchip (Atmel) SAM 4L, 4N, 4S
  • NXP (Freescale) Kinetis K, W2
  • Renesas RA4W1, RA6M1, RA6M2, RA6M3, RA6T1
Cortex-M4F
  • Cypress 6200, FM4
  • Infineon XMC4000
  • Microchip (Atmel) SAM 4C, 4E, D5, E5, G5
  • Microchip CEC1302
  • Nordic nRF52
  • NXP LPC4000, LPC4300
  • NXP (Freescale) Kinetis K, V3, V4
  • Renesas Synergy S3, S5, S7
  • Silicon Labs (Energy Micro) EFM32 Wonder
  • STMicroelectronics STM32 F3, F4, L4, L4+, WB
  • Texas Instruments LM4F/TM4C, MSP432
  • Toshiba TX04
Cortex-M7F
  • Microchip (Atmel) SAM E7, S7, V7
  • NXP (Freescale) Kinetis KV5x, i.MX RT 10xx, i.MX RT 11xx, S32K3xx
  • STMicroelectronics STM32 F7, H7
Cortex-M23
  • GigaDevice CD32E2xx
  • Microchip (Atmel) SAM L10, L11, and PIC 32CM-LE 32CM-LS
  • Nuvoton M23xx family, M2xx family, NUC1262, M2L31
  • Renesas S1JA, RA2A1, RA2L1, RA2E1, RA2E2
Cortex-M33F
  • Analog Devices ADUCM4
  • Dialog DA1469x
  • GigaDevice GD32E5, GD32W5
  • Nordic nRF91, nRF5340, nRF54
  • NXP LPC5500, i.MX RT600
  • ON RSL15
  • Renesas RA4, RA6
  • ST STM32 H5, L5, U5, WBA
  • Silicon Labs Wireless Gecko Series 2
Cortex-M35P
  • STMicroelectronics ST33K
Cortex-M55F
Cortex-M85F
  • Renesas RA8
Real-time
microprocessors
Cortex-R4F
  • Texas Instruments RM4, TMS570
  • Renesas RZ/T1
Cortex-R5F
Cortex-R7F
  • Renesas RZ/G2E, RZ/G2H, RZ/G2M, RZ/G2N
Cortex-R52F
  • NXP S32Z, S32E
  • Renesas RZ/N2L, RZ/T2L, RZ/T2M
Cortex-R52+F
  • STMicroelectronics Stellar G, Stellar P
  • v
  • t
  • e
Classic ARM-based chips
Classic
processors
ARM7
ARM9
ARM11
ARMv2a
compatible
  • Amber (open FPGA core)
ARMv4
compatible
ARMv5TE
compatible
  • Intel/Marvell XScale
  • Marvell Sheeva, Feroceon, Jolteon, Mohawk
  • Faraday FA606TE, FA616TE, FA626TE, FA726TE
  • v
  • t
  • e
Main
Architectures
Word length
4-bit
8-bit
16-bit
32-bit
64-bit
Interfaces
Programming
Debugging
Lists
See also