兔云论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 65|回复: 0

BOSCH协议

[复制链接]

97

主题

99

帖子

384

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
384
发表于 2019-10-31 01:04:18 | 显示全部楼层 |阅读模式
BOSCH协议是BOSCH公司开发的一种通信协议,符合ISO9141标准。下面从物理层特性、系统进入、帧结构、命令交互、交互时间参数、常用命令字等几个方面来介绍这种协议。

物理层特性:空闲电平通常为12V;数据位格式为1+8+1,没有校验位。本协议的波特率在进入系统后确定。确定方法如下:

进入系统时,Ecu接到Tools以5bps的波特率发送的地址码后,向Tools发送 0X55H,Tools通过计算0X55H的波特率,并把此波特率做为Tools的通讯波特率,并且在整个通讯过程中,波特率固定不变。

系统进入初始化:

本协议使用K、L的方式通讯,因此,需要用K线和L 线进行触发,唤醒Ecu,进入系统,具体步骤如下:

Tools在K、L线上同时以5bps的波特率发送地址码,以进入地址码所对应的系统。

关闭L线;

Tools等待接收Ecu回送0X55H,接到后计算出0X55H的波特率并设置通讯波率;

Tools继续接收Ecu发送的Keyword 1和Keyword 2,在接收到Keyword2后,延时20ms将Keyword2取反发回给ECU。

在整个系统进入过程中Tools接收一个byte最长等待时间为2s。若系统进入有错误必须保证通讯线上有3s的时间无任何数据传输,确保Ecu已经是睡眠状态,再按以上步骤重新触发,进入系统。

Ecu接收到求反的 Keyword2后,将发送第一帧系统信息,并在收到链路保持命令继续(03h,xxh,09h,03h)时按顺序发送其它系统信息。

系统信息的解释与读取系统版本信息同。

系统初始化请见下图:



帧结构:



长度

记数字节

命令字

数据区

结束标志

长度:1个字节,表示本命令中长度字节后跟随的字节数。

记数字节:命令计数器,1个字节,每一条命令都会在上一条命令的命令记数字节基础上加1,作为本次通信数据的命令记数值,以保证接收发送的连续性校验。

命令字:1个字节,表明所要做的操作。

数据区:附加信息,若干字节不定。

结束标志:固定以03H为Request命令的结束符。

举例如下:

04H  01H  29H  01H 03H

第一个字节04H为长度信息

第二个字节01H为命令计数器

第三个字节29H为命令字,表示读取数据流

第四个字节01H为附加信息,表示读取通道01的数据

最后一个字节03H为结束标志

命令交互:在命令交互过程中,接收方每接到一个byte,就立即取反发回,直到接收到结束标志为止(注:结束标志0x03不取反发回)。一旦接到结束标志,接收方则可以开始下一帧命令的发送。基本交互模型下图:

Tools: 03H    01H    09H    03H     /03H    /02H    /09H      

Ecu:      /03H  /01H   /09H     03H     02H    09H     03H   


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|兔云论坛 ( 粤ICP备18131279号 )

GMT+8, 2019-12-10 07:51 , Processed in 0.044268 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表