Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
On-board diagnostics
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
== OBD-II signal protocols == Five signaling protocols are permitted with the OBD-II interface. Most vehicles implement only one of the protocols. It is often possible to deduce the protocol used based on which pins are present on the J1962 connector:<ref>{{Cite web|url=https://www.knowyourparts.com/technical-resources/electrical/diagnosing-serial-data-buses/|title=Diagnosing Serial Data Buses|date=August 25, 2016}}</ref> * SAE J1850 PWM ([[pulse-width modulation]] β 41.6 kB/sec, standard of the [[Ford Motor Company]]) **pin 2: Bus+ **pin 10: Busβ **High voltage is +5 V **Message length is restricted to 12 bytes, including [[Cyclic redundancy check|CRC]] **Employs a multi-master arbitration scheme called '[[Carrier Sense Multiple Access]] with Non-Destructive Arbitration' (CSMA/NDA) * SAE J1850 VPW ([[variable pulse width]] β 10.4/41.6 kB/sec, standard of [[General Motors Corporation|General Motors]]) **pin 2: Bus+ **Bus idles low **High voltage is +7 V **Decision point is +3.5 V **Message length is restricted to 12 bytes, including CRC **Employs [[Carrier Sense Multiple Access|CSMA]]/NDA * [[ISO 9141-2]]<ref>{{Cite web|url=https://www.iso.org/cms/render/live/en/sites/isoorg/contents/data/standard/01/67/16738.html|title=ISO 9141-2:1994|website=ISO|language=en|access-date=2020-02-19}}</ref> This protocol has an asynchronous serial data rate of 10.4 kbit/s.<ref>{{cite journal |url=https://www.irjet.net/archives/V4/i7/IRJET-V4I7181.pdf |title=Implementation and Validation of K Line (ISO 9141) Protocol for Diagnostic Application |first1=Gauri |last1=Mahajan |first2=S.K. |last2=Parchandekar |first3=Mohammad |last3=Tahir |journal=International Research Journal of Engineering and Technology |volume=4 |issue=7 |date=July 2017 |access-date=2020-08-15}}</ref> It is somewhat similar to [[RS-232]]; however, the signal levels are different, and communications happen on a single, bidirectional line without additional handshake signals. ISO 9141-2 is primarily used in Chrysler, European, and Asian vehicles. **pin 7: K-line **pin 15: L-line (optional) **UART signaling **K-line idles high, with a 510 ohm resistor to V<sub>batt</sub> **The active/dominant state is driven low with an open-collector driver **Message length is max 260 Bytes ([[Payload (computing)|payload]] field max is 255 Bytes) * [[ISO 14230]] KWP2000 ([[Keyword Protocol 2000]]) **pin 7: K-line **pin 15: L-line (optional) **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 * ISO 15765 [[Controller Area Network|CAN]] (250 kbit/s or 500 kbit/s). The CAN protocol was developed by Bosch for automotive and industrial control. Unlike other OBD protocols, variants are widely used outside of the automotive industry. While it did not meet the OBD-II requirements for U.S. vehicles prior to 2003, as of 2008 all vehicles sold in the US are required to implement CAN as one of their signaling protocols. **pin 6: CAN High **pin 14: CAN Low All OBD-II pinouts use the same connector, but different pins are used with the exception of pin 4 (battery ground) and pin 16 (battery positive). ===OBD-II diagnostic data available=== OBD-II provides access to data from the [[engine control unit]] (ECU) and offers a valuable source of information when troubleshooting problems inside a vehicle. The SAE J1979 standard defines a method for requesting various diagnostic data and a list of standard parameters that might be available from the ECU. The various available parameters are addressed by "parameter identification numbers" or '''PID'''s which are defined in J1979. For a list of basic PIDs, their definitions, and the formula to convert raw OBD-II output to meaningful diagnostic units, see [[OBD-II PIDs]]. Manufacturers are not required to implement all PIDs listed in J1979 and they are allowed to include proprietary PIDs that are not listed. The PID request and data retrieval system gives access to real time performance data as well as flagged DTCs. For a list of generic OBD-II DTCs suggested by the SAE, see [[Table of OBD-II Codes]]. Individual manufacturers often enhance the OBD-II code set with additional proprietary DTCs. ===Mode of operation/OBD services=== Here is a basic introduction to the OBD [[communication protocol]] according to ISO 15031. In SAE J1979 these "modes" were renamed to "services", starting in 2003. * '''Service / Mode <code>$01</code>''' shows current sensor live data from PIDs ("Parameter IDs"). See [[OBD-II PIDs#Service_01]] for an extensive list. * '''Service / Mode <code>$02</code>''' makes Freeze Frame data accessible via the same PIDs.<ref>{{Cite web|last=Miller|first=Tim|date=2019-06-07|title=How Can I Read OBD2 Freeze Frame Data?|url=https://obdplanet.com/obd2-freeze-frame-data/|access-date=2020-07-22|website=OBD Planet|language=en-US}}</ref> See [[OBD-II PIDs#Service_02]] for a list. * '''Service / Mode <code>$03</code>''' lists the emission-related "confirmed" diagnostic trouble codes stored. It either displays numeric, 4 digit codes identifying the faults or maps them to a letter (P, B, U, C) plus 4 digits. See [[#OBD-II_diagnostic_trouble_codes]]. * '''Service / Mode <code>$04</code>''' is used to clear emission-related diagnostic information. This includes clearing the stored pending/confirmed DTCs and Freeze Frame data.<ref>{{Cite web|last=Miller|first=Tim|date=2018-02-28|title=How To Read OBD2 Freeze Frame Data|url=https://www.obdadvisor.com/freeze-frame/|access-date=2021-11-23|website=OBD Advisor|language=en-US}}</ref> * '''Service / Mode <code>$05</code>''' displays the oxygen sensor monitor screen and the test results gathered about the oxygen sensor. There are ten numbers available for diagnostics: ** <code>$01</code> Rich-to-Lean O2 sensor threshold voltage ** <code>$02</code> Lean-to-Rich O2 sensor threshold voltage ** <code>$03</code> Low sensor voltage threshold for switch time measurement ** <code>$04</code> High sensor voltage threshold for switch time measurement ** <code>$05</code> Rich-to-Lean switch time in ms ** <code>$06</code> Lean-to Rich switch time in ms ** <code>$07</code> Minimum voltage for test ** <code>$08</code> Maximum voltage for test ** <code>$09</code> Time between voltage transitions in ms ** See [[OBD-II PIDs#Service_05]] for a list. * '''Service / Mode <code>$06</code>''' is a Request for On-Board Monitoring Test Results for Continuously and Non-Continuously Monitored System. There are typically a minimum value, a maximum value, and a current value for each non-continuous monitor. * '''Service / Mode <code>$07</code>''' is a Request for emission-related diagnostic trouble codes detected during current or last completed driving cycle. It enables the external test equipment to obtain "pending" diagnostic trouble codes detected during current or last completed driving cycle for emission-related components/systems. This is used by service technicians after a vehicle repair, and after clearing diagnostic information to see test results after a single driving cycle to determine if the repair has fixed the problem. See [[#OBD-II_diagnostic_trouble_codes]]. * '''Service / Mode <code>$08</code>''' could enable the off-board test device to control the operation of an on-board system, test, or component. * '''Service / Mode <code>$09</code>''' is used to retrieve vehicle information. Among others, the following information is available: ** VIN ([[Vehicle identification number|Vehicle Identification Number]]): Vehicle ID ** CALID (Calibration Identification): ID for the software installed on the ECU ** CVN (Calibration Verification Number): Number used to verify the integrity of the vehicle software. The manufacturer is responsible for determining the method of calculating CVN(s), e.g. using checksum. ** In-use performance counters *** Petrol engine : Catalyst, Primary oxygen sensor, Evaporating system, EGR system, VVT system, Secondary air system, and Secondary oxygen sensor *** Diesel engine : NMHC catalyst, NOx reduction catalyst, NOx absorber Particulate matter filter, Exhaust gas sensor, EGR system, VVT system, Boost pressure control, Fuel system. ** See [[OBD-II PIDs#Service_09]] for an extensive list. * '''Service / Mode <code>$0A</code>''' lists emission-related "permanent" diagnostic trouble codes stored. As per CARB, any diagnostic trouble codes that is commanding MIL on and stored into non-volatile memory shall be logged as a permanent fault code. See [[#OBD-II_diagnostic_trouble_codes]].
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)