Multiplex network

Circuit layouts already universally adopted in computers finally made their way into contemporary cars. Although their functioning might be frighteningly complex for people used to traditional circuits, they actually make the cabling very simple and the addition of component interactions possible in ways never experienced before.

Conventionally, cars used individual wires connecting the various elements—steadily increasing in number—on board. The huge amount of wires, connectors, wiring harnesses were a constant source of connection problems. The various circuits were largely independent (sharing only the feed and the ground), although some components had to interact (for instance, fog lights should work only when the headlights are switched on), necessitating connections between the various components (usually using some kind of a switching logic, relays for simpler tasks and small electronic modules for more complicated ones).

As various subsystems (engine management, suspension, ABS, etc.) came from different manufacturers, some functions were even built in parallel. Several subsystems might rely on the signal sent by a coolant temperature or a vehicle speed sensor but it was simpler for the manufacturers to fit two or three such sensors into various places, using every one of them only by their respective subsystem, than to find ways to share the sensors, introducing interconnecting wires and the danger of one failing subsystem to influence the others.

The multiplex wiring first seen on late XMs and later used on newer models like the Xsara Picasso or the C5 introduces a radically different concept: just like in the computer used to read this book, there is a central backbone circuit called bus which goes around the whole car—actually, there are four of them, a Controller Area Network (CAN) and three Vehicle Area Networks (VANs), dealing with different areas: the CAN is only responsible for the connection between the central unit and the engine, gearbox and suspension computers, the VANs for the rest of the systems: the first serves the safety systems like the airbag, the second the various doors (including the sunroof) and the anti-theft system, the third everything else: the instrumentation and the comfort gadgets.

The bus—in contrast to the traditional wiring harnesses hosting many individual wires running side by side to serve different components—is a common channel of information flow for all components connecting to it. It uses only two wires which all associated components connect to in parallel (in addition to this, the devices are connected to the ground as usual; the two input wires serve as a safety measure, using them both makes the system resistant to any outside interference, and the whole system remains functional even if one of the bus wires becomes broken, shorted to ground or positive feed). There is no special controller or owner of this bus, each device connecting to it is free to send or receive messages and commands to the others, at a rather high speed (approximately ??? messages per second).

Each message or command is a sequence of a few numbers, specifying:

  • the sender and the intended recipient of the message (every device connecting to the multiplex bus has its own address, a unique numerical identifier—for instance, the fuel level sensor has the address 4315, the instrument panel is 0004);
  • whether the recipient should acknowledge the message as it processes it;
  • the actual data the message transmits;
  • some additional values to check the integrity and validity of the message at the receiving end.

Each major unit sends its own data into the network at predetermined intervals, marking the message with its own address as a sender (some simpler sensors are connected directly to a computer which sends the messages relating to their measured values on their behalf). With our example, the fuel level sensor sends the amount of fuel it measures, specifying the central unit (BSI) as the intended recipient. As soon as the BSI sees this message circulating on the network, it processes it by retrieving the data—the value of fuel level—from the message and comparing it to the previously known value. As the amount of fuel is not supposed to change drastically from one moment to the other, it discards the new value if it differs too much from the previous one.

If the new value is acceptable, the BSI emits another message of its own, addressed to the instrument panel this time. As the instrument panel receives this second message, it extracts the data representing the amount of fuel left in the tank and turns this signal into the physical rotation of the gauge needle.

All devices are constantly observing the bus for messages addressed to them, ignoring the ones sent to other recipients (although there are special broadcast messages sent to all devices, without specifying a single addressee)—actually, the instrument panel saw the original message coming from the level sensor as well but ignored it, it only acted when the second message, sent by the BSI and addressed specifically to it, arrived.

All components work in a similar way. Some are simple enough to send a few simple messages (like sensors or switches) or to receive only a few ones (like electric window motors). Others are complex subsystems themselves, like the suspension, observing the input from a large number of sensors and performing complex operations. But as they are all connected to a common bus, the possibility of interaction is already there. Whether the headlights light up, the electric windows close and the wiper starts to work in case of rain, or whether the passenger side external rear view mirror folds down when engaging reverse gear have all become simple questions of software written for the central unit. Adding a new feature does not require building a single extra wire or connection, just to add a few lines to the software.

Center of Attention

The four networks all connect to the central unit, the Built-in Systems Interface (BSI). This control unit manages the flow of information between the networks (many of the messages generated in one network has to be relayed to another, just one example is the suspension computer—connected to CAN—being interested in messages about the open or closed position of the doors—communicated on VAN 2).

In addition to that, the BSI offers an interface to the outside world as well, a diagnostic socket which can be used to check, test and configure the whole system.

The multiplex system switches to an energy-saving low power mode whenever possible.