Vehicle-maker Volkswagen is putting its weight behind a set of microcontroller benchmarks that focus on energy consumption rather than performance. The company has helped define an initial set of tests developed by the Embedded Microprocessor Benchmark Consortium (EEMBC) that have now gone public as the group tries to recruit more automakers.
Markus Levy, president of EEMBC, said VW approached EEMBC about a year and a half ago looking for a way to compare the power-saving modes offered by different microcontrollers. The problem they faced is that MCUs from different vendors have their own approach to sleep states. Not only are they not named consistently, they often do not match in terms of their wakeup times, which can make some of the modes difficult to use in real-world applications.
Rather than try to develop a normalized test, in keeping with the approach taken by EEMBC on its existing performance benchmarks, the new benchmarks “will let MCU vendors optimize for the test workload that we provide for them”, Levy said. “It’s impossible to standardize the operating modes. They can determine what sleep modes make the most sense for each benchmark.”
Vendors will be able to use hardware-assist features such as low-level interrupt managers as these are often placed on low-energy MCUs to reduce the amount of time that the processor core spends awake. The tests are being defined to exhibit similar requirements to those used by applications in vehicle body electronics – the first set focuses on CAN packet handling.
Body electronics focus
“We are not targeting powertrain for this but more body electronics and instrument clusters. The MCUs don’t have as much horsepower and are often in sleep mode,” said Levy.
A PXI chassis and test rig made by National Instruments is used to generate traffic and capture test results, which attempt to replicate typical behavior in body electronics. “VW is coming up with the knowledge of how things like a trunk latch mechanism works,” said Levy.
The CAN tests are designed so that only some of the packets are intended for the benchmarked device. “Depending on the data, the CPU will execute a certain workload,” said Levy, or decide to ignore the packet if it has the wrong address. Depending on the frequency of the CAN packets, the MCU code may decide to go into different sleep modes, choosing higher-energy, low-latency sleep for handling frequent accesses.
“One of our goals is to measure the overall energy efficiency as transfer frequency changes and also look at what happens when we increase the frequency of packet transfers to the point where we start to get dropped messages,” said Levy. “This will go beyond just measuring energy efficiency but also look at robustness. Do these modes affect capability? These are things that are not normally tested. We can look at if you use these features, will the system operate the way you expect.”
Although vendors will be able to optimize code, they will have to use the Autosar Microcontroller Abstraction Layer (MCAL). “It takes a lot of the gamesmanship out of this. We don’t want vendors to come up with ultra-optimized drivers for these benchmarks. MCAL makes the setup harder but helps to level the playing field and it will be what they will be using in automotive.
“This process is at stage one. We are just working on CAN right now. We want to get to the other common automotive peripherals. We will have different tests for functions like PWM, UART transfers and FlexRay. The other thing we want to do is test interrupt response.”