Many of todayís embedded industrial and automotive systems are built upon 8- or 16-bit microcontroller architectures. With the availability of new low-power 32-bit architectures, there is an opportunity to increase performance, improve accuracy, and achieve greater power efficiency in these applications. In addition, higher processing capacity makes it possible to implement new product-differentiating features, including advanced control algorithms and next-generation interfaces such as GUI-based displays, voice control, and capacitive touch sensing.
For example, motor efficiency is one of the primary factors affecting power consumption in many industrial applications. Advanced control algorithms are available to improve motor efficiency, but they require a higher performance microcontroller to implement. Communication speed impacts efficiency in a similar way by enabling a system to collect more information from sensors while more quickly identifying events and acting upon them.
In the past, there have been reasons to delay migrating to 32-bit architecture, among them relatively high microcontroller cost and no support for 5V I/O. Atmel has addressed these and other design concerns with the Atmel AVR UC3C 32-bit microcontroller, the first industrial-grade microcontroller offering a full floating-point unit (FPU).
By combining innovations such as a peripheral event system, precision clocking, and high-performance peripherals, the AVR UC3C increases system performance, reliability, and power efficiency. Integrated features such as secure flash, hardware-based safety mechanisms, the ability to interface directly to analog sensors, and a configurable software framework significantly accelerate application development. Finally, the AVR UC3C has been optimized for the specific requirements of industrial and automotive applications to provide 32-bit processing capacity while maintaining power consumption at a level equivalent to an 8- or 16-bit microcontroller.
32-bit performance for advanced processing
The difference in efficiency between 32- and 8-/16-bit systems is substantial: a generic 32-bit multiple/accumulate requires four multiplications and four additions on a 16-bit processor. Execution efficiency is further aggravated by the need either to access memory to store intermediate results or to free up multiple registers and potentially slow down other operations. Thus, a single 32-bit multiplication could require on the order of 20-40 cycles on a 16-bit processor. On a 32-bit UC3C processor requires only a single cycle. A 32-bit pipeline also retrieves data and instructions from memory faster than a narrower pipeline.
The availability of an integrated FPU also simplifies application development. When an algorithm is too cycle-intensive or is implemented using a fixed-point format, a significant portion of the product development cycle must be spent figuring out ways to simplify the algorithm to speed up calculations. Such simplifications often come at the expense of accuracy. With a FPU, the implementation of complex algorithms requires less effort and the wider dynamic range maintains the highest precision. Implementing complex algorithms using 32-bit floating-point instructions not only increases system accuracy and efficiency but can significantly accelerate development as well. A wide variety of applications can benefit from the use of floating-point, including robotics, motion control, motor control, and audio applications (see sidebar, What Will You Do WithYour 32-bits?).
The Atmel AVR UC3C 32-bit microcontroller instruction set is rich with a mix of 16- and 32-bit instructions that allows C compilers to balance performance and code density. The greatest strength of UC3C microcontrollers, however, is that their architecture has been optimized for managing the real-time events common to embedded systems.
UC3C microcontrollers support the wide variety of precision peripherals and interfaces such as CAN and LIN required by embedded systems, as well as operate reliability across the entire industrial temperature range. The AVR UC3C architecture is first and foremost a microcontroller that has been designed to minimize processing latency to guarantee real-time event processing (see figure 1), thereby guaranteeing system reliability and operator safety.
Fig 1: The Atmel AVR UC3C 32-bit microcontroller is a high-performance microcontroller designed to minimize processing latency to guarantee real-time event processing and guarantee system reliability and operator safety.
Added processing capacity can be used to improve an application in many different ways:
Higher accuracy and precision: More processing capacity enables a microcontroller to support more precise ADCs and DACs at higher sampling rates.
Direct use of analog sensors :With its DMA-based ADC, advanced processing capabilities, and integrated technologies that can accurately manage the accurate timing of analog sensors, the AVR UC3C can support more analog sensors than is possible with traditional microcontroller architectures.
More advanced algorithms:Implementing more advanced algorithms such as 3-phase motor control and dead-band insertion techniques increases system efficiency, lowers power consumption, and reduces cost.
Differentiating features: Added processing capacity also enables more advanced graphics in the user interfaces. For example, many microcontrollers require an additional four or five chips to introduce capacitive touch to a system. With the flexible, high-performance AVR UC3C, capacitive touch can be implemented in software to operate on any I/O pin with no external components required.
Higher bandwidth communications: Systems can share more data, control multiple nodes, and capture data with greater resolution. Todayís 16-bit systems are often severely tapped out supporting a single CAN or Ethernet stack. With a 32-bit architecture using DMA, a single device can serve as a gateway for multiple interfaces.
I believe certain applications like car stereo will be best fit with a 32-bit microcontrollers. However, for controlling applications such as power inverter, white goods, a 16-bit with decent flash size can do? a 32-bit might be overkill with so much ROM and RAM to waste.