CANBUS
CANBUS
CANBUS
In the early to mid 1990’s is when we first saw the standard 6-pin plug placed in commercial trucks. This
would be used for the next 10-15 years, and we now saw computerized diagnostic tools enter the
market. This was great, because instead of having to purchase tools that only dealers could have,
hardware and software was made available to the general public.
Now that a standard had been set for both the physical connections and the software language, the
manufacturers need a logical way to read and display this data. This is where we first saw this new
system. If you have ever used some diagnostic software or a generic code reader, these acronyms will
look familiar. Here is how they work.
The MID tells which system it is coming from. Each component on a truck (Engine, transmission, ABS,
etc…) all have a MID that is used. There are hundreds of MIDs that are defined, but only a handful are
commonly used. Here are the most common ones:
We have also compiled a list of all MIDs that are created. Please use the link at the top of this page to
receive them.
Parameters Identifiers, or PIDs, are numbers and names used to identify data being displayed. So think if
PIDs in terms of “readings” such as oil temperature, coolant level, miles driven, engine RPMs, and so on.
PID is a J1708 term and PIDs go from 0 to 511.
The entire PID list can be downloaded by filling out the form at the top of the page. It is approximately
11 pages total.
Now that we have defined MID (The component) and PID (types of data), we can talk about Failure
Mode Identifiers (FMI). Every diagnostic trouble code (DTC) that you find will have a FMI. This code is set
by the ECM detecting a variety of problems, such as too much voltage, not enough voltage, resistance is
in correct, and so on. So here is the list of possible FMI values:
0 = Data Valid but Above Normal Operational Range, Most Severe Level
1 = Data Valid but Below Normal Operational Range, Most Severe Level
13 = Out of Calibration
14 = Special Instructions
31 = Condition Exists
Now that we understand that a MID is a component, such as an engine, it can be further broken down in
to subsystems. Each subsystem has its own set of SIDs. For example, MID 128 (Engine) could have SID 6
for Injector number 6. However SID 6 on a Mid 136 (Transmission) is for the C6 Solenoid Valve.
We have compiled a PDF that contains all the SIDs for J1708. It is broken down by MID, which this list
gives you:
Common SIDs
You can download the entire list of SIDs for each of these MID’s using for the form at the top of the
website. It is approximately 40 pages total.
The important thing to note when it comes to diagnostic trouble codes, is that you will either have a PID
or SID, followed with a FMI. You will never have both.
Before we can move much further, everyone needs to understand the relationship between J1708 and
J1939. Basically, J1708 worked great, but it was quickly becoming obsolete. This is because
manufacturers started adding more sensors, needs to collect more data, and everything was getting
more complex. This is where J1939 steps in, and around the mid 2000’s equipment manufacturers
started to navigate away from the J1708 to J1939. This is where we started seeing the 9-pin Duetch
connector placed in trucks.
Parameters Identifiers, or PIDs, are numbers and names used to identify data being displayed. So think if
PIDs in terms of “readings” such as oil temperature, coolant level, engine RPMs, and so on. PID is a J1708
term, and then SPN is a J1939 term. If you compared a list of PIDs to SPNs, you would notice two things.
One, PIDs go from 0 to 511. SPNs go from 0 to over 50,000. Again, the SPN was needed because of the
extra complexity of commercial trucks. The other thing you would notice that both lists are almost
identical from 0 to 511.
The important thing to understand, is that there is a “static” list of SPN numbers, but not every vehicle
uses each one. An example is CAT, which can be found on Numerakod’s website. This website shows
which SPNs are currently being used by CAT.
We have also compiled a list of all known SPNs, which is available by using the form at the top of this
page.
So now that we understand the basics of how trucks read & display code information, we can take it one
step further and explain how it all related to diagnostic trouble codes. Almost all equipment
manufacturers (Also called OEMs) take all of these acronyms we just discussed, and then translate them
to an flash code. This is where a lot of customers run into problems. Lets use one of the code readers we
sell as an example.
In this example, we have a $300 or so heavy truck scanner connected to an ABS system. Notice how we
get the SID and the FMI? Those results are what gives us our generic, or “raw data” from the ECM. This is
why you purchase a generic scanner to “read” codes. The problem is that we do not know the true flash
code that this ABS manufacturer uses. The cheaper hand-held scanner can’t convert the J1708 & J1939
codes to true flash codes. At this point, the technician using the tool can attempt to find service manuals
or use Internet searches to find repair and troubleshooting information.
The next example is an universal diagnostic software program called PF-Diagnose, which is made by
Pocketfleet. In this program, it shows us the column for “CODE” and “FMI”, but also gives us the “FLASH”
code. On the code that is highlighted, you will see that we have a flash code of “26”, which also is PID
108 FMI 03. This is great, because now we actually find the repair information in a service manual or
easily find the information online.