车载通信——CAN通信诊断协议
一.协议汇总
二.通信协议
(1)ISO 11898
CAN总线的规范,对应于OSI物理层和数据链路层。对于物理层来说,定义了CAN总线信号在双绞线上的电压形式,对于数据链路层来说,定义了CAN帧的各个域的用途。
三.诊断协议
诊断协议的发展历程
(1)ISO 9141
通信前需要通信双方建立握手协议
(2)ISO 14230 (KWP 2000(Keyword Protocol关键字协议))
基于K 线的KWP2000协议就是ISO-14230
A.ISO 14230-1 应用层
兼容ISO 14229 中描述的诊断维修实施方法;同时对于数据的排放在 ISO 15031 中进行定义。
B.ISO 14230-2 数据链路层
包括信息格式和时序。兼容 ISO 9141-2;提供了额外选项,包括头部是否带有地址信息和长度信息。信息最大可达 255 字节长;定义了通讯初始化方法。
C.ISO 14230-3 物理层
ISO 9141-2中定义的物理层,扩展到可以工作在24V系统中;只需对软件进行修改,就能满足 KWP 2000 接口需求。
(3)ISO15765(广泛的使用在轿车、汽车控制工业等方面) UDSonCAN
基于CAN的KWP2000协议就是ISO-15765
A:一般信息
B:网络层服务
C:统一诊断服务( UDS CAN)
D:相关排放系统要求
1).ISO 15765-1
包括物理层和数据链路层。
2)ISO 15765-2
定义了车载CAN / CAN FD总线在网络层(TP层)通信规则;定义了应用层、传输层、数据链路层之间的编程接口,其实就是request, confirm, indication这几个原语的定义。
A. 请求服务(Request):用于向网络层传递控制报文信息及要发送的数据,应用于更高层或应用层。如tester向ECU发出数据。
B. 指示服务(Indication):用于向更高层或应用层传递状态信息及接收到的数据,应用于网络层。如ECU收到了tester的数据,传至应用层。
具体说来,Indication前端应该执行的是底层传入数据的处理函数,即读取PDU信息,这一帧具体是SF、FC、CF还是FF。若满足条件,继续向上,即应用层传递。
C. 确认服务(Confirm):被网络层使用,用于向更高层或应用层传递状态信息。如tester收到了ECU方面的数据。
3)ISO 15765-3
规定了应用层的具体服务( UDS CAN)。(ISO 15765-3和ISO 14229-3的内容是一样)
4)ISO 15765-4
定义了基于CAN总线实现OBD通信的方式
(4)ISO 15031
定义了01-0A 10个服务,读取排放相关内容和DTC(法规效应的协议)。
(5)ISO14229 UDS(Unified Diagnostic Services)(商用车)
A.ISO14229-1 Application layer
UDS的使用规则,服务,以及相关的服务原语(接口定义)。
B.ISO14229-2 Session layer services
会话层的使用规则。
C.ISO14229-3 UDSonCAN
定义了UDS基于CAN总线的实现。 ( ISO 15765-3和ISO 14229-3的内容是一样)
D.ISO14229-4 UDSonFR
定义了UDS基于FlexRay总线的实现。
E.ISO14229-5 UDSonIP
定义了UDS基于以太网协议的实现。
F.ISO14229-6 UDSonK-Line
定义了UDS基于K-Line总线的实现。
G.ISO14229-7 UDSonLIN
定义了UDS基于LIN总线的实现。
H.ISO14229-8 UDSonCXPI
定义了UDS基于CXPI总线的实现(2020版UDS协议,欧洲新增)。
版本:
ISO 14229(2006版)
ISO 14229(2013版)
ISO 14229(2020版)
(6)SAE J1939
SAE J1939 协议是美国汽车工程师协会(SAE)为了实现总线协议的标准化,在CAN2.0B 的基础上制定的应用于大型货车和客车的车辆网络串行通信和控制协议。在物理层和数据链路层基本上沿用了CAN 规范,并增加了网络层、应用层和网络管理规范,规定了CAN总线使用29bit的扩展标识符和扩展数据帧,网络通信速率可达250Kbps。
(1)SAE J1939物理层
描述了电气接口和物理介质,定义的内容包括:
1. 物理介质为屏蔽双绞线;
2. 传输速率为250Kbps;
3. 同一网络上最大子系统数为30个;
4. 最大传输线长度为40m;
5. 物理层还定义了数据的物理特性及总线的电气连接特性。
(2)SAE J1939数据链路层
以CAN2.0B为基础,通过CAN总线进行数据通信。定义了信息帧的数据结构、编码规则,包括通信优先权、传输方式、通信要求、总线仲裁、错误检测及处理;;CAN扩展帧的29位标识符(ID)重新分组定义,通过报文的标识符(ID)描述报文的目标地址、源地址等内容。
(3)SAE J1939 网络层
SAE J1939网络管理的主要任务是节点的地址分配或确定,但它不能实现其他上层网络协议中的节点监测功能。因此, SAE J1939网络必须通过应用程序来实现节点监测。
(4)SAE J1939 应用层
应用层定义常用物理参数的格式,数据格式规定了数据的长度、分辨率、取值范围和类型。
车载通信——CAN通信诊断协议相关推荐
- 【车载开发系列】UDS诊断协议总括篇
[车载开发系列]UDS诊断协议总括篇 UDS诊断协议总括篇 [车载开发系列]UDS诊断协议总括篇 一.UDS诊断协议简介 为什么要设计UDS诊断协议 二. UDS诊断协议详细 1)诊断通信管理功能单元 ...
- 变电站通信网络和系统协议IEC61850介绍
最近正在学习IEC61850标准, 在网上找到这篇文章,觉得挺好的, 收藏之,美中不足之处就是其中的图片无法显示. 变电站通信网络和系统协议IEC61850介绍 电网技术 POWER SYSTEM ...
- 通信模式与网络协议之间的对应关系
通信模式 网络协议 应用 单工通信 Http Restful API 半双工通信 Tcp SSH FTP Telnet SMTP 伪双工通信 全双工通信 WebSocket WebSocket ...
- C#上位机与台达PLC通信,modbus TCP协议
C#上位机与台达PLC通信,modbus TCP协议. 1.真实使用项目,该程序框架完整,适合在此基础上开发项目. 2.使用VS2019开发. 3.项目还涉及到halcon视觉检测功能. YID:76 ...
- matlab仿真参考文献,量子通信论文,关于BB84协议其MATLAB仿真相关参考文献资料-免费论文范文...
导读:此文是一篇量子通信论文范文,为你的毕业论文写作提供有价值的参考. (厦门警备区 福建厦门 361003) 摘 要:量子通信是通信领域研究的热点和前沿.论文范文的通信工程人员和在校学生应着手学习量 ...
- DoIP协议源码 车载以太网诊断协议ISO13400协议源码
DoIP协议源码 车载以太网诊断协议ISO13400协议源码 diagnostic over internet protocol (doip) stack 符合iso13400规范 very perf ...
- 【Android车载系列】第7章 车载通信-USB通信原理
前一章节简单介绍了串口.串口与USB的区别.Android上的串口通信实现,本章节我们来了解一下USB通信协议以及Android上实现USB通信的相关知识. 1 USB简介 通用串行总线 (U ...
- 蚂蚁金服通信框架SOFABolt解析 | 协议框架解析
2019新春支付宝红包技术大揭秘在线峰会将于03-07日开始,点击这里报名届时即可参与大牛互动. SOFA Scalable Open Financial Architecture 是蚂蚁金服自主研发 ...
- 汽车诊断协议,(K线/CAN总线、kwp2000、ISO14230、ISO1575...)
相信像我这样的小白第一次接触汽车诊断协议肯定有点懵逼,什么鬼kwp2000,那什么又是ISO-14230,ISO-15765,ISO-14229,UDS,UDSonCAN???它们到底是什么关系,还有 ...
- 聊聊诊断协议——UDS
文章目录 前言 一.车载诊断功能是什么? 二.诊断协议框架 总结 前言 随着技术不断提高,驾驶员对车辆的要求也在不断提高,因此车身控制器的数量也在与日俱增.控制器实现的功能:安全功能(防抱死系统等). ...
最新文章
- 2022-2028年中国橡胶漆产业发展动态及未来趋势预测报告
- 如何删除mac通用二进制文件
- 2021CCF BDCI 大数据与计算智能大赛参赛指南
- 微生物组-扩增子16S分析第12期(报名直播课免费参加线下2021.7)
- 001_SpringMVC入门
- JZOJ 5264. 【NOIP2017模拟8.12A组】化学
- GDCM:提取DICOM文件的加密内容到der文件的测试程序
- 最全面的MySQL面试题大全-一
- iOS开发--Swift RAC响应式编程初探
- 神经网络 代码python_详细使用Python代码和数学构建神经网络— II
- Eclipse-cpp-2022-03下载地址
- MES系统之设备管理的基础功能
- 微信小程序——引入第三方图标、图标组件
- 红米笔记本linux系统版本,一招让你的手机拥有三系统甚至四系统: WINDOWS+安卓+Linux...
- typeScript的定义类型:不能将类型“Timeout”分配给类型“number”;
- Logstash Grok详解
- snidel 2014春夏新品 纱质长半裙
- 12、MInio文件系统的使用小记一
- bim计算机工程师考试,BIM工程师怎么报考?
- UltraEdit各种wordfile下载
热门文章
- 索引,用户授权,备份
- coreldraw是什么软件好学吗?cdr矢量图形制作工具
- 串口上升时间标准_为什么串口比并口快?
- 酷客数据python基础实战答案_英语听力练习_日语_韩语_法语听力训练网站-沪江听力酷...
- 神策分析 iOS SDK 全埋点解析之元素点击与页面浏览
- 有没有什么好用的pdf编辑软件?3款App轻松编辑所有PDF文件
- 《EMU8086安装报告》
- 专业计算机英语词汇翻译,计算机专业英语词汇与翻译复习题(已完成)
- SpreadJS:一款类Excel开发工具,功能涵盖Excel的 95% 以上
- 什么分区工具可以调整分区大小无损数据?