概述
在之前一文,简单介绍了一下具有概括性的车载网络技术的基础知识点,那么在本文,将专注于介绍CAN总线的相关知识。
首先,回忆一下之前提到的现场总线,它是工业环境下的一种应用技术,在工业环境下一定是有特殊要求的,比如要在汽车中这样的环境中使用,对现场总线、车载网络就一定要有要求:1.采用串行总线拓扑;2.节点数目可以动态改变;3.具有良好的抗干扰能力,要有可靠性;4.差错检测和处理;5.满足信息的实时性需求;6.具备故障诊断和处理能力;7.简单成本较低。思考一下我们生活中见到的汽车,其实这些要求是必需的,因为有这些要求,所以有了CAN。
1.CAN协议
CAN是符合国际标准ISO 11898,优点在于:1.采用双线差分信号,对节点数量没有限制,数量可以动态改变;2.其支持广播发送,也意味着原来是点对点,现在是一个点对多个点,信息发到总线上,连在总线上的其他节点便都能接收这个信息;3.其多主站结构也就意味着各节点是平等的;4.拥有优先级,相关性过滤(这些是数据链路层的部分,依赖消息的ID)短帧结构。5.另外,其通信介质选择比较灵活,选择双绞线;6.节点价格比较低,成本就比较低;开发技术比较简便;系统数据一致性好。
说了CAN这么多优点,那么它具体是什么东西呢?CAN是一种协议,类似于互联网的协议,规定的是数据怎样传输,协议定义了数据的传输方式。如下图1所示一个CAN的节点结构,两个矩形代表两个节点,下面两条线代表双绞线,一条是CAN_H,一条是CAN_L,两个节点连在这个总线上。在节点内传感器发送信号,执行器接收信号,传感器发送信号给模块控制器(可以是一个微控制器),模块控制器处理的的信号发给CAN控制器(比如SJA1000),CAN控制器再去控制CAN收发器(比如82C250)。把信息发到总线,当然会进行回读检查信息是否成功发送到总线上,另一个节点如果觉得这个信息有用就会接收。比如图2所示要节点发送一个“0-bit”,电压变化便表现为:两根线原本都是2.5V,CAN_H升高到3.5V,CAN_L降低到1.5V,“0-bit”发送完就会回归到2.5V,如此以来两根线中间便有2V的差分电压,这就是显性的0-bit,而没有差分电压的时候便是隐性的1-bit。所以双线差分电压便是2V。
图1
图2
2.拓扑结构
CAN协议严格的规定了总线的拓扑结构
如图:矩形代表两个节点,中间总线(也称干线)相连,总线上有其他支线,两节点之间的距离称为节点距,另外整个结构上还存在终端电阻(下面会介绍),它们的范围规定如图3所示。
图3
3.双绞线
CAN规定的总线采用的是双绞线。那为什么要用双绞线?双绞线是如图4是一对电线相互缠绕。因为与一根一根地散线相比其特征阻抗Z0是稳定的,比较抗干扰(如同DNA结构也是缠绕在一起的,这是一种稳定的结构),而双绞线较之两根平行线相比机械强度较好,与同轴电缆相比成本比较低。
图4
CAN对传输介质双绞线也有规定,分为屏蔽式双绞线和非屏蔽式双绞线,对其规定了特征阻抗Z0,范围是95-140Ω,名义值是120欧姆,单位电阻是70mΩ(毫欧)/m,单位延迟5ns(纳秒)/m。
4.特征阻抗与终端反射
双绞线既然是一对电线相互缠绕,那么特征阻抗(也叫特性阻抗)就主要是由于电线之间的距离以及电线之间绝缘体的电气性能有关,不同的电缆有不同的特征阻抗。那么特征阻抗受什么影响呢?1.导线截面积;2.有无屏蔽层;3.绞率(可以理解为两条线交叉的紧密程度);4.通电频率。
特征阻抗的信号延迟会产生一种终端反射的现象,信号在传送到终端发生反射,举个例子,大家讲绳的一段固定于墙壁上,另一端牵在手上,用手将绳子抖出波纹传播到墙壁上,波纹可能触墙反弹在传递回你手中。这就好似电流的终端发射现象。那么传递过程中的电伏就会叠加反射回的电伏,很有可能烧坏电线。具体产生这种现象的原因有兴趣的读者可去查阅一下。那么我们要避免这种现象就要加终端电阻,使其消失。解决反射问题都需要用终端电阻进行阻抗匹配。
最后
以上就是眯眯眼草丛为你收集整理的车载网络技术——CAN总线基础的全部内容,希望文章能够帮你解决车载网络技术——CAN总线基础所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复