一些汽车制造商拥有专有的中间件,这有利于集成ECU和由第三方供应商开发的软件模块。例如,TITUS/DBKOM通信堆是戴姆勒的专有中间件,它根据一个客户端/服务器模型,使组件间的合作标准化。Volcano[48-50]是最初与沃尔沃合作开发的Mentor Graphics公司的商业产品。Volcano目标程序包(VTP)包括一个通信层和对于分布在CAN和/或LIN上的应用程序的一套离线配置工具。它旨在提供信号映射到网络带宽优化下的帧内,并确保由调度分析技术得到的一个具备可预见性和可确定性的实时通信系统[31,48]。据我们所知,还没有TITUS和Volcano的公开的、有效的、专门的精确描述存在。
OSEK/VDX联盟(针对汽车电子的开放式系统及其接口,见http://osek-vdx.org)的目标是为车载控制单元建立一个标准的架构。在这些研究成果中,本章对两种规格特别感兴趣:OSEK/VDX通信层[51]和容错通信层[52]。OSEK/VDX联盟(http://osek-vdx.org)指定一个通信层[51],该通信层定义了通用软件接口和应用组件之间的内外部通信的共同行为。在应用层,这些组件交换在OSEK/VDX术语中称为“消息”的信号,而通信的OSEK/VDX实体交换所谓的收集信息的交互层PDUs(I-PDUs)。每一个消息的用户可以指定它排队或不排队(即一个新的值将覆盖旧的)并且将其和滤波机制关联。而通过发送一个包含或不包含的消息,可以将I-PDU发射到网络规定为触发。在后一种情况下,I-PDU的发射与发送消息是非同步的。信息如何打包成1帧是离线静态定义的,并且OSEK/VDX的通信层在运行时自动实现包装/拆包。I-PDU特性和消息是通过OSEK/VDX实施语言来规定的[53]。
OSEK/VDX通信在主要负责I-PDU分割的传输层顶部[54]运行,并且它可以在与OSEK/VDX OS(操作系统)服务兼容的任何OS上运行完成任务、事件和中断管理[55]。这里值得提出一些问题。尤其是,内部到一个ECU或者两个远距离ECU应用过程之间的通信没有完全遵守一样的规则(详见文献[56]);因此,设计者必须考虑具有可移植性障碍的功能的分配。最后一点,OSEK/VDX通信不按照TT方式,并且没有设想如TTP/C或FlexRay一样,被用在TT网络的顶层。这些网络实现一些在OSEK/VDX通信中被指定的功能,例如I-PDU发送的TT,而另一些功能则由不与TT范例兼容的中间件提供,例如I-PDU只要包含消息,应用程序就直接发送I-PDU的传输。然而,在FlexRay或TTP/C的顶部仍需要更高水平的服务来促进容错应用程序的开发。OSEK/VDX FTCom(容错通信)[52]是一项旨在完成针对TT分布式体系结构的OSEK/VDX的提议。其主要功能之一是通过根据设计者指定的协议策略,提供唯一一个数据副本给接收器应用程序来管理数据冗余,其中这些数据被用来实现容错(即相同的信息可以通过一套复制的节点产生)。另外两个也由OSEK通信提供的FTCom重要服务是:①如果网络带宽必须优化(4.4.1节),管理所需的信息的封包/拆包[38];②为只传递“显著”数据给应用程序而提供信息过滤机制。OSEK/VDX FTCom曾被开发用在TT操作系统(OS)的顶部运行,例如OSEK时间[57]。在这个操作系统中,任务的时序安排被指定在一个离线产生的、被称为调度表的时间表中。OSEK/VDX FTCom允许操作系统将在调度表中定义的任务调度的开始时间同步到I-PDU调度表(即TDMA循环)的特定时间点上。当这一点被连接在同一网络上的所有ECU共享时,该项服务可以用于同步远距离应用程序。(www.daowen.com)
在2000年到2004年期间,进行了一个旨在规范汽车行业内的汽车中间件的欧洲合作项目(ITEA EAST-EEA项目,见http://www.east-eea.net)。据我们所知,ITEA EAST-EEA项目是第一个重要的主动瞄准规范中间件及中间件架构本身在组件及组件结构方面确保的服务。类似的目标引导了在AUTOSAR联盟中完成的工作,见第2章和文献[58,59],该联盟聚集了汽车行业中大多数的关键参与者。由联盟产生的规范迅速成为合作开发的车载嵌入式系统(例如,见迁移到标志-雪铁龙上的AUTOSAR[60])的实际标准。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。