can主要用于汽车、航空等控制行业,是一种串行异步通信方式,因为其相较于其他通信方式抗干扰能力更强,更加稳定。原因在于CAN不像其他通信方式那样,以高电平代表1,以低电平代表0,而是通过电压差来表示逻辑10。这样当干扰到来时,电压差是固定的,所以通信距离在1000米左右。
其通信线路为两根,当两根线的电压差小于0.5V时,逻辑为1,当电压差大于0.9V时,为逻辑0。当多个节点同时发送数据时,CAN总线采用非破坏性位仲裁机制,通过比较报文的标识符来确定哪个节点获得总线的发送权。标识符越小,优先级越高。
一帧数据包括如下所示的数据:后七位为结束位,另外两位为ACK信号
//图来自@爱上半导体