Simulating and Validating Electronic Control Modules

Electronic control modules (ECMs) are small, dedicated computers that control components and systems in vehicles or other machines. Automotive ECMs control the engine, the anti-lock braking system (ABS), the four-wheel drive transmission, internal lighting and console functions, and many other components.

To get the necessary information to make control decisions, these modules monitor a variety of inputs such as sensors, buttons, and knobs. For example, a climate-control system has temperature sensors, buttons that choose vent direction, and dials to select the desired temperature.

The ECM uses this information to determine how to control its outputs. The climate-control ECM drives fan motors and vent-position solenoids and updates LEDs with requested and actual temperature. The module also may communicate with other ECMs in the vehicle to determine the air-intake rate or engine temperature, both of which may affect the passenger-compartment temperature.

Typically, the modules contain extremely fast and reliable computer processors as well as data acquisition and output control circuitry. The control algorithms and logic are programmed in software and run on the ECM. The software can be updated easily during the development and testing phases of the module without changing hardware. When problems arise, existing modules can be reprogrammed instead of being disassembled and rewired, saving time and money.

Computer-based control of ECMs provides improved performance, reliability, and efficiency at a low price. Once the software has been tested, the design can be replicated more reliably, since ECMs contain fewer components than other types of control systems.

The software algorithms also can be more complex than hardware control circuitry, allowing for more precise control. An engine controller, for example, can drastically reduce the emissions from a vehicle because the ECM monitors the exhaust and adjusts the fuel mixture to minimize hydrocarbon emissions while providing the desired engine power. The ECM improves emissions, gas mileage, and engine response to the driver.

Testing Process

Automotive manufacturers require rigorous test procedures for products installed in their vehicles. Since ECMs control portions of the vehicle, they must be designed to operate—and even fail—in a safe manner. Their performance also should be checked over long periods of operation to ensure that they will function over the lifetime of the automobile.

Part of the test process is to determine what conditions cause a module to fail in order to specify and improve the ECM’s acceptable range of operation. Test engineers must subject the modules to extreme conditions and record how they respond to those stresses. To simulate which conditions are expected to occur during normal operation of a vehicle, tests vary the voltage from the battery which supplies the module’s power and the environment temperature and humidity and even expose the module to impact, vibration, dust, and fluid spray.

The process requires an automatic test system for several reasons. An automated test system minimizes the amount of labor involved in testing a batch of the product and improves the repeatability of the test. The test steps are run automatically to lessen the risk of operator error and reduce the total time required.

The test can be run again repeatedly under the same conditions at the click of a button. When a module must operate for several days, the system should run without requiring constant operator supervision.

Building an Automated Test System

A major automotive supplier contracted with VI Engineering to specify and develop a test system for simulation and design validation of the company’s ECMs. The tester needed to automatically handle up to four motor-control modules, simulate several vehicle signals such as sensor readings, and acquire data through controller area network (CAN), GPIB, and data acquisition hardware (see Figure 1 in the July 2001 issue of Evaluation Engineering).

The ECMs are motor controllers that require multiple inputs from sensors and encoders. Each ECM controls a separate motor in the vehicle and on the test system, and the tester loads the motors by controlling a brake that is mounted on the motor shaft. The brake simulates the load that the motor normally experiences in a vehicle.

National Instruments’ LabVIEW controls the test system, limit-checks parameters, coordinates multiple automated test steps on each module, and provides a user-friendly interface. The test system simulates single-value signals and waveforms using analog and digital outputs and GPIB. A multifunction input module collects data, counter modules gather motor-encoder information, and CAN adapters query vehicle bus data from the ECMs using the test system’s utilities. Post-test data can be reviewed and reports generated.

The user creates profiles to specify the status of the simulated outputs over time. On a setup screen, values are entered for motor speed, one high-speed signal, and two low-speed signals. These profiles are executed during a long-term durability test, continuously cycling through the values until the test is completed.

The user sets up a test by specifying the power supply voltage, the ECMs to run, and the profiles to use. The test sequence executes steps to power up the module, run the profiles, and power down the module, running tests during each of these phases. The test cycle automatically repeats the number of times specified by the user.

For example, a power-window controller can run a profile that consists of multiple minutes of simulated opening and closing of a window. The profile might have several seconds of rapid up/down button presses, followed by 10 full openings and closings. The up-button and down-button states would be stored as two signals in the profile.

The tester also might provide varying resistance to the window, making the motor work harder to raise and lower it by using a brake on the motor. This resistance level would be another signal in the profile. If the driver’s arm were stuck in a closing window, a force sensor would tell the ECM it can move no farther. This force switch’s readings also would be included in the profile.

Using this profile, the tester would run the ECM and motor as if a person were rapidly pressing the up/down buttons while supplying the specified levels of resistance to the motor and occasionally setting the force-limit switch signal. This five-minute profile cycle may be repeated hundreds of times in a durability test.

Tester Setup and Hardware

The tester consists of three enclosures on wheels. The PC and the data acquisition and control hardware are mounted securely in one enclosure. The motor and brake fixture, power supplies, and supporting electronics are in two smaller enclosures (see Figure 2 in the July 2001 issue of Evaluation Engineering).

The ECMs attach to 3-m cables from the fixture enclosures. With this layout, the ECMs can be inside an environmental chamber or on a vibration table during the test. Cables from the data acquisition enclosure quickly connect to one or both fixture enclosures. With this portability, tests can be run in the noise, fluid-spray, or environmental laboratories and anywhere else as required.

The user defines test conditions on the test-setup screens, including output profiles and alarm limits created with separate utilities. When the test starts, it automatically executes the steps necessary to power up and run the modules.

The run-time screen displays test-progress information. User input is not required to complete a test; all data and reports are stored automatically. The test report, used to make design decisions on the product, shows the results of each module for each executed step, including any failing steps. The multiple-unit test system saves time and labor and is useful for comparisons among modules.

Each ECM communicates with the tester using CAN communications. These channels are included in the test reports and appear just like the hardware-acquired data. CAN communications are slower than the 100-ms loop rate of the engine, so the tester receives and processes CAN data in parallel and updates whenever new information is available.

Checking and Exercising Modules

LabVIEW executes a sequence that was programmed in NI TestStand to determine the test steps and control commands for a high-speed checkout of key parameters and a long-term durability test. You can easily change the limit range for each test step by altering an entry in a text file, which allows the test engineer to quickly pass or disable steps without recoding the sequence (see Figure 3 in the July 2001 issue of Evaluation Engineering).

To operate the modules, the tester must reproduce valid driving conditions. For example, using a high-speed output board, the module receives a simulated sensor signal that is updated every 10 ms. Function generators supply two other square-wave repetitive signals, imitating commands from another controller. Power supplies are used in place of the automobile batteries to output varying voltages. Relays simulate the ignition being turned on and off.

In less than five minutes, the high-speed test detects software or hardware component failures and checks several voltage, current, and temperature measurements while powering up, running, and powering down the modules. This high-speed test simulates three predetermined states and limit-checks several parameters.

Another portion of the test raises or lowers the battery voltage to observe how and when the modules shut down. Typically, modules must pass the high-speed test before they are run in a durability test. If a failure is caught before the ECM is run for extended periods of time, module damage and repair costs can be minimized.

The durability test runs for several days at a time, continuously cycling through preprogrammed driving conditions. The test includes many of the high-speed test steps, since it also must power the ECMs up and down. User-specified parameters are continuously monitored and limit-checked. If the module is outside the parameters, it is shut down. Design verification engineers use the logged test data for analysis.

Both the high-speed checkout of key parameters and the long-term durability tests are run at varying voltages, temperatures, and other environmental conditions to stress the module as if it were in an automobile and to detect failures or problems before production begins. The customer’s overall verification process includes multiple runs of both test types, with each run at a different temperature and voltage.

Conclusion

Immediately after delivery of the tester, the customer found several unexpected problems in the ECM electronics. The complexity of the motor-control algorithms and the constantly changing nature of the design made it difficult to accurately predict how the modules would react while running. This PC-based test system provided the necessary data to aid in rapid design and prototype building.

The engineers can edit the test sequence, test setup, input channels, and CAN addresses to support future test requirements. They also can verify the ECM more completely, find design issues faster, and bring the product to market in a shorter time period. As module design and the test process evolve, the tester can be upgraded to reflect these changes.

About the Author

Robert Conde is a project engineer at VI Engineering. He earned a B.S.E. in electrical engineering from the University of Michigan. VI Engineering, 37800 Hills Tech Dr., Farmington Hills, MI  48331, 248-489-1200, e-mail: [email protected].

Return to EE Home Page

Published by EE-Evaluation Engineering
All contents © 2001 Nelson Publishing Inc.
No reprint, distribution, or reuse in any medium is permitted
without the express written consent of the publisher.

July 2001

Sponsored Recommendations

Comments

To join the conversation, and become an exclusive member of Electronic Design, create an account today!