基于CAN FD 总线的动静态调度算法研究
2021-09-28赵雅文周美娇吴俊鹏
赵雅文,周美娇,吴俊鹏
(上海理工大学光电信息与计算机工程学院,上海 200093)
0 引言
目前国内外主流调度算法大致分为3 种:①静态调度算法,如固定优先级算法(Fixed Priority Schedule Algorithm,FPA)[5];②动态调度算法,如最早截止期优先算法(Earli⁃est-Deadline-First,EDF)[6]和最小松弛优先算 法(Least-Laxity-First,LLF)[7];③混合调度算法(Mixed Traffic Sched⁃uler,MTS)[8]。根据报文调度过程中的不同要求,可选择合适的算法进行调度。
以上文献中关于报文响应时间的研究为本文分析CAN FD 报文的最坏响应时间奠定了一定基础,但均未将具体的调度算法应用到CAN FD 总线网络中进行验证,以对比不同调度算法的优劣。本文采用固定优先级算法和最早截止期优先算法对CAN FD 总线报文进行调度研究,通过CANoe 仿真平台搭建仿真模型,对两种算法进行仿真对比实验。实验结果表明,最早截止期优先算法对报文的优先级分配更加灵活,在低速传输情况下,报文可以实现全部传输。
1 CAN FD 总线概述
1.1 CAN FD 总线协议
CAN FD 总线是一种基于CAN2.0 协议,且与CAN 共享物理层的现场总线,遵循ISO/OSI 网络标准模型。其弥补了CAN 总线通信速率低的缺点,同时具有基于事件触发、采用短帧格式、遵循非破坏性逐位仲裁规则等特点。CAN FD 总线采用载波监听多路访问/冲突避免(Carrier Sense Multiple Access with Collision Avoidance,CSMA/CA)的媒体访问方式,还可以设置多种拓扑结构,目前在汽车行业应用最多的是总线型拓扑结构。
CAN FD 总线具有3 种报文帧格式,即数据帧、出错帧和超载帧,按照标识符长度又可分为标准帧和扩展帧。CAN FD 数据帧相较于CAN 数据帧新增了扩展数据长度位(EDL 位)、比特率开关位(BRS 位)和错误状态指示位(ESI位),同时采用了新的DLC 编码方式与CRC 算法(CRC 场可扩展至17、21、26 位)。……
