http://en.wikipedia.org/wiki/J1708

J1708

SAE J1708 is a standard used for serial communications between ECUs on a heavy duty vehicle

and also between a computer and the vehicle.

With respect to Open System Interconnection model (OSI), J1708 defines the physical layer.

Common higher layer protocols that operate on top of J1708 are SAE J1587 and SAE J1922.

The protocol is maintained by SAE International.

Description

The standard defines a 2-wire 18 gauge wire cable that can run up to 130 feet (40 m) and operates at 9600 bit/s.

A message is composed of up to 21 characters, unless the engine is stopped and the vehicle is not moving

in which case transmitters are allowed to exceed the 21 byte max message length.

Messages start with a Message ID (MID) character and finish with a checksum at the end.

Characters are transmitted in the common 8N1 format.

The hardware utilized are RS-485 transceivers wired for open collector operation

through the use of a pullup and pulldown of the separate data lines.

Transmission is accomplished by controlling the driver enable pin of the transceiver.

This method allows multiple devices to share the bus without the need for a single master node.

Collisions are avoided by monitoring the bus while transmitting the MID

to ensure that another node has not simultaneously transmitted a MID with a higher priority.

History

SAE J1708, although still widely used, is replaced by SAE J1939 which is a CAN protocol. 

AN-915 Automotive Physical Layer SAE J1708 and the DS36277

The Society of Automotive Engineers (SAE) Recommended Practice J1708

The SAE has defined this recommended practice for serial data communications

between microcomputer systems in heavy duty vehicle applications.

It is also well suited to passenger car applications (as shown in Figure 1) and many non-automotive uses.

The bus is expected to be used for sharing data.

An applications document, like SAE J1587 or SAE J1922, defines the actual data or functions to be transmitted.

SAE J1708 only defines the hardware and basic software.

The physical media is a two-wire bus using 18-gauge twisted pair with a minimum of 1 twist per inch.

The maximum length is intended to be 40m.

A maximum of 20 nodes is specified.

Deviations from this must be carefully analyzed to determine impact on bus performance over the entire operating range.

Each node may access the bus randomly once the bus is idle for a predetermined access time.

If two or more nodes attempt to access the bus at the same time, the contending nodes must arbitrate for the bus.

Arbitration is determined by priority, which is set between 1 (top priority) and 8.

An applications document will reference SAE J1708 and define the priority associated with each message.

Since there can be up to 20 nodes, it is possible for two contending nodes to have the same priority.

When contention exists between two or more nodes, arbitration is determined by the bus access time.

This is the time a node is required to wait before it can attempt to access the bus.

The protocol is consistent with standard universal asynchronous receiver/transmitter (UART) operation.

A message consists of a message identification character (MID), a data character(s) and a checksum character.

The total message length should not exceed 21 characters. A character is defined as 10 bits:

the first bit is always the start bit (logic level LOW), followed by eight bits of data and,

the tenth bit is the stop bit (logic level HIGH) (see Figure 2).

The bit timing equates to a baud rate of 9600.

The logic LOW and HIGH levels are encoded as “dominant” and “recessive”, which is described later.

The hardware is defined by the RS-485 standard for its electrical characteristics,

with some exceptions and modifications.

J1708 Bus Loading

The recommended implementation for a SAE J1708 load is shown in Figure 3 .

The recommended implementation for a SAE J1708 system using a standard RS-485 transceiver,

such as the DS75176B (see Figure 4), is shown in Figure 7.

The circuitry between the bus and the transceiver differs from RS-485 and is intended to provide several features:

• R1 and R2 provide the bias for the “recessive” state.
• C1 and C2 combine to form a 6 MHz low-pass filter, effective for reducing FM interference.
• R2, C1, R4 and C2 combine to form a 1.6 MHz low-pass filter, effective for reducing AM interference.
• Since the bus is unterminated, at high frequencies R3 and R4 perform a pseudo-termination.

This makes the implementation more flexible as no specific “termination nodes” are required at the ends of the bus.

The resistor and capacitor values are as follows and are shown in Figure 3:
• Resistor 1 and 2 (R1 and R2)— 4.7 kΩ
• Resistor 3 and 4 (R3 and R4)— 47 Ω
• Capacitor 1 and 2 (C1 and C2)— 2.2 nF

A.1 This circuit utilizes standard RS-485 transceivers (less than or equal to one RS-485 unit load) connected to drive the differential data bus to the logic zero state only (unipolar drive).

In the previous circuit, a standard RS- 485 receiver may be used in place of a transceiver in applications where data need not be placed on the bus (that is, receive only).

A.2 The logic 1 state (also idle state) is controlled by pull-up resistor R1 and pull-down resistor R2.

A.3 The transceiver output impedance, C1 and C2, form the transmit filter for transient and EMI suppression (approximately 6 MHz low pass).

A.4 R3, C1, R4, and C2 form the receive filter for EMI suppression (approximately 1.6 MHz low pass). These parts also form a pseudo line termination at high frequencies.

A.5 The active (high-to-low) transition delay is approximately 0.6 ms at the receiver with two nodes on the bus and 2.3 ms with 20 nodes on the bus.

A.6 The passive (low-to-high) transition delay at the receiver remains at 10 ms with any number of loads on the bus (up to 20).

A.7 The values shown were chosen for use with commercially available RS-485 drivers to provide maximum fan- out, EMI suppression, and bus termination.

Remaining nodes may be in either the powered or unpowered state.

A.8 This method of unipolar drive prevents unresolved contention (logic 0 always wins).

A.9 The resistors shown should be 5% parts to assure sufficient noise margin under worst-case conditions.

R3, R4, C1, and C2 should be balanced within 10% on each side of the data bus to minimize common mode electromagnetic radiation.

Dominant Mode

The drivers used by SAE J1708 are used in a dominant mode application.

The driver's input (DI) is tied LOW and the signal (Tx) to be transmitted is tied to the driver's enable.

The enable (DE) is active HIGH for the DS75176B while the enable (DE*) for the DS36277 is active LOW.

First, this information is very important because this tells us that the driver is only capable of driving LOW.

Therefore, a logic level LOW is encoded as “dominant”.

When the driver is disabled, the bus is pulled high by external bias resistors R1 and R2 (as shown in Figure 3).

Therefore, a logic level HIGH is encoded as “recessive”.

Second, if the driver's enable is active LOW, then you will transmit positive logic.

But, if the driver's enable is active HIGH you will transmit negative logic.

SAE J1708 is only defined for positive logic.

Therefore, to implement a SAE J1708 application using DS75176B, which has an active HIGH driver enable,

an inverter is needed for the driver enable (see Figure 4 and Figure 6 ).

However, the active LOW driver enable pin on the DS36277 saves you an externally needed inverter (see Figure 5).

In the case of a SAE J1708 application, a logic LOW can overwrite a logic HIGH.

Therefore, if contention exists between two drivers with transmitting signals (Tx) in opposite states,

the driver driving the “dominant” state wins.

SAE J1708 requires all receivers to listen to every message identification character transmitted to determine if contention exists.

Unlike the driver, the receiver's enable (RE*) is always tied LOW (see Figure 4 and Figure 5).

This means the receiver is always in listen mode (see Explanation of Terms).

The external components shown in Figure 3 provide the necessary bias for a logic High “recessive” state.

SAE J1708 requires no additional external components other than the J1708 load.

This means that no  parallel termination can be used at the ends of the SAE J1708 bus.

The required loading also provides failsafe protection.

Features of the DS75176B

The DS75176B offers full compliance with the RS-485 standard and it is compatible with RS-422 and V.11.

The device is available with industrial temperature range.

Additionally, a thermal shutdown circuit protects the device against thermal overstress due to excessive power dissipation.

Furthermore, the receiver has failsafe protection.

However, the receiver's output is only guaranteed to be in a logic HIGH state for an open input line condition.

The receiver also has ±200 mV threshold levels.

The driver has an active HIGH enable while the receiver has an active LOW enable.

Features of the DS36277

The DS36277 is optimized for use with SAE J1708 electrical applications and the device is

still compatible with RS-485, RS-422, and V.11 standards.

Like the DS75176B, the device is available with industrial temperature range.

Also the device includes thermal shutdown protection; plus the receiver has failsafe protection.

Additionally, the receiver has full failsafe defenses that includes shorted and terminated line fault

and conditions as well as open line conditions.

The receiver's output is assured to be in a logic HIGH state for all three line faults and conditions.

The receiver's 0 V to −500 mV threshold provides the protection from shorted line faults.

Unlike the DS75176B, both the driver and the receiver have an active LOW enable.

The DS36277 also has a very rugged ESD structure that allows it to withstand electrostatic discharges
(ESD) up to 7 kV (HBM). The device is also available in SOIC as well as DIP packages.

Conclusions

Selecting an established physical layer such as J1708 can eliminate many of the challenges of designing a serial communications system.

The dominant mode operation allows for a non-destructive arbitration scheme.

J1708 is based on RS-485 electrical specifications and benefits from the ruggedness,

low cost and availability of compliant ICs are already on the market.

The DS36277 transceiver has been optimized for J1708.

It provides failsafe protection against bus faults and eliminates the need for an external inverter.

http://ww1.microchip.com/downloads/en/AppNotes/01230A.pdf

AN1230

SAE J1708/J1587 Communications with the EUSART

The Enhanced Universal Synchronous Asynchronous Receiver Transmitter (EUSART)

FEATURES
The features of the EUSART are as follows:
• Selectable 16-bit Baud Rate Generator mode
• Interrupt on Sync Break character received
• 12-bit Break character transmit
• Auto-baud calibration on Sync character
• Clock polarity select for Synchronous mode
• Transmit polarity select for Asynchronous mode
• Receiver Idle flag
• Receive Shift register empty Status bit during Sleep

J1708 Wiring on a 9 Pin SAE Connector:

SAE J1708 DS36277 MAX3444, DS75176B的更多相关文章

  1. SAE J1850 VPW PWM, SAE J2411 SWC, ISO 11898 CAN, SAE J1708, Chrysler CCD 接口芯片电路

    SAE J1850 VPW 接口芯片电路 SAE J1850 PWM 接口芯片电路 SAE J2411 SWC 接口芯片电路 ISO 11898 CAN 接口芯片电路 CANH 和CANL 上的电容 ...

  2. SAE J2534 Pass-Thru API

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

  3. SAE/ISO standards for Automotive

    On-Board Diagnostics J1962 Diagnostic Connector Equivalent to ISO/DIS 15031-3: December 14, 2001J201 ...

  4. 在 SAE 上部署 ThinkPHP 5.0 RC4

    缘起 SAE 和其他的平台有些不同,不能在服务器上运行 Composer 来安装各种包,必须把源码都提交上去.一般的做法,可能是直接把源码的所有文件复制到目录中,添加到版本库.不过,这样就失去了与上游 ...

  5. SAE+WordPress快速搭建个人博客

    前些天一时冲动,买了个域名,我想总不能放着不用吧,干脆就搭建了一个个人博客.下面我把搭建的过程分享给大家.注意,此文并不是攻略,只是为了记录下这个从无到有的过程,当然,假如解决了你的疑惑,那当然是极好 ...

  6. 新浪云SAE搭建python环境 问题拾遗

    1.python程序部署到sae上需要做的改动 在线上需要转换成wsgi的形式运行python程序. sae中运行python程序需要指定一个函数为入口函数. application = sae.cr ...

  7. SAE学习-使用SAE的Storage服务存储图片

    看到园子里面有同学写了一篇<基于PHP实现阿里云开放存储服务>,围观地址:http://www.cnblogs.com/nosqlcoco/p/3474773.html.想起自己也在Sin ...

  8. 新浪云SAE使用入门,教你如何发布自己的网站

    新浪云sae是一个免费的web服务器,SAE的Web服务器采用分布式部署的方式,开发者将代码部署到SAE前端机后,会通过同步的方式,将代码部署到SAE所有的Web服务器.相当于在每一台Web服务器上都 ...

  9. 在新浪云SAE中使用smarty引擎模版

    在新浪云上使用smarty时会发现又这样的错误信息: “SAE_Fatal_error: Uncaught exception 'SmartyException' with message 'unab ...

随机推荐

  1. [转] 从 dll 程序集中动态加载窗体

    无涯 原文 从 dll 程序集中动态加载窗体 [原创] 昨天晚上花了一晚上时间写了一个从程序集中动态加载窗体的程序.将任何包含窗体的代码编译成 dll 文件,再把 dll 文件拷贝到本程序的目录下,本 ...

  2. 长轮询和Comet

    长轮询方式是由前端定时发起AJAX请求,若请求到数据则把数据显示出来. comet方式是由客户端与服务器端发起一个长连接,然后客户端通过监听事件的方式,来对服务器端返回的数据作出响应和处理. 实时性要 ...

  3. 【,net】发布网站问题

    今天解决了一个发布后网站访问不了的问题: 问题: 发布网站:http://172.168.1.102:2222/nologin.html,但是页面一直处于刷新状态,进行不了系统: 解决方法: 问开发他 ...

  4. jquery图片裁切+PHP文件上传

    下载地址:download.csdn.net/source/2745353

  5. Win7+xp命令行 一键修改IP、DNS

    这里提供了一个简便方法:(该方法为Win7下的,XP下的见最后一行) 第一步:新建一个txt文件 第二步:在文件中添加如下内容: netsh interface ip set address name ...

  6. Android百度地图开发(三)范围搜索

    // 1.新建项目 将地图API添加进classpath中: 2.在activity_main.xml中添加一个MapView,用来显示地图: <LinearLayout xmlns:andro ...

  7. Python:类属性,实例属性,私有属性与静态方法,类方法,实例方法

    From: http://www.cnblogs.com/pengsixiong/p/4823473.html 属性分为实例属性与类属性 方法分为普通方法,类方法,静态方法 一:属性: 尽量把需要用户 ...

  8. HTTP Status 500 - Servlet.init() for servlet htmlWebConfig threw exception

    HTTP Status 500 - Servlet.init() for servlet htmlWebConfig threw exception

  9. Xtrabackup之innobackupex备份恢复详解(转)

    add by zhj:对于Xtrabackup2.2来说,已经解决了本文结尾提到的那个bug,当使用--copy-back时,同时加--force-non-empty-directories 即可.这 ...

  10. C# Keynote

    [C# Keynote] 1. Main 方法必须包含在一个类内,参数类型.返回值类型可以有多种变化. // Hello1.cs public class Hello1 { public static ...