
NXP could be planning to combine the ARM Cortex-M0 and M3 processors cores in a new multicore device.
NXP is already working on new versions of its Cortex-M0 based microcontroller, the LPC1100.
It is looking at adding on-chip analogue circuits aimed at a very low cost device for smart metering applications.
Another direction the company is exploring is the development of a multicore version.
“Adding a full function analogue front-end to M0 would be inherently low cost for industrial applications like smart meters,” said Geoff Lees, v-p and general manager of NXP’s microcontroller business.
It is not just very low power MCUs which Lees has in mind, he sees the Cortex-M0 core forming the basis of a family of MCUs ranging in performance which could also include multicore versions.
One option being investigated is adding the M0 to another high performance core such as the Cortex-M3.
“Multiple cores could be used for power management and house-keeping functions in smart meters for example, “said Lees.
NXP announced the first Cortex-M0 based MCU earlier this year and Lees says that the part will be available in volume “imminently”. This is likely to be next month.
See: ARM's Cortex-M0 processor - how it works
Lees also confirmed that there would be open-source design support for M0 through an Eclipse tool, probably the Texas Instruments tool.
This will be in addition to the existing ARM development support from Keil and IAR.
This will be offered via the online development environment NXP has been working on with ARM.
Called "mbed" the website will launch with hardware and software support for the NXP LPC1768 ARM Cortex-M3 processor-based MCU.
But support for LPC1100 will be added in the near future.
Lees sees that offering an open platform is important for microcontrollers such as M0.
“We want it to be open to all vendors, designs could even be made public,” said Lees.
The big selling point of the Coretx-M0 based devices is low power operation.
This is inherent in the design. Power consumption can be optimised in the M0 with the use of its 11 differ power domains. The ARM8 core had just three.
An important power saving feature of the M0 is the use of the Thumb instruction set. M0 is a von Neumann design executing a modified form of the Thumb instruction set.
“It is not intuitive to see 32-bit code as smaller that 16-bit, but Thumb is compressed code,” said Lees.
The same instruction set has been used in the ARM7 and ARM 9 cores, but an important feature of the Cortex-M0 is that the decoding of 16-bit instructions into 32-bit is hardwired into the core.
“The result is the M0 is a quarter the power of the M3. It is a key power saving feature,” said Lees. “
The result is an MCU with a power/performance of under 150µA/MHz.
In comparison the Cortex-M3 based LPC1300 consumes approximately 200µA per MHz.
“We are working on getting M0 under 150µA/MHz, the target in the short term is 100µA/MHz and I believe 50µA/MHz is achievable in the longer term,” said Lees.