www.LukeSkaff.com

GM OBD-I ECU \ ECM Test Bench

ECU \ ECM Test Bench Overview:

In order to make this project feasible during software development a method for running the automotive ECU on a bench had to be created. Each critical engine sensor the ECU reads is simulated so the ECU will not go into an error running state. Some sensors are simply variable resistors such as the temperature sensors and throttle position sensors, so these could be simulated with a potentiometer. The ECU outputs a 5 volt reference for all the resistance based sensor circuits. For the temperature sensors and throttle position sensors, potentiometer resistance values were selected based on the resistance range of the original sensor the potentiometer was replacing. Two variable frequency square wave pulse generation circuits had to be designed to simulate the vehicle speed sensor and the engine RPM input. The frequency of each square wave is directly proportional to the speed in MPH and engine revolutions in RPM the ECU reads.

Designing the circuits to simulate the vehicle speed sensor and engine RPM output required more then just a potentiometer. Experimentation was done with using a 555 Timer circuit and using a set capacitance value with a potentiometer in the RC section of the 555 Timer circuit. The result was the inability to produce a wide enough frequency output range and the inability to bring the output down to zero hertz for an off state. So a Voltage Controlled Oscillator (VCO) IC was selected to perform the task. A low cost CMOS 4046 Phase-Locked Loop with VCO IC was selected for the job. The inputs for the phase-locked loop portion of the IC are tied to an inactive state and affectively disabled. On CMOS IC's it is recommended to tie all inactive inputs low to avoid damage to the IC and to produce reliable results. The VCO portion of the IC was used to achieve the desired square wave output. Since the IC was CMOS and can only output small output currents in the 1-5mA range, the output was run through a TTL 74LS04 inverter which can provide up to 20mA output which is more suitable for the ignition module signal load. An inverter was selected due to easy availability. A TTL buffer or many other chips could be used to achieve the same affect.

Figure 1: RPM and MPH input, Square wave generator circuit
VCO RPM and MPH frequency generation circuit

The circuit seen in Figure 1 is the square wave generator circuit. It consists of two variable square wave outputs, one for the RPM input and one for the MPH input on the ECU. The output frequency is determined by the capacitance between pin 6 (Cx) and 7 (Cx), the resistance on pin 11 (R1) and 12 (R2), and the voltage present on pin 9 (VCOin). Before determining the correct values to be placed on these pins the desired frequency range to be inputted into the ECU must first be determined.

The maximum RPM the ECU can read is 6375 RPM’s. This is because the engine RPM is stored in one byte of memory with a multiplier of 25. This results in 255 multiplied by 25 which equals 6375 RPM. The engine the ECU operates is only capable of 6000 RPM’s so this limit is not a problem. Some ECU’s and or code masks can read up to 9000 RPM’s so it was decided to make the RPM generator circuit output a maximum frequency equivalent to 9000 RPM’s for future uses. The distributor which generates the RPM signal for the ECU is connected to a camshaft which rotates at half the speed of the engine output crankshaft. The distributor outputs one pulse per cylinder fired. So the distributor is outputting 4 pulses per engine rotation on a V8 engine. The maximum frequency desired for the circuit to produce is calculated below:


150 Rotation per seconds x 4 pulses per revolution = 600Hz

The maximum speed the ECU can read is 255 MPH since it the speed variable is stored in one byte of memory. The vehicle speed sensor outputs 2000 pulses per minute at a speed of one mile per minute. A speed of one mile per minute is 60 miles per hour (MPH). So the pulse per second (Hz) at 60 miles per house is 2000 divided by 60 which equals 33.3 Hz. Using this ratio it can be determined that a pulse of 141.6 Hz is needed to max out the ECU’s MPH reading of 255 MPH. Of course this speed would never be achieved in real life but for testing purposes the full range of the ECU is utilized. It was chosen to round up the MPH pulse to a max of 150Hz for simplicity.

To calculate what resistor and capacitor values were needed to achieve these desired frequencies a bench testing of the circuit method was used. The circuit was built on a bread board and an oscilloscope was used to measure the output frequency. The starting test values where chosen from the 4046 datasheets graphs and final values where chosen after tweaking the values to produce frequency results of the above calculations.

Figure 2: VCO MPH and RPM square wave generation circuit
VCO MPH and RPM Squarewave generation circuit

Figure 3: ECU Test Bench
ECU Test Bench




Page content created on: Spring 2007
Page content last updated: 09-05-2009