An example of how CAN bus works; you step on your accelerator pedal, you expect your vehicle to move relative to your input on the gas pedal. This physical movement is sensed by a duo of sensors that utilize hall effect sensors to output a set of linear voltages. These pieces of data are hard wired to the engine control module. The control module will process this analog data and will convert it to a digital signal for internal processing and sharing.
What do I mean by sharing? There are other control systems that needs the information about your intent to accelerate. Why? The transmission needs to know this so it can properly shift gears, the stability system/ABS needs this info and of course many other system control modules for various control reasons that will be covered at a later time. The data created by your movement on the accelerator pedal is now outputted on the CAN network as a coded message for any other control modules on the network to utilize for there respective analysis to create an effect or action to do work.
The data created by the gas pedal is a coded message when on the CAN network, lets say that the only module that needed this information was the transmission control module. It now will begin to downshift the transmission via its internal hydraulic system. Before your vehicle will accelerate though, your engine needs to breathe more. What I mean by this is that your air intake which is adjusted via the Throttle body must open its throttle blade to allow more air into the engine. This in turn will affect other sensors that will feedback hardwired data back to the engine control module. The engine control module will modify your fuel injection on time, ignition system and camshaft timing at a minimum. This will allow for your acceleration to occur.
All of this data transmission needs to occur fast and reliably so that the driver does not experience erroneous non designed hesitations or worse yet failures.
What I have described up to now is a very simplified example of how CAN works. It is more involved but lets start with a bit of reviewing.
What automotive engineers have been utilizing since the early 80's is what is called multiplexing. Multiplexing allows for the vehicle input-output of sensor values, actuator control and transmittal of data over a set of wires in parallel between the networks control modules. This allows for communication without having to utilize immense amounts of wiring. One of the benefits for CAN is less wires/looms in vehicle equates to less vehicle weight. This improves fuel economy. CAN allows for more advanced Electro-mechanical systems to be installed and used on present day vehicles. Current safety systems require near instant information the vehicles dynamics and condition via a multitude of sensors.
The modules communicate with each other by sending coded serial data messages over the network. The data
messages are available to all of the control modules connected to the network. Modules connected to a multiplex circuit are often called nodes.
CAN bus networks allow for communication speeds of up to 500 K bits per second. The data that is transmitted occurs over 2 twisted wires. The majority of your vehicles sensors on a vehicle output analog data, voltages, resistances, amperage. The voltages can be at certain frequencies and amplitudes, the resistances can vary from low ohm-age to mega-ohms, the amperes can be near to zero to milliamps. All of this data is converted to binary codes internally in a control module. In fact it is converted so the control module can understand the analog data for its own analytical purposes. Lets say your input on the gas pedal earlier was equivalent to a voltage value of 3.5 volts and 2.5 volts. In binary code this would look like the following; 00110011 00101110 00110101 00100000 01110110 01101111 01101100 01110100 01110011 00100000 00110010 00101110 00110101 00100000 01110110 01101111 01101100 01110100 01110011. Lots of zeros and ones! This is how automotive computers communicate with each other.
CAN was created by Bosch in 1983, 1992 Mercedes Benz had the first vehicles with CAN bus networks, in 2008 all vehicles were mandated to have CAN bus installed in vehicles. CAN is the following in a nutshell:
- A way for multiple vehicle computers-modules to communicate with each other
- CAN supports and allows bi-directional communication between modules
- CAN communication speeds can reach up to 500 kilo bits per second and can handle large amounts of data
- Utilizes a twisted differential pair of wires for communication paths
- Computers-modules on network are called Nodes
- All Nodes see all messages on the respective Bus - this means it is a Peer to Peer network
- Each message- piece of data has a unique Identifier code
- The most important piece of data with the highest priority will always gain access to the bus ahead of lower priority messages
To be Continued........