CANBUS的理解

  1. 什么是CANBUS?
    1. CAN总线技术,全称为“控制器局域网总线技术(Controller Area Network-Bus)”
    2. 在汽车上用于车上各种传感器数据的传递
  2. 工作原理
    1. 车越高级,车上的控制单元越多。例如:电子燃油喷射装置,ABS装置,安全气囊装置,电动门窗等等
    2. 遍布车全身的传感器实时的监控车辆的状态信息,并将此信息发送至相对应的控制单元内
    3. 比如发动机控制单元接受来自气压传感器,发动机温度传感器,油门踏脚位置传感器,发动机转速传感器的信息,经过分析处理之后发送相应的指令来控制喷油嘴的喷油量等等
    4. 车上的控制单元不是独立工作的,作为一个整体需要信息的共享,就存在信息的传递问题
  3. 控制单元之间的通讯
    1. 主要有两种传递方式
      1. 第一种,每项信息都通过各自独立的数据线进行交换。比如,两个控制单元间有5种信号需要传递,那么则需要5根独立的数据线。信息越多,数据线的数量和控制单元之间的针脚也会增加
      2. 控制单元之间的所有信息都通过两根数据线进行交换,这种数据线也叫做CAN数据总线
        1. 通过该方式,所有的信息,不管信息的容量大小,都可以通过这两根线进行传递
        2. 例子:电脑键盘有104个按键,但是键盘和主机之间的数据连接线只有7根。
  4. 不同的系统采用不同速率的总线
    1. 可以较好的优化资源,降低整车成本
  5. 工作原理举例
    1. 其工作原理与公共汽车很类似
    2. 每个站点相当于控制单元
    3. 行驶路线则是CAN总线
    4. CAN总线上传递的是数据
    5. 某个控制单元接收到负责向它发送数据的传感器的信息后,经过分析处理采取措施,并把此信息发送到总线系统上。这样信息就在总线上传递了。每个与总线系统连接的控制单元都可以接受到此信息如果有用则留下了,无用则忽略。
CANBus数据链路层协议采用对等式(Peer to peer)通信方式,即使主机出现故障,系统其余部分仍可运行(当然性能受一定影响)。当一个站点状态改变时,它可广播发送信息到所有站点。 CANBus的信息传输通过报文进行,报文帧有4种类型:数据帧、远程帧、出错帧和超载帧,其中数据帧格式如图8所示。CANBus帧的数据场较短,小于8B,数据长度在控制场中给出。短帧发送一方面降低了报文出错率,同时也有利于减少其他站点的发送延迟时间。帧发送的确认由发送站与接收站共同完成,发送站发出的ACK场包含两个“空闲”位(recessive bit),接收站在收到正确的CRC场后,立即发送一个“占有”位(dominant bit),给发送站一个确认的回答。CANBus还提供很强的错误处理能力,可区分位错误、填充错误、CRC错误、形式错误和应答错误等。 CANBus应用一种面向位型的损伤仲裁方法来解决媒体多路访问带来的冲突问题。其仲裁过程是:当总线空闲时,线路表现为“闲置”电平(recessive level),此时任何站均可发送报文。发送站发出的帧起始字段产生一个“占有”电平(dominant level),标志发送开始。所有站以首先开始发送站的帧起始前沿来同步。若有多个站同时发送,那么在发送的仲裁场进行逐位比较。仲裁场包含标识符ID(标准为llbit),对应其优先级。每个站在发送仲裁场时,将发送位与线路电平比较,若相同则发送;若不同则得知优先级低而退出仲裁, 不再发送。系统响应时间与站点数无关,只取决于安排的优先权。可以看出,这种媒体访问控制方式不像Ethetnet的CSMA/CDCA协议那样会造成数据与信道带宽受损。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值