基于AUTOSAR标准的VFB仿真工具_第1页
基于AUTOSAR标准的VFB仿真工具_第2页
基于AUTOSAR标准的VFB仿真工具_第3页
基于AUTOSAR标准的VFB仿真工具_第4页
基于AUTOSAR标准的VFB仿真工具_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

浙江大学硕士学位论文删减版 基于 AUTOSAR 标准的 VFB 仿真工具 (删减版) 浙江大学浙江大学 ESE 工程中心工程中心 王超王超 support 密级: 硕 士 学 位 论 文 论文题目基于 AUTOSAR 标准的 VFB 仿真工具 作者姓名 王超 指导教师 姚敏 教授 赵民德 副教授 学科(专业) 计算机应用技术 所在学院 计算机科学与技术 提交日期 2011 年 3 月 A Dissertation Submitted to Zhejiang University for the Degree of Master of Engineering TITLE: VFB Simulator Based on AUTOSAR Standard Author: Chao Wang Supervisor: Prof. Min Yao Prof. Minde Zhao Subject: Computer Application Technology College: Computer Science and Technology Submitted Date: Mar. 2011 浙江大学硕士学位论文 摘要 i 摘要摘要 在汽车工业的带动下,汽车电子行业蓬勃发展,汽车电子软件的规模逐渐增 大,复杂程度也不断提高。业界为了规范汽车电子系统的开发,推出了 AUTOSAR 开放系统架构,基于 AUTOSAR 标准进行汽车电子软件开发正成为汽车电子行业新 的发展趋势。 基于 AUTOSAR 标准开发的软件组件具有标准的 AUTOSAR 接口,开发者设计组 件时不必关心其运行环境,设计好之后的组件可以和其他符合 AUTOSAR 标准的组 件集成使用,这大大方便了软件组件的设计。然而,组件的测试和验证却并不简 单,只能在整个 AUTOSAR 软件系统开发完成之后联合硬件环境一起进行,这无疑 延长了软件开发周期,浪费了资源。为了实现在开发的早期阶段即能方便地在 PC 上对用户设计的软件组件进行验证,发现软件组件中的设计错误,本文基于 AUTOSAR 标准中“虚拟功能总路线”(Virtual Functional Bus)的概念开发了 VFB 仿真工具。 本文采用模块化的描述方法,详细介绍了组成 VFB 仿真工具的三大模块:模 拟进程模块,监控进程模块和仿真报告生成模块。首先,在模拟进程模块,本文 仿照实际的 AUTOSAR 开发流程,对其进行虚拟化,提出了模拟进程模块的开发流 程,从而使软件组件模型可以在 PC 上面仿真运行;其次,在监控进程模块,本 文设计和实现了监控进程,方便了用户观察仿真结果并对模拟进程进行控制;然 后,在仿真报告生成模块,介绍了保存模型信息和模型仿真结果来生成仿真报告 的方法;最后,本文设计了一个车灯控制系统,并使用 VFB 仿真工具对进行仿真 验证。 关键词关键词: AUTOSAR,VFB 仿真,组件测试,报告生成 浙江大学硕士学位论文 Abstract ii Abstract Led by the automotive industry, automotive electronic develops vigorously and the scale and complexity of automotive software increase rapidly. To regulate the development of automotive electronic systems, AUTOSAR standard is introduced and soon becomes a new trend in automotive industry. The software components developed based on AUTOSAR standard have standard AUTOSAR interfaces, such they can integrate with other components with standard AUTOSAR interfaces, and their running environment can be ignored at design stage. However, the test and validation of components are still not simple. It should be carried out with hardware at the end of the developing process, which is a waste of resource and time. In order to find the design errors of components at an early stage of development on PC, this paper developed a VFB simulator based on the concept of “Virtual Functional Bus” in AUTOSAR standard. In a modularized way, this paper describes the three main modules of VFB simulator: simulation process module, monitor process module and report generation module. Firstly, in the simulation process module, this paper emulated the actual AUTOSAR development flow, virtualized it and proposed the development process of simulation process module VFB simulator, enabling software component models run on PC. Secondly, in the monitor process module, this paper designed and implemented the monitor process, facilitating users to observe simulating results and control simulating schedule. Then, in the report generation module, the method that records model information and simulation results to generate simulating reports was introduced. Finally, this paper designed a car light control system and used the VFB simulator to validate it. Keywords: AUTOSAR, VFB Simulator, Component Test, Report Generation 浙江大学硕士学位论文 目录 I 目录目录 摘要摘要 .i Abstract ii 第第 1 1 章章 绪论绪论 1 1.1 课题背景 1 1.1.1 汽车电子发展 1 1.1.2 AUTOSAR 标准及其开发流程概述 2 1.1.3 VFB 仿真工具 . 3 1.2 国内外研究现状 4 1.2.1 Vector Davinci Component Tester . 4 1.2.2 dSPACE SystemDesk 5 1.2.3 Geensoft AUTOSAR Builder 6 1.3 主要内容和贡献 7 1.4 本文结构 8 1.5 本章小结 8 第第 2 2 章章 研究基础研究基础 9 2.1 领域基础 9 2.1.1 AUTOSAR 体系架构 9 2.1.2 AUTOSAR 开发方法 10 2.1.3 VFB . 11 2.2 技术基础 13 2.2.1 SmartSAR 平台 . 13 2.2.2 仿真技术 13 2.2.3 ARTOP 平台 14 2.2.4 代码生成 16 2.2.5 文档生成 16 2.2.6 进程间通信 17 2.2.7 线程同步 18 2.2.8 SWING 图形界面开发和 JFreeChart . 19 浙江大学硕士学位论文 目录 II 2.3 本章小结 20 第第 3 3 章章 VFBVFB 仿真工具架构仿真工具架构 . 21 3.1 AUTOSAR VFB 仿真流程分析 . 错误!未定义书签。错误!未定义书签。 3.2 总体设计 错误!未定义书签。错误!未定义书签。 3.2.1 模拟进程 错误!未定义书签。错误!未定义书签。 3.2.2 监控进程及其与模拟进程的通信 错误!未定义书签。错误!未定义书签。 3.2.3 仿真报告生成 错误!未定义书签。错误!未定义书签。 3.3 本章小结 错误!未定义书签。错误!未定义书签。 第第 4 4 章章 模拟进程模拟进程 22 4.1 仿真线程模块 错误!未定义书签。错误!未定义书签。 4.1.1 组件设计工具 错误!未定义书签。错误!未定义书签。 4.1.2 配置文件自动生成工具 错误!未定义书签。错误!未定义书签。 4.1.3 RTE VFB Tracing 错误!未定义书签。错误!未定义书签。 4.1.4 虚拟基础服务实现 错误!未定义书签。错误!未定义书签。 4.2 信息接收模块和变量表 错误!未定义书签。错误!未定义书签。 4.3 信息反馈模块和缓冲池 错误!未定义书签。错误!未定义书签。 4.4 本章小节 错误!未定义书签。错误!未定义书签。 第第 5 5 章章 监控进程及其与模拟进程的通信监控进程及其与模拟进程的通信 23 5.1 监控进程 错误!未定义书签。错误!未定义书签。 5.1.1 用户界面模块 错误!未定义书签。错误!未定义书签。 5.1.2 控制信息发送模块 错误!未定义书签。错误!未定义书签。 5.1.3 仿真结果接收模块 错误!未定义书签。错误!未定义书签。 5.2 监控进程与模拟进程间的通信 错误!错误!未定义书签。未定义书签。 5.2.1 连接建立过程 错误!未定义书签。错误!未定义书签。 5.2.2 通信协议设计 错误!未定义书签。错误!未定义书签。 5.3 本章小节 错误!未定义书签。错误!未定义书签。 第第 6 6 章章 仿真报告生成仿真报告生成 24 6.1 组件模型解析 错误!未定义书签。错误!未定义书签。 6.2 仿真结果解析 错误!未定义书签。错误!未定义书签。 6.3 Word 操作封装和信息格式化 错误!未定义书签。错误!未定义书签。 6.4 本章小结 错误!未定义书签。错误!未定义书签。 浙江大学硕士学位论文 目录 III 第第 7 7 章章 VFBVFB 仿真工具的应用仿真工具的应用 . 25 7.1 应用案例 25 7.2 仿真过程 27 7.3 本章小结 29 第第 8 8 章章 工作总结与展望工作总结与展望 30 8.1 总结 30 8.2 展望 30 参考文献参考文献 31 攻读硕士学位期间主要的研究成果攻读硕士学位期间主要的研究成果 35 致谢致谢 36 浙江大学硕士学位论文 图目录 IV 图目录图目录 图 1.1 AUTOSAR 软件开发流程8 3 图 1.2 DaVinci 组件测试工具功能示意图11 . 5 图 1.3 SystemDesk 系统仿真 . 6 图 1.4 AUTOSAR Builder 工具集13 . 6 图 2.1 AUTOSAR 系统架构图8 9 图 2.2 AUTOSAR 软件系统开发流程图7 10 图 2.3 AUTOSAR 开发过程总体示意图15 12 图 2.4 AUTOSAR 软件开发工具链 . 13 图 2.5 ARTOP 架构图20 15 图 3.1 AUTOSAR VFB 仿真工具主要流程 错误!未定义书签。错误!未定义书签。 图 3.2 VFB 仿真工具总体设计 错误!未定义书签。错误!未定义书签。 图 3.3 组件在 PC 上的运行环境 错误!未定义书签。错误!未定义书签。 图 3.4 模拟进程模块图 . 错误!未定义书签。错误!未定义书签。 图 3.5 监控进程模块图 . 错误!未定义书签。错误!未定义书签。 图 3.6 进程间通信示意图 . 错误!未定义书签。错误!未定义书签。 图 3.7 通信报文格式 . 错误!未定义书签。错误!未定义书签。 图 3.8 仿真报告生成设计框架25 . 错误!未定义书签。错误!未定义书签。 图 4.1 模拟进程总体设计 . 22 图 4.2 模拟进程产生流程 . 错误!未定义书签。错误!未定义书签。 图 4.3 组件设计工具结构图38 . 错误!未定义书签。错误!未定义书签。 图 4.4 配置文件自动生成工具总体设计流程 . 错误!未定义书签。错误!未定义书签。 图 4.5 AUTOSAR ECU 参数类型的层次结构40 . 错误!未定义书签。错误!未定义书签。 图 4.6 信息存储模块数据结构 错误!未定义书签。错误!未定义书签。 图 4.7 组件描述文件解析器设计流程 . 错误!未定义书签。错误!未定义书签。 图 4.8 配置文件生成引擎概要流程 . 错误!未定义书签。错误!未定义书签。 图 4.9 OS 配置代码生成流程图 错误!未定义书签。错误!未定义书签。 图 4.10 扩展任务状态转换图 . 错误!未定义错误!未定义书签。书签。 图 4.11 任务堆栈初始结构 . 错误!未定义书签。错误!未定义书签。 图 4.12 任务切换时 x86 堆栈结构 . 错误!未定义书签。错误!未定义书签。 图 4.13 模拟中断示意图 错误!未定义书签。错误!未定义书签。 图 4.14 模拟中断处理程序 . 错误!未定义书签。错误!未定义书签。 图 4.15 信息接收模块流程图 . 错误!未定义书签。错误!未定义书签。 图 4.16 配置信息的数据结构 . 错误!未定义书签。错误!未定义书签。 图 4.17 缓冲区数据结构 . 错误!未定义书签。错误!未定义书签。 图 4.18 向缓冲区中加入消息的流程图 . 错误!未定义书签。错误!未定义书签。 浙江大学硕士学位论文 图目录 V 图 4.19 信息反馈线程的流程图 . 错误!未定义书签。错误!未定义书签。 图 5.1 监控进程总体设计 . 错误!未定义书签。错误!未定义书签。 图 5.2 仿真结果接收模块流程图 . 错误!未定义书签。错误!未定义书签。 图 5.3 连接建立过程流程图 . 错误!未定义书签。错误!未定义书签。 图 5.4 命令控制信息结构 . 错误!未定义书签。错误!未定义书签。 图 5.5 数据设置消息结构 . 错误!未定义书签。错误!未定义书签。 图 5.6 任务调度信息结构 . 错误!未定义书签。错误!未定义书签。 图 5.7 数据信息结构 . 错误!未定义书签。错误!未定义书签。 图 6.1 仿真报告生成模块总体设计 . 错误!未定义书签。错误!未定义书签。 图 6.2 组合组件生成信息结构设计 . 错误!未定义书签。错误!未定义书签。 图 6.3 Word 操作封装模块功能示意图. 错误!未定义书签。错误!未定义书签。 图 7.1 车灯控制系统模型 25 图 7.2 车灯控制处理流程图 . 26 图 7.3 车灯控制逻辑判断流程 . 27 图 7.4 仿真工具输入 . 27 图 7.5 组件验证通过 . 27 图 7.6 仿真结果 . 28 图 7.7 参数配置 . 28 图 7.8 动态修改端口数据 . 28 图 7.9 源模型信息生成结果 . 29 图 7.10 仿真结果信息生成结果 . 29 浙江大学硕士学位论文 表目录 VI 表目录表目录 表 2.1 Swing 常用组件及其功能 . 20 表 2.2 JFreeChart 常用模块功能介绍 20 表 4.1 参数定义类型和配置参数类型的对应关系40 . 错误!未定义书签。错误!未定义书签。 表 4.2 基础类封装模块结构和功能 . 错误!未定义书签。错误!未定义书签。 表 7.1 组件配置表 . 26 表 7.2 数据变化序列 . 28 浙江大学硕士学位论文 第 1 章 绪论 1 第第1 1章章 绪论绪论 1.11.1 课题背景课题背景 近年来,中国汽车行业发展势头十分迅猛,汽车产销量稳步增加,于 2009 年首次超越美国成为全球第一大汽车产销国。延续 09 年的发展态势,2010 年全 国汽车累计销量达 1806.19 万辆,同比增长 32.37%,继续稳坐全球汽车销量榜榜 首1。 1.1.11.1.1 汽车电子发展汽车电子发展 中国汽车产业的蓬勃发展带动了汽车电子行业的快速崛起。据统计,2009 年 我国汽车电子产品市场规模大约为483亿元, 2010年这一数字预计为2000亿元, 到 2012 年有望突破 3000 亿元2。而且,由于中国国民经济持续快速增长,未来 消费者对汽车的需求量必然会不断增长,充分保证了汽车电子下游应用市场的稳 定。 虽然我国的汽车电子市场规模巨大,但是国内企业所占的市场份额却不大。 我国的汽车电子市场主要被跨国公司垄断,特别是在汽车电子基础软件方面,国 外的发展已经相当成熟,有专门的软件公司提供从实时操作系统、通信、诊断、 启动控制以及标定等整套基础软件解决方案,并被欧美许多整车生产厂商广泛使 用。而我国的汽车电子基础软件产业的发展才刚开始起步,还没有形成自己的行 业标准,更没有企业参与国际相关标准的制定。由于缺乏自己的基础软件平台, 国产电子零部件必须遵循国外标准并通过其安全论证,否则难以接入整车环境, 这导致了我国掌握核心技术困难和汽车电子产品无法国产化,严重制约了我国汽 车电子产业的发展。 在这种情况下,绕开被国外厂商垄断的 OSEK 系统3,采用一个新的汽车电 子标准来开发汽车电子基础软件平台,可以大大提高我国汽车电子产品开发能力, 实现我国汽车电子发展的“弯道超车”4。这种情况下,AUTOSAR 标准5出现 浙江大学硕士学位论文 第 1 章 绪论 2 在了我们的视野之中。 1.1.21.1.2 AUTOSAR 标准及其开发流程标准及其开发流程概述概述 2003 年,全球汽车制造商、部件供应商及其他电子、半导体和软件系统公司 联合成立了 AUTOSAR(AUTomotive Open System ARchitecture)联盟5,旨在为 汽车工业提供一个开放的、 标准化的软件架构。 目前, AUTOSAR 有 BMW Groups (宝马) 、Ford(福特) 、BOSCH(博世) 、DAIMLER(戴姆勒)等 10 个核心成 员,总成员数已超过 150 个,国内有一汽、上汽、浙江大学等组织加入。 AUTOSAR 提倡“在标准上合作,在实现上竞争”的原则,其主要目的在于 降低开发过程和制造后修改过程中的汽车软件成本。AUTOSAR 是一个开放的系 统架构,可以使软件的功能从执行 ECU 中分离出来,这样,使用者就可以重用 或者更换电子控制单元软件和软件模块。如果采用此标准,将会有更多的软件供 应商进入汽车电子行业,汽车 OEM 在采购软件时可以有更多的选择。 自 AUTOSAR 成立以来, 许多汽车领域相关厂商或者组织都给予了积极的推 动。至 2009 年底,AUTOSAR 组织发布了 AUTOSAR 标准 4.0 版本。目前,宝马 集团的全新 BMW 7 量产车型已应用了 AUTOSAR 标准,而且 AUTOSAR 所有核 心成员都将陆续推出相关产品6。 AUTOSAR 还定义了一套标准的软件开发流程,用来规范从系统建模到可执 行代码的生成的整个开发流程,主要包括软件组件设计、系统配置、ECU 配置和 代码生成等步骤7,如图 1.1 所示。 浙江大学硕士学位论文 第 1 章 绪论 3 图 1.1 AUTOSAR 软件开发流程8 1.1.31.1.3 VFB 仿真仿真工具工具 为了实现 AUTOSAR 的目标,即实现应用程序和基础模块之间的分离, AUTOSAR 标准提出了虚拟功能总线(Virtual Functional Bus,简称 VFB)8这一 概念。 VFB 将 AUTOSAR 软件组件之间以及软件组件与基础软件服务之间的通信 进行了抽象,同时使用已经定义的标准接口。从 VFB 的视角来看,几个软件组件 是在同一个 ECU 内部通信还是分散在不同 ECU 之间进行通信并没有什么区别, 这种区别直到系统布局以及 ECU 具体环境最终确定之后才会显现。 可以说, VFB 概念和 AUTOSAR 标准接口的使用, 屏蔽了具体硬件环境对软 件组件设计的影响,使软件组件可以在抽象层次上进行通信,也使得我们可以在 独立的情况下开发软件组件。 然而, 虽然 VFB 使软件的设计与具体硬件环境相分离, 但是汽车电子软件的 测试与验证仍是汽车系统设计中的难点。传统方式下的汽车设计者需要借助各种 机械、液压、电子零部件来验证汽车电子软件各个子系统的功能,这种方式使开 发周期加长,成本升高9。在 AUTOSAR 框架下,如果我们能在 PC 上模拟出软 件组件的运行环境来对符合 AUTOSAR 标准的软件组件进行仿真验证, 无疑可以 节约大量的试验设备和试验时间10,这样的模拟工具就是本文中要实现的 VFB 仿真工具。 浙江大学硕士学位论文 第 1 章 绪论 4 1.21.2 国内外国内外研究研究现状现状 目前,国内还没有成熟的符合 AUTOSAR 标准的汽车电子基础软件平台。而 在国外, Vector11、 dSPACE12、 Geensoft13等公司已经提出了自己的 AUTOSAR 解决方案,提供从软件组件建模、系统配置、ECU 配置、RTE 代码生成到操作系 统, 通信模块等的一系列服务。 下面对各个公司的工具以及其与 VFB 仿真相关的 部分做一个简要的分析。 1.2.11.2.1 Vector Davinci Component Tester DaVinci11是 Vector 公司提供的 AUTOSAR 软件开发工具集,为开发人员提 供软件组件开发工具、配置工具和组件测试工具(Davinci Component Tester) 。 其中, Davinci Component Tester 可以仿真 AUTOSAR 软件架构中的运行时环 境(RTE)和基础软件(BSW)所提供的服务,执行软件组件代码。软件组件的 配置信息可通过符合 AUTOSAR 标准格式(.ARXML)的软件组件描述文件导入 到该测试系统中。Davinci Component Tester 与本文中所说的 VFB 仿真工具类似, 如图 1.2 所示,它主要提供以下功能: (1). 设置输入端口的数据元素 (2). 读取输出端口的数据元素 (3). 调用服务端口 (4). 执行有非阻塞 API 调用的 Runnable(类 ) (5). 执行有阻塞 API 访问的 Runnable(类 ) (6). 处理多个软件组件之间的通信 (7). 生成测试报告 该工具起到了测试软件组件的作用, 但是不支持动态显示 Runnable 的调度信 息,不能动态修改端口参数的值。 浙江大学硕士学位论文 第 1 章 绪论 5 图 1.2 DaVinci 组件测试工具功能示意图11 1.2.21.2.2 dSPACE SystemDesk SystemDesk12是 dSPACE 公司开发的汽车电子软件设计工具,可用于 AUTOSAR 开发流程的系统开发阶段和 ECU 开发阶段, 提供系统建模、 系统集成 和系统验证等功能。其中系统验证模块主要包括以下功能: (1). 在 VFB 层次上对单个软件组件和复杂软件架构进行离线模拟 (2). 对单 ECU 进行离线模拟 (3). 对多个 ECU 网络进行离线模拟 (4). 仿真基础软件模块 (5). 集成 Simulink 模型 该工具的仿真功能也是只关注数据变化信息,并不支持在仿真过程中动态修 改端口数据,也不能生成包含模型信息和仿真结果的仿真报告。 图 1.3 是使用 SystemDesk 进行系统仿真的示意图。 浙江大学硕士学位论文 第 1 章 绪论 6 图 1.3 SystemDesk 系统仿真 1.2.31.2.3 Geensoft AUTOSAR Builder AUTOSAR Builder13是一个可以进行系统和 ECU 设计的软件平台。它可以 导入基于模型的设计描述来产生符合 AUTOSAR 标准的 C 代码,以备植入 ECU 运行。它主要包含的工具如图 1.4 所示。 图 1.4 AUTOSAR Builder 工具集13 其中, ASIM(AUTOSAR Simulation)提供了在开发流程的早期阶段基于 PC 对 AUTOSAR 系统进行验证的功能,有利用提高产品质量,缩短开发时间和节省成 浙江大学硕士学位论文 第 1 章 绪论 7 本。其主要功能如下: VFB 层次的模拟 VFB 层次的模拟有以下三个特性: 独立于任何硬件约束和逻辑映射来验证软 件组件;关注应用组件的功能行为;三层抽象:接口定义、行为定义和实现。 ECU 层次的模拟 ECU 层次的模拟有以下两个特性: 做为硬件拓扑的一部分来验证特定的 ECU 实现;当软件组件请求标准基础软件服务时评估服务的效果。 网络层次的模拟 网络层次的模拟可以在包含网络数据的整个系统拓扑环境中验证多个软件 组件和 ECU。 1.31.3 主要内容和贡献主要内容和贡献 AUTOSAR 标准的开发流程包括软件组件设计、系统配置、ECU 配置、RTE 代码生成以及基础软件实现等几个主要模块。 本文在调研 AUTOSAR 标准及其开 发流程,了解国内外 VFB 仿真工具发展现状的基础上,详细叙述了基于 AUTOSAR 标准的 VFB 仿真工具的设计方案,实现了仿真工具开发的完整流程, 其主要研究内容概括如下。 (1). 实现配置文件自动生成工具 本文在调研 AUTOSAR 标准及其开发流程的基础上,结合 VFB 仿真工具的 实际需求,实现了配置文件自动生成工具,该工具读入软件组件描述文件后,无 需用户参与即可自动生成包含系统配置和 ECU 配置信息的配置文件。 (2). 在 PC 上实现基于 AUTOSAR 的基础软件服务 VFB 仿真工具的重要功能之一是使软件组件可以脱离硬件环境在 PC 上面直 接运行,本文在 x86 平台上实现了虚拟的符合 AUTOSAR 标准的 OS,从而为软 件组件的运行提供了最主要的基础软件服务。 (3). 仿真过程监控 为了增强仿真工具的用户友好性,设计了用户监控进程以控制模拟进程的运 浙江大学硕士学位论文 第 1 章 绪论 8 行,并动态显示仿真结果。 (4). 仿真报告生成 为了记录仿真结果,设计了仿真报告生成工具,可以把组件模型信息和仿真 结果信息以图形和文字的形式记录在 Word 文档中,方便后期检查。 VFB仿真工具是浙江大学汽车电子嵌入式实验室SmartSAR平台16的重要组 成部分,本文讲述了如何实现基于 AUTOSAR 标准的 VFB 仿真工具。 1.41.4 本文结构本文结构 第一章介绍了论文的课题背景,国内外研究现状和主要内容和贡献。 第二章介绍了 VFB 仿真工具的研究基础, 包括 AUTOSAR 标准、 VFB 概念、 SmartSAR 平台、仿真技术介绍、ARTOP 平台、代码生成、文档生成、进程间通 信、线程同步和 SWING 图形界面开发等技术基础。 第三章设计了 VFB 仿真工具的架构,包括 VFB 仿真流程分析、模拟进程、 监控进程,两个进程间通信以及仿真报告生成等模块设计。 第四章详细介绍了模拟进程模块的设计和实现。 第五章详细介绍了监控进程模块的实现及其与模拟进程间的通信方法。 第六章介绍了仿真报告生成模块的设计与实现。 第七章将 VFB 仿真工具应用到汽车电子软件系统的开发过程中, 介绍了应用 案例和应用结果。 第八章总结了本文的工作,展望了 VFB 仿真工具未来的发展方向。 1.51.5 本章小结本章小结 本章首先介绍了 VFB 工具开发的课题背景,包括汽车电子的发展,概括了 AUTOSAR 标准及其开发流程,引出了 VFB 仿真的概念。在分析国内外 VFB 仿 真工具的发展现状的基础上,介绍了本文的主要内容和贡献。最后,还介绍了本 文的组织结构。 浙江大学硕士学位论文 第 2 章 研究基础 9 第第2 2章章 研究基础研究基础 2.12.1 领域基础领域基础 本论文研究面向汽车电子领域的基于 AUTOSAR 标准的 VFB 仿真工具开发方法, AUTOSAR 标准的体系架构和开发流程是本文的重要基础。 2.1.12.1.1 AUTOSAR 体系架构体系架构 AUTOSAR 的主要目标是: 建立分层的系统架构,软硬件相互独立; 制定应用软件开发方法论,使应用软件可以整合至 ECU 中; 规范应用软件的接口,以便不同产品线上的应用软件可整合、复用。 为了实现这些目标,AUTOSAR 采用了基于软件组件开发这一主要设计理念, 很好地做到了应用程序与基础模块相分离,其整体架构如图 2.1 所示。 图 2.1 AUTOSAR 系统架构图8 图 2.1 中,最上层是应用层,中间是 RTE 层,下面都是基础服务层,接下来 介绍一下各层的功能。 浙江大学硕士学位论文 第 2 章 研究基础 10 应用层:应用层是进行系统应用软件开发的层次。在本层,开发者可以设计 各种功能不同的软件组件,每一个软件组件实现某种特定的功能,通过规范的接 口与外界功能单元相联系。 基础服务层:基础服务层是为应用软件提供基础服务的层次,包含操作系统 模块、系统服务模块、通信模块和 IO 模块,提供诸如操作系统、存储管理、ECU 网络通信、硬件驱动等服务。 RTE 层起粘合作用,负责软件组件之间以及软件组件与基础服务层之间的通 信。RTE 的存在把软件组件从对底层软件和硬件的依赖中独立了出来 14。 2.1.22.1.2 AUTOSAR 开发开发方法方法 AUTOSAR 标准规定了一套汽车电子软件系统开发的通用技术方法,称为 AUTOSAR 开发方法(Methodology) 7。该方法定义了 AUTOSAR 软件系统的开 发流程,如图 2.2 所示。 XML XML exe XML XML 系统 配置 输入 配置 系统 系统 配置 描述 抽取 ECU详 细信息 系统配 置的 ECU抽 取 配置 ECU ECU配 置描述 生成可 执行文 件 ECU可 执行文 件 图 2.2 AUTOSAR 软件系统开发流程图7 其流程共分以下 4 个步骤,各步骤间采用标准的信息交换格式交换信息,各 步骤介绍如下: (1). 系统配置 该阶段是系统设计阶段。需要先编写系统配置的输入文件,其输入文件是软 件组件描述文件(XML 格式) ,可手工编辑,但是为了提高开发效率,通常使用 软件组件开发工具生成。系统配置先定义 ECU 资源和系统约束,然后把软件组 件分配到 ECU,并进行总线信号映射。 浙江大学硕士学位论文 第 2 章 研究基础 11 (2). ECU 抽取 本阶段从系统配置描述中抽取单个 ECU 需要的所有信息,包括组件信息, ECU 信息,信号信息等,它们构成一个完整的系统。 (3). ECU 配置 ECU 配置主要进行与代码实现相关的配置, 包含基础服务模块的配置和 RTE 代码生成所需要的配置。 (4). 可执行代码生成 用户在 ECU 配置阶段的配置信息, 在本阶段最终会以代码的形式体现出来, 生成 OS 的配置代码、RTE 通信代码等粘和代码,最后可以与软件组件实现代码 和基础服务代码一起编译运行。 AUTOSAR软件开发者使用软件组件设计工具开发出符合AUTOSAR标准的 软件组件,软件组件包括两方面的内容:组件代码(.C, .H 文件)及组件接口和 内部行为的描述文件 (XML 文件) 。 软件组件描述文件作为上述开发流程的输入, 经过四个步骤的开发,最终生成可以在 ECU 上面运行的可执行文件。 综上所述,为了实现上述四个步骤,可能需要四个开发工具的支持:软件组 件设计工具,系统配置工具,ECU 配置工具和 RTE 代码生成工具。除了这四个 工具外,底层基础服务也是必须实现的模块,比如:符合 AUTOSAR 标准的 OS 和 COM 等等。 2.1.32.1.3 VFB VFB 是 AUTOSAR 提供的所有通信机制的总和。在 AUTOSAR 中,一个应 用被建模为一个组合组件,内部包括相互交互的组件。如图 2.3 所示,VFB 就是 允许这些组件交互的通信机制。在系统配置中,组件被映射到特定的系统资源, 即 ECU。同时,组件之间的虚拟连接也被映射到本地连接,如 CAN 或 FlexRay。 最后进行 ECU 个体的配置。RTE 是对单个 ECU 上 VFB 接口的实现。 浙江大学硕士学位论文 第 2 章 研究基础 12 图 2.3 AUTOSAR 开发过程总体示意图15 在图 2.3 的最上层, 也即 AUTOSAR 软件开发的最早期阶段软件组件开 发阶段,开发者以 VFB 的视角看待系统,每个组件可以实现简单的功能,也可以 实现非常复杂的功能。每个组件有已定义好的端口用来表示该组件与其他组件的 交互点,组件可以通过端口与其他组件进行交互。 每个端口都对应一个接口,接口定义了端口必须提供或者请求的内容。 AUTOSAR 支持三种类型的接口,client-server,sender-receiver 和 calibration。 每个端口要么是 PPort,要么是 RPort。PPort 提供接口中定义的元素,RPort 请求接口中定义的元素。每种端口根据接口类型的不同和是否提供服务表示为不 同的图标。 VFB 层次上的通信是指软件组件之间的通信,分为 Sender-Receiver 通信和 Client-Server 通信。Sender-Receiver 通信主要用来发送和接收数据,Client-Server 通信主要用来提供和使用服务。 VFB 仿真工具的主要功能就是在 PC 上实现组件之间的这两种通信关系,从 而验证组件设计者的设计意图是否正确实现。 浙江大学硕士学位论文 第 2 章 研究基础 13 2.22.2 技术基础技术基础 2.2.12.2.1 SmartSAR 平台平台 SmartSAR 软件平台是浙江大学嵌入式系统工程中心自主研制的汽车电子软 件开发运行平台,提供支持 AUTOSAR 软件开发的一整套工具链16。 图 2.4 是本实验室正在开发的 SmartSAR 软件平台包含的工具。其中,软件 组件工具用来设计软件组件模型,会生成软件组件的描述文件和实现代码;软件 组件描述文件导入系统配置工具中进行系统配置,配置结果再导入 ECU 配置工 具中进行 ECU 配置,随后产生了包含系统配置和 ECU 配置信息的描述文件,把 该文件导入 RTE 生成工具会生成供软件组件调用的通信和服务代码; 以上两部分 代码,加上基础服务部分的代码(主要有 OS 和 COM 等) ,经过编译、链接,可 以在 ECU 上面运行起来,从而实现了完整的 AUTOSAR 软件开发流程。 软件组件设计工具 系统配置工具 ECU配置工具 RTE生成工具 基础软件模块 OSCOM 图 2.4 AUTOSAR 软件开发工具链 2.2.22.2.2 仿真技术仿真技术 仿真是把一个系统转化为模型并用这个模型来做实验以分析系统的动态行 为10。嵌入式系统的运行会受到操作系统调度和中断的影响,这导致了系统的运 行有一定的随机性。而且,一个应用可能会有许多执行路径和状态,这些都需要 浙江大学硕士学位论文 第 2 章 研究基础 14 在系统设计的时候给予考虑。然而,由于真实环境中运行的系统控制流程比较复 杂,所以需要对系统在 PC 上进行仿真。仿真过程中,系统以最有可能的执行逻 辑运行,然后观察仿真结果,以此验证系统行为是否正确。当然,也可以在真实 的环境中运行嵌入式系统,来观察系统行为是否正确,但是这样做需要真实系统 环境的支持,而在系统开发设计的早期,真实系统环境往往还没有搭建起来,此 时仿真就显得尤其重要。在早期设计时,通过仿真验证系统设计可以便捷地修改 系统设计,从而保证系统设计的正确性。 目前,较复杂的产品开发一般包括三个阶段:模型,原型和最终产品。在不 同阶段,一般会用到不同的仿真方法。这些方法包括:MIL,SIL,HIL.17 (1). MIL 的目的是验证设计的理念, 优化设计, 验证下一阶段的需求 (原型) 。 它本质上是通过执行模型来验证系统,可以通过以下方式来进行:单向 仿真,带反馈的仿真,快速原型。典型产品如 Matlab Simulink 工具箱。 (2). SIL 跟 MIL 最大的不同是: SIL 通过执行从模型生成的代码来验证系统。 为了执行代码,代码首先需要针对某平台的处理器进行编译,在仿真中 通常是生成针对 PC 或者嵌入式系统的处理器的代码。通过编译,代码 可以在资源限制不很强烈的PC或者是在宿主PC上面的模拟器上面运行, 这在一个程度上可以验证模型的设计。例如 Code Worrier 仿真器。本文 也将采用 SIL 的仿真方法来设计 VFB 仿真工具。 (3). HIL 在原型阶段进行, HIL 与 SIL 最大的不同是 HIL 的测试环境不是 PC 或者模拟器,而是把代码直接下载到硬件上面去运行17。当然,此时的 硬件可能是只包含基本功能的实验板子。 2.2.32.2.3 ARTOP 平台平台 XML(Extensible Markup Language)即可扩展标记语言,是由 W3C 定义的 一种语言,可用来结构化文档和数据18。XML 文件是由标记及其所标记的内容 构成的文本文件,为了使 XML 文件能够很好地体现数据的结构和含义,XML 文 件的标记可以自由定义。因为 XML 简单易用而且可扩展性强,逐渐成为数据交 浙江大学硕士学位论文 第 2 章 研究基础 15 换的公共语言。 AUTOSAR 也为系统配置和 BSW 配置定义了基于 XML 的交换格式 (ARXML) ,即各个工具之间传输的是 XML 格式的描述文件,这就需要不断地 进行 XML 文件和内存模型之间的相互转换。在 Java 中处理 XML 文档数据的常 规方法有 SAX,DOM,JAXB 等19,但是是通用处理方式进行 AUTOSAR 标准 XML 文件解析,不仅繁琐,而且在解析文件时结点特定意义消失,这潜在地存 在信息损失和易出错的风险,这些可以通过提供一个统一建模框架来解决。针对 符合 AUTOSAR 标准的 XML 文档, ARTOP(AutosaR TOol Platform)提供了专门的 处理方法20。 ARTOP是一个比较成熟的平台, 它包含了基本的AUTOSAR开发组成部分, 它实现了 AUTOSAR 标准元模型的定义和一系列相关服务,如:符合 AUTOSAR 标准的 XSD 序列化和 XML 文件验证、AUTOSAR XML 文件编辑、基于模板的 目标代码、 文件和报告生成等。 ARTOP 建立在成熟的 Eclipse 技术上, 并为 Eclipse 工程提供了一系列的补充扩展,它的系统架构如图 2.5 所示,本文主要用到了 AAL 层,该层实现了 AUTOSAR 元模型,提供了操作元模型的 API 和 XML 文件 序列化与反序列化方法,这些是实现本文所述的配置文件自动生成工具的基础21。 图 2.5 ARTOP 架构图20 浙江大学硕士学位论文 第 2 章 研究基础 16 2.2.42.2.4 代码生成代码生成 代码生成技术22是关于自动生成代码的技术,相比于手工写代码,可以减少 开发时间,并提高代码的质量。现在常用的代码生成技术有以下几种: (1). 面向属性编程(AOP)23 面向属性编程通过在代码中添加元数据的方式来自动生成代码,这方面的优 秀软件是 xDoclet,它是一个经过扩展的 Javadoc Doclet 引擎,允许用户使用类似 于 JavaDoc 标记之类的东西来向诸如类、方法和字段之类的语言特征中添加元数 据,然后利用这些额外的元数据来生成相关文件。 (2). 模板技术24 代码生成是要创建有一定文本结构的文件,为了能方便地控制生成代码的结 构,可以使用文本模板工具。Apache 有一个开源的 Velocity 项目,它是一个基于 Java 的模板引擎,用户可以使用一种叫做 Velocity Template Language(VTL)的 脚本语言来引用 Java 代码定义的对象, 将对象的信息与模板的内容相结合生成代 码文件。这样生成代码不仅方便,而且易于修改,当文件格式变化时,只需要修 改模板文件即可,提高了代码的可维护性。 2.2.52.2.5 文档生成文档生成 文档生成技术25是关于自动生成文档的技术, 鉴于 Microsoft Word 2003 使用 的普遍程度,本工具将会生成 word 2003 格式的文档。 Word 2003 文档是以二进制的形式存储的,Java 程序要访问它,必须借助各 种各样的 COM 组件26。结合本工具的实际应用,这里主要探讨 Java 语言生成 Word 的方法。现在比较流行的插件有 Apache POI,Java2word 和 Jacob27等,因 为 Jacob 开发较早,比较成熟。现在主要介绍 Jacob 插件。 Jacob 起始于 1999 年,全称是

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论