Inside DSP on Automotive Signal Processing: Processors for Automotive Signal Processing

Submitted by BDTI on Sun, 09/12/2004 - 18:00

Automobiles are undergoing a digital makeover: gone forever are the days of pure mechanical systems and analog electronics. Today’s automobile is a digital automobile, incorporating dozens of embedded processors connected via multiple digital networks, controlling and optimizing the operation of nearly every system in the automobile. And even more processors are coming in future generations of cars, as more complex signal processing algorithms enable advances in safety, engine and emission control, driver interfaces, and in-cabin information and entertainment (“infotainment”).

In this article we’ll examine the various types of processors used for automotive digital signal processing applications and explore the strengths and weaknesses of each type. We'll also highlight how the special requirements of automotive applications shape the processors targeting this market segment.

What drives automotive processor selection?
A multitude of factors influence processor selection for automotive systems. The most important selection criteria typically include automotive qualification, on-chip integration, performance, price, and energy efficiency. Software development considerations—such as the quality of development tools and availability of software components—also influence selection. The vendor’s commitment to the product and the processor road map are also important factors.

Automotive qualification
Safety-critical automotive systems, such as engine control, air-bag control, and braking systems, require processors with extreme reliability and durability—life and limb are on the line. As a result, safety-critical automotive applications are the most challenging automotive applications for processor vendors. These applications require “automotive qualified” processors; producing such processors demands specialized design, fabrication, packaging, and testing methods. (See the Special Requirements article for further details on automotive qualification.)

There are also many non-critical signal-processing-intensive automotive systems that rely heavily on processors, such as in-cabin navigation and entertainment equipment. While auto and auto sub-system manufacturers demand high-quality components for such applications, requirements are not as stringent as for safety-critical applications. For example, the processors used in in-cabin systems are generally not automotive qualified.

Today, the most performance-hungry automotive signal processing applications are in-cabin navigation and entertainment systems. This will change in the next few years, though, as new safety systems begin to incorporate video and radar processing, and as engine and braking control systems adopt more computationally demanding model-based approaches, in which complex run-time calculations replace the look-up table references that are prevalent today.

On-chip integration
Having the right kinds of peripherals, memory, and I/O interfaces integrated with the processor can improve performance, reduce energy consumption, increase reliability, and help lower system costs. The on-chip integration that is relevant for automotive applications is often quite different from that required for other signal processing applications. Hence, vendors targeting automotive applications generally tailor their processors for these applications.

Multi-channel analog to digital converters (ADCs) are particularly useful for processors targeting automotive control systems. An engine control system, for example, receives signals from about a dozen analog sensors that monitor operating parameters such as throttle position, engine speed and temperature, intake air density, and exhaust gas oxygen content. Figure 1 shows a typical engine control system. After digitizing, filtering, and analyzing these input signals, the controller generates updated fuel injection and ignition outputs.

Integrated flash memory is a key feature for processors targeting automotive control systems, since these systems often make use of very large look-up tables that occasionally must be upgraded in the field. For example, an engine control system like the one shown in Figure 1 may use look-up tables containing tens of thousands of calibration points, or equivalently output values, for the various components it controls (such as fuel injectors and ignition coils). The calibration points are usually derived empirically in a laboratory, but after a vehicle has been put into service some calibration points may require adjustment. Flash memory provides the flexibility to easily upgrade calibration points or other aspects of the control algorithm in the field via a download at the dealer's service department. The key benefits of integrating flash memory with the processor (as opposed to using discrete flash memory chips) are improved performance and reduced system costs.

Figure 1 - Engine control system

Integrated flash memory is valuable for system developers, but implementing it has proven to be a difficult challenge for processors vendors. The high temperature requirements of automotive qualified processors generally exceed the tolerances of mainstream flash memory technology. As a result, processor vendors who compete in this space invest significant resources in developing flash memory that operates reliably in the automotive environment.

A digital network transceiver module facilitates communication between processors in a distributed system. Various network protocols have been established for different classes of automotive systems; processors that target specific automotive applications often integrate network transceivers for the associated protocols. The Controller Area Network (CAN) protocol, for example, is often used for the engine and transmission control network. The Media Oriented Systems Transport (MOST) protocol is used in some vehicles for in-cabin infotainment applications, including audio, video, navigation, and communication.

Advanced timer modules working in parallel with the processor core can provide time-based pulse processing such as the generation of pulse width modulation (PWM) signals and quadrature decoding, with little intervention from the processor core. Engine control systems, in particular, rely heavily on PWM signals—for example, to drive fuel injectors.

Advanced on-chip debug trace units are particularly useful for processors targeting mission-critical applications. Extensive tracing capabilities can provide system developers with detailed processor, software, and operating system state information, which can be very useful for validation and debugging. The Nexus 5001 Forum Standard for a Global Embedded Processor Debug Interface defines a software interface to on-chip debug hardware. Originally standardized by the IEEE Industry Standards and Technology Organization (IEEE-ISTO) in 1999 as IEEE-ISTO 5001-1999, this standard has since been updated to IEEE-ISTO 5001-2003. The developers of this standard hope that it will encourage development tools vendors to include or improve support for on-chip debug trace units.

Performance
In-cabin information and entertainment systems are currently the most computationally demanding signal-processing systems in typical automobiles. This is primarily because these systems involve video processing, which is an inherently signal-processing-intensive application. A high-end infotainment system may include a multi-channel audio system, a DVD player, a GPS-based navigation system, and a hands-free cellular phone—all rolled into one system.

Processors that target in-cabin infotainment systems include relatively high-performance digital signal processors (DSPs), DSP-enhanced general-purpose processors (DSP-enhanced GPPs), and hybrid DSP/GPPs. These processors generally operate at clock rates from 200 to 750 MHz.

Processors targeting mission-critical control systems, like engine and brake systems, contrast, are usually moderate performers. Harsh operating environment requirements—in particular, high temperature requirements—are more easily met by using larger chip fabrication process geometries (for example, 0.18 or 0.25 micron). Since the processing speed requirements of control applications are typically moderate, the relatively low maximum processor clock rates (from about 40 to 150 MHz) associated with larger fabrication geometries are a good fit. As processing requirements increase in these applications, though, processor vendors will have to devise strategies to achieve higher performance while maintaining tolerance for high temperatures.

Price
Automotive applications are very price sensitive. Processor vendors have responded to this with highly specialized processors that offer compelling on-chip integration (enabling lower system costs).

Although automotive applications are sensitive to price, the automotive qualification process brings with it significant costs, and these costs tend to increase chip prices. As a result, the cost of automotive-qualified processors are generally higher than that of very similar but non-qualified chips.


Energy/power efficiency
Energy and power efficiency are generally not critical issues in automotive signal processing systems. The engine, transmission, chassis, and brake control systems, for example, are typically active only while the engine is running and the battery charging system is active.

Energy and power efficiency do become important in certain applications, however. Some systems remain active when the engine is not running; their power consumption must be sufficiently low so that the battery’s capacity to start the engine is not affected. For example, this can be the case for in-cabin infotainment equipment. Other systems must be sealed to protect them from harsh environmental conditions; in these cases, the system packaging limits heat dissipation, which in turn limits power consumption. For example, engine control systems are typically sealed to protect against moisture. 

Software Components and Development Tools
Automotive signal processing software is very diverse: software is developed in high-level languages as well as assembly language; some applications use standards-based algorithms, like MPEG-2 for DVD playback, while others rely on proprietary algorithms.

High-level languages are preferred when ease of validation and portability are important. Assembly language is used when cost efficiency is a priority. Software development tools for processors targeting automotive applications must therefore support efficient development using both high-level and assembly languages.

Software destined for safety-critical systems must be rigorously validated and debugged. Thus, software development tools used in these applications must have particularly strong debug support and must facilitate use of “best practices,” like version control and code coverage analysis.

Where systems implement standards-based algorithms, the availability of third-party software modules can very important. Even where systems implement proprietary algorithms, like electronic vehicle stability systems, the availability of software components can be important. For example, off-the-shelf, optimized mathematical function libraries and driver-level software components can save time and reduce development costs. In some applications, developers require access to source code for all components; software available only in binary form isn’t acceptable.

Vendor Commitment and Processor Roadmap
Supplying processors to the automotive market requires a serious commitment on the part of the vendor. One of the most interesting aspects of this is that automotive equipment manufacturers require their vendors to commit to supply a given processor over a very long period of time, up to 10 to 15 years.

Processors used in automotive signal processing applications
Many types of chips are used for signal processing tasks in today's automotive systems, from 8-bit microcontrollers (MCUs) to DSPs to field programmable gate arrays (FPGAs). Because of their relatively limited signal processing performance, 8- and 16-bit MCUs are rarely employed today in systems where signal processing plays a major role, so we discuss them only in passing. Often, to reduce costs system developers will choose a processor with performance that is just sufficient to do the job. But in some applications it may be prudent to build in some performance headroom. In-cabin infotainment systems, in particular, benefit from the flexibility provided by performance headroom, since the applications that will ultimately be deployed (for example, speech recognition, navigation, and audio controls) may not be fully defined at the time the processor is selected. Table 1 lists processors types common in automotive signal processing applications, with a sampling of representative vendors and example processors.

Processor types, representative vendors, example processors
32-bit embedded general-purpose processors (GPPs) are often used in automotive signal processing control systems with moderate performance requirements. Processors in this class are usually based on RISC architectures; they use simple, generic instructions with little or no parallelism. GPPs are particularly efficient on algorithms that emphasize decision-making and control-flow changes, but in many cases they can also achieve respectable performance on signal processing tasks. GPPs also tend to be good compiler targets, meaning that compiled code is typically fairly efficient—in contrast to some specialized DSP architectures which are more difficult compiler targets. The most popular 32-bit GPP architectures (such as MIPS, ARM, and PowerPC) are widely used across a range of automotive and non-automotive applications. This broad acceptance brings advantages like rich third-party software component offerings and strong development tools support. Examples of processors in this class include the Texas Instruments TMS470 family (based on an ARM7 core) and Freescale's MPC500 family (based on a PowerPC core). Both processor families integrate automotive-specific peripherals with a 32-bit general-purpose processor core. A block diagram of the Freescale MPC566 processor is shown in Figure 2. Targeting applications such as engine and transmission control, the MPC566 integrates peripherals, memory, and I/O interfaces tuned for these applications. For example, it includes a large amount of flash memory, multiple CAN interfaces, a Nexus debug interface, multiple ADCs, and multiple advanced time modules.
The Freescale MPC566

DSPs, DSP/GPP hybrids, and DSP-enhanced GPPs are often utilized in in-cabin infotainment systems and in control systems that have demanding signal-processing performance requirements. These processors include specialized features like fast multiply-accumulate hardware, high memory bandwidth, and instructions that incorporate multiple operations (for example, a multiply-accumulate in parallel with operand load or store operations). Collectively, these features can greatly accelerate many digital signal processing algorithms compared to a GPP with a similar clock rate. Filtering, for example, is a classic digital signal processing task, found in both infotainment applications (for example, audio and voice systems) and in many control systems (for example, conditioning sensor signals in an engine control system). DSPs are often much faster at this type of task compared to GPPs of a similar clock rate. But the special features that give DSPs their performance and efficiency can also create challenges. For example, specialized instructions are hard for compilers to utilize effectively. Sometimes a compiler will not automatically use the most specialized instructions. This is particularly true of highly parallel instructions, such as single-instruction, multiple-data (SIMD) instructions. A DSP's relative performance advantage can be erased if its most powerful and specialized instructions are not used. Thus, extracting maximum performance from a DSP often means special software development practices must be employed, like the use of high-level language intrinsics, which directly map to underlying assembly instructions, or the use of assembly language. Both methods add complexity and result in processor-specific source code, so software portability is diminished.

DSP/GPP hybrids and DSP-enhanced GPPs attempt to combine the best features of DSPs and GPPs: the signal-processing capabilities of a DSP with a GPP’s efficiency in decision-intensive algorithms and compiled code. This is a compelling combination of capabilities for systems that require a mix of signal processing and decision processing. Examples of processors in this class include the Texas Instruments TMS320C2000 family, the Freescale MC56F83xx family, the Renesas SH7760, and the Analog Devices ADSP-BF53x (“Blackfin” family).

Figure 3 shows a block diagram of the Texas Instruments TMS320F2812. The TMS320F2812 includes a 32-bit hybrid DSP/GPP core with peripherals and integration specific to automotive control systems. On-chip features include flash memory, a CAN interface, a hardware debug interface, and a multi-channel ADC.

Texas Instruments TMS320F2812

FPGAs may seem an unlikely fit in the automotive processing universe because they have a reputation for being expensive. However, over the last few years FPGA vendors have introduced far more cost-effective devices, making FPGAs viable in automotive systems. Unlike fixed-architecture processors (traditional DSPs, GPPs, etc.), FPGAs are not limited to a predefined instruction set. Rather, FPGAs give the system designer the flexibility to create a processing architecture suited to the application. For example, in an FPGA, repetitive arithmetic operations like those that might be found in a software for-next loop can be performed in parallel (assuming no data dependencies), or serially, or anything in between. Parallel processing yields high performance, but also implies the use of a larger proportion of the FPGA’s resources; serial processing yields the opposite characteristics.

Because of the potential for highly parallel processing, FPGAs can often perform signal processing tasks much faster than even the fastest fixed-architecture processors. But high performance comes at cost: the development effort that goes into FPGA-based signal processing systems is often much higher than what is normally associated with traditional fixed-architecture software development. Although the role of FPGAs in automotive systems may expand with time, currently they are primarily used for implementing interfaces in in-cabin infotainment systems. Of course, once an FPGA is present in a system, it may find more uses, perhaps subsuming the functionality of another system component. For example, with the advent of "soft" processor cores designed for FPGA implementation, like Altera’s Nios II and Xilinx’s MicroBlaze (both 32-bit RISC processor cores), microprocessors may increasingly be implemented in an FPGA, rather than in a separate chip. This could prove cost effective, since soft processor cores are sometimes customizable (for example, allowing the designer to include or exclude features, trading off functionality vs. resources consumed), and are easily interfaced to custom hardware (such as algorithm-specific accelerators) implemented in the FPGA fabric. FPGAs are currently used in numerous military and aerospace applications, where reliability and robustness are required in the face harsh environmental operating conditions. High-temperature, radiation-tolerant, hermetically sealed FPGA variants are available for these applications, suggesting that FPGAs may be well positioned to migrate into safety-critical automotive control systems in the future. 

Processors everywhere?
As automotive applications move towards a greater level of electronic assistance and control, digital signal processing is increasingly being deployed throughout the automobile. Where digital signal processing is already present, computational loads are increasing, ushering in a new generation of higher performance automotive processors. For example, Freescale’s new MCP5554 more than doubles the clock speed of its predecessor, the MPC566, while adding SIMD execution capabilities to further enhance its signal processing capabilities.

New applications of digital signal processing in the automobile include both compute-intensive applications (for example, lane tracking systems) that require high levels of signal processing performance, as well as more modest applications (for example, direct-measurement tire pressure monitor systems—TPMS). Processors targeting automotive signal processing applications collectively span a wide spectrum of performance levels, and the future likely holds even greater diversity. This greater diversity will be driven, on the high end, by performance hungry applications like video based safety and infotainment systems, and on the low end, by systems like TPMS which require extremely energy efficient processing. Table 2 shows an example of the performance spectrum currently available in processors targeting automotive signal processing applications.

Performance spectrum

With more processors coming, covering a wider range of performance levels, where will this all end? Perhaps not until embedded processors permeate every system in the automobile.

Imagine that in addition to the tire pressure monitors integrated into each wheel to monitor tire pressure (already mandated in forthcoming models), each tire has a processor embedded within it, collecting and relaying information about its condition and capability: “This is your front right tire, I notice the road is wet and need to warn you that my tread depth is insufficient for these conditions.”

“Too futuristic,” you say? Maybe, but the trend of employing more and more processors in the automobile seems irreversible. Considering the continuing cost reductions typical of semiconductors and the potential benefits of smarter auto components, it is conceivable that we will someday be driving on smart tires.

Add new comment

Log in to post comments