当前位置:网站首页>SAE j1708/j1587 protocol details
SAE j1708/j1587 protocol details
2022-07-19 02:01:00 【Monastic -0323】
One , brief introduction
SAE J1708 and SAE J1587 All by the American Society of Automotive Engineers (Society of Automotive Engineers) It is a heavy motor vehicle ( truck , Passenger car , Ship, etc ) Established communication standards . among SAE J1708 The agreement OSI(Open System Interconnection) In the seven layer model, there are specifications on the physical link layer , and SAE J1587 A protocol is a specification on the application layer . The following is an introduction to these two protocol applications .
Two ,SAE J1708 agreement
1, Physical layer properties
Idle level voltage :5V ( General gasoline vehicle 12V, diesel engined car 24V, Some cars 5V)*
Default positive and negative logic : Positive logic ( That is, the default high-level state is 1)
Transceiver :RS485 Transceiver
Level characteristics :
Level characteristic :J1708 The bus consists of two cables (A and B) form , The maximum length of twisted pair 40 rice . The voltage level on the bus is determined by the line “A” and “B” Determine the potential difference between .
Logic high level (1): Express A Point higher B Point at least 200 mV;
Logic low level (0): Express A The point is at least lower than B spot 200 mV;
The power supply voltage of the transceiver should be +6V To -6V( Relative to the same ground , For all equipment ).
2, Link layer properties
The agreement stipulates some information as follows , The corresponding attribute information value can be clearly understood in combination with the picture ;
Baud rate :9600bps ( That is, send a single bit The time required is about 104.16us)
Communication pin :12/13 ( Double access ,b These two pins are not fixed )
data format :1 +8 +1 (1 Start bit position + 8 Data bit position + 1 End bit position )
Verification method :SAE J1708 The protocol adopts the verification method that the sum verification is zero , It has guaranteed to provide reliable data transmission services to the application layer . The calculation is as follows :
set up x = All the data (MID+PID+DATA+CS) Sum after adding ,
if x & 0xFF = 0 , Then the data is correct , Otherwise, the data verification fails ;
give an example : The order is “AC 00 F3 61”, be X = AC + 00 + F3 + 61 = 0x100;
check :x&0xFF = 00, The current data is correct ;
3, visit SAE J1708 The Internet
When the device requests access to the bus , A process must be executed to invoke the arbitration mechanism . The specific call steps are as follows :
1, Wait for the bus to idle ;
2, After leisure , The priority time delay required to wait for the requested command has begun to time ;
3, Make sure the bus is still idle , If you're not free , Return from step 1;
4, Transmission of equipment on the bus MID
5, Receive transmitted MID, And determine the sent MID With the received MID matching .
6, If MID The match is successful , We will declare on the bus , And send data packets to the module ;
7, If the match fails , We will abandon arbitration , Continue with step 8
8, If this is the first collision ( The above precautions ), Then go back to step 1;
9, Wait for the bus to idle ;
10, Waiting for a pseudo-random number of bits (0-7 Between );
11, Continue with step 3
Bus idle diagram :
Bus access time formula :
Two ,SAE J1587 agreement
1, Message properties
What the application layer passes is not bit Stream or byte , It's news . stay SAE J1587 Agreement , The format of the message is as follows :
> MID + (One or More Parameters) + Checksum
MID Detailed explanation :
MID The full name is Message Identification, Message ID , The number used to identify the system module ;
for example MID = 0x80, Express Engine #1, namely 0x80 Indicates engine 1 Of ID;
SAE The association has designated most of the messages ID Store in MID In the list , It can be found in the appendix 1 Check out the section , Or download the public agreement document to view the full version ;
PID Detailed explanation :
PID The full name is Parameter Identification, That is, the parameter represents , Used when the module performs functions , Number identifying the function to be performed ;
for example :PID = 0x80, identification Component-specific request, namely 0x80 Requests that identify specific components ;
SAE The association has designated most of the messages ID Store in PID In the list , It can be found in the appendix 1 Check out the section , Or download the public agreement document to view the full version ;
0x00<= PID <=0x7F Followed by a byte of data
0x80 <=PID <=0xBF Followed by two bytes of data
0xC0<= PID<=0XFD Followed by any byte of data
Checksum Detailed explanation :
checksum That is verification , Follow the verification method of zero cumulative sum mentioned above ;
2, Application layer properties
Single frame transmission : According to the agreement ,SAE J1587 The maximum number of bytes transmitted in a single frame of the protocol is 21 Bytes ;
The single frame message is as follows :
Req:AC 80 ED 80 66
Ans:80 ED 11 56 50 20 20 20 30 38 37 36 33 39 20 20 20 20 20 20 7B
Multi frame transmission : According to the agreement ,SAE J1587 The maximum number of bytes for multi frame transmission of the protocol is 16*21 = 336 Bytes ;
Req:AC 80 EA BB 69
Ans:BB C0 11 EA 20 24 32 30 39 35 32 32 33 35 50 30 31 2A 32 30 A8
Ans:BB C0 11 EA 21 39 30 32 36 36 32 50 30 31 2A 32 30 39 30 32 58
Ans:BB C0 09 EA 22 35 39 31 50 30 31 2A 31
2, Application instance
give an example :
Req:AC 80 EA BB 69
Ans:BB C0 11 EA 20 24 32 30 39 35 32 32 33 35 50 30 31 2A 32 30 A8
Ans:BB C0 11 EA 21 39 30 32 36 36 32 50 30 31 2A 32 30 39 30 32 58
Ans:BB C0 09 EA 22 35 39 31 50 30 31 2A 31
Req Command specification :
AC :MID = 0xAC, Indicates an off board diagnostic request
80 : PID = 0x80, Represents a special component request , find SAE J1587 The agreement document corresponds to PID The explanation is shown in the figure below :
EA : find pid list , Inside pid = 0xea Means Software Identification 80 : MID = 80, Indicates engine
BB: MID =0xBB, Represents the special component of the request ID by 0xBB
69: The value calculated according to the formula with zero checksum
Empathy , available Ans The command is parsed as follows :
C0 : Multi segment parameters (Multisection Parameter), Send multi frame flag ;
11 : Indicates the number of all bytes except the check bytes ; There is 0x11 Data bytes
30 : This byte is divided into four high bits and four low bits ,3 Means a total of (3+1) Segment data ,0 It means that this is the 0 paragraph
A8 : The check byte of this data , This result is obtained according to the above verification method ;
appendix 1 - MID list :

appendix 2 - PID list :

边栏推荐
- Ace download address
- Determine whether two arrays are exactly equal
- 使用异或交换两个变量是低效的
- Mxnet network model (V) conditional Gan neural network
- Hands on deep learning -- from full connection layer to convolution layer
- 14:07:08 ckati failed with: signal: killed
- 【文献阅读】isl: An Integer Set Library for the Polyhedral Model
- One vs One Mitigation of Intersectional Bias
- 【文献阅读】Counting Integer Points in Parametric Polytopes Using Barvinok‘s Rational Functions
- bais mintigation post-processing for individual and group fairness
猜你喜欢

Hands on deep learning -- linear neural network

C语言程序之编译,链接

Learning Transferable Visual Models From Natural Language Supervision

S32K148EVB 关于ENET Loopback实验

递推与递归学习笔记

Fair Multiple Decision Making Through Soft Interventions

【文献阅读】Counting Integer Points in Parametric Polytopes Using Barvinok‘s Rational Functions

电解电容特性及应用要点

SAE J1708/J1587 协议详解
![[literature reading] small footprint keyword spotting with multi scale temporary revolution](/img/18/ffa23bee826d78c388fde2f5d49282.png)
[literature reading] small footprint keyword spotting with multi scale temporary revolution
随机推荐
JS tree view array batch circular operation
使用异或交换两个变量是低效的
【Go语言】代码覆盖测试(gcov)
[literature reading] multi state MRAM cells for hardware neural computing
FS32K148调试之WDOG与电源模式
openGauss Developer Day 2022|东方通诚邀您莅临“东方通生态工具分论坛”
Owl Eyes: Spotting UI Display Issues via Visual Understanding
不会的查一查
3章 性能平台GodEye源码分析-内存模块
[literature reading] small footprint keyword spotting with multi scale temporary revolution
Learning Transferable Visual Models From Natural Language Supervision
Problems encountered in yolov3 training its own data set
2章 性能平台GodEye源码分析-数据模块
Handling Conditional Discrimination(可解释歧视和确切的歧视)
[literature reading] tenet: a framework for modeling tensor dataflow based on relational centric notation
偏差(bias)和方差(variance)
One vs One Mitigation of Intersectional Bias
边缘检测方法 -- 一阶边缘检测
【文献阅读】isl: An Integer Set Library for the Polyhedral Model
[MySQL] windows install MySQL 5.6




