对于CAN ID的理解
来源:互联网 发布:ios 网络请求缓存 编辑:程序博客网 时间:2024/04/30 20:33
本文主要讲的是自己对于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的报文之后,知道这是电压信号。
- 对于CAN ID的理解
- CAN总线仲裁机制--对于多个节点同时发送相同ID的报文
- 对于继承的理解
- 对于volatile的理解
- 对于分布式的理解
- 对于volatile的理解
- 对于const的理解
- 对于scull_read的理解
- 对于分页的理解
- 对于视图的理解
- 对于HBase的理解
- 对于STL的理解
- 对于覆盖的理解
- 对于context的理解
- 对于__syncthreads()的理解
- 对于终端的理解
- 对于ftok的理解
- 对于递归的理解
- R语言在直方图上添加正太曲线与核密度曲线
- Debug日志:OOP版填充数字矩阵的一个失败反例
- 网易 彩色砖
- 关于JVM的面试总结
- Ubuntu下安装Cppcheck源码操作步骤
- 对于CAN ID的理解
- 再起航,我的学习笔记之JavaScript设计模式15(组合模式)
- FreeRDP的安装方法
- delphi通过函数名动态调用函数的方法(方便功能的扩展)
- 饿了么的架构设计及演进之路
- 非常有用的的C/C++框架和库的收藏
- 【CVTE笔试题】HTML中出现次数最多的元素标签
- LeetCode-Merge k Sorted Lists
- 网易等差数列