CAN Bus and Brake Lights
Diagnosing today’s electronic systems is a bit different than it was
just a few decades ago. Before a test light and a wiring diagram was
about all you needed. Then, along came the light driver modules or
brake lamp warning controllers (as it was called on some models).
With these modules, the brake light signal had to pass through them
before turning on the actual brake light. But, that’s all changed again.
The CAN Bus has taken over as the electrical pathway for just
about everything in regards to sending and receiving electrical
impulses or data to and from the actual circuits. However, to
actually diagnose the modern brake lights you need to know a bit
about how the current is sent along the CAN Bus route first.
The CAN Bus
The Controller Area Network (CAN) allows various electronic
components to communicate on a network of wires, feeding
information to and from various modules or controllers. Typically, the CAN is made up of two wires. A CAN-H (high) and a CAN-L (L). The signals on the two data lines have the same sequence of data, but their amplitudes are direct opposites. Meaning, if a pulse on the CAN-H line goes from 2.5V to 3.75V the exact opposite signal should show 2.5V or 1.25V on the CAN-L line. The two lines should always equal the initial start voltage which in this example would be 5V. The actual voltage readings will vary depending on the application and protocols the vehicle manufacturer is using, but most operate in the 5 to 7 volts range. This balance of opposites greatly reduces the chances for data to be corrupted by noise are some type of outside interference.
CAN messages are distinct for each different command. Each command starts out with an identifier (usually an 11 bit code that tells what kind of data is in the message) followed by a priority code that tells all the other signals on the bus how important this particular information is. This is followed by a series of data bytes which contain the actual message, which is then followed by an end of message data to confirm the message has ended. All of this happens in a blink of an eye. If multiple signals are trying to transmit a message onto the CAN Bus at the same time, the message with the highest priority automatically gets sent first. Lower-priority messages must wait until the CAN Bus becomes available before trying to transmit again. In this way, the network ensures that all the higher function information gets passed along as quickly as possible. Data is sent as a series of digital bits consisting of "0's" and "1's". If you looked at the data on a scope, you would see a square wave pattern that changes between a high and low voltage reading. The low voltage reading usually corresponds to the "0" while the high voltage reading corresponds to the "1".
Data Bus Priority
The data on the CAN Bus is divided into different classes or what is also referred to as the speeds. This is part of the protocol that determines which data gets to go ahead of the other data on the Bus line.
Class A is a relatively slow speed circuit. It typically carries less than 10 Kbps (kilobits of information per second). A data bus that operates at Class A speeds is limited to simple command functions like operating mirrors, seats, windows, door locks, remote trunk releases and interior and exterior lights.
The Class B data operates from about 10 Kbps to 125 Kbps, depending on the operating protocol. The Class B is fast enough to carry more complex information and time-sensitive data. Systems like the instrument cluster, transmission shift points, security systems, and climate control, to name a few.
Class C is currently the fastest data bus rating (for now). They can operate at speeds up to 1 megabits per second, which is up to 100 times faster than a typical Class B data bus. Vehicles that are currently using a Class C data bus are operating at speeds of around 500 Kbps, which is fast enough for powertrain control modules, air bag modules, anti-lock brake and stability control systems. On most cars today, a high-speed data bus is needed to handle the volume of information going back and forth between all the onboard electronics.
GM Class 2
In 1995, GM introduced its own "Class 2" data bus to handle communication between modules. The system ran at a speed of 10,400 bits per second (10.4 Kbps), which was more than adequate for the information and data for those vehicles. In 2004, GM moved to their next generation data bus system called GMLAN (GM Local Area Network). Introduced on the Cadillac XLR and Saturn Ion. The GMLAN added the capability to operate at two speeds on two separate buses: a low speed (33.33 Kbps) bus and a high speed (500 Kbps) bus.
The low speed GMLAN system operated on a single wire bus to handle body related control functions, while the high speed bus used two wires to carry data between the powertrain, transmission and antilock brake modules. A "gateway" node connects the high speed bus and low speed bus, and allows information to be shared back and forth. For example, the radio (which is connected to the low speed bus) may adjust volume based on engine speed and vehicle speed (from the high speed bus) to offset road noise.
Can Bus Diagnostics – what to look for
Even though the CAN systems use fewer wires and fewer connectors, they also have much more complicated diagnostic procedures. Communication problems can occur from corroded, loose, grounded, shorted or broken connections, or dropped voltage signals that fall below specifications. Some modules may even forget their calibrated settings after losing battery voltage or just from a dropped voltage reading.
For example, some Chrysler products with automatic climate control, can quit functioning after battery power is lost. Basically, the blend doors forget their locations. Now the system has to go into a "relearn" mode to re-establish all their settings.
Most modules on the CAN Bus require a certain amount of voltage for their Keep Alive Memory settings. If this is lost, the module will forget its calibrated settings and may not function properly until it has time to relearn the lost data. In some cases, this requires a special relearn procedure using a scan tool or a new key cycle. On some vehicles, the module may go to sleep and not wake up until a scan tool or the BCM sends a data message to wake it up.
One of the features of CAN and other network systems is that modules can send and receive a “Hello” signal to let the main control module know everything is A OK. I tend to refer to it as a hand shake or roll call request. In theory, this makes diagnostics easier. On the other hand, it also means that if one misbehaving module generates a false signal (or even a grounded signal) it can disrupt the entire network causing complete chaos or in some cases a complete shutdown of the vehicle.
When a serial bus communication problem occurs, it will usually set a "U" diagnostic trouble code and turn on the check engine light. Depending on the fault, the vehicle may or may not start, or it may operate in limp mode. Loss of communication between the engine controller and transmission controller (for example U1026 on a GM) may put the transmission into a limp-in mode where it will only operate in one or two gears.
Loss of communication codes may indicate a wiring problem on the bus, or a fault with a module. Isolating the fault may require unplugging modules one at a time until the fault is found. Just remember that all modules on a bus network need three things to function properly: power, ground and a serial data connection.
When diagnosing bus or module communication problems, you should always start by checking for voltage and ground connection, then the data lines. If all three are good but the module isn't working, it’s a fair assumption that the module in question needs to be replaced.
With the right scanner you can shorten some of the diagnostic time by going to the section for data monitoring. On GM applications, a code U100 or U1255 means a general loss of communication on the data bus. Using a Tech 2 you can go to the Diagnostic Circuit Check, then Message Monitor to see a list of active modules and compare it to the list of modules that are supposed to be on when the key turned on for that particular vehicle.
CAN Bus basic testing using a multi-meter
Using pins 6 and 14 of the DLC, you can use your ohm meter to read the values between the pins. The reading should be close to 60 ohms. (Two terminating resistors in parallel totaling 120 ohms) If there are any issues with connections in any of the modules in the circuit the reading will be off or fluctuate as in when you are doing a wiggle test. If the ohms reading is higher or lower than 60 ohms it’s a good indications of a grounded or damaged module, connections or wiring. A clue that a network message is present is by recorded the resistance readings when the probes are reversed. If in doubt, use a voltmeter to test for “0” volts across the CAN lines and to the vehicle ground before making any resistance measurements. To test the resistance from the voltage supply to either CAN-H or CAN-L, (high and low CAN leads 6-14) there should not be any supply voltage present.
CAN Bus diagnostics basic setup using a scope
A two channel scope works the best for seeing the CAN bus signals. Attach the scope ground lead to the DLC connector # 5 (ground) then connect channel A to pin #6 and your channel B lead from the scope to pin #14 of the DLC. Once you have everything hooked up and dialed in, what you should see is two square wave patterns in a mirrored image of each other on the scope screen. Channel A and channel B signals should be exact opposites of each other. Any variants will be the indicator of a problem with wiring, connectors, or modules.
Brake lights and the CAN Bus – Case study 2014 Ford Expedition
On this particular model, as with many manufacturers today, the brake lights are not simply driven by a voltage signal from the brake light switch. Now, a signal is sent to the SJB (Smart Junction Box). The SJB monitors the brake lamp signal and relays the signal to the high mount stop lamp and supplies voltage to the other brake lights. The SJB uses an internal protection device called the FET (Field-Effect Transistor). This transistor measure output loads and any excessive current flow.
If for any reason, the current flow is high or low of the set value a DTC will be set. When the load has been turned off (brake pedal is not applied) the FET will reset back to normal. At this point it starts an internal counter, awaiting the next circuit activity. If the circuit remains shorted the FET internal protection shuts off the circuit again and counter advances. If the excessive current load occurs often enough it will then cease counting the failures and effectively shut the circuit off until the repairs can be made.
Testing the circuit is straight forward as far as voltage signals from the stop lamp switch to the SJB. In this case the signal was missing at the rear section of the vehicle. Both bulbs had been found faulty. Replaced the bulbs, cycled the key on and off, and rechecked. No other problems found and the codes were cleared from the BCM.
Note: most systems are fail safe with the high mounted stop lamp being routed directly through the SJB and avoid any internal protection such as the FET.
At best, the testing procedures can be started in two directions. One, using a scanner to read the codes and to control the brake lights. Two, pinpoint tests using a test light and a multimeter. Either way, following the procedures in the diagnostic charts can simplify the testing procedures.
Note: faulty bulbs, faulty wiring, and shorted sockets can all result in loss of signal to the rear section of the vehicle. Disconnecting the bulbs and checking the circuit may not work as well as you think because the open signal can set the FET into a tail spin and leave you with no current to the bulb socket and a new stored trouble code.
I hope this helps in understanding the complexities of the CAN Bus and how something as simple as brake light diagnostics has changed because of these systems. You’re never too old to learn something new.