基于autosar的电控单元通信数据格式的自动生成方法

文档序号:6425834阅读:477来源:国知局
专利名称:基于autosar的电控单元通信数据格式的自动生成方法
技术领域
本发明涉及智能汽车领域,具体涉及一种基于AUT0SAR的软件开发技术。
背景技术
AUTOSAR(Automotive Open System Architecture)是汽车电子开放系统架构,系统配置(System Configuration)是AUTOSAR方法论中定义的重要环节,主要规定了系统中硬件拓扑、网络通信和系统映射等配置信息。系统映射规定了当前系统中所使用的软件组件到电控单元的映射关系,实现了软硬件的解耦。其中,软件组件的模型包括软件组件类型、端口、接口、连接器等信息,软件组件类型从个体可拆分性角度分为复合组件(Composition SWC)、原子组件(Atomic SffC)两种类型,复合组件可以包含多个软件组件实例,每个组件实例分别引用其他复合组件类型或原子组件类型,原子组件是最小的不可再分的组件。端口包括ftxwided Port (用于提供数据和服务)与Required Port (用于接收数据和服务);接口用于指明通信时传输的数据和服务。AUTOSAR使用UML profile定义了系统映射的模型结构,同时规定了基于XML的结构完整的系统配置信息描述方式,为计算机自动处理对应信息提供了基础。网络通信规定了系统中电控单元间通信的信息交换格式,对系统配置具有重要意义。依据AUTOSAR的网络通信分层模型,其主要元素包括应用层网络信号(SystemSignal)、 交互层信号(ISignal),交互层通信数据单元(IPdu),数据链路层帧(Frame)等,需要交换的数据依次经过以上不同层次中的数据格式封装以完成有效收发。AUTOSAR网络通信模型分为应用层、交互层、数据链路层。一个数据链路层帧 (Frame)中的有效载荷区可以包含一个或多个交互层协议数据单元(IPdu),对于常见的 CAN网络或LIN网络,Frame中只能包含一个IPdu。每个IPdu中可能包含一个或多个交互层信号(ISignal),每个ISignal只能引用一个应用层系统信号(SystemSignal)或应用层系统信号组(SystemSignalGroup)。AUTOSAR网络映射模型中可以指定SystemSignal或 SystemSignalGroup与软件组件接口中数据元素的映射关系。传统的AUTOSAR开发过程中实现数据元素与通信数据格式的映射是人工根据软件组件描述来完成的,该建立过程依赖工程人员个人经验和倾向,实现过程复杂多样、困难复杂,创建和调试耗时冗长。特别当系统规模逐渐增长时,由于AUTOSAR配置信息使用XML 描述,不具备良好的可阅读型,人工建立网络信号和数据映射关系难以做到全面准确。而由于AUTOSAR标准得到了业界的有力支持,各种软件产品的数量和规模都处在快速增长的阶段,亟需有效的通信管理和创建方式。

发明内容
本发明要解决的技术问题是提供一种开发流程简单、系统设计复杂度低、通信数据格式结构清晰紧凑、应用范围广、开发效率高的基于AUTOSAR的电控单元通信数据格式的自动生成方法。
为了解决上述技术问题,本发明采用的技术方案为一种基于AUT0SAR的电控单元通信数据格式的自动生成方法,其实施步骤如下1)根据AUT0SAR的系统配置解析并生成硬件拓扑和软件组件的模型对象,获取软件组件到电控单元的映射关系以及软件组件的通信接口信息;2)根据软件组件到电控单元的映射关系、软件组件的通信接口信息获取每一个电控单元用于数据通信的所有数据元素;3)根据数据元素的数据类型和位宽生成与该数据元素对应不同通信协议层的通信数据格式;4)将所有电控单元的数据元素与通信数据格式之间的映射关系存储到AUT0SAR 的系统映射中。作为本发明技术方案的进一步改进所述步骤幻获取电控单元的所有数据元素之前,首先根据系统配置获取顶层软件组件和原子软件组件,按照软件组件的包含关系将所有软件组件按照根节点为顶层软件组件、叶节点为原子软件组件的树结构方式展开;然后从叶到根的方式遍历树结构的软件组件,如果当前软件组件为复合组件且通过引用另一复合组件的实例,则首先在当前软件组件中建立其所引用另一复合组件的实例拷贝,然后删除对另一复合组件的引用关系。所述步骤幻中获取电控单元用于数据通信的数据元素时,首先获取电控单元与软件组件的映射关系,如果存在通信关系的软件组件被映射到不同的电控单元中,则将该通信关系中用到的通信数据作为电控单元间的通信数据。所述步骤幻中生对应不同通信协议层的通信数据格式时,首先判断数据元素的数据类型,如果数据类型为基本类型,则生成一个与数据元素位宽相等的应用层网络信号, 如果数据类型为复合类型,则根据该复合类型中的每一个子类型生成一个与数据元素位宽相等的应用层网络信号,并建立一个包含所述应用层网络信号的应用层网络信号组;根据应用层网络信号或者应用层网络信号组创建交互层信号,根据所述交互层信号建立一个长度与所述应用层网络信号或者应用层网络信号组相等的交互层协议数据单元;最后根据交互层协议数据单元创建一个长度相同的数据链路层帧。本发明具有下述优点1、本发明支持自动创建AUT0SAR的各个电控单元数据元素与通信数据格式之间的映射关系,改进了 AUT0SAR的开发方法,大幅简化了系统设计的开发流程,降低了系统设计的复杂度。2、本发明针对AUT0SAR标准,所生成的信号格式针对汽车电子领域的特点,通信数据格式结构清晰紧凑,能够比较好的契合业务需求,可以广泛用于各种系统配置集成开发环境。3、本发明生成的网络信号直接根据电控单元间的数据交换需求,其长度和映射方式保证了网络信号的正确性,提高了系统配置的开发效率。


图1为本发明实施例的流程示意图。 图2为本发明实施例更新软件组件到电控单元的映射关系的流程示意图。
图3为本发明实施例获取通信数据格式以及映射关系的流程示意图。
具体实施例方式如图1所示,本发明实施例基于AUT0SAR的电控单元通信数据格式的自动生成方法的实施步骤如下1)根据AUT0SAR的系统配置解析并生成硬件拓扑和软件组件的模型对象,获取软件组件到电控单元的映射关系以及软件组件的通信接口信息;2)根据软件组件到电控单元的映射关系、软件组件的通信接口信息获取每一个电控单元用于数据通信的所有数据元素;3)根据数据元素的数据类型和位宽生成与该数据元素对应不同通信协议层的通信数据格式;4)将所有电控单元的数据元素与通信数据格式之间的映射关系存储到AUT0SAR 的系统映射中。本实施例中AUT0SAR的系统配置基于标准XML文件的。数据元素对应不同通信协议层的通信数据格式具体包括数据链路层帧(Frame)、交互层协议数据单元(IPdu)、交互层信号(ISignal)和应用层系统信号(System Signal)等。通过自动生成并存储到 AUT0SAR的系统映射中的电控单元的数据元素与通信数据格式之间的映射关系,实现了基于AUT0SAR的电控单元通信数据格式的自动生成。当需要调用电控单元的通信数据格式时,查询AUT0SAR的系统映射即可得到。如图2所示,步骤幻获取电控单元的所有数据元素之前还包括采用组件层次展平算法将软件组件转化为单层结构来更新软件组件到电控单元的映射关系的步骤首先根据系统配置获取顶层软件组件和原子软件组件,按照软件组件的包含关系将所有软件组件按照根节点为顶层软件组件、叶节点为原子软件组件的树结构方式展开;然后从叶到根的方式遍历树结构的软件组件,如果当前软件组件为复合组件且通过引用另一复合组件的实例,则首先在当前软件组件中建立其所引用另一复合组件的实例拷贝,然后删除对另一复合组件的引用关系。例如软件组件包括复合组件A和复合组件B,复合组件B包含原子组件 C的实例,其中复合组件A引用复合组件B的实例,则操作步骤如下首先遍历到复合组件A 时,发现复合组件A符合“当前软件组件为复合组件且通过引用另一复合组件的实例”的规则,然后首先在复合组件A中建立原子组件C的拷贝,然后在复合组件A中删除复合组件B 的实例,从而实现将复合组件B里面的原子组件C的实例来取代复合组件B的实例,其实质上是对复合组件A进行展开,删除其中顶层节点外的其他复合组件实例。通过采用组件层次展平算法将软件组件转化为单层结构来更新软件组件到电控单元的映射关系,可以得到更加准确的软件组件模型,并有效去掉复合组件中的相互引用关系,获得扁平的软件组件模型,从而得到软件组件到电控单元的映射关系更加精确。步骤2)中获取电控单元用于数据通信的数据元素时,首先获取电控单元与软件组件的映射关系,如果存在通信关系的软件组件被映射到不同的电控单元中,则将该通信关系中用到的通信数据作为电控单元间的通信数据。通过电控单元-软件组件-电控单元的映射关系来获取不同电控单元之间的数据元素,简单可行,而且非常准确。如图3所示,步骤幻中生对应不同通信协议层的通信数据格式时,
1)判断数据元素的数据类型如果数据类型为基本类型,则生成一个与数据元素位宽相等的应用层网络信号 (System Signal)。如果数据类型为复合类型,则根据该复合类型中的每一个子类型生成一个与数据元素位宽相等的应用层网络信号(System Signal),并建立一个包含所述应用层网络信号的应用层网络信号组(System Signal Group)。2)根据应用层网络信号(System Signal)或者应用层网络信号组(System Signal Group)创建交互层信号(I Signal),根据交互层信号(I Signal)建立一个长度与所述应用层网络信号(System Signal)或者应用层网络信号(System Signal Group)组相等的交互层协议数据单元(IPdu);最后根据交互层协议数据单元(IPdu)创建一个长度相同的数据链路层帧(Frame)。本实施例通过对AUT0SAR系统配置中硬件拓扑、系统映射的信息进行分析,提取其中软件组件到电控单元的映射关系,并使用组件层次展平算法获得组件对外通信端口, 从而计算出每个电控单元收发的数据元素格式。根据数据元素的数据类型和位宽,自动生成对应不同通信协议层次的数据链路层帧,交互层协议数据单元,交互层信号,应用层系统信号等通信内容,同时在系统映射中建立信号与数据元素的映射关系。本实施例利用了 AUT0SAR标准中网络通信用于完成电控单元间的数据通信,而其通信内容可以通过对系统配置中其他部分的配置结果分析得出,从而可以自动生成网络相关配置。以上所述仅为本发明的优选实施方式,本发明的保护范围并不仅限于上述实施方式,凡是属于本发明原理的技术方案均属于本发明的保护范围。对于本领域的技术人员而言,在不脱离本发明的原理的前提下进行的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
权利要求
1.一种基于AUT0SAR的电控单元通信数据格式的自动生成方法,其特征在于其实施步骤如下1)根据AUT0SAR的系统配置解析并生成硬件拓扑和软件组件的模型对象,获取软件组件到电控单元的映射关系以及软件组件的通信接口信息;2)根据软件组件到电控单元的映射关系、软件组件的通信接口信息获取每一个电控单元用于数据通信的所有数据元素;3)根据数据元素的数据类型和位宽生成与该数据元素对应不同通信协议层的通信数据格式;4)将所有电控单元的数据元素与通信数据格式之间的映射关系存储到AUT0SAR的系统映射中。
2.根据权利要求1所述的基于AUT0SAR的电控单元通信数据格式的自动生成方法,其特征在于所述步骤幻获取电控单元的所有数据元素之前,首先根据系统配置获取顶层软件组件和原子软件组件,按照软件组件的包含关系将所有软件组件按照根节点为顶层软件组件、叶节点为原子软件组件的树结构方式展开;然后从叶到根的方式遍历树结构的软件组件,如果当前软件组件为复合组件且通过引用另一复合组件的实例,则首先在当前软件组件中建立其所引用另一复合组件的实例拷贝,然后删除对另一复合组件的引用关系。
3.根据权利要求2所述的基于AUT0SAR的电控单元通信数据格式的自动生成方法,其特征在于所述步骤幻中获取电控单元用于数据通信的数据元素时,首先获取电控单元与软件组件的映射关系,如果存在通信关系的软件组件被映射到不同的电控单元中,则将该通信关系中用到的通信数据作为电控单元间的通信数据。
4.根据权利要求1或2或3所述的基于AUT0SAR的电控单元通信数据格式的自动生成方法,其特征在于所述步骤幻中生对应不同通信协议层的通信数据格式时,首先判断数据元素的数据类型,如果数据类型为基本类型,则生成一个与数据元素位宽相等的应用层网络信号,如果数据类型为复合类型,则根据该复合类型中的每一个子类型生成一个与数据元素位宽相等的应用层网络信号,并建立一个包含所述应用层网络信号的应用层网络信号组;根据应用层网络信号或者应用层网络信号组创建交互层信号,根据所述交互层信号建立一个长度与所述应用层网络信号或者应用层网络信号组相等的交互层协议数据单元; 最后根据交互层协议数据单元创建一个长度相同的数据链路层帧。
全文摘要
本发明公开了一种基于AUTOSAR的电控单元通信数据格式的自动生成方法,其实施步骤如下1)根据AUTOSAR的系统配置解析并生成硬件拓扑和软件组件的模型对象,获取软件组件到电控单元的映射关系以及软件组件的通信接口信息;2)根据软件组件到电控单元的映射关系、软件组件的通信接口信息获取每一个电控单元用于数据通信的所有数据元素;3)根据数据元素的数据类型和位宽生成与该数据元素对应不同通信协议层的通信数据格式;4)将所有电控单元的数据元素与通信数据格式之间的映射关系存储到AUTOSAR的系统映射中。本发明具有开发流程简单、系统设计复杂度低、通信数据格式结构清晰紧凑、应用范围广、开发效率高的优点。
文档编号G06F9/44GK102231107SQ20111015335
公开日2011年11月2日 申请日期2011年6月9日 优先权日2011年6月9日
发明者李红, 杨国青, 杨玉皓, 耿莉莉, 钟晓峰 申请人:浙江大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1