汽车电子软件网络化开发设计
2016-03-14冷艳香
◆刘 莹 冷艳香
(长春市产品质量监督检验院 吉林 130012)
汽车电子软件网络化开发设计
◆刘 莹 冷艳香
(长春市产品质量监督检验院 吉林 130012)
随着经济社会的发展,汽车在人们的日常生活中起到了非常重要的作用,汽车中以分布式嵌入式实时系统为主要形态的汽车电子控制系统在整车价值中所占的比例越来越高,汽车电子信息技术已经成为衡量一个国家汽车工业水平的重要标志。软件是汽车电子控制系统的核心,因汽车电子软件的复杂性日益攀升,且汽车本身在成本上非常敏感,所以实时、成本控制等问题变得日益严峻。任务的周期和总线的访问配置是系统实时性、ECU内CPU利用率等的关键影响因素。基于神经网络平台开发的目的就是为了简化基于OSEK操作系统应用的开发,提高软件代码的质量,其具备配置和功能信息的统一、配置信息的早期检测、自动化构建等的优势。
汽车电子;控制系统;神经网络
0 引言
随着经济社会的发展,汽车在人们的日常生活中起到了非常重要的作用,人们对汽车的要求也越来越高。嵌入式计算、通信技术、人工智能等信息技术在汽车中的广泛应用,为汽车制造技术带来了深刻的变革。
汽车中以分布式嵌入式实时系统为主要形态的汽车电子控制系统在整车价值中所占的比例越来越高,汽车电子信息技术已经成为衡量一个国家汽车工业水平的重要标志。软件是汽车电子控制系统的核心,因汽车电子软件的复杂性日益攀升,且汽车本身在成本上非常敏感,所以实时、成本控制等问题变得日益严峻。
1 基于神经网络平台的汽车电子软件设计
1.1 基于平台的软件设计方法介绍
随着电子工业的垂直化分解,激烈的市场竞争在上市时间、设计和制造成本等方面给电子工业造成了巨大压力。加上在集成电路实现的掩模过程中非连续性工程(Non-recurring Engineering,NRE)成本增加等原因,产生自个人电脑设计领域的基于平台的软件设计方法[1-2]在汽车电子、航空航天电子和工业控制电子等电子工业的设计中得到了引入和长足发展。PBD遵循如下两条重要的设计原则:
具体来说,PBD中的平台是指组件库以及库中组件的组合规则。设计在每个抽象层次上都是一个平台实例,即一系列组件元素的有效组合。组件库中包括完成特定计算任务的计算组件和完成功能组件间互联的通信组件。库中每个元素都有着各自的性能参数,并在所支持的功能方面都有着各自的特点。
1.2 基于神经网络平台的汽车电子软件设计
汽车电子软件系统的定义开始于一系列系统特征的规约说明,这些规约说明是对系统所提供功能的高层描述。功能模型正是对上述特征进行分解所得到的一组层次化的组件模块。物理体系结构模型是对汽车网络拓扑结构的描述,包括通信总线、ECU单元和对各种资源的管理策略等。
1.3 映射
功能模型中定义的组件模块包括多个任务、消息及相关的属性,组件到物理体系结构的映射是基于平台软件设计中的关键问题。任务和消息到相应体系结构模型的映射,以及资源管理策略的选择使得上述映射在功能和非功能限制方面都能得到验证。
功能模型到物理体系结构模型的映射过程包括:任务到EC节点的分配、信号变量到虚拟通信对象(消息)的分配等。任务的周期、优先级等作为任务的重要属性,可以依照特定的算法进行分配或优化。通过上述的任务和消息分配,功能模块中的实体将与相关的事件执行信息建立联系,如WCET、WCRT等。
2 模型总体架构与设计
其它的模型建模工具,将任务、消息、资源等作为工具本身提供的一种建模资源使得模型基于这些资源之上而构建,而Simulink更注重功能建模,如逻辑控制算法等。从这个角度看,Simulink与其它的建模工具之间对模型的抽象处在完全不同的级别。因此,对于支持Simulink的代码生成器而言,必须将Simulink的模型概念恰当的映射到实时操作系统提供的服务[3]。另外,为了支持OSEK操作系统的建模还需要自己实现任务、消息、资源等模型,从而为建模提供基本的模型库。
本文选择了第二种方式建模,即一种代码建模的方式,来表示接口的内容。在模型建模的深入讨论中阐述了放弃第一种建模的原因。
3 DeltaOSEK嵌入式目标的实现
目标偏好类实现:
目标偏好类提供了一种手段,使得RTW ECoder可以接受外界定制的变量,而嵌入式目标文件的主要功能即将这些变量读取到TLC环境中。这些变量通常定义在目标偏好类中,通常包括嵌入式集成开发环境的路径,编译器信息等。由于在文件中读取这些变量信息非常简单,因此,这里主要介绍目标偏好类中定义的变量值,这些值为代码生成后的处理提供了方便。
4 平台的集成和测试
4.1 平台的集成
通过在LambdaTOOL中开发相应的插件,可以将simulink的模型编辑功能集成到LamdbaTOOL环境中去。支持Simulink组件的插件命名为Com.Coretek.Tools.Ide.Operate matlab,它提供了展现Simulink视图,操作Matlab引擎和模型操作等功能,分别实现打开/关闭Matlab引擎,打开/关闭/保存mdl文件,打开simulink窗口等功能,以为其它类的实现提供支持。这些接口的真正实现在本地的operate.dll文件中,主要利用了Matlab引擎中开放的接口,以及MFC技术来完成Simulink窗口的截取等。
4.2 平台的功能测试
集成后的平台融合了模型建模,代码自动生成,自动编译构建等功能,根据平台中信息处理的先后顺序,将功能测试分为模型配置功能测试、DeltaOSEK目标功能测试、模型和代码的一致性测试和自动构建功能测试四部分。
5 结论
本平台开发的目的就是为了简化基于OSEK操作系统应用的开发,提高软件代码的质量,其具备配置和功能信息的统一、配置信息的早期检测、自动化构建等的优势。虽然为了实现该平台做了大量的工作,但是,该平台的功能还可以增强,主要包括:
(1)驱动模块的引进;
(2)代码规范检测工具的引进;
(3)自动下载功能的实现。
通过引入以上的功能,该平台对嵌入式软件开发的支持将更加完善,生成的代码亦可以更加健壮。
[1]谢勇.汽车电子软件设计中周期分配和总线访问配置算法研究[D],2010.
[2]龙宇.现代汽车电子技术的应用现状及发展趋势.机械管理开发,2009.
[3]凌纯清,徐成,李仁发等.基于Ptolemy的嵌入式计算系统级建模与仿真.系统仿真学报,2004.