on board diagnostics obd rebecca doebler, james carl, joe romeo eecs 498
TRANSCRIPT
What we will learn today
• What is OBD?
• History of OBD
• DTC (Diagnostic Trouble Codes)
• Progression of the OBD protocol over time
• Low level implementation of OBD II protocol
• High level overview of OBD II protocol
• OBD Products
OBD (On Board Diagnostics)
• What is OBD?
• History of OBD
• DTC (Diagnostic Trouble Codes)
• Progression of the OBD protocol over time
• Low level implementation of OBD II protocol
• High level overview of OBD II protocol
• OBD Products
What is OBD?
• On-board diagnostics
• An automotive term referring to a vehicle's self-diagnostic and reporting capabilities
• Tools with OBD allow mechanics and vehicle manufacturers to connect to the vehicle's on-board computers and diagnose any potential failures in the engine, as well as retrieve information such as rpm, horse-power, etc.
Source: 1
Why is OBD important?
• OBD is required by the Clean Air Acts Amendments of 1990
• Provides a simple, quick and efficient way for repair technicians to pinpoint problems by retrieving automobile diagnostics
• Plays an important role in vehicle inspections and maintenance programs for state agencies
• Provides an early warning system to vehicle owners through the check engine light
OBD (On Board Diagnostics)
• What is OBD?
• History of OBD
• DTC (Diagnostic Trouble Codes)
• Progression of the OBD protocol over time
• Low level implementation of OBD II protocol
• High level overview of OBD II protocol
• OBD Products
Brief History of OBD
• 1969: First on-board computer system with scanning capability
• 1980: GM implements ALDL to test ECM(engine control module). ALDL was the first standardized on board diagnostic protocol
• 1991: California required all cars from 1991 on to have OBD capabilities(refers to OBD I)
• 1994: California wanted a way to do statewide emissions testing. This was the start of OBD II
• 1996: OBD II is mandatory for all of United States
• 2004: European Union makes OBD II a requirement for all cars sold in Europe
see http://en.wikipedia.org/wiki/On-board_diagnostics for more information about OBD history
OBD (On Board Diagnostics)
• What is OBD?
• History of OBD
• DTC (Diagnostic Trouble Codes)
• Progression of the OBD protocol over time
• Low level implementation of OBD II protocol
• High level overview of OBD II protocol
• OBD Products
Why is my check engine light on?
• We use DTCs or Diagnostic Trouble Codes to determine the problem
• Example: o An electronic control module uses an oxygen sensor
to monitor exhaust gas for being rich or leano If the computer feels like the conditions are right for
the sensor to be malfunctioning, it will set a DTC and the check engine light will illuminate
Diagnostic Trouble Codes (DTCs)
• Older OBD protocols have fewer DTCs and are not standardized
• Newer OBD protocols have many more DTCso Latest OBD protocol has a five digit DTC
First Character - System
The first character identifies identifies the system related to the trouble code.
• P = Powertrain• B = Body• C = Chassis• U = Undefined
DTCs (cont)Second Digit - Code TypeThe second digit identifies whether the code is a generic code (same on all OBD-II equpped
vehicles), or a manufacturer specific code.
• 0 = Generic (this is the digit zero -- not the letter "O")
• 1 = Enhanced (manufacturer specific)
Third Digit - Sub-SystemThe third digit denotes the type of sub-system that pertains to the code
• 1 = Emission Management (Fuel or Air)
• 2 = Injector Circuit (Fuel or Air)
• 3 = Ignition or Misfire
• 4 = Emission Control
• 5 = Vehicle Speed & Idle Control
• 6 = Computer & Output Circuit
• 7 = Transmission
• 8 = Transmission
• 9 = SAE Reserved
• 0 = SAE Reserved
Fourth and Fifth DigitsThese digits, along with the others, are variable, and relate to a particular problem. For example,a
P0171 code means P0171 - System Too Lean (Bank 1).
OBD (On Board Diagnostics)
• What is OBD?
• History of OBD
• DTC (Diagnostic Trouble Codes)
• Progression of the OBD protocol over time
• Low level implementation of OBD II protocol
• High level overview of OBD II protocol
• OBD Products
Standard Interfaces - ALDL
• ALDL - Assembly line diagnostic linko Developed by GM prior to OBD I o System was only vaguely standardized o Specifics for communication link varied based on
model
• Diagnostic Connector:o At least four different connectors used with ALDLo 12-pin connector was most widely used for GM o Generally only three pins were used for basic ALDL-
ground, battery-voltage and a single line for datao Most other pins used for additional diagnostic
information and control interfaces
Standard Interfaces - ALDL (cont)
• Example 12-pin connector:
• Data Stream: o Unidirectional data (earlier versions)o Serially transmitted at a baud rate of 160 using
PWMo Bidirectional data (later versions) at a baud rate of
8192 o Request-driven
Standard Interfaces - OBD I
• Introduced in 1981
• No standardization among this generation of technology
• Manufacturer-specific OBD I systems required a variety of diagnostic software and hardware.
• OBD I vehicles were built through model year 1995
Standard Interfaces - OBD 1.5
• Partial implementation of OBD II
• Same pinout as OBD II
• Fewer fault codes
Quick Recap
• Discussed what OBD is, and why it's important
• Brief overview of the history of OBD and the progression of OBD protocol over time
• Talked about DTC codes and how we can use them to diagnose check engine light issues
OBD (On Board Diagnostics)
• What is OBD?
• History of OBD
• DTC (Diagnostic Trouble Codes)
• Progression of the OBD protocol over time
• Low level implementation of OBD II protocol
• High level overview of OBD II protocol
• OBD Products
Connector
http://www.automation-drive.com/obd-connector http://www.carplugs.com/Product_view_Cables_2.html
OBD-II Signal Protocols
• Five Signal Protocolso SAE J1850 - Pins 2 and 10
PWM - Ford VPW - GM
o ISO 9141/14230 - Pins 7 and 15 Serial communication Used by Chrysler and Europeans
o ISO 15765 - Pin 6 and 14 CAN communication Used by all since 2008
SAE J1850 PWM/VPW
• PWM o 41.6 Kb/s using pin 2 as Bus +, 10 Bus -o Developed by Fordo Differential Voltage Signalingo High is +5V differentialo 10 byte message
• VPWo 10.4 Kb/s using just pin 2 as Bus +o Developed by GMo Single wire voltage signalingo ~7V High, <3.5V Lowo 10 byte message
PWM Signaling
http://shieldedpair.net/BAE5030/Lectures/J1850%20Introduction.pdf
VPW Signaling
http://shieldedpair.net/BAE5030/Lectures/J1850%20Introduction.pdf
Message Frame - PWM/VPW
• SOF - High signal for 200us
• Header - 1 or 3 bytes
o Priority 3 bits, 000 low priority, 111 high priority
o Header type, 0 means three byte header, 1 means single byte
o In frame response, 0 means IFR required
o Address mode, functional address(0), physical(1)
o Message type, two bits
• Data
• CRC - Cyclic redundancy check, a type of error checking
• NB - Normalized Bit
http://shieldedpair.net/BAE5030/Lectures/J1850%20Introduction.pdf
CRC - Cyclic Redundancy Check
• Error Checking
• 1 byte checksum
• Sequentially calculated
• Implemented with XOR gates
• Generator Polynomial - 0x1D
ISO 9141/ISO 14230 KWP2000
• Serial-like protocol
• Used by Chrysler and European Companies
• 10.4 Kb/s
• 0V low, 12V high
• ISO 9141: Capable of 12 byte message
• KWP2000: 255 byte message
OBD (On Board Diagnostics)
• What is OBD?
• History of OBD
• DTC (Diagnostic Trouble Codes)
• Progression of the OBD protocol over time
• Low level implementation of OBD II protocol
• High level overview of OBD II protocol
• OBD Products
High Level Overview of OBD II
• Send request over CAN bus
• Request is a 1 to 2 byte messageo message is between 1 and 2 bytes long, consisting
of a mode, and followed by a PID when necessary
• OBD II responds with a messageo size varies depending on request
see http://en.wikipedia.org/wiki/OBD-II_PIDs for information on different modes and PIDs
Modes
Mode (hex) Meaning
0x01 Show current data
0x02 Show freeze frame data
0x03 Show stored Diagnostic Trouble Codes
0x04 Clear Diagnostic Trouble Codes and stored values
0x05 Test results, oxygen sensor monitoring
0x06 Test results, other component/system monitoring
0x07 Show pending Diagnostic Trouble Codes
0x08 Control operation of on-board component/system
0x09 Request vehicle information
0x0A Permanent DTC's (Cleared DTC's)
see http://en.wikipedia.org/wiki/OBD-II_PIDs for information on different modes and PIDs
Example 1
• Send request over CAN buso in this case, we'll send mode 0x03 (show stored
DTC's)o doesn't require a PID
• OBD II responds with all of the stored DTC's
Example 2
• Send request over CAN buso in this case, we'll send mode 0x01 followed by PID
0x05o remember, 0x01 is the mode for current data, and
PID 0x05 specifies engine coolant temperature
• OBD II responds with a 1 byte messageo temperature readings can be between -40 and 215o so to get our temperature reading, we do (received
message - 40)
OBD (On Board Diagnostics)
• What is OBD?
• History of OBD
• DTC(Diagnostic Trouble Codes)
• Progression of the OBD protocol over time
• Low level implementation of OBD II protocol
• High level overview of OBD II protocol
• OBD Products
OBD Products
• Hand-held scan tools
• Mobile device based tools and analysis
• PC based scan tools and analysis
OBD Products
• Hand-held scan tools
• Mobile device based tools and analysis
• PC based scan tools and analysis
Hand-held Scan Tools
• Costs as little as $15 and
as much as $500
• Cheaper models support less protocols, which means less cars
• Cheaper models also have less features
Cheap Hand-held Scanner U380 Engine Check OBD-II Scanner
• Very cheap ($20.88 + shipping on Amazon)
• Doesn't support the CAN protocol
• Only supports cars and
trucks between 1996-2003
• Only allows user to read
and clear DTCs
see http://www.amazon.com/OBDII-Engine-Scanner-Trouble-Reader/dp/B000LEPT5G/ref=sr_1_1?ie=UTF8&qid=1352273604&sr=8-1&keywords=U380 for information on this hand-held scanner
Expensive Hand-held ScannerInnova 3130c DTC Scanner
• $208.16 + shipping on Amazon
• Compatible with cars manufactured beyond 1996
• Wifi connectivity, allows connection to Fix Assist database
• Fix Assist has a database of fixes
for common DTCs
• LED lights indicate whether car will
pass or fail emission testssee http://www.amazon.com/Innova-3130c-Diagnostic-Scanner-Vehicles/dp/B008RHBJ8K/ref=sr_1_2?ie=UTF8&qid=1352273755&sr=8-2&keywords=innova+3130c for information on this hand-held scanner
OBD Products
• Hand-held scan tools
• Mobile device based tools and analysis
• PC based scan tools and analysis
Mobile Device Based Tools
• Many iPhone and Android applications
• Use an OBD II to bluetooth connection
• Advantages: much cheaper for the same amount of capabilities, more flexible, better user interface
• Disadvantages: phone many not be compatible with smartphone software
ELM 327 OBD-II to Bluetooth Connector
• $23.99 + shipping and handling on Amazon.com
• Works with Torque Pro Android application among 100s of others
Torque Pro (Android Application)
• $4.95
• Over 10,000 reviews, with an average rating of 5 stars out of 5
• Supports Torque measurements, speed measurements, fuel efficiency, among 100s of other types of engine logging
• Maps logged data against GPS
Applications
• Hand-held scan tools
• Mobile device based tools and analysis
• PC based scan tools and analysis
PC Based Scan Tools and Analysis
• Similar to the mobile solutiono except more access to different types of peripheral
interfaces (serial, usb, etc.)o less portable
• Typically used by professional mechanicso no need to be mobile in a mechanics shopo allows for faster diagnosis (more cpu power)o no worries about batteries dying
TouchScan OBD Software
• $24.95 (no shipping and handling) on scantool.net
• Offers many of the same features as Torque Pro o Customizable user interfaceo Error database lookupo ect.
ODB-II - Hacker Friendly!
• ODB-II is simple and well known (tons of documentation)
• There is an Arduino OBD-II GPS logger!
• Hack away!
What did we learn?
• What OBD is and how we can use it to find out what is wrong with our engine
• The history of OBD and how the OBD protocol has progressed over time
• OBD II low level protocol in depth
• How we can retrieve DTC codes and engine data from OBD computer at a high level
• OBD consumer products
Images:
1. http://www.autoobd2diagnostic.com/category/obd-diagnosc (image)
2. http://www.harborfreight.com/can-obd-ii-code-reader-eobd-scanner-98614.html
3.http://www.dinodirect.com/engine-memo-scanner-u380-obdii-obd2-eobd.html?cur=USD&affid=3846&gclid=CKK3z5mhqrMCFRBgMgod4WQAqw
4. http://www.arduinodev.com/ultimate-gps-obd-data-logger-displayer/
5. http://scantools.net
5. add all the others
Information:
1. http://epa.gov/obd/
2. http://en.wikipedia.org/wiki/On-board_diagnostics
3. http://en.wikipedia.org/wiki/ALDL
4. http://shieldedpair.net/BAE5030/Lectures/J1850%20Introduction.pdf
5. http://www.obd-codes.com/faq/obd2-codes-explained.php
Sources