Tackling Multiplexed Electrical SystemsBy Larry Carley, Technical EditorOver a decade ago, engineers realized that the rapidly growing use of electronics in automobiles would eventually require a radically different approach to wiring. As the electronic content of vehicles continued to increase, so did the bulk, weight, cost and complexity of wiring systems. In 1980, the average car had about 500 separate wiring circuits in its wiring harness. Over the next 10 years, the introduction of electronic fuel injection, electronic transmissions, air bags, antilock brakes, traction controls, automatic climate controls, electronic steering and suspensions and more power accessories added even more wires. By 1992, the average luxury car had a wiring harness bulging with more than 2,000 wires - a fourfold increase in a little more than a decade. It was clear that something had to be done to curtail the growth of wiring harnesses. But what? ![]() Some circuits can be easily shared to reduce the number of wires needed. Ground circuits and power supply circuits can often be shared, though individual components need to be fused to protect the rest of the wiring from overloads. A dome light, for example, needs a power supply and ground to operate. But it also needs a door switch to turn it on and off. And some bulbs like turn signals, brake lamps, backup lights and warning lamps have to be on separate circuits because they operate independently of one another. So how can multiple devices share the same circuit? The answer is multiplexing. The basic idea with multiplexing is to use the same wire to share command signals, feedback signals and data between devices. Power and ground are still provided separately, but the "switching" circuits are combined. This eliminates the need for so many separate wires and allows wiring harnesses to be smaller, lighter and cheaper. Here’s how multiplexing works. In a multiplex wiring circuit, each device has its own ground connection and power supply. Power flows through one wire and the vehicle body serves as the universal ground connection. The on-off commands and other data needed to operate the different devices are all carried on a second wire called the "data bus" wire. They probably call it a bus because it carries multiple passengers. To make it all work, some extra electronics are needed to generate the command signals and data, to manage the traffic along the data bus route, and to filter out the messages that are received at each point along the way (called "nodes"). This requires a special module or chip at each node to handle the communications. Sending all the operating commands and shared data along a single wire thus eliminates the need to hard wire each individual device. This reduces the number of individual circuits needed to operate the vehicle and allows any device connected to the data bus to communicate directly with any other device on the bus. This allows engineers to make cars a lot smarter by having various modules interact in ways that were previously impossible. ![]() Sharing Circuits Later, as telephone equipment became more sophisticated, true multiplexing was developed as a means of increasing the number of long distance calls that could be handled by a limited number of lines between cities. Special equipment at both ends of the long distance lines chops calls into little coded snippets which are then sent through shared circuits in rapid fire sequence. At the other end, the pieces are sorted out, reassembled and sent on as complete conversations - and nobody is the wiser, unless there’s too much traffic on the lines and we hear an "all circuits are busy" sound. By coding each message, there is no eavesdropping even though all the messages are sharing the same line. Coding also keeps the messages separate so they don’t garble one another. It’s the same principle with automotive multiplexing. The outgoing calls are the command signals, feedback signals and operating data generated by various modules and devices on the data bus. The receivers are any other module or device that has authorized access to the information. The key to multiplexing is keeping all the messages separate, and filtering out only those messages that need to be heard from all the buzz on the party line. Just as in real life, some messages are more important than others and are given priority. This is done when the message is coded. Priority status gives a message the "right of way," so to speak, on the data bus, meaning other messages have to wait until the important one makes the rounds. Protocols The one that eventually emerged as the standard for U.S. vehicles today is SAE J1850, which actually allows two different methods of multiplexing: a pulse width modulated (PWM) signal with a baud rate of 41.6 kilobytes per second, and a variable pulse width modulated (VPWM) signal with a baud rate of 10.4 kbs. With both approaches, all communications on the data bus consist of individual messages or packets of information rather than a continuous stream of information. Each message is coded in binary language with "1’s" and "0’s" that represent coded numbers or words. The "1’s" and "0’s" are called "bits" that add up to make "bytes." Think of bytes as words in computer language. Still with me? Good, because it gets worse. Every message is like a little freight train carrying separate bits of information in a chain of cars. Each car represents a different part of the message. The whole message is called a "frame." At the front is a start byte followed by additional bytes that identify the type of message (body control module, PCM, HVAC, ABS, etc.). Next come the data bytes that contain the information being sent. After this comes a "cyclic redundancy check" byte to verify the integrity of the message, followed by an end-of-message byte. Got the train picture? Well, like real trains sharing the same track, there needs to be a traffic cop to keep all the messages on the data bus from colliding with one another and causing a wreck. That’s done with a clock that divides the available time on the bus into little segments. Each message is then assigned a time slot and sent on its way. Each transmission takes only a few microseconds, so a lot of information can be sent and received along the data bus in a short amount of time. The speed of transmission is known as the "baud rate," and the higher the baud rate the faster the system can communicate and process the information.
When a message goes out over a multiplex data bus, it passes by every module attached to the bus - but is only received by the specific module to which it is addressed. The other modules ignore the message and wait for messages that are meant for them. Some modules are programmed to listen all the time, while others only sample the traffic from time to time. It all depends on what the device does and how much input it needed to do its job. One of the advantages of multiplexing (besides reducing the number of hard-wired circuits needed in a wiring harness) is that the receiving device can also communicate back to the module and let it know the message was received (unlike outgoing e-mails that often end up in Never-Neverland). That allows the system to self-diagnose faults. If the PCM sends out a command to a specific module via the data bus but hears no response back, the PCM can recognize the fault and set a diagnostic trouble code. General Motors, for example, has several enhanced OBD II codes for serial data communication problems between certain modules. A code P1573 indicates a serial data circuit problem between the PCM and EBTCM. Other GM serial data trouble codes include P1603, P1604, P1605, P1610 and P1611. Applications On this application, the BCM controls the data bus and receives inputs from the driver via the LSP assembly. If the driver pushes the button to turn on the lights, the BCM processes the request and sends out command signals to each headlamp and taillight OSM. To make the system as failsafe as possible, the BCM continuously monitors the LSP and OSMs to make sure they are all on-line and functioning properly. The data bus also is designed as a complete loop so that each module on the circuit can receive communications from either end should an open occur in the wiring. If the BCM detects a fault, it sets a diagnostic trouble code and informs the driver with a "Lighting Fault" message on the Climate Control Drive Information Center. The system has a self-diagnostic mode that can be manually entered by turning the ignition on and pushing and holding the Off and Warm buttons simultaneously on the control panel. Any codes with an "L" prefix indicate a problem in the multiplex lighting circuit. Pushing "Reset" exits the self-diagnostic program. On this system, the BCM also does some smart functions when a bulb fails. If a low beam goes out, it turns on the fog lamp on the same side to compensate. If a front turn signal fails, the BCM uses the parking lamp to flash the driver’s intentions. If an OSM fails and has to be replaced, a single module can be used in any location. Okay, so the Allante is history. But multiplexing is not. With each new model year, more and more systems are being multiplexed to reduce wiring complexity. When General Motors redesigned the Corvette in 1997, it also reworked the wiring harness to include more multiplexing. This reduced the size and complexity of the wiring harness by 20%, allowing the car to have more "smart" features and communications between the engine, transmission, ride control system, ABS and stability control system. It’s the same with many high-end luxury and sports sedans today. In recent years, most vehicle manufacturers are using multiplexing where it makes sense. It’s too expensive for applications that can be easily hard-wired with conventional circuitry. But for sharing information between control modules, it has become a necessity. On the Volvo S80, even the outside rearview mirrors are multiplexed to receive commands from the buttons on the driver’s door. On 2001 and newer Chrysler minivans with rear A/C, multiplexed modules control the airflow and blend doors front and rear. ![]() Diagnostics A worse situation is when communications are garbled because of unwanted noise on the data bus or because a module is generating a bad signal. This can cause other modules to ignore or misread their instructions with unpredictable results. The vehicle may not start, it may run fine then stall for no apparent reason, lights may come on or off, accessories may operate intermittently or with a mind of their own, etc. These kinds of problems often don’t set a trouble code and act as if there are ghosts hiding in the electrical system. Outside noise can sometimes be generated by misrouted spark plug wires that run too close to the wiring harness. A bad alternator may even cause enough variation in output voltage to upset the operation of the entire system. Some multiplex systems, such as Chrysler’s C2D system, use a "twisted pair" of wires for noise suppression. Others, like GM, use just a single wire. In either case, loose or corroded connectors, weak grounds, shorts and opens can degrade or destroy the integrity of the data bus circuit. Even low battery voltage can cause problems. The key to diagnosing multiplex electrical problems, therefore, is
If you hook up an oscilloscope to a data bus wire and display the signal, you’ll see a digital square wave pattern that changes in pulse width or frequency. The wave pattern confirms there’s data on the bus, but the data is meaningless because it’s all binary code you can’t understand. It’s the same as looking at serial data on a Data Link Connector (DCL). It’s all gibberish unless you have a scan tool that can translate the data into readable information. If there’s no data on the bus (a flat liner), there’s no communications going on and the module that generates the bias signal (usually the BCM or PCM) is probably dead. A good data bus signal should be a square waveform with nice sharp corners, flat tops and bottoms, and vertical sides. Peaks, rounded corners, spikes and sloping lines are all indications of trouble because they distort the waveform and make it hard to read. The underlying cause may be outside or internal noise, bad connections, excessive resistance, voltage problems, etc. One thing you can measure is the height of the waveform to see if it is within the specified voltage range (typically 2.5 volts or 7.75 volts depending on the application). The same check can also be made with nothing more than a DVOM. For example, say you’re looking at a Chrysler Collision Detection multiplex data bus. This system normally operates at 2.5 volts, ± 0.1 volts. If the data bus voltage is out of range, there’s a problem. The body control module generates the bias voltage on this system, so one way to track down a bad module is to unplug the other modules one by one until you find the one that brings the voltage back down to normal. Do this with the key off, then recheck the bus voltage each time after turning the key back on. Don’t unplug any modules while the voltage is on as doing so could create a voltage spike that might cause additional damage. |