CAN 总线原理

本文深入解析CAN总线标准协议,涵盖物理层、数据链路层、网络层等OSI模型层级,详细介绍CAN总线的通信机制、错误检测、位定时与同步等内容。同时,文章对比了A类、B类和C类总线标准,阐述了CAN总线在汽车领域的应用。

开发板推荐:天空星STM32F407VET6开发板

超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印

CAN 标准协议

1. CAN 协议标准

物理层(Physical Layer): 主要功能是完成相邻节点之间的原始比特流的传输,非屏蔽双绞线(Unshielded Twisted Pair- UTP)是应用中最常用的物理传输介质,在其上发生对称信号传输。通常,非屏蔽双绞线具有0.34 [公式] 和0.6 [公式] 之间的导线横截面。线路电阻应小于60mΩ。CAN的边界条件:最大数据速率为1 Mbit / s。允许最大网络扩展约40米。在CAN网络的末端,总线终端电阻有助于防止瞬态现象(反射)。ISO 11898将CAN节点的最大数量指定为32

数据链路层 (Data Link Layer):主要是如何在不可靠的物理层线路上进行数据的可靠性传输,完成的是网络中相邻节点之间可靠的数据通信,由于物理线路的不可靠,因此发送方发出的数据帧有可能在线路上发射出错或者丢失。

网络层(Network Layer):主要功能是完成网络中主机之间的报文传输,关键问题是使用数据链路层的服务将每个报文从源端传输到目的端。网络层的任务就是选择合适的路由,使发送站的传输层所传下来的分组能够正确地按照地址找到目的站,并交付给目的站的传输层。这就是我们所说的网络层的寻址功能。

传输层(Transport Layer):主要功能是完成网络中不同主机上的用户进程之间的可靠数据通信,任务是根据下面通信子网的特性,最佳的利用网络资源,并以可靠的和经济的方式为源站和目的站之间进程建立一条可靠的传输连接,以便透明的传送报文。

会话层(Session Layer):会话层允许不同机器上的用户之间建立回话关系,进行类似传输层的普通数据的传送,回话层提供的服务之一是管理回话控制,回话层允许信息同时双向传输,或同一时刻只能单向传输。

表示层(Presentation Layer):表示层涉及到数据压缩和解压,数据加密和解密等工作,表示层服务的一个典型例子是用大家一致选定的标准方法对数据进行解码。

应用层(Application Layer):连网目的在于支持不同计算机的进程进行通信,对于需要通信的不同应用来说,应用层的协议都是必须的。

image-20200615103326937

image-20200615140926423

ISO 11898 是CAN 总线规范,对应的是OSI 模型物理层和数据链路层,对于物理层而言,定义了CAN 总线信号在双绞线的电压形式;对于数据链路层而言,定义了CAN 帧的各个域的用途。

ISO 15765-2 是诊断服务在CAN总线传输的 实现方式,对应OSI 的传输层,对于classical CAN 总线来说,它一帧只能承载8个字节,而上层的诊断服务却可能超过8个字节,这时候就需要传输层对数据进行分包重组流控制。ISO 15765-2还定义了应用层、传输层、数据链路层之间的编程接口,其实就是request, confirm, indication这几个原语的定义。ISO 15765-3和ISO 14229-3的内容是一样的,后者取代了前者。ISO 15765-4定义了基于CAN总线实现OBD通信的方式

ISO 14229-1 对应于OSI的层7,即应用层,它定义了诊断服务的格式。ISO 14229-2定义

开发板推荐:天空星STM32F407VET6开发板

超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值