united-states european-union consumer-protection
Since when is CAN bus mandatory for new vehicles?
<p>The <a href="https://en.wikipedia.org/wiki/CAN_bus" rel="nofollow">CAN bus Wikipedia page</a> states that:</p>

<blockquote>
  <p>CAN bus is one of five protocols used in the on-board diagnostics
  (OBD)-II vehicle diagnostics standard. The OBD-II standard has been
  mandatory for all cars and light trucks sold in the United States
  since 1996, and the EOBD standard has been mandatory for all petrol
  vehicles sold in the European Union since 2001 and all diesel vehicles
  since 2004.</p>
</blockquote>

<p>The <a href="https://en.wikipedia.org/wiki/On-board_diagnostics" rel="nofollow">OBD Wikipedia page</a> further states that:</p>

<blockquote>
  <p>2001: The European Union makes EOBD mandatory for all gasoline
  (petrol) vehicles sold in the European Union, starting in MY2001 (see
  European emission standards Directive 98/69/EC).</p>
  
  <p>2003: The European Union makes EOBD mandatory for all diesel vehicles
  sold in the European Union</p>
  
  <p>2008: All cars sold in the United States are required to use the ISO
  15765-4 signaling standard (a variant of the Controller Area Network
  (CAN) bus).</p>
</blockquote>

<p>Except the 2008 date these quotes primarily talk about the OBD/EOBD. How is the OBD and CAN exactly related? Is CAN a mandatory protocol for OBD-II/EOBD? In case it was I see a conflict in the 1996 and 2008 dates for United States...</p>

<p>My final question is simple - are there certain dates since which all cars sold in particular markets have to use CAN bus for the internal communication between car's electronics?</p>

<p>The reason I am asking this is I want to reverse engineer the signaling from various vehicle sensors (steering angle sensor etc.). If I knew something like "all European cars since 2004 use CAN for the internal communications between electronic parts" that would help me a lot.</p>

<p><strong>EDIT:</strong></p>

<p>Obviously the CAN bus is somehow mandatory since 2008 in the US at least. However, I do not know to a what degree in detail - usually there are CAN bus pin-outs on the OBD-II connector. However, there may be multiple CAN buses present within a single vehicle - one for critical functions like ABS, ESP etc. and another for infotainment like radio etc. I wonder if any of these buses has to be connected to the OBD pin-out...</p>

<p>Good timing: I just got a new OBD II scanner yesterday.</p>
<p>Since this might hit a wider audience, I'll take a foundation-first approach.  Your vehicle is comprised of things like brakes, ABS, fuel injection, gear box.  Nowadays, these parts are operated by electronic controllers.</p>
<p>The physical path by which the controllers receive and transmit electronic signals is called a bus.  (It performs the same function as the internal bus in your computer, which connects the CPU, memory, etc.)  CAN is simply a protocol for how information travels on the bus.  So it does all the things you'd imagine a protocol does (boring things like dictating message formats be 64 bits and exciting things like determining priority).</p>
<p>Protocols are defined by standards.  Prior to widespread implementation of CAN, there were other standards (four, I believe) used by various manufacturers.  CAN is widespread, but it's important to note that it's only standard on lighter vehicles.</p>
<blockquote>
<p><strong>40 CFR 86.005-17(h)(3)</strong></p>
<p>Beginning with the 2008 model year and beyond, ISO 15765-4.3:2001 “Road Vehicles-Diagnostics on Controller Area Network (CAN)—Part 4: Requirements for emission-related systems”, (December 14, 2001) shall be the only acceptable protocol used for standardized on-board to off-board communications for vehicles below 8500 pounds.</p>
</blockquote>
<p>The statute goes on to discuss other standards for heavier vehicles.</p>
<p>What's unique about CAN?  It's faster, but more importantly, it's a protocol that doesn't require a central computer.  All the controllers get all the messages.  It's kind of like having a bunch of people in a room yelling things out: everyone hears everything.  And that's what you want in a car.  However, the messages have to be interpreted by the controllers themselves, and that requires a separate &quot;higher-layer&quot; protocol.</p>
<p>Electronic components <em>need</em> CAN to function, and if you have a car with electronic components, you <em>need</em> CAN in order to make it run.  On the other hand, a vehicle can run without OBD--it's just a nice secondary feature to help diagnose system performance (and problems).  It obtains access to component information like speed, RPM, fuel trim, etc.  Likewise, that pesky &quot;check engine&quot; light gets activated by a diagnostic code.</p>
<p><strong>CAN is not mandatory for OBD.</strong>  OBD is designed to use a number of different standards, and CAN is one of those (remember, light vehicles makes beginning with 2008 use CAN, but OBD is in use in other types of vehicles, too).  At it's heart, OBD II is just another protocol: it specifies message format and the connector's pinout.  In the best teaching document I've seen on the CAN vs. OBD subject, <a href="http://www.oneminuteinfo.com/2014/02/can-bus-obd-ii-explained-for-dummies.html" rel="nofollow noreferrer">Michael Wen</a> mentions you can often deduce which signaling protocol is in use by looking at the pins in the connector (remember, CAN should be standard for light vehicles after 2008, but you might see one of the other four formats in older vehicles).</p>
<p><strong>How do OBD and CAN work together?</strong>  OBD sends messages over the CAN bus (that is, the vehicle bus with the CAN protocol).  OBD basically queries components by sending specially formatted messages via the CAN bus.  The components respond via the CAN bus.  That information goes either to a warning light on the dashboard or to a diagnostic scanner attached to the connector.</p>

<p>CAN is one of 9 or so protocols that OBDII can use.  It was later in coming than the others and eventually early 2000's europe and mid 2000's US vehicles were mandated to use it to consolidate under one protocol.  It was mandated in the US in 2008, prior to this some automakers opted to move to it early one vehicle redesign at a time.</p>

<p>Electronic components do not need CAN to function, that is ridiculous as there were no major functional changes between say year 2000 and 2010.  They simply used a manufacturer proprietary standard and even within OBDII manufacturers still to this day have their ow proprietary codes for certain vehicle functions not covered under OBDII.  </p>

<p>All CAN did is consolidate to one protocol, does not do anything important that wasn't being done already and is not a particularly fast bus by modern standards, up to 1Mb/second which is more than 25 year old tech-wise.  When OBDII hit the streets in '96, so did USB1 which is a serial standard with 1.5Mb/second.</p>

<p>Most CAN communications have nothing to do with a dash light or scan tool code, until the point where there is a fault that a human needs to interpret.</p>

<p>There is no CAN vs OBDII.  They are not alternatives, CAN is just a protocol WITHIN OBDII that was standardized upon as the single protocol to use.</p>
