zoukankan      html  css  js  c++  java
  • 【转】对于CAN ID的理解

    本文主要讲的是自己对于CAN ID的理解,希望对需要的人有帮助,本文以通俗的方式来理解,不涉及到具体CAN通信。

    在接触CAN之前,应该接触过IIC通信,在IIC通信中,在同一条IIC通信总线上每个device有唯一的ID,后续对于device的操作都是通过唯一的ID号来区分。而CAN ID虽然也叫ID,但是意义却不一样,每个CAN device可以接收和发送多条不同的ID报文。

    比如在一条CAN总线上有三个device,叫做A,B,C吧。

    A device有接收ID:202,302;发送ID:101,102;

    B device有接收ID:101,303;发送ID:201,202;

    C device有接收ID:101,102,201;发送ID:302,303;

    如果A device发送了ID为101的一条报文,因为B device和C device都有接收为101的ID,那么B device和C device都可以接收到这条报文。

    如果A device发送了ID为102的一条报文,因为只有C device有接收为102的ID,那么只有C device可以接收到这条报文。

    如果B device发送了ID为202的一条报文,因为只有A device都有接收为202的ID,那么只有A device可以接收到这条报文。

    可以看出,CAN ID其实是个报文过滤器,当总线上报文的ID和自己接收的ID有相匹配的时候,就可以接收相应的报文。

    CAN中的ID是为了定义相应的报文的含义,每个ID对应有自己的具体含义。

    比如,101为电压信号,201为电流信号,这样当A device要发送电压信号时候,就用101 ID的报文,B和C device接收到101 ID的报文之后,知道这是电压信号。

  • 相关阅读:
    c# 进制
    java生成验证码
    java基础练习题
    java九九乘法表
    java list集合练习
    深入理解Java的接口和抽象类
    java 接口 练习
    java泛型详解
    Java 继承 小练习
    Java单例模式深入详解
  • 原文地址:https://www.cnblogs.com/tubujia/p/14110864.html
Copyright © 2011-2022 走看看