车载网络测试 - CAN&CANFD - 基础篇_03

文章详细介绍了CAN总线的广播发送规则,包括多主竞争、总线仲裁机制;报文过滤的MASK和ID概念,以及如何实现过滤;标识符的优先级定义;位填充的作用和规则;国际标准ISO11898系列;显性位与隐性位的概念及其在总线通信中的作用;总线仲裁机制和CSMA/CD协议的应用。
摘要由CSDN通过智能技术生成

十、发送方式与过滤方式

1、广播发送及规则

        我们以小组讨论现场为例来说明CAN总线广播发送规则:

        1)一个房间代表同一路CAN总线,每一个小组代表一个CAN Node,每一个小组成员发言代表发送一帧CAN报文,对所有的小组成员进行编号,代表一个CAN报文的ID

        2)所有小组成员都可以发言(多主的基于优先级的总线访问),如果想要发言,先报个人编号,然后进行发言。

        3)如果两个人同时报个人编号,则个人编号较小的人先发言,编号较大的人停止发言并听编号小的人发言完毕,然后再开始发言(非破坏性的总线仲裁机制

        4)如果发言的人说的话其他小组未听清,则需要发言人重复发言(报文自动重发)。

        5)如果发言的小组长时间说话别的小组无法听清,则将发言小组禁言一段时间(CAN busoff),时间结束后,则可以再次进行发言(BusOFF恢复)(故障码机制

        6)房间内的每个小组成员都可以随时离开,也可以随时进入房间加入交流(配置灵活

        7)位填充:如果CAN总线发送的报文出现连续重复的报文需要插入相反的位进行填充,本条未想到适合举例方法,只能以这种方法描述了。

2、报文过滤

MASK1  1  1  0  1  0  0  0  1  1  0

ID:       0  1  0  0  1  1  0  1  0  0  0

Code:  0  1  0  x  1  x  x  x  0  0  x

        一下子看这个可能会有点懵,如果mask为1,则总线上报文ID的位与Mask对应为相同才会接收,否则不接收;如果mask为0,则总线上的报文ID在该位任意值都接收;我们来举个例子可能大家就比较清楚的知道是如何实现过滤的了。

        1)假如一个节点配置的Mask为0x7FF,则该节点将会接收总线上报文ID为0x7FF的报文。如果其他报文设置mask为0x7FF,则该节点仅接收它自身相同的报文。

        2)假如一个节点配置的Mask为0x7F0,则该节点将会最多接收总线上报文ID为0x7F0 - 0x7FF的报文。

        通过上面这2个例子,不知道大家能够有一点明白呢?

3、标识符定义 (ID)

        1)标识符是唯一的,它描述了数据的特定含义,也决定了报文的优先级
        2)标识符数值越小,优先级越高
        3)最高优先级的报文在总线仲裁的过程中获得总线访问权
        4)低优先级报文在下一个总线空闲自动重发

4、位填充

位填充是为了提供足够的跳变沿口

        填充位出现在5个连续的相同极性的位之后

        填充位与其前面的位极性相反

        其实说到底也是为了保证通信的准确性,如果长时间没有跳变沿,那么接收方和发送方的同步性就有很大可能变差,这样就有可能导致后续通信信号的错乱,因此才会在出现连续5个相同记性的位之后,就插入一个极性相反的位,更好的去保证通信双方的准确性。

 

5、常见的国际标准文件

ISO11898

        11898-1 数据链路层和物理信令

        11898-2 高速媒体访问单元(物理层)

        11898-3 低速、容错、介质相关接口(物理层)

        11898-5 具有低功耗模式的高速介质访问单元(物理层)

6、显性位与隐性位

        在CAN网络中实现通信顺畅(尤其是总线访问、故障指示和应答)的基本前提是总线显性电平和总线隐性电平之间存在明显差别。总线显性电平对应于逻辑“0”,总线隐性电平对应于逻辑“1”。
        显性电平优先级高于隐性电平。当不同CAN节点同时发送显性和隐性总线电平时,CAN总线将呈现显性总线电平。只有当所有CAN节点都发送隐性电平时,CAN总线才呈现隐性总线电平。

        0:显性位

        1:隐性位

注意:这里和我们的常识刚好相反,一般我们认为显性是1,隐性是0,但是在CAN这里正好反过来记就好了。

        接收时将物理信号转换成逻辑信号,收发器将差分电平信号转换为逻辑信号。 CAN-bus使用两根电缆进行信号传输,分别为CAN_High和CAN-Low(简称CAN_H和CAN_L)。CAN收发器根据两根电缆之间的电压差来判断总线电平,这种传输方式称为“差分传输”。电缆上的电平信号只有两种可能,分别为显性电平(代表逻辑0)和隐形电平(代表逻辑1)

7、CAN总线的线与机制

 总线上可能有两种逻辑状态:

        1 = recessive

        0 = dominant

总线传输特点:

        1) 一旦一个节点传输一个显性位(零),总线就处于显性状态;
        2)仅当所有节点传输隐性位(个)时,总线处于隐性状态。

8、总线仲裁

总线访问机制

载波侦听和带冲突检测协议的多路访问(CSMA/CD)

CAN报文的优先级由标识符值决定

        1)标识符的数值在系统设计的初始阶段分配

        2)不同节点不允许发送相同ID报文(远程帧除外)

        3)标识符数值越小,优先级越高。

        4)总线冲突通过非破坏性位序列仲裁解决

总线仲裁示例:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

车载网络测试

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值