我是靠谱客的博主 幽默宝马,最近开发中收集的这篇文章主要介绍CAN协议国际标准化协议部分总结(一),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

前言:本文主要是对CAN协议中ISO11898做一个简短的总结

ISO11898

ISO11519

ISO15765

CAN协议在OSI模型中包含三层,物理层、数据链路层和传输层。各层中CAN定义内容可参考下图。其协议内容不需要编写,用户只需提供报文ID、数据和波特率即可。

图1:CAN在OSI模型中定义事项

CAN两套国际标准:ISO11898 ISO11519 :High speed & Low speed

     注:ISO15765网络层协议(不属于CAN协议)

         ISO14229(UDS,不属于CAN协议)诊断通信,规定诊断相关的服务需求

         ISO15765与ISO14229实现一个完整的诊断通信

注:目前已有ISO11898-1  ISO11519-2等追加新规约后的版本

CAN协议的两套国际标准ISO11898和ISO11519在OSI模型中处于物理层和数据链路层。本文主要以ISO11898进行说明。

ISO11898在2003版本中分解为,ISO11898-1, ISO11898-2, ISO11898-3。ISO11898-1主要规定了数据链路层和一部分物理层。网络层到应用层包括一部分传输层,ISO并未对其标准化。

CAN节点的拓扑结构也可以简单划为,CAN收发器,CAN控制器,ECU微控制器(应用层)。但目前ECU已包含了大部分CAN控制器功能。CAN协议主要规定了数据链路层和物理层。

ISO11898-2与ISO11898-3主要规定了物理层中PMA与MDI层,具体表现为,规定了其电气信号特性,通信时使用的电缆,连接器等的媒体等,以实现设备间信号的传输。

ISO11898-1则规定了大部分数据链路层,CAN节点接受到报文的过程可以简单概述为:CAN节点接收到报文时,MAC层对报文进行解封装,检测错误,并发送ACK应答,确认无误后将报文ID, DLC, Data传输到LLC层,由LLC层根据ID对报文进行过滤,判断是否接收该报文,最后由LLC层将数据传输至应用层。LLC层数据帧如下图:

图2:LLC层数据帧结构

最后简单说一下ISO11898与ISO11519的区别。两者均是CAN协议国际标准,其在数据链路层中相同,不同点在于物理层。ISO11898与ISO11519-2在物理层中PMA与MDI层中有所不同,具体情况如下图:

图3:ISO11898与ISO11519-2物理层的主要不同点

汽车常用协议还包括:ISO15765,ISO14229等,之后可能会涉及。

受限于本人能力有限,如有错误请指正,谢谢!

最后

以上就是幽默宝马为你收集整理的CAN协议国际标准化协议部分总结(一)的全部内容,希望文章能够帮你解决CAN协议国际标准化协议部分总结(一)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(92)

评论列表共有 0 条评论

立即
投稿
返回
顶部