Give away medical masks when you place an order. learn more

Microcontrollers Drive Automotive Apps

Today's competitive automotive market requires vehicles that deliver superior driving characteristics, miserly fuel consumption and the latest comfort features and conveniences, such as seating systems with memory, keyless entry, integrated navigation, as well as driver assistance. Fortunately, manufacturers can satisfy those desires courtesy of the intelligence provided by embedded microcontrollers (MCUs), which allows them to deliver advanced capabilities in mid-range and even economy models.

The automotive environment presents a host of challenges. Devices must satisfy strict standards for safety and reliability. They have to remain robust over a broad temperature range (typically –40°C to 125°C), provide electrostatic discharge (ESD) protection, and low electromagnetic interference (EMI). Modern drive-by-wire vehicles require devices to be compatible with a variety of protocols, including controller area network (CAN) buses and the local interconnect network (LIN) standard.

Two key areas of activity for MCUs in the automotive arena include body electronics and gateway modules. Body electronics encompass HVAC, lighting (interior and exterior), seat positioning, mirror adjustment, and security/safety features such as keyless entry, immobilizers, and tire-pressure monitoring systems. Many of these tasks, such as maintaining a set temperature in the passenger cabin, operate on timescales of minutes rather than microseconds. As a result, 8-bit MCUs like the C8051F52xA and C8051F53xA from Silicon Labs Inc. can provide an effective, yet economical solution, especially for inexpensive vehicles.

Qualified for automotive use per the Automotive Electronics Council standard AEC-Q100, the C8051F5xxA family sports a 25 MIPS 8051 CPU, along with a programmable 24.5 MHz internal oscillator that is stable to within ±0.5 percent across an operating temperature range from -40°C to +125°C. (Figure 1). The devices include 8 kB of on-chip flash memory and 256 bytes of on-chip RAM. A bevy of integrated features, including a programmable comparator, a voltage regulator, and an on-chip temperature sensor reduce cost and design complexity while speeding time-to-market. The two chips differ in their number of I/O ports, with the C8051F52xA providing up to 16 I/O ports and the C8051F53xA supplying 26.

Figure 1: The 8-bit C8051F5xxA family of microcontrollers features an integrated programmable comparator, voltage regulator, and on-chip temperature sensor to simplify design. (Courtesy of Silicon Labs Inc.)

In today's highly networked vehicles, systems-level communications are essential. The C8051F5xxA family boasts a dedicated LIN 2.0 controller to handle low-priority, one-way data transfer for functions like power windows. At the same time, the controller can interface with other subsystems over the vehicle’s CAN network.

32-bit solutions

Powertrain applications such as transmission control require higher processing speeds and greater functionality. Here, a 32-bit MCU like the AT32UC3C family from Atmel Corp. can provide an effective solution. Based on the AVR32UC RISC processor, the AT32UC3C consists of a complete system-on-chip microcontroller offering 1.49 DMIPS/MHz at speeds of up to 66 MHz. It features up to 512 kB of on-chip flash memory and as much as 64 kB of on-chip SRAM. The data interfaces are designed to maximize speed and minimize latency (Figure 2).

Figure 2: The AVR32UC CPU includes three high-speed memory interfaces: one high speed bus master each for instruction fetch and data access, plus a high speed bus slave to allow the bus masters to access RAM internal to the CPU. Having the RAM on-chip minimizes latency. (Courtesy of Atmel Corp.)

The device sports a variety of peripherals, including a 16-channel, 12-bit analog-to-digital and a four-channel, 12-bit digital-to-analog converter. Although peripherals constitute a key benefit of an MCU, managing them can tie up a significant percentage of CPU, not to mention introduce jitter and latency. To address these issues, the AT32UC3C connects peripherals with an internal communication fabric. The approach allows the chip to redirect events from one peripheral to another or from an input pin to a peripheral. As a result, it can trigger an action such as ADC capture based on a pulse width modulated (PWM) waveform without need for CPU intervention, reducing compute overhead and minimizing latency.

Similarly, a memory direct memory access controller (MDMA) and a peripheral direct memory access controller (PDCA) controller can pass data between memory locations or between memory locations and peripherals, respectively, without assist from the processor. The approach frees the CPU to run the application or switch to idle mode, saving power.

High performance for automotive safety

Automotive applications must perform to the highest reliability standards. To protect both vehicle and operator, the AT32UC3C monitors its main clock. If it detects a failure, it changes over to a local 115 kHz RC oscillator that can either act as a backup for regular operations or support the shutdown process. Watchdog timers provide an additional level of safety, allowing systems to monitor performance during startup to ensure proper operation. Such timers are typically run via software, which raises the threat that they may not be able to provide fail-safe interrupt in the event that the application code is corrupted. To guard against this type of fault, for example detecting whether a system is caught in a loop, the AT32UC3C incorporates a windowed watchdog timer—if an operation does not take place within a user-defined window, it triggers an interrupt.

Driver-assist functions require high-speed operation that may be best supported by a multicore MCU (See the previous TechZoneSM article “Multicore MCUs Offer New Embedded Options.”). Available in homogeneous (multiple identical cores) or heterogeneous (multiple different cores) architectures, multicore MCUs allow users to divide and conquer processing tasks. The devices offer higher computing density and flexibility. Each core can perform a different operation while sharing memory and exchanging data with the others. Cores can even run on different operating systems. Perhaps most important, multicore MCUs support multiple threads for parallel processing; giving designers the freedom to manage tasks however they see fit.

As with multicore computing platforms, multicore MCUs can be virtualized with a hypervisor to allow dynamic allocation of both memory and processing capability. Unlike the computing environment using hypervisors to provide multiple servers on a given core, an embedded system might virtualize a single piece of hardware, for example, to allow multiple system components to communicate through it. Used properly, a multicore MCU can consolidate the operations of multiple single controllers, reducing cost and size while maximizing power and efficiency.

The TMS570 from Texas Instruments offers users the choice of a homogeneous platform with dual ARM Cortex R4 cores operating in lockstep, or a heterogeneous platform integrating Cortex R4 and Cortex ARM M3 cores (Figure 3a). Boasting IEC 61508 compliance to safety integrity level 3 (SIL3) – probability of dangerous failure less than 10-3 per hour – the asynchronous devices are designed for safety-critical automotive applications such as driver assistance. The cores operate at a top speed of 160 MHz, delivering better than 250 DMIPS. High reliability features include built-in self-test (BIST) for CPU logic and memory, a cyclic redundancy checker module and an error signaling module (Figure 3b).

Figure 3a: With lockstep cores, built-in self-test and a cyclic redundancy checker module, the TMS570 meets IEC 61508 to safety integrity level 3. (Courtesy of Texas instruments Inc.)

Figure 3b: To remove potential common failure modes, the design introduces a delay in one of the processors, then compares the output signals. (Courtesy of Texas instruments)

The units offer up to 2 Mbytes of on-chip flash memory and up to 160 Kbytes of RAM. Peripherals include 32 nHET timer channels and a pair of 12-bit A/D converters supporting up to 24 inputs. The MCUs also include a two-channel FlexRay interface and up to three CAN interfaces.

Although we have yet to realize the completely automated driving experience that pundits predicted back in the mid-1990s, even low-cost vehicles today sport an impressive degree of intelligence and functionality. Tomorrow's vehicles certainly will be even more advanced and automotive engineers won't escape the crush of conflicting design demands anytime soon. Armed with the functionality provided by single- and multi-core MCUs, however, they are well-equipped to meet the challenge.