编辑推荐: |
原文来自embedded,由火龙果软件王玉翻译,文章讲解了FIBEX和AUTOSAR,深入研究了FIBEX工具链向AUTOSAR的迁移和通过添加AUTOSAR功能扩展FIBEX-Editor的工作等相关内容。 |
|
FIBEX(现场总线交换格式)是一种XML格式,用于描述复杂的,面向消息的通信系统。AUTOSAR(汽车开放系统架构)是一个旨在为汽车软件架构建立一个开放标准的协会。这两个标准基于相同的原则,详细研究了它们的共同点和不同点,以及如何将当前的FIBEX工具链应用于AUTOSAR。这些调查是对Eberspaecher
Electronics公司的各种产品上进行的。
FIBEX
FIBEX标准(参见图1,FIBEX版本3.0)描述了一种支持多协议的格式,用于在面向消息的通信系统(例如车载网络)中交换数据。FIBEX格式可用于导出车载网络数据库,以及在车辆网络开发期间导入不同类型的工具。目前,它支持FlexRay,CAN,MOST和LIN网络协议。从完整集群的设计到其在比特级别上的定义,可以使用FIBEX格式来定义与车辆网络的描述相关的所有信息。
图1:FIBEX 3.0版。
FIBEX是一个免费的跨公司标准,它是通过XML模式文件定义的,因此可以被验证。所以,不符合XML格式的文件很容易被检测到。由于自动化与测量系统标准化协会(ASAM)定义的标准,从一开始就保证不同工具之间的转换和数据交换是统一的,从而大大简化了过去普遍存在的不兼容问题。
FIBEX文件(FIBEX3.0.0)分为几个区域。拓扑包含关于各自的集群和电子控制单元(ECU)的信息,以及ECU如何通过信道互连的信息。所有全局FlexRay参数都存储在集群中。此外,网关元素可用于确定不同总线系统之间的路由行为。这提供了定义帧、PDU和信号的映射行为的能力。通信对象,如帧和PDU,以及它们的定时行为在通信区域中定义。在FIBEX中,PDU存储为交互层协议数据单元。信号在PDU中分组。从协议的角度来看,FIBEX下的帧是数据链路层协议数据单元。在帧中指定一个或多个具有附加信息(例如更新位)的PDU。通信对象的定时行为在用于绝对调度的定时、事件控制的定时、循环定时和请求控制的定时参数中描述。FlexRay使用绝对预定的定时,除其他外,用来描述发送给定通信对象的时隙和周期。进一步的领域是功能和信号。
在协调数据对象下,存储物理单元和信号编码。对于信号或信号组,编码定义传输类型,例如位长、偏移量和缩放因子。这指定了将原始数据转换为物理值(即可显示值)的方式。对PDU、功能、信号组和其他需求的需求可以在需求区域中描述。网络管理和传输层信息可以在更高的协议下定义。
AUTOSAR
AUTOSAR的理念是“在标准上的合作”的竞争。在实施AUTOSAR时考虑到的思想是:系统功能的标准化、可扩展性、功能的可重定位性、来自不同制造商的软件的集成和可交换性、整个产品生命周期的可维护性。
图2:AUTOSAR软件架构。
在AUTOSAR中,应用程序由AUTOSAR软件组件(SW-C)组成。应用被划分为彼此通信的SW-CS。另参见图2AUTOSAR软件架构。在AUTOSAR下,通信被映射到非常抽象的水平。这是由术语"虚拟功能总线"(VFB)总结的。
SW-CS通过所谓的端口进行通信,而不知道信号路径。在随后的开发阶段,将SW-CS分配给控制单元(ECU)。AUTOSAR运行时环境(RTE)在相应ECU上实现VFB。RTE提供了一个总线系统无关的接口,并将这些命令传递给该ECU的"基本软件"。然后,基本软件直接访问硬件。
AUTOSAR定义了一系列创建可执行ECU组件的步骤(参见图3软件创建)。XML是作为交换格式使用的。这些XML文件基于从AUTOSAR
UML模型派生的模式文件。模式文件大致可分为四个部分:用于定义单个软件组件的软件组件模板;用于描述基本软件组件的所有信息的基本软件模块描述模板;用于定义ECU的体系结构和接口的ECU配置模板。系统模板用于定义整个系统。除其他外,系统模板存储有关总线系统、信号、映射和拓扑的信息。这个模板与FIBEX标准有很多共同之处。从FIBEX3.0开始,甚至PDU的概念也被AUTOSAR取代,以实现这两个标准之间的进一步协调。
图3:软件创建。
从FIBEX到AUTOSAR
根据Eberspaecher Electronics在FIBEX多年的经验,已经开展了可行性研究,以研究FIBEX工具链向AUTOSAR的迁移。这些可行性研究的起点是从FIBEX到AUTOSAR的转换器。对于这个FIBEX
to AUTOSAR转换器,首先考虑的是FIBEX 3.0和AUTOSAR系统模板之间的差异。FIBEX和AUTOSAR之间的差异将在下面更详细地讨论。
架构文件的结构存在显著差异。在AUTOSAR中,所有总线系统的所有信息都存储在一个架构文件中。这个名为autosar.xsd的文件包括关于FlexRay、CAN或LIN群集的结构的信息。在FIex中,有多个模式文件。如果使用一个FIBEX文件描述不同的总线系统,则必须使用一个名为fibex.xsd.的中央架构文件,必须使用架构文件fibex4multiplatform.xsd。在该文件中,除了中央架构文件之外,还可以通过导入指令集成用于CAN、LIN、FlexRay、ByteFlight、TTCAN和大多数的附加架构文件。
在信号的表示中可以发现一个不同之处。与FIBEX相比,AUTOSAR具有一个标准信号,可区分I信号和系统信号。系统信号与FIBEX信号具有很大的相似性。系统信号包括有关信号长度和信号编码的信息。在I信号中,然后参考系统信号。与FIBEX类似,其中信号分组为PDU,AUTOSAR中的I信号分组为信号I-PDU。
除了信号的差异之外,还有不同的XML结构。在FIBEX中,元素的XML结构的根区域是固定的。从ELEMENTS开始,可以按特定顺序输入CLUSTER,CHANNELS,ECUS等元素。在AUTOSAR中,结构以根元素TOP-LEVEL-PACKAGES开始。在此元素下,可以输入任意数量的AR-PACKAGE元素。AR-PACKAGE由ELEMENTS或SUB-PACKAGES元素组成。与在FIBEX中一样,可以在ELEMENTS下输入集群,ECU等元素。在SUB-PACKAGES下,可以输入任意数量的AR-PACKAGE元素。在AUTOSAR中,通常为每个元素类型创建一个AR包。
图4:Fibex(顶部)和Autosar XML
另一个区别是文件中元素之间的链接。在FIBEX下,链接是通过属性ID和ID-REF进行的。另请参见图4
FIBEX和AUTOSAR XML。每个主要FIBEX元素都分配有唯一的ID。然后可以从其他元素引用此ID。在AUTOSAR下,则没有ID。相反,有UUID,但这些不用于链接。引用的是相应元素的短名称,XML结构中的路径以短名称为前缀。甚至可以通过路径链接到外部文件。
从FIBEX转换为AUTOSAR时,必须记住,具有相同名称的元素以不同的单位表示。这应该被考虑在内,特别是在FlexRay参数的情况下。在AUTOSAR中以秒为单位定义的许多FlexRay参数在FIBEX中以微秒为单位定义。在参数CYCLE,MAX-INITIALISATION-ERROR和OFFSET-CORRECTION-MAX等的情况下应该注意这一点。
将工具链扩展到AUTOSAR
许多工具的基础是导入,因此下一个需要调查的是Eberspaecher
Electronics FIBEX 导入 DLL的扩展以包括AUTOSAR。对于两个标准来说,读取的底层技术是相同的,可以证明唯一的工作就是调整数据结构。
接下来,将Eberspaecher Electronics FIBEX
Viewer扩展到AUTOSAR所需的工作进行了研究。FIBEX Viewer是一个以FIBEXXML格式(FIBEX版本1.1.5、1.2.0、2.0.1、3.0.0和FIBEX)图形化表示和可视化车载网络数据库的程序。这里的重点是FlexRay,CAN和LIN领域。可以从www.eberspaecher.com/electronics下载免费版本(FIBEX产品)。调查的主题是显示来自AUTOSAR系统模板的信息。FIBEX
3.0和AUTOSAR之间的协调已处于高级阶段,因此可以毫不费力地实现信息的初步显示,因为PDU概念已在FIBEX
3.0中实现,而FIBEX Viewer支持Fibex 3.0。因此,整合AUTOSAR的修改工作是适度的。
图5:FIBEX编辑器。
然后研究了通过添加AUTOSAR功能扩展FIBEX-Editor的工作(见图5FIBEX编辑器)。FIBEX编辑器是FIexXML文件的可视化处理计划。它支持与fibex查看器相同的fibex版本。使用FIBEX编辑器,其直观的操作概念,可以为FlexRay、CAN和LIN创建和处理FIBEX文件。在这里,也发现可以轻松地实现对AUTOSAR系统模板的自适应。
图6:FlexConfig。
Eberspaecher Electronics设计和配置程序FlexConfig选择了一种不同的方法。FlexConfig(参见图6
FlexConfig)是一种价格低廉,功能强大,用户友好的汽车网络程序。在助手的帮助下,可以快速轻松地创建新网络。现有网络显示清晰,易修改。由于众多的导出选项,几乎任何硬件平台都可以配置网络数据。对于FlexConfig,AUTOSAR文件首先会转换为FIBEX
3.0文件。转换由外部转换器处理。然后可以将FIBEX文件导入到FlexConfig中。此过程意味着FlexConfig不必适应AUTOSAR,就允许使用现有工具的外部转换器。目前正在实施这种方法。
总结
FIBEX是汽车环境中面向消息的通信系统中数据传输的准标准。FIBEX是所有总线系统的格式,便于不同工具之间的数据传输。有了AUTOSAR,在车辆软件架构的“从设计到代码生成”的所有开发阶段可以依赖一个标准。其优势包括功能标准化,有利的可扩展性以及整个产品生命周期的可维护性。在
AUTOS AR 中,FIBEX 通过系统模板以非常相似的方式映射。如果您只想描述面向消息的通信,您可以将自己局限于FIBEX。这种格式已经使用多年,并且得到了大量工具的支持。
基于Eberspaecher Electronics在FIBEX和XML方面多年的经验,对AUTOSAR的硬件和软件解决方案的自适应是可行且有意义的。对于XML,两种标准的基础技术是相同的。从FIBEX
3.0版开始,XML结构在很多方面都非常相似。但是,有可能在许多领域中落后于现有的程序结构。因此,从FIex到AUTOSAR的迁移可由EberspaeceElectronics协助,并将几个Eberspaece电子产品扩展到包括AUTOSAR。 |