1.CAN总线仲裁机制
CAN总线是一种基于优先级的串行通信网络,采用载波监听多路转换冲突避免协议。CAN总线中传输的数据帧的起始部分为数据的标识符,标识符既可以区分消息又可以表示消息的优先级CAN总线为多主工作方式,网络上任意一节点均可在任意时刻主动向网络上的其它
节点同时发送消息。若两个或两个以上的节点同时开始传送报文,就会产生总线访问冲突,根据逐位仲裁原则,借助帧开始部分的标识符,优先级低的节点主动停止发送数据,而优先级高的节点继续发送信息。在仲裁期间,CAN总线作“与”运算,每一个节点都对节点发送的电平与总线电平进行比较,如果电平相同,则节点可以继续发送。如规定0的优先级高,当某一个节点发送l而检测到0时,此节点知道
有更高优先级的信息在发送,它就停止发送消息,直到再一次检测到网络空闲。
2.讨论求助
CAN总线的仲裁机制应该是各类节点的优先级是相等。如果我有四类用户(或者更多),我要将用户分优先级,比如一类用户有请求,总线就不处理其它用户的请求。但是方案中可能会涉及到有线用户正在通信,或者已经等了很久了。这种情况下,CAN总线的调度大家有什么建议和方案吗?
楼主最近还看过