基于AUTOSAR标准的TCU软件设计.docx

上传人:lao****ou 文档编号:325461 上传时间:2023-08-28 格式:DOCX 页数:13 大小:137.11KB
下载 相关 举报
基于AUTOSAR标准的TCU软件设计.docx_第1页
第1页 / 共13页
基于AUTOSAR标准的TCU软件设计.docx_第2页
第2页 / 共13页
基于AUTOSAR标准的TCU软件设计.docx_第3页
第3页 / 共13页
基于AUTOSAR标准的TCU软件设计.docx_第4页
第4页 / 共13页
基于AUTOSAR标准的TCU软件设计.docx_第5页
第5页 / 共13页
亲,该文档总共13页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《基于AUTOSAR标准的TCU软件设计.docx》由会员分享,可在线阅读,更多相关《基于AUTOSAR标准的TCU软件设计.docx(13页珍藏版)》请在第一文库网上搜索。

1、基于AUTOSAR标准的TCU软件设计随着AUTOSAR标准逐渐成为未来汽车软件架构的主流,作为汽 车电子核心部件的双离合变速箱控制单元(Transmission Control Unit, TC),也将在今后的软件开发中遵循该标准。因此,作者在系统地 分析AUTOSAR标准及开发方法的基础之上,研究了如何在TCU平台 上设计符合AUTOSAR标准的应用层软件系统架构、软件组件以及接 口层配置,其中,重点阐述了应用层软件组件的设计方法。1. AUTOSAR 架构基于TCU的系统需求,作者设计了符合AUTOSAR架构的TCU软件系统架构,如图1所示。操作系统殄断管理内存管理Jl系统(DEM) (

2、MCmory) (COM)I (GPJO)(OS)微控制器(MiCrO Controller)同步控制 (GcarControI)信号解析和传输 tput)自适应学习(AdaPtiOe LCarn)诊断及信号处理 (DianoisSignal Process)协调控制CtAuxiIiary CoordinatorTT应用层软件组件(ASW)电子泵控制Motor ControlI I J(RTE)(CDD)基础软件层(BSW)图1 AUTOSAR软件架构为了实现软件功能的复用和标准化,AUToSAR定义了层次化、模块化的体系架构,划分为以下3个模块:1.1 应用软件层SWC应用层代表着汽车电子软

3、件中最核心的功能,控制功能设计都在 这一层进行。应用层最基本的组成是软件组件SWC ( Software Component),包括图1中的信号处理、离合器控制、协调控制、同 步器控制、电子泵、自适应学习等功能组件。每个SWC都封装了单 个或多个运行体(RUnnableS),并通过实时环境实现软件组件之间的 通信、系统功能调用以及TCU硬件资源的访问。1.2 实时环境RTE如图1中的链接线,RTE ( Runtime Environment)实现了应用 层软件与底层基础软件之间的分离,上层的每个SWC都与RTE交互, 使得数据与事件传递到其他各个模块。RTE实现了对I/O、存储和其 他基本服务

4、的访问。1. 3基础软件层BSW如图1所示,基础软件BSW(BaSiCSoftWare)位于RTE之 下、 微控制器硬件之上,起到承上启下的作用。BSW主要为应用层提供硬 件驱动、网络通信和实时任务调度等底层服务。BSW本身又包括微控 制器抽象层、ECU抽象层、服务层以及复杂驱动层。BSW每一层均向 其上层软件组件提供服务,并屏蔽了其下层的实现细节。例如,微控 制器抽象层为ECU抽象层提供服务,却并不涉及微控制器与外部设备 具体的物理连接,如接口类型和引脚等。系统结构设计需要根据系统需求来详细定义上述3个模块的拓 扑结构,并定义各模块内功能子系统的接口属性。2. AUTOSAR应用层软件组件开

5、发应用层软件是由多个相互交互的SWC构成, SWC的设计除了定义自身的类型外,还需定义端口、接口、运行实体 及触发运行实体所对应的RTE事件等属性,如图2所示。(软件组件, (SWC) JG供型端口(PPort)需型端口(R.Port)发送/接受型接LI (Sender-Receiver)I标定参数I客户/服务型接口 (CIient-Servicer)CM)内部行为 (Internal BehaViOr)SinIUIink 模型2. 1 SWC类型AUToSAR按功能属性将SWC划分为应用层、传感器/执行 器、标定参数、服务层、ECU抽象层、复杂设备驱动等类型。如图1 中的Input 0utp

6、ut组件即为传感器/执行器类型的SWC,而Auxiliary COOrdinatOr等组件则实现了 TCU应用层控制策略,即为应用层类型 的SWC。以下描述的属性设置都针对应用层SWC。2. 2 SWC属性设置2.1.1 端口端口(POrt)定义了 SWC与外界通信的传输方向以及所承载的接 。根据传输方向,端口分为供型端口 ( Provide-Port,对外提供某种 数据或者某类操作)和需型端口( Receive-Port,请求从其他SWC获 得所需数据或者操作)。要实现数据由供型端口传向需型端口,还需 对这两个端口指定数据传输的接口类型。ECU图3 SWC之间端口和接口连接示意图如图3所示,

7、设置Motor Control的端口为供型端口,Input/OUtPUt 的端口为需型端口,两者之间的数据通过这两个端口中的接口实现 传输。2.1.2 软件接口端口只定义了软件组件间通信方向,其中的通信内容及交互方 式则由AUToSAR中定义的接口(InterfaCe)来描述。对于应用层软 件,接口有2种:发送者/接收者接口 ( Sender-Receiver:直接访问 数据的n:n交互方式,文中主要用于应用层各SWC间的交互);客 户端/服务器接口(Cliem-SerVer:通过参数调用访问数据的l:n交互 方式,文中主要用于应用层SWC与BSW之间的交互)。如图3所 示,Motor Con

8、trol 与 Output 通过 Sender-Receiver 接 口交互数据; Input /0UtPUt 通过 Client-SerVer 接口与 BSW 的复杂驱动层(CDD) 进行数据交互,复杂驱动层即为服务端。2.1.3 运行实体运行实体(Runnables)定义了 SWe所需实现的功能函数及其 输入输出信号,而TCU的功能函数是由基于Simulink开发的模型来 实现。为生成符合AUToSAR要求的SWC代码,需要将SimUlink模 型通过dSPACE公司提供的TargetLink工具封装成AUTOSAR架构模 型。图4 AUTOSAR架构转换如图4所示,架构模型的封装包括:模

9、型封装成运行实体,相应 的输入输出封装成虚拟BUS,并从SWC的端口中提取所需的信号。 此外,运行实体还提供了参数访问端口,通过该端口模型可以访问外 部的标定参数。运行实体的运行是由触发事件来激活的,为此AUTOSAR定义了 多种触发类型,而对于实时性要求比较高的TCU应用层软件,运行实 体都选择由周期性时间来触发运行。具体的触发周期需由运行实体的 设计要求而定,如图1中的Auxiliary Coor-dinator的运行周期为5ms, 而控制要求更高的Motor Control,运行周期为2.5mso2.3组合按上述方法设计完成的SWC只是独立的个体描述,要想将这些 SWC关联起来并通过RT

10、E来实现这些关联,则需将这些描述进行实例 化并加载到一个容器里,此容器即称之为组合(COmPOSition)。组合 原则上可以有多个,这里只需创建一个即可。在组合里,包含了 SWC和BSW各模块的实例,通过关联实例之 间的端口来创建彼此链接关系。需要注意的是,不同接口类型的端口 之间不能创建链接,而且只能由Sender指向Re-CeiVer,或只能由Client 调用SerVer,反之都无法链接。除了建立内部链接,还需定义外部端 口来与外部系统通信,对于TCU,即实现与CAN总线的链接。文中通过dSPACE公司的SyStemDeSk工具创建了如图5所示组合。TCU应用层软件基本功能来自BSW的

11、输入信号转化变速箱本体保护功能行驶环境识别功能自动换挡目标识别白学习功能同步器控制功能离合器控制功能j正常控制模式入故障控制模式i防熄火控制预充控制出号换气号换-C信号换输信转一电信转-Cm信转主油路控制 冷却控制发动机扭矩协调电子泵控制来自BSVV的电8区馈W号转换自适应功能杂动号换 作统务 复驱信转 操系服图5组合的内部连接图3. RTE配置前面描述了 TCU的系统架构和软件组件,但如何将这些设计映射 到具体的ECU中及其代码实现则需要通过配置RTE来完成。SWC与BSW、SWC之间的交互都是通过RTE提供的虚拟功能总线通 信机制(VirtuaIFiIe System, VFS)来实现的,

12、如图6所示。图6 RTE实现的VFS通信机制这样的设计抽象了应用层和基础层,能防止SWC直接访问BSW 和OS,有利于监控数据传输并保证数据一致性,而且同时支持简单 数据及复杂数据结构以及SWC的多途径应用。配置完成的RTE将自动生成C语言代码,上述的数据交互是通过 函数调用的方式实现,而不是传统嵌入式C代码(ERT)中的变量直接 赋值形式。两者间的差异如表1所示。AUT0SARERT函数定义运行实体 信号名定义接口元素函数体信号名定义变量输入输输入输出信号通信都定输入输出信号出信号义成函数调用的方式为变量形式表1 AUT0SAR代码与ERT代码的差异RTE 定义的接口函数结构如下:Rte_l

13、read_ ()其中:Vre为运行实体的名字;为端 ; 为端口接口中 的某个数据元素;为从端口读到的基本类型元素的值,或 是复杂类型元素的指针。以变速箱的拨叉位置信号为例,RTE代码里定义了 RteRead_Run_AC_RP_SP_Positon()接口 函数,Auxiliary Coordinator 的运行实体只能通过调用该函数来读取拨叉位置信号值。同样地,写入拨叉位置信号值,需要InPUt的运行实体调用 RteWrite_RunP_PPP_Positon()来实现。RTE还需配置运行实体与操作系统中任务(Tasks)的映射关系以及ECU内部信号与系统信号(CAN信号)的映射关系,这些映

14、射关系也会在RTE代码中实现定义。通过ETAS公司的ISOLAR-A工具完成RTE配置,如图7所示。运行体到操作系统任务的映射 Flat映射CAN信号映射RTEffdg应用层软件的嵌入图7 RTE配置4.测试验证将上述设计的配置文件通过TargetLink. RTA-RTE等工具转换为真 实的C代码,同时嵌入各组件的功能代码以及BSW的目标代码文件, 再通过编译、链接等步骤生成十六进制文件(*.Hex),最后,将 其下载到目标TCU中,并在硬件在环测试平台下进行测试,如图8 所示。图8硬件在环测试平台该硬件在环平台可以通过dSPACE软件仿真整车环境并注入故障, 而TCU与电磁阀、传感器等真实

15、负载相连。通过该平台可以真实有效 地测试TCU软件系统的接口功能,用以检验基于AUTOSAR标准的TCU 软件开发方法应用是否正确,能否达到预期目标。软件组件SWC和RTE是AUTOSAR的重要概念之一,因此测试SWC 和RTE能否成功在TCU上运行,将是检验软件开发方法的重要标准。4.1 RTE接口测试以位置信号为例,该信号的原始值由底层GPIO的频率传感器模 块输出,并经由RTE传至应用层的InPUt软件组件中,再经过信号处 理组件处理后输出给AUXiliary CoOrdinator使用。测试结果如图9所示。IOO80 -60 40 -20 -100 8() 60 40 -20 -OJ10.310.3510.410.4510.510.5510.61

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 应用文档 > 汇报材料

copyright@ 2008-2022 001doc.com网站版权所有   

经营许可证编号:宁ICP备2022001085号

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有,必要时第一文库网拥有上传用户文档的转载和下载权。第一文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知第一文库网,我们立即给予删除!



客服