结构如下:
             

KWP on CAN Identifier

Parameter Value [n] Description
Transmit ID 0x18DAFA00 ECU ->tester
Receive ID 0x18DA00FA Tester -> ECU

    KWP 2000 on CAN协议基于握手报文。对于来自测试人员的每个请求,ECU必须在新请求之前生成一个积极或消极的响应。

    Single Frame:如果要传输的数据数量小于7(标准添加)/ 6(扩展添加)数据字节,则使用单帧报文。第一个(标准寻址)/第二个(扩展寻址)字节是PCI字节。PCI字节的上4位包含0x0的代码,而低四位表示:包括SID在内的参数的数量。

Bytes of the Single Frame message

Bytes 1 2 3 4 5 6 7 8
Normal addressing 0x0 len SID par par par par par par
Extended addressing ext. addr. 0x0 len SID par par par par par

               
               
               
    第一帧的布局与单帧的布局相似。一个区别是额外的长度(len)字节已经添加(12位len允许最多传输4095字节的数据)。第一帧的代码是0x1。
               
    在PCI字节的下4字节中存储了一个计数器(ctr)。计数器的初始值是0x01。它对每个连续的帧递增。当到达0x0F的值时,计数器被重新设置为0x00
               
    如果接收到类型为0x01的流控制,即发送(CTS)消息,发送方可以继续传输。如果类型是0x01(流控制等待),发送方必须重新启动超时计时器。通过流控制等待消息,接收端可以延迟数据字节的进一步传输。参数BSmax定义了在发送方等待接收方生成的流控制消息之前,允许发送方发送的连续帧数。STmin定义了分离时间,即两个连续帧之间的最小持续时间。发送方必须确保此分离时间不属于STmin。
               
               
驱动模式是控制单元接受汽车相关控制任务的正常运行状态。

KWP services for flash programming in driving mode

Service name Service ID Usage
securityAccess 0x27 Security level for flash programming
startDiagnosticSession 0x10 Start flash programming mode
readECUIdentification 0x1A Read ECU identification

编程模式是实际的flash编程模式,支持flash编程所需的所有KWP服务
KWP services in the programming mode

Service name Service ID Usage
startCommunication 0x81 Start of KWP communication
stopCommunication 0x82 Stop of KWP communication
startDiagnosticSession 0x10 Start flash programming mode
securityAccess 0x27 Security access #1 and #2
accessTimingParameter 0x83 Get and set the timing
testerPresent 0x3E Keep communication alive
writeDataByLocalIdentifier 0x3B Writing entry in historical zone
readECUIdentification 0x1A Bootblock version, identifier block
startRoutineByLocalIdentifier 0x31 Start erasing flash
startRoutineByLocalIdentifier 0x31 Start checksum verification of flash
stopRoutineByLocalIdentifier 0x32 Stop checksum or erase routine
requestDownload 0x34 Request for download of code and data
transferData 0x36 Send to ECU code and data
requestTransferExit 0x37 End of data transfer for programming

    这种模式是一种临时的运行状态,软件在RAM中运行,因为flash刚刚被删除,因此无法访问flash。当删除完成时,软件会自动跳到引导块模式。
KWP services in the “RAM” mode

Service name Service ID Usage
StartRoutineByLocalId 0x31 Start erase flash
TesterPresent 0x3E Keep communication alive

基于CAN总线的KWP2000协议相关推荐

  1. 基于CAN总线的KWP2000协议——命令总览

    1.startDiagnosticSession SID $10 (K2STDS) 开始新的诊断会话 此消息用于在ECU中启用不同的诊断模式.诊断模式(会话)只能在执行过securityAccess服 ...

  2. 汽车诊断协议,(K线/CAN总线、kwp2000、ISO14230、ISO1575...)

    相信像我这样的小白第一次接触汽车诊断协议肯定有点懵逼,什么鬼kwp2000,那什么又是ISO-14230,ISO-15765,ISO-14229,UDS,UDSonCAN???它们到底是什么关系,还有 ...

  3. 汽车诊断协议(K线/CAN总线、kwp2000、ISO14230、ISO1575...)

    一.初步认识 KWP 2000和IS0-14230  在汽车故障诊断领域,针对诊断设备和汽车ECU之间的数据交换,最早欧洲出现了一种标准诊断协议KWP2000(Keyword Protocol 200 ...

  4. 汽车诊断协议,(K线/CAN总线、kwp2000、ISO14230、ISO1575...)(转)

    相信像我这样的小白第一次接触汽车诊断协议肯定有点懵逼,什么鬼kwp2000,那什么又是ISO-14230,ISO-15765,ISO-14229,UDS,UDSonCAN???它们到底是什么关系,还有 ...

  5. Kwp2000协议的应用(硬件原理使用篇)

    作者:良知犹存 转载授权以及围观:欢迎添加微信:becom_me 发现K线没有过多的文章描述,作为一个开发过K线的人,不写些文章帮助后来的人岂不是太浪费开发经验了呢. 总述     KWP2000是一 ...

  6. C#上位机开发源码基于RS485通讯总线的ModbusRtu协议,支持用户权限管理

    C#上位机开发源码 上位机项目源代码 采用基于RS485通讯总线的ModbusRtu协议,支持用户权限管理.sqlite数据库.实时曲线.历史曲线.历史报表.导出Excel.主界面布局可调带记忆等功能 ...

  7. C#上位机开发源码 采用基于RS485通讯总线的ModbusRtu协议,支持用户权限管理

    C#上位机开发源码 采用基于RS485通讯总线的ModbusRtu协议,支持用户权限管理 采用基于RS485通讯总线的ModbusRtu协议,支持用户权限管理.sqlite数据库.实时曲线.历史曲线. ...

  8. can协议crc计算_基于CAN总线的CRC校验码的原理与实现

    基于CAN总线的CRC校验码的原理与实现 王鹏 [摘 要]CAN总线又称为控制器局域网技术,属于工业现场总线,应用范围很广.CAN系统中通常 采用反馈重发机制对通信过程进行差错控制.当接收端反馈给发送 ...

  9. sm总线控制器找不到驱动程序_技术 | 基于CAN总线的伺服电机通信控制

    1.引言 CAN(ControllerArea Network)总线是一种有效支持分布式控制或实时控制的串行通信局域网络,由于其高性能.高可靠性.实时性好以及独特的设计,已广泛应用于控制系统中的各检测 ...

最新文章

  1. COLING 2018 ⽤对抗增强的端到端模型⽣成合理且多样的故事结尾
  2. Zend Studio添加ThinkPHP代码提示方法
  3. iOS项目架构 小谈
  4. 从第一范式(2nf)到第二范式(3nf)_关系数据模型-范式
  5. 第一个shell脚本——修改配置文件
  6. 如何准备计算机二级-Java
  7. 2022 软件库APP源码前端 后端整套独立后台+搭建教程
  8. 谈谈eXeScope这款exe修改器
  9. 配置vps服务器,拨号换ip(一)
  10. WaitForSingleObject、WaitForMultipleObjects假死,永远等待的问题
  11. 将进酒服务器是哪个位置的,李白的《将进酒》是他什么时候写下的?又是在哪里写的呢?...
  12. 幼儿课外活动游戏_这15个户外游戏,让你组织活动收放自如
  13. Android App瘦身实战
  14. java二维数组货柜,装箱布局三维可视化控件开发sup*/sup
  15. 页面报错$injector:unpr
  16. 网络爬虫是干什么的呢?
  17. 单云台语音跟踪摄像机MHD-G200TH
  18. Altium Designer原理图转PCB板时报错是什么原因?
  19. 01-pandas时间类型dt类属性及方法
  20. IDEA运行工程时报错:java: java.lang.OutOfMemoryError: GC overhead limit exceeded

热门文章

  1. 解决电脑软件图标显示为空白图样
  2. gorm preload 搜索_Win10 的13个最佳免费搜索工具(下)
  3. Carmex防晒护唇膏(樱桃/草莓)防晒SPF15
  4. android壁纸应用,是否可以设置壁纸就像使用Android附带的应用程序一样?
  5. 预训练模型代码深度剖析之开宗明义:新学常见误区和正确的学习姿势
  6. 【2012用户大会-遥感讲座分享】ENVI/IDL在地理国情监测中的解决方案
  7. FCPX插件-仿LR色相饱和度白平衡色彩校正HSL视频调色插件 Lightroom Controls
  8. 中级会计职称复习技巧总结
  9. 联阳 IT66121FN 低功率单通道SDI转HDMI传输器芯片
  10. 力天创见客流统计系统过滤员工