Today’s world overflows with advanced multicore microcontrollers capable of running Linux and connecting over multi-Gigabit Ethernet. In such a world, Nuvoton’s 32bit NuMicro M2L31 microcontroller with its single core, 72MHz Arm Cortex-M23 processor and no Ethernet support stands out as a unique offering that harkens back to earlier days when microcontrollers were used in the design of embedded devices that were not connected to Ethernet or Wi-Fi networks. Even in today’s world, these sorts of applications still exist. Hence the need for these microcontrollers. Nuvoton has positioned these microcontrollers for embedded applications including motor control, PC peripherals, industrial automation, and battery management. The M2L31 low-power microcontroller family is unique in one other aspect: they incorporate as much as half a Megabyte of on-chip ReRAM (Resistive RAM or memristor memory) for nonvolatile program and data storage along with as much as 168 Kbytes of on-chip SRAM.
The M2L31 microcontroller family is not Nuvoton’s first foray into ReRAM. The company’s 8-bit KM101 microcontrollers were acquired from Panasonic a few years ago. In addition, Fujitsu Semiconductor and Nuvoton have been jointly developing ReRAM process technology for the last few years. Fujitsu announced a 12Mbit ReRAM memory device based on this development work – the MB85AS12MT – in 2022. Nuvoton’s M2L31 microcontrollers represent quite a leap forward for ReRAM use on microcontrollers, with a much more powerful processor and far more on-chip storage than the KM101 microcontrollers. Nuvoton’s older KM101 microcontrollers are manufactured by Tower Semiconductor, while the newer M2L31 microcontrollers are manufactured by TSMC.
A block diagram of the M2L31 microcontroller appears below.
Block diagram of Nuvoton NuMicro M2L31 microcontroller. Image credit: Nuvoton
This diagram is very typical of an Arm-based system with faster system components attached to the Arm Amba 5 AHB hardware bus and lower-speed peripheral devices connected to the APB peripheral bus. The Arm Cortex-M23 processor core employs a two-stage execution pipeline that executes Arm’s Thumb-2 instruction set. The processor core incorporates a 32×32-bit, single-cycle hardware multiplier and can perform a divide instruction that returns the lower 32 bits of a result in 17 cycles. These features are particularly important for math-intensive embedded applications.
The M2L31 microcontroller family’s on-chip memory subsystem significantly differs from memory subsystems on most other microcontrollers. Where most of today’s microcontrollers use embedded Flash EEPROM for non-volatile storage of program and data, Nuvoton’s M2L31 family employs ReRAM. Depending on the family member, the size of the on-chip ReRAM ranges from 64 to 512 Kbytes. Nuvoton asserts that its ReRAM on-chip storage enjoys at least three advantages over Flash EEPROM: faster write speeds, superior durability, and lower power consumption. The faster write speed arises from ReRAM’s ability to update data without page-erase cycles. Similarly, the superior durability arises from the ability to update individual words in the memory without erasing and rewriting an entire memory page. The lower power? Well, Nuvoton also asserts that the ReRAM draws less power than Flash EEPROM per memory cycle, which is difficult to verify because the ReRAM is embedded in the device. However, these Nuvoton M2L31 microcontrollers are clearly designed for low-power operation. Supply current is 60 μA/MHz at 72 MHz in run mode and 33μA/MHz in idle mode with all peripherals disabled. In addition, the devices have several power-down modes that consume 85 to a mere 0.54 μA.
The ReRAM is divided several ways to facilitate application development. First, it’s split in half to facilitate over-the-air updates. The ReRAM also supports four execute-only memory (XOM) regions to prevent unauthorized modifications to the program code. A secure bootloader, augmented with an on-chip hardware encryption engine that supports SHA-256 and ECDSA-P256 crypto protocols, helps to prevent authenticated firmware from being replaced with malware during a software update.
In addition to the usual digital peripherals (UARTs, Timers, a watchdog timer, a real-time clock, SPI and I2C ports, CAN and USB controllers), the M2L31 microcontroller family includes several analog peripherals including:
- An internal voltage reference
- Internal temperature sensor
- A 12-bit, 3.42Msamples/sec ADC with a 24-channel analog input multiplexer
- Two 12-bit, 1Msamples/sec DACs
- Three rail-to-rail comparators with 6-bit, DAC-driven reference voltages
- Three op amps with programmable gain
- An 18-channel touch controller
If you want to start development work with this microcontroller family, Nuvoton offers a low-cost development platform called the NuMaker- M2L31KI. As of the time of this writing, the company sells this platform on its website for $36. The board incorporates Arduino UNO expansion connectors, which provide ample opportunity for easy and low-cost peripheral expansion, and a USB debugging port.
The Nuvoton NuMaker- M2L31KI development board for the M2L31 microcontroller family sells for $36 on the company’s Web site. Image credit: Nuvoton
Multiple integrated development environments (IDEs), including the Arm Keil MDK, IAR’s Embedded Workbench for Arm (EWARM), and Nuvoton’s free NuEclipse IDE with a GNU GCC compiler support software development for the M2L31 microcontroller family. Documentation includes a 2180-page technical reference manual.
To me, Nuvoton’s M2L31 microcontroller family represents the logical evolution of microcontrollers that started to appear during the 1970s. These early devices had only one processor core (we couldn’t imagine using more than one back then) and were not designed to be used in networks because, frankly, they were not fast enough and could not support the extensive software stacks needed for networking. The M2L31 microcontrollers with their 32-bit, 72MHz Arm Cortex-M23 processor cores are certainly fast enough and have the necessary on-chip memory resources to support networking, but that’s not the application they’re aimed at. Consequently, they lack the necessary networking peripherals for such applications. I don’t see that as a disadvantage for these devices because Nuvoton targets these devices at other embedded applications.
Nuvoton’s use of ReRAM for the M2L31 microcontroller’s on-chip, non-volatile memory is notable. After plenty of hoopla about memristor memory that started appearing in 2008 with HP’s announcement of a prototype memristor memory, things have gotten pretty quiet. Now, I find myself writing about memristors for the second time in as many months. (See “Will PCMO bring the magic to memristor memory?”) The hunt to find replacements for silicon-based memory (DRAM and EPROM) continues. Nuvoton’s ReRAM is based on cells made of metal oxide, which is clearly not silicon. As Intel CEO Pat Gelsinger has said repeatedly, we’ve not yet fully explored the periodic table in our quest to develop semiconductor manufacturing beyond today’s limits.