1、步骤一:其实主要用作CAN总线的仲裁使用,所以一般来说网络上的每个节点(向总线上发送)的ID应该有所不同。ID值越低,报文优先级越高,在两组不同ID报文同时上线时候,仲裁机制使得ID值低的占用总线,ID值高的退出。
2、步骤二:我们都知道ID域可以是11位和29位,其值和含义可以由用户自定义,可以用作高层协议的管理,比如CANopen等协议中把ID的部分做为“源地址”,部分作为“目的地址”,这样CAN报文从哪来到哪去都清晰了。ID的另一个作用是配合接收方滤波使用,就是说一般接收的滤波器可以设定接收ID的范围等,用于过滤掉不需要接收的信息,减轻CPU的处理负担。
3、步骤三:总线没有那么智能,实际上A1 A2 A3三个节点都可以接收到总线上的墙绅褡孛数据,只是在接收的同时,三个节点硬件上的过滤器(一般通过软件在这个地方设置节点各自的Arbitration ID)会根据各自设置的Arbitration ID与总线上接收到的ID做出比较,比较一致则对该帧信息作出回应,接收不一致则会舍弃该帧信息等待接收新的信息。 型号一样不代表ID就是一样的。CAN总线各个节点之间进行通讯是根据各个节点不同ID对数据帧进行接收反应的。总线上每个节点的ID都是不同的,这个可以通过软件上编程设置,有些仪器上好像也可以自己通过手动写进去。
4、简单介绍:CAN是控制器局域网络(Controller Area 鲍伊酷雪Network, CAN)的简称,是由以研发和生产汽车电子产品著称的德国BOSCH公司开发的,并最终成为国际标准(ISO 11898),是国际上应用最广泛的现场总线之一。 在北美和西欧,CAN总线协议已经成为汽车计算机控制系统和嵌入式工业控制局域网的标准总线,并且拥有以CAN为底层协议专为大型货车和重工机械车辆设计的J1939协议。