zoukankan      html  css  js  c++  java
  • CAN总线基础1-物理层

    1.CAN总线分类

    CAN的全称:Controller Area Network

    1.1分类目的:

    汽车中不同系统对总线的要求不同,比如:发动机控制系统,传输速率快;舒适系统,由于被控对象分散,传输电缆容易被损坏,但对传输速率并没有非常高的要求。

    CAN总线分为高速CAN和低速CAN,两者的主要区别:传输速率不同,高速CAN速率:125kbit/s~1Mbit/s,低速CAN速率:5~125kbit/s

    1.2不同速率CAN的应用领域

    高速CAN(CAN-C):发动机控制、自动变速箱控制、行驶稳定系统、组合仪表

    低速CAN(CAN-B):空调控制、座椅调节、车窗升降、天窗控制、车镜控制、车灯控制、导航系统控制

    2 分层介绍

    2.1 物理层

    2.1.1 拓扑结构

    CAN总线用到两种拓扑结构:总线拓扑及星型拓扑

    2.1.1.1 总线拓扑

    不需要主控制器,所有CAN节点直接连接到CAN总线,每个节点都能获取总线上信息。

    高速CAN的总线结构

    低速CAN的总线结构

    其优点:良好的电气特性,体现在:

    1. 一个节点出现故障,剩余总线系统的通信性能不会受到影响。
    2. 添加新节点时,不需要做很多改变,能与已有总线系统进行耦合。

    高速CAN采用总线拓扑,低速CAN也可以采用总线拓扑,注意在低速CAN上终端电阻,位于两端节点的CAN收发器内。

    2.1.1.2 星形拓扑

    需要使用一个中央耦合节点,该节点仅作为中继,将消息传送到任一单一支路节点。因为要保持信号传递时间不变,所以星型拓扑结构的导线长度与总线拓扑结构要一样。

     低速CAN的星型结构

    星型拓扑结构,主要是低速CAN采用。

    2.1.2 节点

    2.1.2.1 节点组成

    由可运行应用程序的微控制器、CAN控制器及CAN收发器组成。

    微控制器:控制CAN控制器,提供需要发送的CAN数据,读取接收的CAN数据。

    CAN控制器:负责管理消息的发送和接收,将需要传输的二进制数据转换成数据传输所需要的位电流,将位电流通过控制器发送引脚Txd发送到CAN收发器。

    CAN收发器:将信号增强,产生差分数据传输所需的电平,增强后的位电流以串行方式发送到总线上(CAN_H和CAN_L).

    对于接受方向,接受到的CAN消息通过CAN收发器经接收引脚RxD传递到CAN控制器。

    2.1.2.2 节点数限制

    最多可连接30个节点。

    2.1.3 总线逻辑状态及电压电平

     两种逻辑电平状态,显性和隐形。显性电平代表“0”,隐形电平代表“1”。

    高速CAN和低速CAN使用不同的总线电平传输显性和隐性逻辑状态。

    高速CAN和低速CAN的电压电平如下:

     2.1.4 传输线路类型

    2.1.4.1 双线传输

     大部分CAN总线使用双线传输,使用的是耦合的双绞线和退耦的非双绞线,两根线分别是CAN_H和CAN_L。

    在两根线上传输不同的电平,通过差分电平,滤除两根导线上相同的干扰,降低总线对干扰的敏感性。

    2.1.4.2 单线传输

    单线传输的前提条件是所有总线节点共地。这个共同的“地”取代了第二根导线的功能。

    单线传输仅仅用于车身电子系统和舒适性电子系统的低速CAN。

    2.1.4.3 延伸知识

    A.耦合:电子电路中,把信号通过元件由一个电路送往另一个电路。

    退耦:电子电路中,把各部分电路引起电源产生的电压波动去除掉,避免这些波动使各电路相互干扰。

    信号耦合方法:电容器,变压器,光耦合器等。

    退耦方法:结合各部分电路的电源并联电容器。

    B.双绞线:即屏蔽双绞线,利用线内金属隔层,对电磁反射,吸收达到屏蔽效果,安装要求所有连接器和配件都要有屏蔽功能且接地。应用在军队,交通运输,政府。

    非双绞线:即非屏蔽双绞线,根据自身平衡(如相互扭绞,相互抵消)来抵抗干扰,一般用在普通商务楼、小区,没特殊要求。

    2.1.5 终端电阻

    2.1.5.1终端电阻

    可以吸收网络上反射波,增强信号强度,两个终端电阻并联后的值应该等于传输线在通信频率上的特性阻抗(120欧姆),阻抗不匹配会引起信号反射。

    终端电阻可以安装在CAN控制器。

    2.1.5.2终端电阻目的:

    总线在传输电子信号时,会产生终端反射而干扰通信。为消除终端反射,在总线两端分别加一个120Ω的终端电阻。

    2.1.5.3 延伸知识:

    终端反射:

    高频信号传输时,信号波长相对传输线较短,信号在传输线终端会形成反射波,干扰原信号,所以要在传输线末端加终端电阻,使信号到达

    传输线末端后不反射。

    而对低频信号,不用加终端电阻。但在长线传输时,一般为了避免信号反射和回波,也要在接收端接入终端电阻。

    2.2 数据链路层

    重点是数据帧

  • 相关阅读:
    参考选择屏幕(控制选择屏幕两个屏幕,单值输入……通过函数实现单值输入)
    json串转化成xml文件、xml文件转换成json串
    创建xml文件、解析xml文件
    CDATA(不应由XML解析器进行解析的文本数据)、CDATA的使用场景
    python添加、修改、删除、访问类对象属性的2种方法
    类对象序列化为json串,json串反序列化为类对象
    python对象转化为json串、json串转化为python串
    windows下安装Mysql—图文详解
    用列表实现一个简单的图书管理系统 python
    列表去重几种方法 python
  • 原文地址:https://www.cnblogs.com/dLarger/p/12625094.html
Copyright © 2011-2022 走看看