On Board Diagnostics OBD Rebecca Doebler, James Carl, Joe Romeo EECS 498 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 Source: 1 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 onboard computers and diagnose any potential failures in the engine, as well as retrieve information such as rpm, horse-power, etc. 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 o An electronic control module uses an oxygen sensor to monitor exhaust gas for being rich or lean 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 DTCs o 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 Type The 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-System The 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 Digits These 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 link o o o • Developed by GM prior to OBD I System was only vaguely standardized Specifics for communication link varied based on model Diagnostic Connector: o o o o At least four different connectors used with ALDL 12-pin connector was most widely used for GM Generally only three pins were used for basic ALDLground, battery-voltage and a single line for data Most other pins used for additional diagnostic information and control interfaces Standard Interfaces - ALDL (cont) • Example 12-pin connector: • Data Stream: o o o Unidirectional data (earlier versions) Serially transmitted at a baud rate of 160 using PWM Bidirectional data (later versions) at a baud rate of 8192 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 Protocols o o o SAE J1850 - Pins 2 and 10 PWM - Ford VPW - GM ISO 9141/14230 - Pins 7 and 15 Serial communication Used by Chrysler and Europeans ISO 15765 - Pin 6 and 14 CAN communication Used by all since 2008 SAE J1850 PWM/VPW • PWM 41.6 Kb/s using pin 2 as Bus +, 10 Bus o Developed by Ford o Differential Voltage Signaling o High is +5V differential o 10 byte message o • VPW 10.4 Kb/s using just pin 2 as Bus + o Developed by GM o Single wire voltage signaling o ~7V High, <3.5V Low o 10 byte message o 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 http://shieldedpair.net/BAE5030/Lectures/J1850%20Introduction.p df 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 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 ISO 15765 CAN • • 1 Mbit/s Must be implemented on all cars built after 2008 ISO 15765 CAN Message Frame 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 message o • message is between 1 and 2 bytes long, consisting of a mode, and followed by a PID when necessary OBD II responds with a message o 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 bus o o • in this case, we'll send mode 0x03 (show stored DTC's) doesn't require a PID OBD II responds with all of the stored DTC's Example 2 • Send request over CAN bus o o • in this case, we'll send mode 0x01 followed by PID 0x05 remember, 0x01 is the mode for current data, and PID 0x05 specifies engine coolant temperature OBD II responds with a 1 byte message o o temperature readings can be between -40 and 215 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 Scanner Innova 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 tests see 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 Torque Pro (Android Application) 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 solution o o • except more access to different types of peripheral interfaces (serial, usb, etc.) less portable Typically used by professional mechanics o o o no need to be mobile in a mechanics shop allows for faster diagnosis (more cpu power) 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 Customizable user interface o Error database lookup o ect. o TouchScan OBD Software 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 Any Questions? Sources 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-obd2eobd.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