CAN基础信息

车载网络概述
1、车联网
按范围:车内网,车外网,车云网
按速率:低速网、中速网、高速网

2、为什么使用数据总线:
    减少线束
    电子信息代替机械传动

3、主要车载网络协议
CAN:车身/控制系统用LAN协议          1Mbit/s
LIN:车身控制系统用LAN协议          20kbit/s
FlexRay:重视安全、按用途分类的LAN协议  10Mbit/s
MOST:信息通信协议          225Mbit/s
IDB-C:以CAN为基础的LAN协议     250Kbit/s


4、现场总线:
双向、串行、多节点、开发
要求:实时性强、可靠性高、安全性好
特点:
    多维短帧传输
    速率较低


5、总线:
    拓扑结构:星形、总线、环形
    传输介质:双绞线、同轴电缆、光纤
    通信方式:单工、半双工、全双工


6、车载网络要求:
    1、采用串行总线拓扑
    2、节点数量可以动态改变
    3、有良好的抗干扰
    4、差错检测和处理
    5、实时性
    6、故障检测和处理能力
其中CAN(ISO-11898)可以满足以上要求

7、CAN  采用双线差分信号,
    对节点数量无限制,可动态改变
    支持广播发送
    多主站结构,各节点平等
    优先级&相关性过滤,依赖于帧ID
    短帧结构
    通信介质灵活(使用双绞线)

8、CAN节点结构
图略,待补充

9、差分信号:存在差分电压时定义为”0“显性
          不存在差分电压时定义为”1“隐性


10、双线差分电压:2V

11、拓扑结构:
    从第一个节点到其最远节点的线路称为总线(干线)  min:0m  max:40m
    其余线路称为支线``              min:0m  max:1m
    节点之间的距离称为节点距            min:0.1m    max:40m
    终端电阻                    min:100   max:130   常用:120欧姆

12、双绞线:
    屏蔽、非屏蔽
    特征阻抗:min:95欧姆    名义:120欧姆   max:140欧姆
    单位延迟:      名义:5ns/


13、终端发射的概念:

    终端发射的发生原因:电流变化过大,产生磁场,感应生成了一个电场,产生发射电信号
    电流突变为0,导线有一个电感,电感保持电流不变,会产生一个反向电流
    反射问题需要使用终端电阻解决,终端电阻接法:

CANH:---------------------------------------------------        
                  |                         |
                  |                         |
                60欧姆---------------------60欧姆
                  |                          |
  (避免地飘)GND    |                          |-----GND
                  |                          |
                  60欧姆----------------------60欧姆
CANL:--------------------------------------------------------  
地漂移:CAN采用差分信号来传递信号,不同节点的地电位存在较大差异

14、反射率计算


15、CAN DB9接法:CANL:PIN2  CANH:PIN7   PIN3:GND PIN6:GND   PIN9:V+

CAN的数据链路层:
16、通信机制
    16.1 发送报文
        检测总线状态    -->     总线空闲    -->     发送报文且回读
                                                (回读OK,发送成功,回读结果异常,回到只听状态,待总线空闲时再发送)
   
    16.2 线与机制
        当存在A、B两个CAN节点同时发送报文时,使用ID进行仲裁(ID值小)-->0位越小越向前
        ID值越小,优先级越高
        当仲裁失利后,退出仲裁,该节点转为只听状态

    16.3 数据帧比远程帧先发送

    16.4报文接收
    检查报文相关性(根据报文ID进行判断,需求ID一致即为相关),相关则接受,反之则过滤
    编码使用NRZ编码(即使用0为低,1为高,不使用曼彻斯特编码)

    16.5 NRZ与位填充
        NRZ编码边沿较少,定时较差,需要使用位填充
        CAN发送连续5个相同位时,补充一个极性相反位
        CAN接受连续5个相同位时,去除一个极性相反位

17、CAN数据帧
    数据帧:标准帧  拓展帧
    远程帧:只有ID,需要数据(DLC为0)
    错误帧:主动错误 被动错误
    超载帧
    帧间空间

    17.1 数据帧
    标准帧:
    ---------------------------------------------------------------------------------------------
    B  |     |        | R |   |  |    |               |       |   |   |    |   |   |  B
    U  | S |        |   | I |  |  D |               |       | D |   | R  |   |   |  U
    S  |     |   I    |   |   |  |    |               |       |   | A |    |   |   |  S
    I   | O |         | T |   | R|  L |   DATA Filed  | CRC   | E |   |  F |EOF|ITM|  I
    D  |     |   D   |   | D |  |    |               |       |   | C |    |   |   |  D
    L   | F  |        | R |   |  |  C |               |       | L |   |    |   |   |  L
    E   |    |         |   | E |  |    |               |       |   | K |  C |   |   |  
    ------------------------------------------------------------------------------------------------
    SOF:帧起始:显性位"0",在总线空闲时,发送SOF,标志该帧开始发送
    ID :11位(对应拓展帧的ID)
    RTR:区分远程帧(1)&数据帧(0)
    IDE:区分标准帧(0)&扩展帧(1)
    r:保留,为0
    DLC:占用4bit(0~15,9~15均为8Byte)表示数据存在多少Byte
    DataFiled:0~64位,高字节先发or低字节先发
    CRC冗余校验:15bit
    DEL:1bit(固定为1)
    ACK:1bit(正确为0,错误为1)
    ACKDEL:1bit(固定为1)
    EOF:7bit(7个1)
    TIM:3bit(3个1)

    拓展帧
    ---------------------------------------------------------------------------------------------
    B  |   |        | S |   | E |    |   |  |   |               |       |   |   |    |   |   |  B
    U  | S |        |   | I | X |  R |   |  | D |               |       | D |   | R  |   |   |  U
    S  |   |   I    |   |   |   |    |   |  |   |               |       |   | A |    |   |   |  S
    I  | O |        | R |   | I |  T |r1 |r0| L |   DATA Filed  | CRC   | E |   |  F |EOF|ITM|  I
    D  |   |   D    |   | D | D |    |   |  |   |               |       |   | C |    |   |   |  D
    L  | F |        | R |   |   |  R |   |  | C |               |       | L |   |    |   |   |  L
    E  |   |        |   | E |   |    |   |  |   |               |       |   | K |  C |   |   |  
    ------------------------------------------------------------------------------------------------

    SOF:帧起始:显性位"0",在总线空闲时,发送SOF,标志该帧开始发送
    ID :11位(对应标准的ID)
    SRR:无意义,默认为1
    ExendedID:28位
    RTR为区分远程帧(1)&数据帧(0)
    r1&r0:保留,为0
    DataFiled:0~64位
    CEC冗余校验:15bit
    DEL:1bit(固定为1)
    ACK:1bit(接收正确为0,错误为1) 发送时ACK为1,接收时被拉高为0

    ACKDEL:1bit(固定为1)
    EOF:7bit(7个1)
    TIM:3bit(3个1)
    当总线发送连续11个隐形位1(ACKDEL+EOF+TIM)时,总线认为此时总线空闲
    在CRCDEL之前会进行位填充,之后固定,不允许位填充

    CRC:
    [SOF--->DataFiled(最后一位)]/16bit多项式系数 =>得到余数R

18、错误帧
    位错误:发送节点在发送后回读发送位时,发现发送与回读不一致时,检测到位错误,仅在发送节点出现
    填充错误:当出现6个连续的相同极性时,报错;发送&接收节点均可检查到
    ACK错误:发送节点回读ACK未被接收节点置高(从1置0), 发送节点检查
    格式错误:从CRC后固定的格式发送错误;发送&接收均可检查到
    CRC错误:接收节点

    当CAN总线开始运行时,会自动进入主动错误(TEC:发送错误计数器,REC:接收错误计数器)
    开机--------------->主动错误
                      /       \
                     /          \用户请求&发送128个连续隐形位
                    /  REC>127   \
                   / or TEC>127   \
                 \/_               \
            被动错误 ------------> 将节点从总线拿下
                            TEC>256

    18.1 主动错误帧
    -----------------------------------------------------
                    |                   |
     6个显性位      |                    |
  (主动错误标志)   |0~6 bit 错误标志叠加 | 8bit 错误界定符
                    |                    |
    ------------------------------------------------------

    错误标志叠加:由非错误帧发送者发出,将错误标志叠加上

    18.2 被动错误帧
    -----------------------------------------------------
                    |                   |
     6个隐性位      |                    |
  (主动错误标志)   |0~6 bit 错误标志叠加 | 8bit 错误界定符
                    |                    |
    ------------------------------------------------------

错误叠加
总线上同一时刻只会体现一位的状态。
收发节点的错误帧会在某一时间段发生重合
重合部分显性覆盖隐性

19 位定时与同步
位时间有多个Tq 组成
波特率:1/位时间
一个位的组成:
同步段 + (传播段+相位缓冲段1)+相位缓冲段2

同步段:跳变沿存在于同步段中 时长为Tq
传播段:满足2倍的信号总线延迟(为抵消ACK在总线传输延时)
采样点一般在相位缓冲段1与相位缓冲段2之间进行

CAN FD的组成:
待画出

SAE J1939


posted @ 2025-12-12 12:04  nonAny  阅读(0)  评论(0)    收藏  举报