1.内部优先级反转
“如果仅使用单个发送缓冲区,则可能发生内部优先级反转。 由于低优先级的CAN报文存储在缓冲区中等待总线上没有通信时启动发送。在等待期间,可以阻止由同一微控制器产生的更高优先级的CAN报文传输。
2.外部优先级反转
“在一些 CAN 实现中可能会出现外部优先级倒置问题。假设 CAN 节点希望发送具有高优先级的连续消息包,其存储在不同的消息缓冲器中。如果 CAN 网络上这些消息之间的帧间间隔长于 CAN 标准定义的最小间隔,则第二个节点能够开始传输较低优先级的消息。 CAN 模块的内部处理时间必须足够短,以便发送具有最小帧间间隔的连续消息,以避免进行外部优先级倒置。