CAN Driver概述
提供向下的硬件访问接口和向上的(CanIf)与硬件解耦的接口。
can模块为启动发送提供服务,并为通知事件调用CanIf的回调函数。
它还为控制CAN controller的状态和行为提供服务。
多个CAN controller可以被单独的CAN模块进行控制,只要他们属于同一个CAN Hardware Uint。
CAN Hardware Uint:由多个同类型的CAN controller以及一个或多个CAN RAM组成。
概念: 优先级倒置 内部优先级倒置
如果仅使用单个传输buffer,则可能会发生内部优先级倒置。由于优先级较低,存储在发送buffer中的报文会等到“总线上的流量平静下来”。在等待期间,这条报文会阻止同一个控制器的更高优先级的报文在该网段上的发送。这样就形成了优先级倒置的现象。如上图所示,这种现象应该发生在控制器内部,发送buffer中存在待发送的低优先级报文,但是protocol controller在处理其他高优先级的收发(并没有空闲下来),恰在此时,控制器内部要准备发送高优先级报文,但是却被占用buffer的低优先级报文阻止了。
————————————————
版权声明:本文为CSDN博主「大表哥汽车人」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_46481662/article/details/129325708
|