Automotive::CAN bus: Difference between revisions
mNo edit summary |
m (→CAN) |
||
(22 intermediate revisions by the same user not shown) | |||
Line 5: | Line 5: | ||
* Readers and diagnostic tools: http://www.obdreaders.com | * Readers and diagnostic tools: http://www.obdreaders.com | ||
* [http://www.codeofintelligence.com/opensource/opencan/ OpenCAN] | * [http://www.codeofintelligence.com/opensource/opencan/ OpenCAN] | ||
* [https://www.ridgerun.com/developer/wiki/index.php/How_to_configure_and_use_CAN_bus Enable CAN in Linux] | |||
* [http://processors.wiki.ti.com/index.php/Sitara_AM35x_CAN_%28HECC%29_Linux_Driver Texas Instruments] | |||
* [http://www.slac.stanford.edu/grp/cd/soft/epics/site/ipac/devCan.html devCan CAN Bus Device Support] | * [http://www.slac.stanford.edu/grp/cd/soft/epics/site/ipac/devCan.html devCan CAN Bus Device Support] | ||
* [http://www.obdreaders.com/OBD+Readers/ElmScan+5+Compact+USB+OBD-II+Scan+Tool/7/ ElmScan 5 Compact USB OBD-II Scan Tool] | * [http://www.obdreaders.com/OBD+Readers/ElmScan+5+Compact+USB+OBD-II+Scan+Tool/7/ ElmScan 5 Compact USB OBD-II Scan Tool] | ||
* [http://www.obdreaders.com/OBD+Readers/3130+Innova+Diagnostic+Code+Scanner+with+Live+Record+and+Playback+Data+Capability+/5/ 3130 Innova Diagnostic Code Scanner with Live Record and Playback Data Capability] | * [http://www.obdreaders.com/OBD+Readers/3130+Innova+Diagnostic+Code+Scanner+with+Live+Record+and+Playback+Data+Capability+/5/ 3130 Innova Diagnostic Code Scanner with Live Record and Playback Data Capability] | ||
* [http://shop.dieselschrauber.de/ VCDS] | * [http://shop.dieselschrauber.de/ VCDS Extentions and Plugins] | ||
== Electronics == | |||
[http://www.elmelectronics.com/ ELM electronics (the roots)] | |||
[http://www.mikrocontroller.net/articles/CAN a lot of links about CAN] | |||
===OBD=== | |||
[http://www.obdpros.com/ OBDPro (recommended)] | |||
[http://obd2allinone.com/ OBD AllinOne (recommended)] | |||
[http://www.obd2-shop.eu/ OBD Tools shop] | |||
[http://www.myscantool.com ProScan] | |||
[http://programatoribg.com/vagcan/index.htm Diagnostic Software] | |||
[http://german.picoauto.com/ PICO Car Diagnostics] | |||
[http://www.blafusel.de/obd/obd2_obdii_obd-2_list_me_en.html OBD2 hacking] | |||
[http://www.onboarddiagnostics.com/page03.htm OBD-II NETWORK STANDARDS] | |||
[http://www.obd2.com/ EASE Diagnostics] | |||
[[Diagnostic Codes| Diagnostic Codes]] | |||
===CAN=== | |||
{| style="width: 75%;" border="0" | |||
| [http://www.mikrocontroller.net www.mikrocontroller.net] | |||
| A lot of useful information | |||
|- | |||
| [http://www.totalphase.com/protocols/can/ totalphase.com] | |||
| CAN/I2C Activity Board Pro | |||
|- | |||
| [http://www.computer-solutions.co.uk/gendev/can-explorer.htm Computer Solutions Ltd] | |||
| CAN devices and development tools | |||
|- | |||
| [http://comsol.secured-area.co.uk/acatalog/CAN.html Computer Solutions Ltd] | |||
| CAN product | |||
|- | |||
| [http://www.peak-system.com Peak Systems] | |||
| CAN products | |||
|- | |||
| [http://www.kreatives-chaos.com/artikel/can-debugger Elektronik und Roboterbau] | |||
| CAN debugger | |||
|- | |||
| [http://thinkembedded.ch/_Hersteller/Olimex/AVR-CAN::41.html Olimex] | |||
| bridge between UART and CAN networks | |||
|- | |||
| [http://www.mictronics.de/projects/usb-can-bus/ mictronics] | |||
| USB <> CAN bus interface | |||
|} | |||
= Five Communications Protocols = | |||
There are five protocols in use with the modern OBD-II interface, and often it is | |||
possible to confirm the protocol in use based on which pins are present on the | |||
J1962 connector. One way to confirm is via manufacturer: The sure way is to | |||
remove and inspect the DLC using a wiring schematic. | |||
== ISO 9141 – ISO 14230 – ISO 15765 – ISO 9141-2== | |||
This protocol has a data rate of 10.4 kbaud, and is similar to RS-232. | |||
ISO 9141-2 is primarily used in Chrysler, European, and Asian vehicles. | |||
pin 7: K-line | |||
pin 15: L-line (optional and referred to as “dual K” line) | |||
UART signaling (though not RS-232 voltage levels) | |||
K-line idles high | |||
High voltage is Vbatt | |||
Message length is restricted to 12 bytes, including CRC | |||
==ISO 15765 CAN == | |||
(250kbit/sec or 500kbit/sec) | |||
pin 6: CAN High | |||
pin 14: CAN Low | |||
==ISO 14230 KWP2000 == | |||
(Keyword Protocol 2000) used by most European and Asian manufacturers. | |||
Alfa Romeo, Audi, BMW, Citroen, Fiat, Honda, Hyundai, Jaguar (X300, XK),Jeep since 2004, | |||
Kia, Land Rover, Mazda, Mercedes, Mitsubishi, Nissan, Peugeot, Renault, Saab, Skoda, Subaru, Toyota, Vauxhall, Volkswagen (VW) since 2001, Volvo to 2004 | |||
pin 7: K-line | |||
pin 15: L-line (optional and referred to as “dual K” line) | |||
Physical layer identical to ISO 9141-2 | |||
Data rate 1.2 to 10.4 kbaud | |||
Message may contain up to 255 bytes in the data field | |||
== FORD Motor Company - SAE J1850 PWM == | |||
(41.6 kbaud, Standard of the Ford Motor Company) | |||
pin 2: Bus- | |||
pin 10: Bus+ | |||
High voltage is +5V | |||
Message length is restricted to 12 bytes, including CRC | |||
Employs a multi-master arbitration scheme called "Carrier Sense Multiple Access with Non-Destructive Arbitration" (CSMA/NDA) | |||
== General Motors SAE J1850 VPW == | |||
(Variable Pulse Width) (10.4/41.6 kbaud, standard of General Motors) | |||
pin 2: Bus+ | |||
Bus idles low | |||
High voltage is +7V | |||
Decision point is +3.5V | |||
Message length is restricted to 12 bytes, including CRC Employs CSMA/NDA | |||
Note that pins 4 (battery ground) and 16 (battery positive) are present in all configurations. Also, ISO 9141 and ISO 14230 use the same pinout, therefore you cannot distinguish between the two simply by examining the connector. | |||
CAN bus used in VW, Audi, BMW, Mercedes, Ford, Mazda Volvo, etc., etc., etc. since 2004 (some earlier, some later). The CAN protocol will become the standard of the automotive industry. By 2008, all vehicles sold in Canada and the US will be required to implement the CAN bus, consequently eliminating the uncertainty of the existing five signaling protocols. | |||
{| style="width: 95%;" border="0" | |||
| '''Schnittstellen-Typ''' | |||
| '''Hersteller''' | |||
|- | |||
| J1850 PWM | |||
| Ford*, Lincoln, Mercury, Jaguar, Mazda, Panoz, Saleen | |||
|- | |||
| J1850 VPW | |||
| Opel, Buick, Cadillac, Chevrolet, Chrysler, Dodge, GMC, Hummer, Isuzu, Oldsmobile, Pontiac, Saturn | |||
|- | |||
| ISO 9141-2 | |||
| Asiatische Hersteller (Acura, Honda, Infinity, Lexus, Nissan, Toyota* u.a.), europäische Hersteller (VW/Audi, BMW, Mercedes, MINI, Porsche u.a.), ältere Chrysler-Modelle, Dodge, Eagle, Plymouth | |||
|- | |||
| KWP2000 | |||
| Daewoo, Hyundai, KIA, Subaru STi und einige Mercedes | |||
|- | |||
| *Ausnahmen | |||
| J1850VPW benutzen auch Concorde, Intrepid, LHS und 300M aus Baujahr 1998 und später, Neon aus Baujahr 2000 und später, Toyota aus Baujahren 1996-97, alle Toyota Celica und Toyota Supra Turbo aus Baujahren 1996-99. ISO 9141-2 benutzen auch der Probe 2,5L aus Baujahr 1996-97, Tracer 1.8L aus Baujahr 1996, Ford Escort 1.8L aus Baujahr 1996, Triumph, Geo, Catera, Paseo aus Baujahr 1997, Camry und Avalon. | |||
|} | |||
{| style="width: 65%; align: center" border="1" | |||
| '''Pin''' | |||
| '''Signal''' | |||
| '''Description''' | |||
|- | |||
| 1 | |||
| - | |||
| | |||
|- | |||
| 2 | |||
| J1850 | |||
| Bus+ | |||
|- | |||
| 3 | |||
| - | |||
| | |||
|- | |||
| 4 | |||
| CGND | |||
| GND | |||
|- | |||
| 5 | |||
| SGND | |||
| GND | |||
|- | |||
| 6 | |||
| CAN High | |||
| J-2284 | |||
|- | |||
| 7 | |||
| ISO 9141-2 | |||
| K-LINE Tx/Rx | |||
|- | |||
| 8 | |||
| - | |||
| | |||
|- | |||
| 9 | |||
| - | |||
| | |||
|- | |||
|10 | |||
| J1850 Bus- | |||
| | |||
|- | |||
|11 | |||
| Ford DCL (-) Argentina, Brazil | |||
| pre OBD-II 1997-2000 | |||
|- | |||
|12 | |||
| - | |||
| | |||
|- | |||
| 13 | |||
| - | |||
| | |||
|- | |||
|14 | |||
| CAN Low | |||
| J-2284 | |||
|- | |||
|15 | |||
|ISO 9141-2 | |||
|L-LINE Tx/Rx | |||
|- | |||
|16 | |||
| +12v | |||
| Battery power | |||
|} | |||
= Linux CAN bus support = | = Linux CAN bus support = | ||
[http://www.peak-system.com/fileadmin/media/linux/index.htm Peak System Linux] | |||
== USB by ID == | == USB by ID == |
Latest revision as of 23:45, 9 January 2013
Links
- Readers and diagnostic tools: http://www.obdreaders.com
- OpenCAN
- Enable CAN in Linux
- Texas Instruments
- devCan CAN Bus Device Support
- ElmScan 5 Compact USB OBD-II Scan Tool
- 3130 Innova Diagnostic Code Scanner with Live Record and Playback Data Capability
- VCDS Extentions and Plugins
Electronics
ELM electronics (the roots) a lot of links about CAN
OBD
CAN
www.mikrocontroller.net | A lot of useful information |
totalphase.com | CAN/I2C Activity Board Pro |
Computer Solutions Ltd | CAN devices and development tools |
Computer Solutions Ltd | CAN product |
Peak Systems | CAN products |
Elektronik und Roboterbau | CAN debugger |
Olimex | bridge between UART and CAN networks |
mictronics | USB <> CAN bus interface |
Five Communications Protocols
There are five protocols in use with the modern OBD-II interface, and often it is possible to confirm the protocol in use based on which pins are present on the J1962 connector. One way to confirm is via manufacturer: The sure way is to remove and inspect the DLC using a wiring schematic.
ISO 9141 – ISO 14230 – ISO 15765 – ISO 9141-2
This protocol has a data rate of 10.4 kbaud, and is similar to RS-232.
ISO 9141-2 is primarily used in Chrysler, European, and Asian vehicles.
pin 7: K-line
pin 15: L-line (optional and referred to as “dual K” line)
UART signaling (though not RS-232 voltage levels)
K-line idles high
High voltage is Vbatt
Message length is restricted to 12 bytes, including CRC
ISO 15765 CAN
(250kbit/sec or 500kbit/sec)
pin 6: CAN High
pin 14: CAN Low
ISO 14230 KWP2000
(Keyword Protocol 2000) used by most European and Asian manufacturers.
Alfa Romeo, Audi, BMW, Citroen, Fiat, Honda, Hyundai, Jaguar (X300, XK),Jeep since 2004, Kia, Land Rover, Mazda, Mercedes, Mitsubishi, Nissan, Peugeot, Renault, Saab, Skoda, Subaru, Toyota, Vauxhall, Volkswagen (VW) since 2001, Volvo to 2004
pin 7: K-line
pin 15: L-line (optional and referred to as “dual K” line)
Physical layer identical to ISO 9141-2
Data rate 1.2 to 10.4 kbaud
Message may contain up to 255 bytes in the data field
FORD Motor Company - SAE J1850 PWM
(41.6 kbaud, Standard of the Ford Motor Company)
pin 2: Bus-
pin 10: Bus+
High voltage is +5V
Message length is restricted to 12 bytes, including CRC
Employs a multi-master arbitration scheme called "Carrier Sense Multiple Access with Non-Destructive Arbitration" (CSMA/NDA)
General Motors SAE J1850 VPW
(Variable Pulse Width) (10.4/41.6 kbaud, standard of General Motors)
pin 2: Bus+
Bus idles low
High voltage is +7V
Decision point is +3.5V
Message length is restricted to 12 bytes, including CRC Employs CSMA/NDA
Note that pins 4 (battery ground) and 16 (battery positive) are present in all configurations. Also, ISO 9141 and ISO 14230 use the same pinout, therefore you cannot distinguish between the two simply by examining the connector. CAN bus used in VW, Audi, BMW, Mercedes, Ford, Mazda Volvo, etc., etc., etc. since 2004 (some earlier, some later). The CAN protocol will become the standard of the automotive industry. By 2008, all vehicles sold in Canada and the US will be required to implement the CAN bus, consequently eliminating the uncertainty of the existing five signaling protocols.
Schnittstellen-Typ | Hersteller |
J1850 PWM | Ford*, Lincoln, Mercury, Jaguar, Mazda, Panoz, Saleen |
J1850 VPW | Opel, Buick, Cadillac, Chevrolet, Chrysler, Dodge, GMC, Hummer, Isuzu, Oldsmobile, Pontiac, Saturn |
ISO 9141-2 | Asiatische Hersteller (Acura, Honda, Infinity, Lexus, Nissan, Toyota* u.a.), europäische Hersteller (VW/Audi, BMW, Mercedes, MINI, Porsche u.a.), ältere Chrysler-Modelle, Dodge, Eagle, Plymouth |
KWP2000 | Daewoo, Hyundai, KIA, Subaru STi und einige Mercedes |
*Ausnahmen | J1850VPW benutzen auch Concorde, Intrepid, LHS und 300M aus Baujahr 1998 und später, Neon aus Baujahr 2000 und später, Toyota aus Baujahren 1996-97, alle Toyota Celica und Toyota Supra Turbo aus Baujahren 1996-99. ISO 9141-2 benutzen auch der Probe 2,5L aus Baujahr 1996-97, Tracer 1.8L aus Baujahr 1996, Ford Escort 1.8L aus Baujahr 1996, Triumph, Geo, Catera, Paseo aus Baujahr 1997, Camry und Avalon. |
Pin | Signal | Description |
1 | - | |
2 | J1850 | Bus+ |
3 | - | |
4 | CGND | GND |
5 | SGND | GND |
6 | CAN High | J-2284 |
7 | ISO 9141-2 | K-LINE Tx/Rx |
8 | - | |
9 | - | |
10 | J1850 Bus- | |
11 | Ford DCL (-) Argentina, Brazil | pre OBD-II 1997-2000 |
12 | - | |
13 | - | |
14 | CAN Low | J-2284 |
15 | ISO 9141-2 | L-LINE Tx/Rx |
16 | +12v | Battery power |
Linux CAN bus support
USB by ID
08d8 IXXAT Automation GmbH 0002 USB-to-CAN compact 0003 USB-to-CAN II 0100 USB-to-CAN
093c Intrepid Control Systems, Inc. 0601 ValueCAN 0701 NeoVI Blue vehicle bus interface
0bfd Kvaser AB 0004 USBcan II 000b Leaf Light HS 000e Leaf SemiPro HS
Table of CAN bus viehecles
Alfa Romeo | 159 JTD ab 2005 |
AUDI | A1 ab 2010 |
BMW | Serie 1 E97 ab 2005 |
Chevrolet | Aveo ab 2011 |
Chrysler | 300C ab 2005 |
Citroen | Berlingo ab 2006 C-Crosser ab 2007 C2 ab 2005 C3 ab 2005 C4 ab 2005 C5 ab 2004 C8 ab 2006 C-Crosser ab 2007 DS3 ab 2010 DS4 ab 2011 Jumper ab 2006 Jumpy ab 2006 Nemo ab 2008 |
Dodge | Caliber ab 2006 Journey ab 2008 Nitro ab 2007 |
Ferrari | 612 Scaglietti ab 2008 |
Fiat | 500 ab 2007 Bravo ab 2007 Croma ab 2005 Doplo ab 2010 Ducato ab 2006 Fiorino ab 2008 Freemont ab 2011 Grande Punto ab 2005 Idea ab 2005 Linea ab 2007 Panda ab 2003 Punto Evo ab 2009 Qubo ab 2008 Scudo ab 2001 Sedici ab 2006 Stilo ab 2006 |
Ford | Fiesta ab 2006 Focus alle Jahre Focus TDCI Focus C-MAX Fusion ab 2006 C-MAX 2003 KA ab 2009 Kuga ab 2008 Mondeo ab 2007 S-Max ab 2011 Tourneo Con ab 2009 Transit Con. ab 2009 |
Honda | Accord ab 2005 Civic ab 2006 Civic Hybrid ab 2007 CR-V ab 2006 Insight Hybrid ab 2009 Jazz ab 2008 Pilot ab 2008 |
Hyundai | Elantra ab 2011 IX20ab 2010 IX35 ab 2010 I40 ab 2011 Solaris ab 2011 |
Infinity | EX ab 2008 FX ab 2006 G35 ab 2007 M35 ab 2007 QX ab 2011 |
Iveco | Daily ab 2006 |
Jepp | Compass ab 2007 G.Cherokee ab 2005 Wrangler ab 2007 |
KIA | Carnival ab 2007 Ceed ab 2007 Sorento ab 2009 Sportage ab 2010 Venga ab 2010 |
Lancia | Delta ab 2008 Musa ab 2004 Y ab 2003 |
Landrover | Discovery 4 ab 2010 RangeRover ab 2006 Freelander2 ab 2007 |
Lexus | GS ab 2008 IS ab 2008 LS ab 2006 LX ab 2007 |
Mazda | 2 ab 2007 3 ab 2009 6 ab 2008 MPV ab 2006-2008 |
Mercedes Benz | A-Klasse W169 ab 2005 B-Klasse W245 W 246 C-Klasse W203/W204 ab 2001 CLS W219 ab 2006 CLK W208 1999-2003 CLK W209 ab 2004 E-Klasse W210 1997-2003 E-Klasse W211 2004-2006 E-Klasse W212 ab 2009 G-Klasse W463 ab 2006 GLK W204 ab 2008 M-Klasse W164 ab 2006 ML M164 ab 2004 ML M166 ab 2011 R-Klasse W251 ab 2005 S-Klasse W220 ab 2003 SLK R171 ab 2004 Sprinter ab 2004 Viano ab 2004 Vito ab 2001 |
Mini Cooper | MiniCooper ab 2007 Countryman ab 2011 |
Mitsubishi | ASX ab 2010 Lancer ab 2008 Outlander ab 2007 |
Nissan | Juke ab 2008 Micra ab 2005 Murano ab 2008 Navara ab 2007 Note ab 2006 Pathfinder ab 2006 Patrol ab 2010 Qashqai ab 2007 Teana ab 2008 Tiida ab 2007 X-Trail ab 2007 |
Opel | Antara ab 2007 Astra H ab 2005 Astra ab 2010 Corsa ab 2005 Insignia ab 2009 Meriva ab 2009 Movano ab 2010 Signum ab 2003 Vectra C ab 2003 Zafira B ab 2005 |
Peugeot | 207 alle Jahre 307 alle Jahre 308 ab 2007 3008 ab 2009 407 alle Jahre 4007 ab 2008 508 ab 2011 5008 ab 2010 807 ab 2006 Bipper ab 2008 Boxer ab 2006 Expert ab 2006 Partner ab 2006 RCZ ab 2010 |
Porsche | 997 Carrera ab 2005 998 ab 2006 Cayenne S ab 2005 Cayman ab 2005 Panamera ab 2009 |
Renault | Cliio ab 2007 Fluence ab 2010 Kangoo ab 2008 Laguna ab 2008 Master ab 2010 Megane ab 2008 Scénic ab 2009 Trafic ab 2010 |
SEAT | Alhambraa ab 2010 Altea ab 2004 Altea XL ab 2006 Cordoba ab 2005 Exeo ab 2009 Ibiza ab 2003 Leon ab 2003 Toledo ab 2005 |
Skoda | Fabia ab 2000 Octavia ab 2004 Roomster ab 2006 Superb ab 2004 Yeti ab 2009 |
Subaru | Forester ab 2008 Impreza ab 2007 Legazy ab 2004 Outback ab 2004 Tribeca ab 2005 |
Suzuki | Grand Vitara ab 2006 SX4 ab 2007 Swift ab 2005 |
Toyota | Auris 2007 Avensis ab 2009 Camry ab 2005 Corolla ab 2006 IQ ab 2009 Landcruiser ab 2008 Prius ab 2009 Rav4 2004 UrbanCruiser ab 2010 Verso ab 2009 Yaris 2006 |
Volvo | C30 ab 2007 C70 ab 2006 S40 ab2006 S60 ab 2006 S80 ab 2006 V50 ab 2006 V70 ab 2001 XC60 ab 2008 XC70 ab 2007 XC90 ab 2006 |
VW | Amarok ab 2010 Bora Caddy Crafter ab 2004 Eos ab 2006 Golf 4 Golf 5 Golf 5 Plus Golf 6 Golf 6 Plus Jetta ab 2006 New Beetle ab 2004 Passat ab 2000 Polo ab 2004 Polo ab 2009 Scirocco ab 2009 Sharan ab 2010 Tiguan ab 2008 Touareg Touran ab 2003 T5 ab 2003 |
Late Model Vehicles with Controller Area Network Systems
2003 Ford Excursion, 2003 Ford F-250 & F-350, 2003 Ford Focus & Thunderbird, 2003 General Motors Saturn ION, 2003 Lincoln LS, 2003 Mazda 6, 2003 SAAB 9-3 2004 Buick Rendezvous, 2004 Cadillac CTS, XLR & SRX, 2004 Dodge Durango, 2004 Ford Explorer, 2004 Ford F-150, E-250 & E-350, 2004 Ford Taurus, 2004 Lexus LS430, 2004 Mercury Mountaineer, 2004 Mercury Sable, 2004 Mazda 3 & RX-8, 2004 Toyota Prius, 2004 Volvo S40 2005 Audi A4 & A6, 2005 Buick LaCrosse, Rendevous & Ranier, 2005 Cadillac STS, 2005 Chevrolet Cobalt, Corvette & Malibu, 2005 Chevrolet Equinox, 2005 Chevrolet SSR, 2005 Chevrolet Trailblazer EXT, 2005 Chrysler 300C, 2005 Dodge Dakota & Magnum, 2005 Ford Crown Victoria, Five Hundred, Focus & Mustang, 2005 Ford E-150, 2005 Ford Escape & Expedition, 2005 Ford Freestyle, 2005 GMC Envoy ESV & XL, 2005 Isuzu Ascender, 2005 Jeep Grand Cherokee, 2005 Lexus LS400 & GX470, 2005 Lincoln Town Car, 2005 Mercury Grand Marquis, Montigo & Sable, 2005 Mercury Mariner, 2005 Pontiac G6, Grand Prix & GTO, 2005 Land Rover LR3, 2005 Mazda MPV & Tribute, 2005 Mercedes SLK350, 2005 SAAB 9-7X, 2005 Toyota Avalon, 2005 Toyota 4Runner, Sequoia, Tacoma & Tundra, and 2005 Volvo S60, S80, V50, V70, XC90 Essentially ALL 2008 and newer model year passenger cars and light trucks.