http://en.wikipedia.org/wiki/On-board_diagnostics#Standard_interfaces

OBD-II diagnostic connector

The OBD-II specification provides for a standardized hardware interface—the female 16-pin (2x8) J1962 connector. Unlike the OBD-I connector, which was sometimes found under the hood of the vehicle, the OBD-II connector is required to be within 2 feet (0.61 m) of the steering wheel (unless an exemption is applied for by the manufacturer, in which case it is still somewhere within reach of the driver). SAE J1962 defines the pinout of the connector as:

1

Manufacturer discretion.GM: J2411 GMLAN/SWC/Single-Wire CAN.

VW/Audi: Switched +12 to tell a scan tool whether the ignition is on.

9

Manufacturer discretion.GM: 8192 baud ALDL where fitted.

Bus positive Line of SAE-J1850 PWM and SAE-1850 VPW

Bus negative Line of SAE-J1850 PWM only (not SAE-1850 VPW)

3 Ford DCL(+) Argentina, Brazil (pre OBD-II) 1997-2000, USA, Europe, etc.
Chrysler CCD Bus(+)
11 Ford DCL(-) Argentina, Brazil (pre OBD-II) 1997-2000, USA, Europe, etc.
Chrysler CCD Bus(-)
Chassis ground 12 Not connected
Signal ground 13 Manufacturer discretion
Ford: FEPS - Programming PCM voltage
CAN high (ISO 15765-4 and SAE-J2284) CAN low (ISO 15765-4 and SAE-J2284)
K line of ISO 9141-2 and ISO 14230-4 L line of ISO 9141-2 and ISO 14230-4
8

Manufacturer discretion.

Many BMWs: A second K-Line for non OBD-II (Body/Chassis/Infotainment) systems.

Battery voltage

The assignment of unspecified pins is left to the vehicle manufacturer's discretion.

OBD-II signal protocols

There are five signaling protocols that 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:

  • 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 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)
    • 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 CSMA/NDA
  • ISO 9141-2. This protocol has an asynchronous serial data rate of 10.4 kBaud.
    It is somewhat similar to RS-232; however, the signal levels are different, and communications happens 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 Vbatt
    • The active/dominant state is driven low with an open-collector driver.
    • Message length is Max 260Bytes. Data field MAX 255.
  • 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 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).

  • 0 – Automatic
  • 1 – SAE J1850 PWM (41.6 kbaud)
  • 2 – SAE J1850 VPW (10.4 kbaud)
  • 3 – ISO 9141-2 (5 baud init, 10.4 kbaud)
  • 4 – ISO 14230-4 KWP (5 baud init, 10.4 kbaud)
  • 5 – ISO 14230-4 KWP (fast init, 10.4 kbaud)
  • 6 – ISO 15765-4 CAN (11 bit ID, 500 kbaud)
  • 7 – ISO 15765-4 CAN (29 bit ID, 500 kbaud)
  • 8 – ISO 15765-4 CAN (11 bit ID, 250 kbaud)
  • 9 – ISO 15765-4 CAN (29 bit ID, 250 kbaud)
  • A – SAE J1939 CAN (29 bit ID, 250 kbaud)

On-board diagnostics connector SAE J1962的更多相关文章

  1. J2534 Pass-Thru Vehicle Programming ( SAE J1962 connector and Protocol )

    SAE J1962—Diagnostic Connector SAE J1850—Class B Data Communications Network Interface SAE J1939—Tru ...

  2. SAE J2534 Pass-Thru API

    Connects to the OBDII J1962 DLC and supports the following protocols. 1 CAN2 Single Wire2 J1850PWM+ ...

  3. SAE J2534介绍

    概要 J2534是一种针对与射频相关的ECU进行闪存编程的概念,而不用考虑ECU使用的通信协议.其目的是所有类型的ECU都应当只需一个工具(硬件设备),通常被称为通过式设备.J2534设备和ECU之间 ...

  4. Introduction into ISO 27145 WWH-OBD

    全球统一的重型发动机的车载诊断系统(WWH-OBD) ISO/PAS 27145 is intended to become the single communication standard for ...

  5. Vehicle Network Protocols -- ISO/KWP CAN CCD PCI SCI / SCP / Class 2

    Vehicle Network Protocols There are 5 protocols in the OBD2 system and a car will normally only use ...

  6. 远程诊断DoIP

    目录 远程诊断DoIP Part 1: General information and use case definition DoIP诊断网络架构 诊断连接场景 DoIP之通信建立 DoIP中的一些 ...

  7. Implementation of Serial Wire JTAG flash programming in ARM Cortex M3 Processors

    Implementation of Serial Wire JTAG flash programming in ARM Cortex M3 Processors The goal of the pro ...

  8. asm335x系列adc和触摸屏驱动(转)

    An analog-to-digital converter (abbreviated ADC) is a device that uses sampling to convert a continu ...

  9. chassis & power

    机箱电源 ★ Main board ★ Voltage, connector ★ Hole ★ Ports ★ AT:12``*13.8`` or 12``*13``  30.5cm*33cm ★ B ...

随机推荐

  1. Python学习2-列表和元组

    Python学习2-列表和元组 标签(空格分隔): 列表 元组 在Python中,最基本的数据结构是序列(sequence).序列中的每个元素被分配一个序号--即元素的位置,也称为索引.索引从0开始. ...

  2. IOS 单例 创建方式

    @implementation Me static Car *sharedInstance= nil;//声明一个静态对象引用并赋为nil +(Me *) sharedInstance//声明类方法( ...

  3. Android通过代码获取View

    View view = LayoutInflater.from(mContext).inflate(R.layout.song_item_adapter, null); LayoutInflater ...

  4. Effective java笔记8--序列化

    对象的序列化(object serialization)API,它提供了一个框架,用来将对象编码成一个字节流,以及从字节流编码中重新构建对象. 一.谨慎地实现Serializable     要想使一 ...

  5. Linux下安装loadrunner步骤及遇到的问题

    Linux下实现压力测试,只能在Linux下安装加压器---load-generator,然后通过本地录制脚本,通过loadrunner controller 的Scenario-->Load ...

  6. ASP.NET Cookie对象到底是毛啊?(简单小例子)

    记得刚接触asp.net的时候,就被几个概念搞的头痛不已,比如Request,Response,Session和Cookie.然后还各种在搜索引擎搜,各种问同事的,但是结果就是自己还是很懵的节奏. 那 ...

  7. python内建函数sorted方法概述

    python中,具体到对list进行排序的方法有俩,一个是list自带的sort方法,这个是直接对list进行操作,只有list才包含的方法:另外一个是内建函数sorted方法,可以对所有可迭代的对象 ...

  8. Oracle 学习用

    最近在学习Oracle数据库 ,公司用这个,学习到现在,唉!苦逼的程序员呀! 也只能在这里发发牢骚了,这个是转载的 ,发完睡觉! oracle sql语句 一.ORACLE的启动和关闭 .在单机环境下 ...

  9. PHP获取curl的错误

    curl_error($ch) 用 curl_error 来获取 curl 的错误

  10. erlang 基础知识

    一 数据类型 1. 整数 Integer Erlang可表示任意大的整数,大整数自动转换成bignums类型,比固定大小的整数类型相对效率较低. Base#Value 表示基数不是10的整数.如:2# ...