ISO 9141-2 and ISO 14230-2 INITIALIZATION and DATA TRANSFER
http://ecad.tu-sofia.bg/et/2005/pdf/Paper097-P_Dzhelekarski1.pdf

INITIALIZATION
Prior to any diagnostic communication an initialization must be performed.
This is the process of activating the OBD system for starting communication.
The initialization can be started after an idle-time on the bus.
Two types of initialization can be used:
5-baud and fast initialization.
ISO 9141-2 supports only 5-baud initialization,
whereas ISO 14230-2 supports both types.
5-BAUD (CARB) INITIALIZATION
This initialization starts with sending of 5-baud address byte from the tester (client) to the OBD system (server).
If L-line exists, the address byte must be sent simultaneously on both K & L-lines, otherwise it should be sent only on K-line.
The address byte contains the functional address of the OBD system.
This is implemented in two ways in initSlow() method.
In K&L initialization, both lines are driven by simultaneous setting/clearing of RTS and TxD according to the bit values of the address byte:
this is computed 5-baud init. A system timer for 200 ms (5-baud bit time) is used.
For K-only initialization the port is configured at 5 baud rate; the address byte is sent; 2000 ms pause follows; baud rate is restored to 10,400 baud.
Fig. 3 shows the format of the 5-baud initialization. The server returns baud rate synchronization pattern ($55)
(standard baud rate 10,4 kbit/s, other rate is manufacturer specific). All subsequent communications are using this baud rate.
After sending the pattern, the server sends two keywords (KW) which carry information about the form of the subsequent serial communications.
From these keywords the tester identifies the diagnostic protocol to be used, ISO 14230-2 or ISO 9141-2.
After that the client confirms with sending logical inversion of keyword 2.
Then the server confirms with logical inversion of the address byte.
From this time on the communication link is established and the tester can start to request diagnostic data.

FAST INITIALIZATION
The fast initialization begins with wake-up pattern (WuP), transmitted by the tester simultaneously on K and L lines
(if provided L line is used, otherwise transmitted only on K-line) – see Fig. 4.
This is implemented in initFast() method by setting the TxD and RTS , followed by waiting for TiniL time interval and clearing of these signals.
After the time TWuP has elapsed the client sends StartComminication message request.
This message uses functional addressing and contains the target address of the OBD system and the source address of the tester.
The server responds with StartCommunication positive response(s), which contains the keywords.

DATA TRANSFER
After the communication link has been established, the tester can send request messages
and receive message response(s) from the ECU(s) of the OBD system (see Fig. 5).
This is referred to as data transfer and is performed by the transfer() method.
The transfer timing is very important and is determined by the periods P1…P4 with specified maximal and minimal allowable values.
The timing is implemented by using system timer for wait function and by using communication read timeouts.
In this way it is possible to group received response bytes into messages, based on separation period P2.
The period P3max has value of 5000 ms. After that time the communication link is automatically terminated by the server.
Therefore, to keep connection alive the tester must send periodically request messages.


ISO 9141-2 and ISO 14230-2 INITIALIZATION and DATA TRANSFER的更多相关文章
- Stripe开发笔记之-ISO Currency Code(ISO 4217)
参考:维基百科和ISO官网 ISO Currency Code:国际标准组织通用货币代号,国际标准化组织(英语:International Organization for Standardizati ...
- Initialization of data members
In C++, class variables are initialized in the same order as they appear in the class declaration. C ...
- 从FreeBSD里面看到的网络协议列表,感觉可以保存一下
# # Internet protocols # # $FreeBSD$ # from: @(#)protocols 5.1 (Berkeley) 4/17/89 # # See also http: ...
- BW知识问答汇总
什么是sap的星型结构,能不能详细讲解一下? Cube的星型结构中SID技术的优点有哪些? 什么是BW的星型结构,与传统的星型结构的区别是什么? SAP的星型结构相对于传统的星型结构优势? Cube与 ...
- BW知识问答锦集
声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...
- SAE/ISO standards for Automotive
On-Board Diagnostics J1962 Diagnostic Connector Equivalent to ISO/DIS 15031-3: December 14, 2001J201 ...
- 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 ...
- atitit.日期,星期,时候的显示方法ISO 8601标准
atitit.日期,星期,时候的显示方法ISO 8601标准 1. ISO 86011 2. DAte日期的显示1 2.1. Normal1 2.2. 顺序日期表示法(可以将一年内的天数直接表示)1 ...
- 自定义制作iso镜像
下载"/etc/yum.repos.d/"下的MondoRescue软件库,文件名为"mondorescue.repo".请为你的Linux OS发行版本下载正 ...
随机推荐
- Android配置时,点击eclipse里Window->Preferences里的android选项出错
An error has occurred when creating this preference page. 解决方法:重起eclipse
- T-SQL:SQL Server-数据开发(经典)
ylbtech-SQL Server-Doc-Help:SQL Server-数据开发(经典) SQL Server 数据开发(经典). 1,数据开发(经典) 返回顶部 1.按姓氏笔画排序: Sele ...
- 提高zxing生成二维码的容错率及zxing生成二维码的边框设置
最近做了一个项目要生成二维码,跟几年前不同,最近大家都喜欢在二维码中间加logo. 加logo倒是不难,两个图片叠一起就是了,但是遇到一个新问题,logo加得太大的话,会导致二维码扫描不出来;加的太小 ...
- 关于Cygwin的x-Server的自动运行以及相关脚本修改
常常需要用到远端服务器的图形工具,如果在windows端没用xserver的话,很多程序无法运行.一个特殊的例子,emacs在没用xserver的时候,是直接在终端中打开的,如果不修改cygwin.b ...
- Red and Black ---路线问题
There is a rectangular room, covered with square tiles. Each tile is colored either red or black. A ...
- Ubuntu 16.04 Mxnet CPU 版本安装
在安装前配置好更新源,基本要求就是速度越快越好: 1.安装Python apt-get install python 2.安装Git apt-get install git 3.安装依赖包 ...
- java PO、BO
PO(persistent object) 持久对象 在o/r映射的时候出现的概念,如果没有o/r映射,那么这个概念也就不存在了.通常对应数据模型(数据库),本身还有部分业务逻辑的处理.可以看成是与数 ...
- 【LeetCode】111 - Minimum Depth of Binary Tree
Given a binary tree, find its minimum depth. The minimum depth is the number of nodes along the shor ...
- 【LeetCode】202 - Happy Number
Write an algorithm to determine if a number is "happy". A happy number is a number defined ...
- Name-based virtual servers 给予名称的虚拟服务
nginx first decides which server should process the request. Let’s start with a simple configuration ...