Continue to Site

Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

  • Congratulations SSS148 on being selected by the Eng-Tips community for having the most helpful posts in the forums last week. Way to Go!

Do Control Modules Self Test at Start-up of Vehicle?

Status
Not open for further replies.

bill190

Electrical
Mar 23, 2009
26
Do the various electronic control modules in vehicles do any sort of self testing?

Say for example one bit of a memory chip failed, or an AND gate failed inside of a CPU (or other types of hardware problems cropping up). Would this automatically be detected by any sort of self testing?

Or would a technician need to run a diagnostic test typically?

And so far as software (firmware) being flashed into a vehicle control module, I assume that the software (factory) flashing the unit would read back what it wrote to verify it was flashed without any errors? Or no?
 
Replies continue below

Recommended for you

They clearly do self-test on startup; not of the car, of the computer, i.e., after the battery is reconnected. Then they do some dynamic learning, establishing the behaviors they need to best control the particular engine in the particular vehicle, and storing them until power is removed. That was as of ten years ago. Flash makes some of the learning unnecessary, or allows a better starting point.

Common procedures for programming flash memory include readback and comparison, usually within the programming device, to make sure the program 'stuck'. All invisible to a technician.

It's not easy for an embedded computer to isolate a hardware failure on its own, or for a human programmer to tell it how to do so. I don't think any of them run a background bit-check routine, because it would bulk up the program for miniscule returns. I.e., if cosmic rays mess up something external to the diagnostic code, they're just as likely to mess up the diagnostic code itself. That level of self- diagnostics is part of how the Shuttle wound up with seven identical computers to do the work that one car computer could do.

Instead, it appears that car computers are constantly running sanity checks on what they can measure. In some cases they just 'send up a flare' when something doesn't make sense. In other cases, given what is now decades of collective experience, they can infer what's going on by measuring stuff that's nominally unrelated. One good example; car computers can detect a loose gas cap, but they don't have transducers specifically for that purpose. Instead, they do some shenanigans with venting and closing the vapor emission control devices, and measure the time it takes for some switch or other to change state in response. I'm fuzzy on the details, but Google can probably find a writeup on it.

Now, if a technician is telling you that he needs to run a diagnostic test on your computer... well, he may be just trying to pay for the expensive tester he bought. Odds are that the problem is somewhere other than in the car computer, but the process of connecting the tester and running the test may clear up the problem, or cause it to become bad enough to diagnose by other means, or may cause the tech to look under the correct rock.

No, I'm not saying the tech is ripping you off. If a test costs less than replacing the computer, and makes your problem go away, then whatever its intrinsic worth, it was a good test.



Mike Halloran
Pembroke Pines, FL, USA
 
Mike Halloran said:
No, I'm not saying the tech is ripping you off. If a test costs less than replacing the computer, and makes your problem go away, then whatever its intrinsic worth, it was a good test.
Side note... I'm always highly annoyed when a tech tries to charge me $75+ to connect an OBD-II reader to my car when I can get the same thing done for free at the local AutoZone.

Dan - Owner
Footwell%20Animation%20Tiny.gif
 
Yeah, me too, so I bought an OBD-II reader of my own. Even got my wife to use it while I'm away. Just ordered another one that claims to read and store transients.

My friend Ted spent a lot more money and got a professional version that does even more, but I'm not aware of one that can trigger or conduct a test down to gate level, or what good it would do. So far, in my limited diagnostic work, I haven't found an actual bad computer.





Mike Halloran
Pembroke Pines, FL, USA
 
Well specifically I read of a problem with 2004 GMC 1500 Sierra pick-up (not mine) where the left trailer light will not work when the brake pedal is pressed, however works ok for left turn or hazard flashers (right works ok). And the truck lights work fine.

Another trailer was plugged in and had the same problem. No electronic modules on trailer.

The schematics show the left trailer light using the same wiring, fuse, and relay for both the left turn and stop light function.

The activation for the relay comes from the BCM and this relay is a separate trailer output from the BCM.

Then separate inputs go to the BCM for brake and turn signal.

So it seems to me the BCM computer is receiving the correct information, but not telling the left trailer light relay to turn on with a stop signal from the brake. However at the same time telling the left and right truck lights to turn on and the right trailer light to turn on.

So this would seem like a software bug to me, however being a 2004, I should think a problem such as that would have long ago been noticed and corrected.

So the question is, could this be a subtle hardware problem with the BCM computer. And if this was a hardware problem, it sounds like you would need to remove the battery cable, then reconnect for the unit to do a self test and find it (as discussed above).

Or it could be a software problem, but that does not make sense to me, as said above, the flashed in software is read back and verified.

I'm not concerned about this specific problem, but was just "curious in general" about a situation such as this and how a problem such as this could occur.

Note: I have no first hand dealings with this problem, so it is possible that someone programmed in the wrong settings to the vehicle BCM or modified the programming in some way or a prior owner of the vehicle did this.

But for curiosity sake, let's say everything is as it should be...
 
It could be a bug... and it's possible that nobody noticed.

Only a few dealers or customers would bother to use factory wiring for a trailer hookup.

The aftermarket has all possible permutations of brake/turn lamps covered, probably far cheaper than factory stuff even at dealer prices.



Mike Halloran
Pembroke Pines, FL, USA
 
Sounds like a bad earth.

Cheers

Greg Locock

SIG:please see FAQ731-376 for tips on how to make the best use of Eng-Tips.
 
Oops; Greg is right; GM product, just out of warranty, bad grounds start showing up; tradition.



Mike Halloran
Pembroke Pines, FL, USA
 
They controllers typically self test when accessory power is supplied.
 
Oh, Brave New World, that we rednecks can't even hook up our bass boats to our pick-ups, without downloading the ECU.

(apologies to Huxley)
 
Actually I like troubleshooting electrical/electronic things. Before computers were placed in vehicles, I had no interest in troubleshooting electrical problems with these. (Simple and boring!)

Now I own two older vehicles with all sorts of computer gizmos and have many nearby wrecking yards to pull these same gizmos out of and play with!

Now I'm having all sorts of fun and like troubleshooting electrical systems in cars/trucks. It is a whole new electrical world out there.

I was thinking about installing factory A/C in my older car, but was putting it off. Then I looked at the wiring diagrams and saw it had 4 connections to the engine computer... Hummm!!! Then I suddenly became quite interested and did it! The wiring part and learning how the electrical things worked along with the computer was the most fun.
 
Most likely, the BCM has a small internal relay and this internal relay drives a bigger relay in the fuse box. More than likely, the small relay in the BCM has failed.

I know that a BCM can often be fixed by changing the failed relay(s) in it.

 
No, most likely it is a bad earth.

Cheers

Greg Locock

SIG:please see FAQ731-376 for tips on how to make the best use of Eng-Tips.
 
If the same power circuit will light the same filament bulb for "left turn" but won't for "left brake" then it seems to me that whatever controls the power circuit is faulty.

Since the power circuit is controlled by a relay whose coil is controlled by an output from the BCM then it further seems to me that the BCM is faulty.

I've read that GM BCM's have small control relays internally for the outputs so I'll stick by the possibility that there is a bad relay. But then, it's very likely there is only one internal BCM relay turning on that output, meaning it must be something else. So, it could also be the input signals or the input circuits of the BCM. For example, is the "brake" input a single wire or one for each side?

I very highly doubt there is such an obvious programming bug. My parents have the same year GM truck and it's factory wired trailer harness operates the lights on their trailer just fine.
 
It seems to me that I have personally seen such erratic behaviour in a trailer lighting system then seen it disappear when I backed of then re tightened the earth wire screw.

Regards
Pat
See FAQ731-376 for tips on use of eng-tips by professional engineers &
for site rules
 
To go back and answer the origional question. The modules do certain self tests. At power-up, there will be checks that things are working internally. At running, mostly, the checks are basically if-then conditions - when this is happening the module checks for this result - type of thing.

The checks don't get down to the "bit" level, however, that kind of damage can cause corruption in the program which should crash the processor and be caught with a watchdog circuit or watchdog code.

To further use the BCM example. The BCM gets inputs to control the signal lights. It then decides to turn the light on. There may then also be a wire from the actual light back to a BCM input so it can confirm that it was successful.

 
I know a few ECM which do a checksum on their program code on startup.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor