1. A deep dive into CAN
Untangling the deep web of CAN protocols
2. What is CAN?
• Everyone knows Control Area Network
• A network for communication between subsystems or modules in –
vehicle
• Plethora of standards and protocols involved, plus the scope and
need of those standards are widely varied.
J1939, UDS (ISO 14229), OBD-II, CANopen, ISO-TP (ISO 15765-2), ISO11898
3. CAN
CAN is an umbrella term for
all the standard protocols
J1939
UDS (ISO 14229)
OBD- II
CANopen
ISO-TP (ISO 15765-2)
ISO11898
CAN is majorly defined by ISO11898
In the OSI layer, the CAN definition are
defined for layer 1 and 2
4. Hi, ISO11898
• Came in 6 parts but, as of 2020, consolidated to 4 parts
• Historically, concentrates on Data link layer with a focus on physical
layer of OSI
• Defined a time triggered protocol in part 4, that is now archaic.
• Based on the Bosch introduced paper in SAE congress (1986) and
later patented technology.
• Standardized by ISO in 1993 and is being revised till date
5. ISO11898 defines…
• Physical characteristics of CAN signal
The differential lines, voltage levels, data rate, bit timing, characteristic
impedance, etc., though it doesn’t have formal mechanical properties like
connector type, wire colour, etc.
• Data link / Frame characteristics of CAN signal
This is novel specification includes, Frame structure, Signal Arbitration, Fault
tolerance, Bit stuffing, etc.,
6. ISO11898 does not defines…
• Flow control – Session/Transport layer
• Device Addressing – Network/Transport layer
• Data segmentation – Transport layer
• Any form of “application data” specification – Application/Presentation layer
For this reason, industry chooses/defines some form of higher level protocols such
as J1939, CANopen, UDS, etc.
It should be noted that applications without the intermediate layers can also
operate on CAN networks, provided they are developed meticulously taking all the
details of the network.
7. The CAN cobweb
• Though these Higher Layer
Protocols (HLP) are used for
in-vehicle networks, they are
not directly compactible with
ISO11898 per se.
• So each OEM or even each
vehicle model uses a different
HLP based on their
subsystem’s capabilities,
mostly dictated by ECUs.
• Network management is not
a inherent feature of CAN
networks, it is only
guaranteed by proper HLPs
1992: CiA 201 series (CAN Application Layer)
1994: IEC 62026-3 (DeviceNet)
1994: SAE J1939 series
1994: EN 50325-4 (CANopen)
1999: ISO 11992 series
2000: IEC 61162-3 (NMEA 2000)
2002: ISO 11783 series (ISOBUS)
2004: ISO 15765 series (OBDII/ISO-TP)
2007: Arinc 825/826
8. What's the catch…
• The standards are not always used as they were intended.
OEMs usually bend the will to suit their needs
• There are cases were parts of different standards are used in different
layers for a specific/special application.
• Industry still figuring out an consolidated standards (full stack network),
this leads to futuristic changes to the network.
• CAN is not the only physical layer supported by these HLPs.
Recently novel protocols like FlexRay, Ethernet, etc., are used in the industry
• All standards are constantly being majorly revised by Industry and
Standardizing organisations