can协议

Controller Area Network,是一种用于实时应用的串行通讯协议总线.

CAN控制器通过组成总线的2根线(CAN-H和CAN-L)的电位差来确定总线的电平,在任一时刻,总线上有2种电平:显性电平和隐性电平。

“显性”具有“优先”的意味,只要有一个单元输出显性电平,总线上即为显性电平,并且,“隐性”具有“包容”的意味,只有所有的单元都输出隐性电平,总线上才为隐性电平。(显性电平比隐性电平更强)。
总线上执行逻辑上的线“与”时,显性电平的逻辑值为“0”,隐性电平为“1”。
连接在总线上的所有单元都能够发送信息,如果有超过一个单元在同一时刻发送信息,有最高优先级的单元获得发送的资格,所有其它单元执行接收操作。
优点:
控制器局域网络(CAN)具有高保密性,有效的支持分布式控制或实时控制的串行通信网络;
速率高,CAN的位速率可达1Mbps(40m);
廉价,多使用与交通运载工具、发动机控制部件等;
采用线性总线结构,每个子系统对总线具有相同的权利,多主工作方式。任意一个节点可以在任何时候向网络上的其他节点发送信息而不分主从;
发送信息分为不同的优先级,采用非破坏性总线裁决技术,当两个节点同时向网络上传递信息时,优先级低的停止发送数据,而优先级高的节点不受影响的继续传递数据;
与总线相连的单元没有类似于“地址”的信息,因此总线上增加单元时,连接在总线上的其他单元软硬件及应用层都不需要改变,节点按照滤波器过滤接收的信息;
具有检错、错误通知、错误恢复的功能;
具有点对点,一点对多点,全局广播接收传送数据的功能。

原文地址:https://www.cnblogs.com/zhougong/p/7778343.html