CAN-BUS, what
is it,?.... and why?
(with an addendum for the Nerdy about other systems)
©
Copyright, 2011, R. Fleischer
canbus.htm-38A
What is Can-Bus
(CAN-BUS, CANBUSS, CAN-BUSS, Canbus, CanBus)
Can-Bus is a method and hardware and software to
enable communications between
'electrical and electronics things' on your vehicle; these
'things' can also be electro-mechanical. Can-Bus stands for
Controller
Area
Network, and the
'Bus' part is explained later
herein.
BMW decided to reduce the number of
electrical wires and connections, and hopefully reduce electrical
problems by operating just about everything, to the extent possible, by using digital electronics. There are
some definite
advantages, such as weight saving; manufacturing labor; and the
potential for much higher reliability;...as only two wires are
needed for most anything. In
addition, and more
importantly, the ability for the computer(s) to monitor and talk
to each other about just about any function, and particularly in
a very short time period, is greatly enhanced.
There are other reasons for going to something like Can-bus.
Vehicles are becoming vastly more complicated, so more and more computers or
mini-computer elements are needed to monitor, produce or accept
information from each other.
Example: In the Classic K bikes (K75, K100,
K1, K1100) there is a single pricey and complicated turn signal
flasher and lamp bulb monitoring
box. With Can-Bus, it could be simplified, if BMW wanted
to do that, and incorporate most of its functions and parts in
vastly smaller size, into
the main computer; and even more functions could be added. It
could be cheaper, and more reliable. ABS functions,
which could incorporate traction control, etc., could be
simplified.
Traction control and ABS require fairly fast information
processing, and electronics is absolutely necessary for them.
The problem that arises from Can-Bus is that the
electrical system is, to quite some degree, no longer relatively easy to modify with farkles, changes, add-ons, etc. Just
adding an electrical outlet jack might cause problems.
Typically, the owners' answer to this (in general) is to wire
accessory goodies directly to the
battery, via a separately added fuse or fused panel. There are
certainly instances where this is not needed....but.....well,
read onwards....
Bosch invented Can-bus in the eighties; and it is no longer, or never was,
a totally
German thing.
Your car, if manufactured since the late seventies or so, likely
has a version of Can-Bus called "OBD", and it is
standard now for all
cars...the latest version is OBD-II. OBD stands for
On-Board-Diagnostics. On modern cars, a technician can
connect a 'reader' (or other perhaps more sophisticated gadget)
to an electrical plug in your car. He can read out problem codes...as well
as non-problem codes! He can get a lot of information about the
engine; transmission, brakes, cooling system; and, much
more...about the entire vehicle.
All this comes from your car's computer(s); and with the some types
of 'readers' he can make actually make adjustments and
incorporate updates.
Updating the vehicle computer(s) is called 'flashing'.....as the
information is transferred to something akin to the BIOS chip in
your home computer. Many times a manufacturer will
offer updates to correct some problem or other. These
updates are obtainable by authorized repair centers.
The various Governments, ours included, have mandated methods of
computer readouts in your vehicle. Our USA Federal Government
mandated
that the USA comply with the International Standards for OBD and
Can-Bus, which are closely related. I think this happened in
1994.
It was TEN years, before BMW put this latest Can-Bus stuff into
its motorcycles. Prior to that, BMW had its own versions of
OBD, incorporated into such as the Jetronic and early Motronic systems...and
it was primarily for error codes, although there were some
outputs and inputs....and
you'd need the fancy BMW dealership machine ($18,000.00 I think
it used to be) to do everything.
Aside note:
At one time there was quite a bit of chit chat, in various media,
about the FACT that as car computers got sophisticated enough,
that just about
all of them would 'record' certain things, that, if read-out properly,
would show the last
so-many-seconds of vehicle SPEED, before some event...like
the deployment of the airbags, and if the brakes were applied,
and when, ETC. Yes, this is possible
and thus this is TRUE.
The Buss (Bus), here somewhat simplified:
An electrical bus is a common interconnection area, point, and/or
method of transportation of information or electricity per se.
It was used in large trucks, and particularly in airplanes, since
the thirties, maybe before. In that type of usage a bus was typically just a multiple connection point
or perhaps a strip of metal with many connections to it,
for a group of common-connected wires. There might
have been more than one such bus, with an interconnection switch
(usually a circuit breaker) allowing them to be separate, or in
parallel. It was common to have a battery hot bus,
and a battery cold bus (I used hot and cold, because some systems
had the negative grounded, some had the positive grounded).
This bus idea was and is done in your HOME, by multiple connections in the power-meter box, for grounds and hots, and in some ways, neutrals. This is a very simplified use of the term of bus, and it gets very much more complicated with the usage and meaning today. A vehicle bus carries a lot of people, so many think that the word was adopted for electrical signals multiple uses on a single wire. In actuality, the word goes way back, when buss, spelled that way, was used. Your dictionary may not show that.
In a way...kind of exaggerated here, one could think of your TV cable company's single coaxial cable wire coming into your home, as a bus, carrying all those differing TV and audio programs on just two wires (inner solid wire and the shielding around it). So, warping the use of the term, that could be a signal bus wire. In your vehicle, in the electrical system, any particular BUS (there may be more than one) might be just ONE OR TWO wires, carrying all sorts of digital code, from MANY devices connected to just those two wires. Digital coding (which is TIME related) separates the functions.
To spell this out a bit differently; a digital bus allows multiple packets of information, from different sources, to travel down one path, simultaneously. Keeping with the analogies, the INTERNET is really a bus type system, as information travels in packets....yes, your E-mail is broken up into many packets; same for website's, etc....as transmitted over the Internet, or, World Wide Web.
This is all somewhat of a simplification of what is going on, but
close to reality.
The more recently a car was designed and built,
in general anyway, the more computerized items....lots
and lots of 'mini' computers are used
with lots and lots of functions and devices. Generally, one MAIN
computer runs and monitors everything, with maybe some peripheral
small computers
doing specific things that are not capable by, or for other
reasons not inside the main computer.
The TREND for a long time was been to greatly increase the number of small
computers in a car. In recent years this has cause
innumerable problems with costs, so nowadays the trend is use
less individual computers by expanding the main computer functions and abilities.
I am sure this will
continue to be the case.
The first bike to have CanBus was probably the Ducati 999 back in
2002. BMW started it with the R1200 in 2004.
CanBus allows most all the various computers (and stuff
that is peripheral, and maybe not really even a tiny computer) to
'talk' or 'communicate' with
each other in a both simplified AND complex manner.
This means that NEARLY EVERY electrical device on your bike could be connected
to the Can-bus
system, which CONTINUOUSLY and RAPIDLY monitors everything via a
computer. The
system can also monitor current flow, voltage, etc. If you
tried to
tap into the
electrical system for an extra electrical gadget, Can-bus might
complain...in essence the Can-Bus computer thinks, rightly or
wrongly, that the bike has a problem. It might even record
the problem, and give
you a visual signal that all was not well. If the
load was
egregious enough, the bike
might not start or be otherwise not rideable.
Some ABS systems talk back and forth with the
computer that runs the engine itself. It is possible for the ABS
to monitor acceleration or other speed
conditions or events, and then with other inputs, the bike might
have traction control applied. That is already done on
cars and a few bikes...and will be appearing on
more bikes in the future.
Problems with CanBus, as far as we vehicle owners are concerned,
is that we cannot just willy-nilly connect up electrical gadgets,
or modify the electrical systems so easily anymore. We also
are more likely to be needing a dealership to read codes and find
problems, with fancy expensive BMW-supplied test
equipment...because when the bike stops running, we will be much
less likely to be able to fix it ourselves. You can imagine
the situation.....when the warranty runs out. This is
all theoretical, however. Note that it is entirely possible
that the systems will be so reliable, that many electrical
problems seen in the past will be eliminated. In MY mind
that is a big maybe. So far, the record tends to show an
increased reliability, over-all. That is to be
expected...especially when the vehicle is new, or nearly.
We can still analyze (within limits) the Classic Jetronic and first two generations of Motronic computers in
our Classic K bikes, but it is really
getting to be a hassle with the later bikes. There
will undoubtedly be plenty of experimentation done, stuff posted
on problems, electrical measurements for such, etc.
For now, the primary method of adding farkles,
etc., to Can-bus bikes will be the added fuse panel and
connections directly to the battery.
For the NERDY:
There are several variations of CAN-Bus. I won't get into them
much here. CAN-Bus is used for MANY things, not just the main
engine computer. Examples for cars and trucks might be such as door functions,
climate control, etc. CAN-Bus has limitations.
Its speed is limited to 1-Mbit/s. I wrote Mbit/s that way on
purpose, because... for the
super-nerdy, ...note this is megabits, not megabytes.
A manufacturer certainly does NOT want to try to use CAN-Bus anywhere's near that speed, for
safety and reliability. It does not work all that
well when higher speed real time data is needed, particularly
over longer distances in the vehicle. I'll restate this:
One of its limitations is the real-time speed at which data can
be moved about.
As vehicles become much more complicated, such as incorporating
upcoming things like Collision-Warning Systems, Can-bus will have
reached its practical limits. In some instances,
combinations of various methods are used and even the use of multiple CAN-Bus
systems!
Thus, due to speed and capacity limitations, other protocols have not only been
proposed, but are already in use. A short list of
these is: FlexRay; JASPAR, LIN, SAE J1850, AUTOSAR, MOST,
and even the computer FireWire (1394) standard. MOST,
which stands for Media-Oriented-Systems-Transport, is already in
wide usage in European cars. Toyota is going to be
using a 25 Mbyte/s version of MOST in its Prius. Yes,
25 mega-BYTES. MOST
in its revision 3 specifications will allow 150 Mbit/s networks.
FlexRay is already in use on BMW's X5 and 7 series. FlexRay
defines a dual-channel 10 Mbit/s data structure....and the
channels can be used in a redundancy method. FlexRay use
will be by, undoubtedly, since they are members of a FlexRay
Consortium: BMW, GM, VW, Daimler-Chrysler, Boscjh, etc.
As I write this in October, 2009, FlexRay is much more expensive
than Can-Bus, but prices will be coming down.
***CAN (Can-bus) will likely be THE choice for most vehicle networking nodes until maybe year 2017 or tad beyond. This is my best guess. CAN works with SAE's J1850 Bus specification...which is widely used with OBDII.
YES, that DOES mean that OBD readers MIGHT be
able to be used with your BMW motorcycle that has can-bus.....but
the information, and how to go about it, has not been published;
or, at least such is UNknown to me at the moment.
Microprocessor Control Units (MCUs) are plentifully used in
FlexRay networks. As more are used, perhaps as ECUs
(electronic control units), costs go up, and so does
complexity....as well as capability. The trend has been
towards modular units, each controlling sub-units.
For the ever-so-nerdy, the LIN bus has the lowest cost per node. It
uses serial interconnections, the maximum speed is 19,200
baud...and is often used as a CAN sub-bus.
With today's automobiles.....and now motorcycles....requiring hundreds of megabytes of software code, ....new standards are proposed fairly often. Just which ones become popular, is the question. It appears that of the several, mentioned above, just about all will become standards.
Initial release 10/17/2009, to K-bmw Internet
Mailing List
10/19/2009: Edited and made into this website article
10/21/2009: Added the ADDENDUM
05/01/2010: Simplify a bit, and update
05/21/2011: Small additions and very minor clarifications
and emphasis here and there.
© Copyright, 2011, R. Fleischer
Return to Technical Articles LIST Page