CAN总线的非破坏性仲裁是一种在多个设备同时发送数据时,通过标识符(ID)优先级来决定哪个设备可以优先发送数据的机制。其核心思想是:当多个设备同时发送数据时,ID值较小的数据具有更高的优先级,能够优先发送;而ID值较大的数据则会仲裁失败,进入接收状态,等待下一次机会12。
工作原理
- 标识符优先级:CAN报文有一个11位的标识符(ID),报文的ID值越小,优先级越高。当多个设备同时发送数据时,ID值小的报文可以成功发送,而ID值大的报文则会仲裁失败12。
- 线与特性:CAN总线使用差分信号传输,具有“线与”特性。这意味着如果任何一个节点发送显性电平(逻辑0),总线上的电平就会变为显性电平(逻辑0)。只有当所有节点都发送隐性电平(逻辑1)时,总线上的电平才会变为隐性电平(逻辑1)23。
- 回读机制:每个节点在发送数据位后,会读回总线上的电平状态。如果发送的是显性电平(0),读回的也必须是0;如果发送的是隐性电平(1),读回的可能是0(表示冲突),此时节点会停止发送,进入接收模式24。
应用场景
非破坏性仲裁机制广泛应用于需要高可靠性和实时性的系统中,如汽车电子控制系统、工业自动化等领域。