CAN协议简介

CAN协议简介内容-知乎

这篇文章详细介绍了can总线的基础知识

BasicCAN and PeliCAN

   CAN 以两种形式存在,一种是具有11位ID标识符的BasicCAN,另一种是带有扩展成29位ID标识符的高级形式PeliCAN。

内部的验收滤波器、屏蔽滤波器可通过标识符ID来接收需要的报文,屏蔽不相关的报文,即只向CPU 提交合适的报文。Philips、Intel、Siemens均支持BasicCAN 和PeliCAN。

同时,PeliCAN 协议允许两段长度的标识符:A部分使用11位报文标识符,能够识别出2032个不同的标识符(保留十六位),此部分兼容BasicCAN;而PeliCAN (B部分)有29位,能够产生536870912个不同的标识符。
PART A 的设备只能用标准的CAN 协议发送和接收。如果在29位ID的扩展CAN 系统中使用,设备会发生错误并破坏网络。SIEMENS 81C90 和81C91 是相类似的PART A (11位ID)设备,但可在扩展CAN 上使用而不会引起总线错误。原因很简单,因为它们忽略了扩展CAN帧,而是被认为是PART B设备。PART B 的设备(PeliCAN)则可由设定工作于其中一种模式下。


   数据链路层定义了报文传输的格式和定时协议,这里有两种描述符,都能达到8字节的数据。描述符是非常重要的,因为它们定义了报文的优先权以及报文传输的类型。
   标识符场有11位,并用来识别报文以及决定总线访问的优先权。标识符的二进制值越小,其优先权就越高。报文的优先权分配是CAN 总线的特征之一,特别在一个强大的实时控制环境里,这一点尤其吸引人。
   标识符场中所有的位都能够决定报文的优先权,这意味着,在一个11位系统里面,报文的优先权编号(号码)可以从16(高优先权)到2032 (低优先权)。CAN 规范保证了优先权与延时是相关联的。


以下是CAN总线介绍:

一个帧的格式

总线仲裁:

上图,总线仲裁机制有两种:线与机制,回读机制

通过逐位比较。回读机制,总线上的节点会读取总线的值,如果节点发出的是1,回读的是0,则丢失仲裁(失败)

ITM:三位的帧间隔

总线空闲判定:

   在总线上检测到11个连续的的1,则意味着总线此时是空闲状态,在其他位置不可能检测到连续的11个1,因为位填充机制,位填充范围在SOF起始到CRC校验结束。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值