OSEK规范

2024-08-07

OSEK规范 篇1

基于OSEK OS规范的操作系统,需要满足该规范规定的软件结构、任务管理、资源管理、应用模式等一系列要求。尤其在任务管理机制方面,OSEKOS规范针对汽车电子控制的特点做出了一系列特殊规定,旨在提高汽车电子控制软件的运行性能和效率。出于成本等因素的制约,大部分车载电控单元(ECU)的硬件配置较低,而现有的OSEK操作系统,其任务管理机制大多承袭自传统的PC操作系统[3,4,5],在资源利用、运行效率方面难以适应实际工业应用需要。因此,设计一种轻量级的符合OSEK规范的任务管理机制,有着重要的意义。

1 OSEK任务管理规范

OSEK OS中任务的概念与进程类似,是运行和调度的基本单位。OSEK OS规范将任务划分为基本任务和扩展任务两种类型[1]。其主要区别在于基本任务不会等待事件,而扩展任务可等待事件发生而挂起自身,如图1所示。

系统中所有任务在系统启动前全部创建完毕,任务在运行期间可被多次启动。为便于系统配置,针对任务管理特性,OSEK OS规范定义了4种一致类[6],下文按最复杂的ECC2配置对轻量级任务管理机制的原理进行说明,其功能区别如表1所示。

任务调度是任务管理机制的核心。OSEK OS规范对任务调度的规定比较灵活,其支持的调度机制包括:全抢占调度、非抢占调度及混合机制。在混合机制中,任务是否被抢占由任务本身的属性决定。

2 任务管理机制设计

改进的任务管理机制属于一种轻量级的任务管理机制,其从任务组织方式和任务调度两方面对传统任务管理机制进行了改进及重构。旨在降低系统的存储代价和提高系统实时性。

2.1 任务存储结构

与PC操作系统的进程管理概念类似,现有的OSEK OS中,需定义任务控制块(TCB)存储任务信息,并定义就绪任务表、阻塞任务表等相关链表进行组织[3,4,5]。由于车载ECU配置较低,某些ECU内存甚至<256 kB,这种任务信息存储结构不利于车载应用的扩展。轻量级任务管理机制设计了更为简单的任务存储结构,以一个任务信息数组TaskMangTbl来替代TCB以及其他任务相关链表的功能,该数组中每个单元存储一个任务的运行所需信息。每个单元的结构如表2所示。

每个任务信息只占用12 Byte,对于定义300个任务的系统来说,其任务管理结构只需占用3.5 kB的空间。任务信息中设定周期表示周期任务重复激活时间间隔;使能标志用于限制任务激活次数;初始延迟规定了任务首次运行延迟时间。任务组ID其含义较为特殊,在该任务管理机制中,任务被划分为若干任务组,每个任务组在TaskMangTbl中相邻存储,所有任务组在TaskMangTbl中按组号顺序依次存储。组ID即表征组号,又代表该组的优先级。

数组TaskMangTbl为静态全局数组,采用这种任务存储结构具有两个优点:首先,根据上述分析,这种方式降低了运行期间的内存开销;另一方面,若将TaskMangTbl的内容设为标定数据项,当系统升级或改型时,只需修改对应标定项,整个任务管理机制的程序无需任何改动便可应用于新系统。

2.2 任务调度机制

轻量级任务管理机制支持OSEK OS规范中规定的全部调度方式。在该机制下,任务调度方式的安排是基于车载ECU软件的任务特性决定的:首先,在车载系统中,每个任务通常比较简单,且功能单一;其次,根据OSEK OS规范要求,所有任务在系统运行前定义,其运行时间、资源需求及重要程度均可预先配置并优化。

基于上述考虑,在配置系统时按功能和实时性将任务分组,并将同组任务存储在TaskMangTbl中相邻的区域。分组示例如表3所示。

根据任务组织形式,其调度方式分为组内调度和组调度,其中组内调度由于任务优先级相同,采用非抢占调度方式,而组调度则采用抢占调度方式。

2.2.1 组内调度

组内调度是指系统对同组(同优先级)任务进行调度。由于同组任务信息在TaskMangTbl中相邻存储,因此机制设计了一种基于周期延迟计数的先来先服务算法来实现组内非抢占调度。在该算法中,任务按TaskMangTbl中存储顺序轮询,当轮询至某任务时,其剩余周期计数减1。当该任务剩余周期为0时,任务被调度执行,否则跳过继续轮询下一同组任务。其执行流程设置如图2所示。

可见任务调度点在剩余周期为0且该任务使能标志为1时。这种任务调度方式统一了周期任务与非周期任务的处理方式。

若任务为周期任务,其执行周期计Tcycle算如式(1)所示。

式中,Nset为任务的设定周期;Tslot为计数间隔时间。若任务为非周期任务,Nset设置为1,此时算法退化为普通的先来先服务算法(FCFS)。这种调度方式无需系统判断任务类型,如何调度只取决于Nset的设置,因此,该方式不仅减少了系统信息存储与判断的开销,也有利于对任务修改与维护。

2.2.2 组调度

组调度方式是指系统对优先级不同的任务进行调度。组调度采用抢占的方式进行调度。抢占依据为任务优先级,并且分基本任务和扩展任务这两种类型分别进行不同处理。

以表3为例,0~1组为基本任务,该组任务用于初始化系统信息,因此只能被激活一次。实现方式为在主进程初始化时系统调用其组内调度函数如图2所示,当组内每个任务执行完毕后使能标志被置0,表示当前任务已被禁止,不能被再次激活。

表3中除0~1组外的其它任务为扩展任务,与基本任务不同的是,该类型任务可能会因为时间等待而进入等待态,此时任务让渡处理机并挂起自身。

由于任务分组且同组任务相邻存储,因此除非被优先级更高的任务组所抢占,获得处理机的任务组将占用处理机直到一次组内调度执行完毕,因此组调度通常以组为调度单位。为了降低系统开销,轻量级任务机制采用挂载中断来实现组调度。其原理是将除0~1组之外的每个任务组的组内调度函数挂载到对应外部中断的中断服务程序(ISR)中,且每一组的优先级要与其对应外部中断的优先级相匹配。例如当凸轮信号触发中断时,9号任务组对应的外部中断源触发外部中断,若该中断源为当前待处理最高优先级中断,则该任务组被调度运行。不同组的抢占调度依赖中断嵌套实现。以PowerPC体系为例,组调度的原理如图3所示。

如图3所示,周期任务组(如表3中的组3)的组调度函数被挂载到定时中断的ISR中。因此其周期计数步进的单位Tslot等价于定时中断触发间隔时长。由于通常定时中断优先级较低,故该组任务会被优先级更高的任务组抢占。

表3中组4~11任务的实时性通过外部中断的实时处理来保证。而对于周期任务,由于OSEK OS规范规定系统内任务在系统投入运行前必须配置完成,因此可以假设系统内周期任务的开始截止时间等实时性要求可通过合理的预先优化来保证。

2.3 事件处理

轻量级任务管理机制通过事件处理机制来实现扩展任务的等待状态如图1所示。下面以资源竞争为例,说明事件处理机制的实现原理。

资源竞争通过等待资源和释放资源两类事件来实现,涉及的存储结构包括:

全局变量IDLE_ST,该变量某位为1表示对应资源空闲,否则表示被占用;

资源等待变量WAIT_ST,该变量某位为1表示相关资源被某任务所等待,某位为0则表示对应项资源未被任何任务等待;

等待任务数组waitTskTbl,该数组为一结构数组,其中每个单元包含一个等待资源的任务相关信息,每单元的结构元素如表4所示。

当waitTskTbl中的任务获得资源从等待态转移至准备态时,将该单元的有效标记置为0,则该单元可继续写入,由此便可降低移除数组中等待任务的开销。资源事件处理流程如图4所示。

如图4所示,在任务申请资源时需要判断空闲资源是否足够,若不够则等待;当任务执行完毕后需要判断资源释放后空闲资源是否满足等待任务的运行条件,若满足,则软件触发资源分配中断,根据优先级高低分配资源。

在改进的任务管理机制中可以采用两种方式预防死锁的发生:由于系统内所有任务在系统运行前配置。因此,可在配置任务时规划人物申请资源的顺序以规避环路等待条件,这种方式的优点在于无额外的系统开销;也可采用任务请求资源时一次性分配的方法以规避等待和保持条件。

3 分析与实验

3.1 调度过程分析

以表3中分组为例,系统内任务调度流程如下:

(1)当系统启动时,所有任务均处于准备态。

(2)当主程序首先调度初始化组0~1组,每个任务依次启动,运行完毕后进入阻塞态。由于初始化任务只激活一次,因此该组任务不会被重复激活;由于该组任务调度函数在主程序中挂载,因此可以被其他任务组抢占,被抢占的任务极其后等待运行的任务重新进入准备态。

(3)当定时中断触发时,周期任务组3任务被调度,任务经历状态与初始化组相同。当距上次激活时间T>Tcycle时,任务重新被激活,进入准备态。

(4)当外部中断源X触发中断时,由于外部中断优先级比定时中断高,对应任务组X抢占处理机,被抢占的周期任务及其后的任务回到准备态。任务组X的第一个任务进入运行态,该任务组按图1进行组内任务调度,每任务正常执行流程为:准备态→运行态→阻塞态,通常任务组X不会设置使能标志,因此可重复激活运行。

(5)当更高优先级的外部中断源Y触发中断时,引发中断嵌套,此时任务组X被任务组Y抢占,X当前任务及之后的任务进入准备态,Y的首任务进入运行态。

(6)当Y的某个任务Yt等待资源M时,Yt等待M的资源释放事件进入等待态,其他Y组任务继续进行组内调度。

(7)若Ys运行完毕释放资源M时,资源释放事件调用资源分配中断,如图4所示,该中断优先级较高,造成中断嵌套,Ys被抢占进入准备态,Yt进入运行态。

3.2 性能分析与实验

以300任务的系统为例,任务存储空间本身占用3.5 k B任务表空间,如表2所示;假设所有任务均处于等待状态,则事件机制最多占用4 k B,如表4所示。总占用内存空间<10 k B,因此其存储空间占用情况完全可满足大多数车载ECU的配置需求。

另一方面,任务调度过程只有当发生资源竞争时才需利用任务自身优先级来选择分配资源,如图4所示。在其他情况下,由于除初始化任务组外所有任务组均直接通过中断实现任务调度。因此任务调度延迟等价于相应中断延迟。而高优先级任务的实时性通过同样高优先级中断的中断嵌套来保证。

下面通过仿真比较实验来验证上述观点。实验硬件平台为我所自研的车载仿真平台。软件方面以μC/OS II为基础OS实现轻量级任务管理机制,参与比较的两种任务调度机制是源于μC/OS II的xOSEK[8]和原始的μC/OS II[9]。其时间性能的比较主要通过10 000次任务切换时间的平均值来体现,比较结果如表5所示。

通过实验结果可以看出,在内存开销和任务切换方面,轻量级任务管理机制较其他两种OS来说约有15%~20%的改进,但并未达到预期的性能。这是由于在轻量级任务管理机制中同优先级的任务采用的是一种改进的先来先服务算法,因此对于同组任务的切换反应迟钝。若针对OSEK预先配置任务的特点对任务集进行预优化,结果应该会有所改善。

4 结束语

本文介绍了一种基于OSEK规范的任务管理机制。该机制针对车载任务的特殊性优化了任务信息的存储结构,并为之设计了一种轻量级的任务调度机制和事件机制。分析与实验结果证明,该机制与传统的OSEK任务管理机制相比,在一定程度上降低了内存消耗和任务调度延迟,同时还能在不增加硬件成本的情况下,应用于现有的车载ECU中,因此具有一定的现实意义。下一步的工作重点是对任务创建机制的优化进行研究,以改善其同组任务响应等方面的不足。

摘要:根据OSEK/VDX车载操作系统规范,设计了一种车载任务管理机制,以适应现有车载电控单元硬件资源有限的问题。该机制优化了车载任务管理机制的信息存储结构,重新设计了基于中断的分组任务调度机制和事件处理机制。并通过性能分析及与其他车载任务管理机制的比较分析,证明了该机制能在车载应用领域以较低的内存开销,提高了车载任务调度管理效率。此外,该机制还能在不增加硬件成本的前提下,应用于现有的车载电控单元,故具有一定的实用价值。

关键词:汽车电子,任务管理,电子控制单元,嵌入式软件

参考文献

[1]OSEK OS/ISO WG.OSEK/VDX operating system specification 2.2.3[S].Mbtech:Spohr,2005.

[2]Aotusar Group.Autosar operating system specification[EB/OL].(2008-09-11)[2014-08-01]http://www.autosar.org.

[3]樊士一,周学海,陈香兰.基于μC/OS-II的车载操作系统设计[J].计算机应用与软件,2011,28(7):255-258.

[4]蒋建春,臧丽斌,冯辉宗.基于OSEK/VDX规范的实时操作系统移植研究[J].计算机测量与控制,2012,20(7):205-208.

[5]罗晓敏,涂时亮,唐志强,等.基于OSEK/VDX的RTOS设计与实现[J].计算机工程,2012,38(6):247-249,252.

[6]陈海兰,罗晓敏,涂时亮,等.基于AUTOSAR的实时操作系统设计与实现[J].计算机工程,2012,38(20):9-12,16.

[7]胡琦,李红,赵民德,等.基于AUTOSAR的电控汽油机ECU软件设计与实现[J].浙江大学学报,2011,45(6):1119-1123.

[8]王瑞,张东.基于OSEK/VDX标准的操作系统设计与实现[J].航空计算技术,2011,41(2):67-71.

OSEK规范 篇2

(1.安全关键工业测控技术教育部工程研究中心,合肥 230009;2.合肥工业大学 机械与汽车工程学院,合肥230009)

FlexRay是继CAN和LIN之后的最新研发的汽车总线,将会在未来数年内,引领整个汽车电子产品控制结构的发展方向[1]。目前,FlexRay联盟推进了FlexRay的标准化,使之成为了新一代汽车内部网络通讯协议,FlexRay总线具有传输速率高、硬实时、安全性和灵活性等特点。但FlexRay协议只规定了物理层协议和数据链路层协议,没有制定网络管理方面的标准。随着FlexRay总线在汽车电控领域中越来越广泛的应用,对适用于FlexRay总线的网络管理策略的研究也变得愈加重要。

对于车载网络管理而言,OSEK/VDX NM是通用的、公认的标准,因此各厂家在制定网络管理规范时,应尽量遵循这个标准[2]。目前,国内外相关研究单位已经对OSEK/VDX NM规范的研究作了大量的工作。在国外,法国的电子工程学院、CEA、卡内基梅隆大学以及美国著名的嵌入式系统厂商WindRiver公司、Metroworks公司等都对OSEK标准进行了深入的研究[3-5]。在国内,清华大学、哈尔滨工业大学和同济大学等高校均开展了对OSEK规范的学习与研究[6-9]。分析当前各大研究机构的研究成果可以知道,对OSEK网络管理的研究主要是针对CAN网络的,对于Flexray总线的网络管理的研究几乎处于初级阶段,只有个别研究单位进行了零星的研究,如在文献[10]中提出了基于OSEK的FlexRay总线网络管理协议单元的定义,文献[11]介绍了AutoSAR规范中FlexRay总线网络管理的方法。本文分析了FlexRay总线协议和OSEK/VDX网络管理的特点,提出了在FlexRay通信周期动态段中实现OSEK网络管理的方案,并在自行设计的实验平台上进行了实验,验证了本方案的可行性。

1 FlexRay协议及OSEK直接网络管理

1.1 FlexRay通信协议

FlexRay总线是一种高速串行通信网络,具有高带宽、支持双通道、可灵活配置多种网络拓扑结等特点。FlexRay的一个通信周期分为静态段、动态段、标识窗和网络空闲时间,其中,静态段和动态段用来传输总线数据,即FlexRay报文。FlexRay的静态段采用的TDMA方式,静态段被划分为若干个时间宽度相等的静态时隙(Static Slot),每个时隙被分配给某个特定节点,在该时隙内,此节点唯一占有总线控制权,向总线发送数据,即使该节点此时没有数据需要向总线上发送,它所占用的时隙也不会被其它节点所占用。静态时隙的时间宽度以及节点访问总线的顺序在系统配置时被确定,系统运行中是固定的。与静态段不同,动态段采用的是可伸缩时分多路(FTDMA)方式,节点访问总线的顺序是按优先级确定的,但时隙长度是动态调整的,当节点没有数据需要向总线发送时,经过一个微时隙(Minislot)后,总线控制权立即交给下级节点。FlexRay总线的静态段是时间触发方式,动态段本质上是事件触发方式。时间触发方式具有确定性,但实时性较差,而事件触发方式的实时性较好,但确定性差。

1.2 OSEK直接网络管理

OSEK网络管理可以监控网络中各节点的状态,并使网络中的节点能够协商进入睡眠状态。OSEK网络管理提供两种可供选择的实现机制:直接网络管理和间接网络管理。直接网络管理是使用逻辑环并通过主动广播专门的网络管理消息来实现的。在直接网络管理中,节点进行复杂的状态转换,并组成逻辑环;通过在逻辑环中发送网络管理消息来主动监控和报告网络中其他节点的状态,使得每个节点都能在一定的时间内获得整个网络的状态消息。

对于直接网络管理,首先是要建立逻辑环。逻辑环的通信独立于网络的物理结构,每个节点都具有一个自己的逻辑后继节点。当逻辑环稳定后,每个节点依次用网络管理信息报告自己的当前网络状态信息,并接收其他节点的网络管理信息,从而监控它们的状态。OSEK网络管理把直接网络管理信息定义为网络管理协议数据单元 (Network Management Protocol Data Unit,NMPDU)。 NMPDU 的格式见表 1。

表1 NMPDU的格式

表1中,地址域包含源节点地址和目标节点地址。控制域包含消息类型的信息,即Ring消息(正常工作的逻辑环消息)、Alive消息 (Alive消息用于表明加入了新节点)和LimpHome消息(功能异常的节点将周期性地传输LimpHome消息)。数据域是可选的,可根据具体情况自行定义。

2 FlexRay总线网络管理的研究

2.1 NMPDU到FlexRay动态段数据帧的映射

通过研究OSEK网络管理规范和FlexRay通信周期中静态段和动态段的特点,可知OSEK网络管理虽然没有指定具体的总线类型,但是其特性决定了其只适合于事件触发方式的总线协议,如CAN总线。FlexRay通信周期动态段也是基于事件触发方式,这与CAN总线类似。因此,可以将OSEK网络管理消息放置在FlexRay通信周期动态段中发送。

OSEK网络管理规范采用网络管理协议数据单元(NMPDU)来表示一个节点的网络管理信息。网络管理消息要通过FlexRay总线进行传输,需要将其映射成FlexRay总线的数据帧格式。在FlexRay通信周期动态段数据帧中将有效数据部分的头两个字节设置成消息标识(Message ID),作为NMPDU的源节点标识符,用于表明接收的消息来自哪个节点;将有效数据的第3和第4个字节作为NMPDU的目的节点标识符,用于确定本消息的接收节点;第5个字节作为NMPDU的操作码,包含了直接网络管理的三类消息,即Ring消息、Alive消息和LimpHome消息;第6到11个字节作为NMPDU的可选数据部分,映射格式如表2所示。

表2 NMPDU到FlexRay动态段数据帧的映射

2.2 网络管理消息在动态段延迟时间分析

与CAN总线不同,由于FlexRay总线动态段特殊的通信机理,动态帧消息不能实时发送。因此,在动态段中发送的网络管理消息会出现延迟的情况,从而造成网络管理系统误判当前网络状态和节点状态。网络管理消息在最坏情况下延迟时 间 Tdelay[12]为:

式中:Tt为发送网络管理消息所需要的时间,可用式(2)表示:

式中:FrameSize为报文长度;BusSleep为总线速率。

Te表示在给定时间内,由于静态段内的消息和更高优先级动态段消息的发送所消耗的时间,可用式(3)表示:

式中:TCycle为一个通信周期的时间长度;DelayCycles(t)为由于出现更高优先级和由于网络管理消息使用更低帧标识而导致网络管理消息无法发送的周期数;Te′为某消息发送的周期内,从该周期开始到该消息被发送之间的时间长度。

Tc表示网络管理消息在属于它的微时隙之后产生,从而引起在这个周期内的时间延迟,可以用式(4)来表示[13]:

式中:TST为静态段传输时间;FrameID为帧ID的值;gdMinislot为微时隙的时间。

2.3 网络管理过程分析

直接网络管理是通过在逻辑环上网络管理消息的传递来实现对整个网络和节点的监控,因此,逻辑环的可靠运行是直接网络管理的重要内容。下面就通过分析逻辑环的建立、逻辑环的稳定运行、节点增加和节点离线及网络故障处理来说明FlexRay的OSEK网络管理的过程,并研究逻辑环运行过程中网络管理消息可能出现的最坏情况下的延迟时间Tdelay问题。

2.3.1逻辑环的建立

FlexRay网络中各节点启动网络管理服务时,首先发送Alive消息成功的节点将成为逻辑环中的第一个节点。如果多个节点同时发送Alive消息时,在动态段中每个时刻,都是通过节点消息的优先级来竞争总线的,即通过每个节点发送消息的Frame ID值,并且只有当消息的Frame ID值与动态时慒相等时,才允许发送Alive消息,成为第一个发送的节点。收到第一个发送节点发送的Alive消息后,其他节点按相同的方式继续竞争发送自己的Alive消息,最后按消息的Message ID的大小顺序形成逻辑环。

2.3.2 逻辑环的稳定运行

Ring消息是网络管理的主要消息,它采用令牌环机制在逻辑环中被依次传递,在逻辑环中,各节点按Message ID的大小依次连接,Message ID值小的节点是Message ID大的节点的逻辑前驱节点,最大Message ID的节点的逻辑后继节点是最小Message ID的节点。

当FlexRay网络中某节点接收到Ring消息后,此节点会判断Ring消息的NMPDU中的目的节点地址,如果Ring消息的目的地址不是此节点,则取消TTyp定时器,启动TMax定时器(如果定时器TMax没有运行则启动,如果定时器TMax正在运行则重启);如果Ring消息的目的地址是此节点,则取消TMax定时器,启动TTyp定时器(如果定时器TTyp没有运行则启动,如果定时器TTyp正在运行则重启),TTyp定时器到时后,发送Ring消息到自己的后继节点,其实现过程如图2所示。

在图1中,节点在t2时刻向其后继节点发送Ring消息,由于存在最坏情况下的延迟时间Tdelay可能出现在TMax定时器到时(t3时刻)时,Ring消息还未发送出去,这就造成网络上其他节点误认为A节点已经掉线,从而将节点A从逻辑环中排除掉,造成网络管理系统无法正常工作。

所以,必须保证t2到t3时间段的长度大于最坏情况下的延迟时间Tdelay,即:

2.3.3节点增加

如果FlexRay网络中有新的节点加入,那么该节点将向网络中发送一条将其后继节点设置为自身地址的Alive消息。逻辑环中已有的节点在接收到Alive消息后,认为有新节点加入网络并判断新节点是否为自己逻辑后继节点。之后新节点将监听网络中的Ring消息,当接收到Ring消息时,便将自己的后继节点更新为Ring消息的源节点地址。此时,网络中其他的节点将会判断自己是否被跳过,如果某节点发现自己被跳过,将向网络中发送一条Alive消息表明自己还在网络中。新节点收到Alive消息后,便将自己的后继节点更新为Alive消息的源节点地址,此时,新节点便加入逻辑环中。

2.3.4节点离线及网络故障处理

OSEK网络管理规范提供了检测节点离线的机制,如果TMax定时器到时,表明在此期间逻辑环中没有消息,一定有节点离线,此时,网络管理系统将重新建立逻辑环并将离线节点排除在外。如果某节点的网络管理消息传输失败,则启动TTx计数器并增加计数器TTx的值。如果计数器TTx值超过一定的次数,则该节点将进人LimpHome状态,表明该节点存在故障。当节点因故障进人LimpHome状态后,由其TError定时器控制周期性地发送LimpHome消息,表示自己处于网络故障状态。

在OSEK网络管理系统中,定时器TError的值一般远大于TMax和TTyp定时器的值,也满足式(5)。因此,LimpHome消息能成功发送,而不受最坏响应时间Tdelay的影响。

3 实验方案验证

本方案使用自行设计的三个FlexRay节点构建逻辑环,各节点采用Freescale公司生产的MC9S12XF512单片机作为中央控制单元,TJA1080T作为FlexRay节点的收发器并将Vector公司开发的Davinci软件接入网络来观察逻辑环运行过程[14]。限于篇幅,只给出了逻辑环建立过程的实验结果,如表3所示。

从表3实验结果可知,节点1首先发送Alive消息,之后,节点2也发送Alive消息。节点1根据更新的网络配置发送Ring消息到它的逻辑后继节点2,TTyp定时器到时后,节点2也更新自己的网络配置,并发送Ring消息到它的逻辑后继节点1。节点4启动网络管理,并向网络中发送Alive消息。节点1仍会按当前网络配置将Ring消息发送给节点2,而节点2则会把Ring消息发送给节点4。节点4会根据网络上当前最小的节点地址,将Ring消息发送给节点1。由此可以看出,这个实验结果实现了逻辑环建立的功能。

表3 方案实验结果

4 结束语

车载网络管理的主要作用是保障车载网络通信的安全性与可靠性,并能协调网络中的各节点同步进入睡眠状态。OSEK网络管理可以很好的保障FlexRay网络在高带宽和高灵活性的情况下,可靠安全地进行网络通信。通过分析OSEK网络管理规范和FlexRay总线协议,提出在FlexRay通信周期动态段中实现OSEK网络管理,并定义了网络管理数据协议单元 (NMPDU),分析和研究了FlexRay的OSEK网络管理的具体过程以及网络管理消息在动态段延迟时间问题。本文为国内研究OSEK网络管理的FlexRay网络实现提供了一个初步方案,为进一步研究FlexRay总线的网络管理做些铺垫。

[1]FlexRay Consortium.FlexRay Communications System Protocol Specification [S].December 2005.Version 2.1 Revision A.

[2]OSEK/VDX Group.OSEK/VDX Network Management Concept and Application Programming Interface [S].2008.Version 2.5.3.

[3]B.Frank,L.George.FP/FIFO Feasibility Conditionswith Kernel Overheads for Periodic Tasks on an Event Driven OSEK System [J].The IEEE International Conference on Industtrial,2006,7:1-8.

[4]F.Laqarde,A.Radermacher,S.Robert,S.Gerard,D.Servat.Issues in mapping CORBA component model to OSEK [J].Communication of the ACM,2005,8:434-437.

[5]P.H.Feiler.Real-Time Application Development with OSEK A Review of the OSEK Standards[J].CMU/SEI,2003,5:7-46.

[6]栾鑫颖,孙晓民.车用嵌入式开发系统的软构件研究[J].计算机应用研究,2006,4:57-59.

[7]张宝民,孙晓民.基于OSEK规范的嵌入式实时操作系统研究[J].计算机应用研究,2004,4:32-35.

[8]梁金祥,吴翔虎.OSEK/VDX嵌入式操作系统的设计与实现[J].2007,7:38-41.

[9]袁铭蔚,孙泽昌.陈觉晓.一种嵌入式实时操作系统[J].测控技术,2003,22:45-47.

[10]陈觉晓,袁昊昀.基于OSEK NM的Flexray网络管理协议数据定义[J].机电一体化,2009,1:70-72.

[11]袁昊昀,陈觉晓.车载FlexRay网络管理策略的初步研究[J].单片机与嵌入式应用,2008,(5):20-21.

[12]KLAUS S,ECE G S.Message scheduling for the FlexRay protocol:the static segment[J].IEEE Trans Actions on Vehicular Technology,2009,58(5):2170-2179.

[13]ECE G S.Message scheduling for the FlexRay protocol:dynamic segment [J].IEEE Trans on Vehicular Technology,2009,58( 5):2160-2169.

上一篇:节能量估算下一篇:高中教学科学素养