Sunday, February 5, 2012

Does the World Need a New Microcontroller Family?


Everywhere you look there are microcontrollers. 8-bit, 16-bit and 32-bit; high speed or low power; single or multi-core; and an enormous range of peripherals and I/O. So does the world need another family?  Infineon certainly thinks so.
Their reasoning runs like this. Over the last few years the company has been restructured to concentrate on three key areas, which it calls Energy Efficiency, Mobility and Security. In these areas it addresses specific markets, where it is either the largest player, or number two, with microcontrollers, power components and sensors.
The current microcontroller line-up is headed by the TriCore family. (This has 28% of the 32-bit automotive embedded market, and the claim is that almost every second car has a TriCore. It is also widely used in industrial applications.) Backing this are multiple families of 16-bit microcontrollers, designed around the proprietary C166 core, and 8051-compatible 8-bit controllers. There is a significant performance gap between the fastest members of the 16-bit families and the slowest of the TriCores, and this gap is what Infineon is now bridging with its latest announcement.
The intention is to provide a microcontroller that will find applications in controlling industrial drives, in renewable energy and in industrial automation. This requires high computer performance, mixed signal capacity, connectivity, both within and outside the system, and, usually, complex software. Infineon claims that the XMC4000 meets all these needs, and more.
The first surprise is that, after decades of developing its own processor architectures, the new family is based on the ARM Cortex-M4. While ARM is very widespread in microcontrollers, this is a definite change. Infineon people would not be drawn in to give too much detail about future plans, but they did say that the TriCore will continue, as it is particularly well suited for safety-critical applications. They gave the impression that they haven’t ruled out further ARM-based microcontrollers, and the implication was that these would be replacing/supplementing/whatever the 16-bit products.
The public reason for choosing ARM is the massive ecosystem that is available for ARM products. And, speculating, a secondary reason must be that paying ARM is a lot cheaper, and easier, than developing a new architecture.
Around the core is a wide selection of peripherals. Some are standards-based, such as Ethernet and USB; some are Infineon implementations of general functions, such as ADC and DAC, memory interfaces and CAN bus; and there are also “Infineon state-of-the-art” implementations, such as capacitive touch controllers, a real time clock, and memories. The road map shows a fairly typical matrix of clock speed, memory - both flash and SRAM, and packaging options. Unusually the clock speed is measured at 125ºC, rather than the lower temperatures normal for industrial parts. This is because, in applications like motor control, the microcontroller will be mounted directly on the motor, where temperatures can run very high.
A particular example that was discussed in the launch presentation was inverter control in applications like electric drives and photovoltaic connections to the grid. In both cases the inverter takes in DC and outputs AC. The XMC4000 family typically has 4 fast (3.5 million samples/sec) 12-­bit ADC modules and a ΔΣ demodulator. This allows processing to be carried out off the CPU and removes the need for an extra interface IC. A connection matrix can be set up in software to create direct connections between peripherals.
One unusual feature is the provision of up to six serial channels, whose function, (UART, SPI, I2C etc) is defined in software.
These two examples bring us neatly to the development environment. The XMC4000 is supported by the third generation of DAVE (Digital Application virtual Engineer), Infineon’s free IDE. DAVE is Eclipse-based (so it interworks with a wide range of other development tools) and comes with a free GNU compiler, a debugger, and a loader. The new version also includes a selection of apps for peripherals and applications, which are configured through a graphical user interface. When the apps are configured, DAVE generates code that can be used like a library through an API. Infineon expects that third parties and users will generate further apps.
There were simultaneous announcements from tools and middleware companies, with Atollic, IAR and Hitex all announcing support. And a slide in the presentation also named Altium, Wind River, Keil, iSystem, Lauterbach, Express Logic, Micrium and Segger as supporting the family. While most of these support the existing Infineon parts, the Cortex core makes it far easier for them to create XMC4000 specific products.
I have made a bit of a meal out of this announcement, as it can be seen as important for a number of reasons. Firstly it is another example of the way in which, despite several commentators’ views, ARM is still strengthening its hold in the microcontroller market. There are other cores around, often for niche markets, but ARM is still growing in the main stream. It also seems to me to be yet another blow for 16-bit controllers – their future is going to be even more limited as 8-bits continue to mop up low power and simple applications and 32-bit controllers offer more processing power at equivalent, or better, electrical power consumption. And finally it is an example of how the peripheral options are increasingly complex, moving from external chips to the controller core.

No comments:

Post a Comment