19.电控单元MBD开发-汽车电子咖啡厅

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

换挡器电控单元MBD开发黄开彬2016/10/23南京奥联汽车电子技术有限公司12黄开彬3年中间件开发(Java,Eclipse插件)7年ISUZU柴油发动机ECU软件开发(基础软件,建模仿真,自动代码生成)基础软件自动代码生成上位机平台自我介绍2005~2015南京富士通南大2015~至今南京奥联南京奥联汽车电子电器股份有限公司2001年成立于南京市江宁区建筑面积65000平方米员工520人年销售收入2.8亿主要研发生产汽车电子电器产品,包括:油门踏板电子节气门门窗控制器预热塞低温启动主要客户:换挡手柄空调控制器换挡盒¥执行机构3Agenda4•换挡器介绍•基于配置式的基础软件•建模仿真•一键式自动代码生成•模型在环测试(MIL)•标定与集成测试•基于EclipseRCP的上位机平台Agenda5•换挡器介绍•基于配置式的基础软件•建模仿真•一键式自动代码生成•模型在环测试(MIL)•标定与集成测试•基于EclipseRCP的上位机平台传统换挡系统手动变速箱换挡系统自动变速箱换挡系统MT换挡杆拉索手动变速箱AT换挡杆拉索自动变速箱6TypeCustomerProductGS(MT)一汽丰田上海通用一汽夏利......GS(AT)上海通用华晨汽车华泰汽车江淮轿车东风柳汽昌河铃木......东风柳汽S50上汽通用赛欧线控换挡系统CANBUSAMT换挡器TCU机械式自动变速箱AMT仪表ECU油门钥匙车速・・・CANBUSSignalElectricSignal离合器执行机构选换挡执行机构7AMT线控换挡系统TypeCustomerProductGS(AMT)长安汽车长城汽车海马汽车上海伊顿柳汽......长安汽车CX20换挡器形式8旋钮式单稳态回位式多稳态档杆式换挡盒Agenda9•换挡器介绍•基于配置式的基础软件•建模仿真•一键式自动代码生成•模型在环测试(MIL)•标定与集成测试•基于EclipseRCP的上位机平台关于基础软件10实现了可重复利用模块,方便配置,容易集成的软件平台,包含以下模块。•各驱动模块(MCAL)•操作系统或任务调度•通讯协议LIN,CCP,UDS(ISO15765-2,ISO14229-1),J1939等•故障诊断(OBD)•网络管理•在线刷写(Bootloader)•模块化,层次化•通用性•性能•RAM/ROM使用量•外购价格高昂•自主开发,清楚一切细节,容易自定义开发•是自主开发ECU整套工具链基础一环什么是基础软件基础软件需要考虑什么为什么要自己开发基础软件AutosarArchitecture配置式的基础软件(自主开发)11UDSPlatformMiddleware配置式基础软件Architecture(Non-Autosar)功能/接口配置举例(IO)12输入输出功能配置(xx_config.c)输出接口(Interface)配置(xx_config.h)功能/接口配置举例(UDS)13UDS服务配置表,依据OEM规范进行定义,通用服务函数可以直接使用,OEM特殊的服务函数需自定义实现。Agenda14•换挡器介绍•基于配置式的基础软件•建模仿真数据字典管理建模规范快速仿真•一键式自动代码生成•模型在环测试(MIL)•标定与集成测试•基于EclipseRCP的上位机平台关于数据字典15•用于自动代码生成,变量自动定点化•用于模型仿真,自动设定常量,标定量的值•用于管理标定值•辅助模型逻辑的理解,通过对变量进行注释•用于A2L文件生成(标定工具用)•常量(立即数,对应代码为宏定义,比如PI=3.14)•标定量(存放于ROM,可通过标定工具标定)单值标定量(比如Const模块的参数)多值标定量(比如Lookup模块的参数)•信号量(存放于RAM)数据字典用途数据字典变量类型数据字典变量的必要字段16字段意义变量名原则上为模型上的变量名代码变量名代码变量与信号名不一致时填写,用于A2L生成时查找内存地址精度定点化用,比如0.01,5/1024初始值信号的初始值,默认值最大值变量的最大值最小值变量的最小值数据类型生成代码时使用的数据类型,比如uint16单位变量的单位,比如km/h描述变量的意义描述,用于辅助控制逻辑的理解。数值长度多值变量时用(Lookup参数)Agenda17•换挡器介绍•基于配置式的基础软件•建模仿真数据字典管理建模规范快速仿真•一键式自动代码生成•模型在环测试(MIL)•标定与集成测试•基于EclipseRCP的上位机平台一些建模规范和要求18•模型美观整洁•线不要弯弯绕绕,要尽量拉直•常用模块,尽量把模块名隐藏-set(gcbh,‘ShowName’,‘off’);•Subsystem模块,一定要命名,名字一定要有意义。•适度缩放模块的大小•From,Goto-不打乱数据流向,但影响模型解读•MemoryStore-打乱数据流向•Bit运算模块(clear,set,shift等,因为其实为s-function,影响数据类型)•常量使用C_开头,尽量全大写•Cali,查表,使用K_,X_,Y_,Z_,尽量全大写•信号量,按意义,全小写,使用_分隔•何处设置信号名:信号最直接输出处。•何时设置信号名:逻辑不好理解时,数据类型不好判断时,逻辑复杂不好测试时模型美观整洁不建议使用的模块信号名的命名方式信号线上,何时命名自定义常用的模块库19常用的逻辑,自定义为通用模块后,可以1.提高建模效率2.简洁化模型3.增加可读性左边模块(简单防抖)的逻辑意义为:对于stimu的状态输入,如果其保持指定max_count个周期后,则输出true状态。模块虽然简单,但是实用,且兼顾考虑了代码生成的数据类型匹配。Agenda20•换挡器介绍•基于配置式的基础软件•建模仿真数据字典管理建模规范快速仿真•一键式自动代码生成•模型在环测试(MIL)•标定与集成测试•基于EclipseRCP的上位机平台关于快速仿真21对于某个模型或者Subsystem,以最小的步骤实现模型的仿真,并确认仿真输出结果。•建模时,需要快速验证模型是否能够正常编译执行。•建模时,希望快速验证局部模块的执行结果。•仿真时,对于不关注的输入量或标定量,希望自动给出默认值。•不增加输入模块的前提下,快速给出模型的输入。•不增加观测模块(比如Scope)的前提下,快速显示输出结果。•其他。。。。。。何谓快速仿真为什么需要快速仿真Agenda22•换挡器介绍•基于配置式的基础软件•建模仿真数据字典管理建模规范快速仿真•一键式自动代码生成•模型在环测试(MIL)•标定与集成测试•基于EclipseRCP的上位机平台关于CSC(CustomStorageClass)23CSC用于在自动代码生成时,控制变量的声明,定义,存储等(如const,static,extern等),及其他表现形式(比如宏定义,#pragma等)。CSC在Simulink.Signal和Simulink.Parmeter对象中使用。(注:C语言的StorageClass仅限static,auto,register,CSC的控制范围更广)。什么是CSC定义一个Signal变量,其CSC为ExportToFile,其在some_header.h中声明,并在some_source.c中定义定义一个Parameter变量,其CSC为ImportFromFile,其声明在some_header.h中。生成代码里,讲通过#include来引用该变量。CSC控制的内容24ItemComment存储形式const,volatileorconstvolatilesection定义将变量包围在#pragmasection定义里。(需自定义并实现TLC)是否使用struct不使用结构体,或者将变量包含在struct中变量作用域File(static),Exported(声明并定义),Imported(来自其他既有声明)访问方式直接访问,或者指针访问变量的初始化不初始化,在定义中初始化,或者model_initialize函数中初始化头文件变量声明所在头文件定义文件便令定义所在源文件注释指定注释的格式,内容等(比如可用于第三方工具的注释)其他比如对于算出量,进行上下限保护。(需自定义)自动配置CSC的逻辑25•已在CSC配置文件中定义,则依据文件内容进行配置。•未在CSC文件中配置,默认按以下规则进行配置。变量类型输入/输出CSC类型常量-Simulink.Parameter(Define)标定量-Simulink.Parameter(Define)信号量输出量/中间信号量Simulink.Signal(ExportToFile)信号量输入量Simulink.Signal(ImportFromFile)Agenda26•换挡器介绍•基于配置式的基础软件•建模仿真数据字典管理建模规范快速仿真•一键式自动代码生成•模型在环测试(MIL)•标定与集成测试•基于EclipseRCP的上位机平台MBD测试的几个概念27MIL单元测试工具(自主开发)28①②④⑤⑥⑦③①使用工程文件,管理被测模型及其子系统②选定要测试的子系统③指定测试Case(预先设计好或者自动生成)④依据选择的子系统,自动生成测试Case模板⑤执行MIL或者SIL测试⑥根据事先设计好的要因表,自动生成测试Case.⑦使用DesignVerifier功能,依据测试覆盖度自动补足Case.测试Case设计29①②③④⑤①填写对应的需求功能号和测试的分类,用于满足ISO26262的可追溯要求。②测试Case输入,支持表达式方式输入。其中Inputs为模型port输入,Calibration为标定量输入。③依据case设计,指定预期的输出结果。此结果用于和模型仿真的输出结果做比较,并自动判断结果(NGorOK)。④模型仿真的实际输出结果。测试结束后,由工具自动填入。⑤预期的结果和模型实际输出结果做比较后,一致则OK,否则NG。以下为工具依据选择的子系统,自动生成的测试Case模板。用户在此基础上做Case设计。测试结果比较管理30所有测试结果被保存到Project的子目录下。通过”测试结果”面板,可以随时查看,比较测试结果。同时可以查看覆盖度结果。覆盖度报告31根据测试结果,自动导出覆盖度报告Agenda32•换挡器介绍•基于配置式的基础软件•建模仿真数据字典管理建模规范快速仿真•一键式自动代码生成•模型在环测试(MIL)•标定与集成测试•基于EclipseRCP的上位机平台使用ECS进行变量监视和标定33ECS(ECUCalibrationSystem)是富士通南大开发的用于变量监测和标定的软件。其基于CCP协议,只要实现了CCP协议的MCU,都可以简单的使用起来。与其他标定工具(INCA,Canape)相比,其简单易用,其具有价格优势。Agenda34•换挡器介绍•基于配置式的基础软件•建模仿真数据字典管理建模规范快速仿真•一键式自动代码生成•模型在环测试(MIL)•标定与集成测试•基于EclipseRCP的上位机平台关于EclipseRCP(RichClientPlatform)35以Java为主体开发语言的Eclipse插件式的客户端开发平台。•OSGi式的插件开发,扩展非常方便。•支持跨平台,且使用原生的UI界面(SWT)。•非常丰富的UI库和模块。•庞大的开源生态,有丰富的开源插件库。•可以非常方便将自己的功能集成到其他基于Eclipse平台的开发工具上。•目前大部分Autosar和IDE编译器都是基于Eclipse上手较慢,学习曲线相对较陡。EclipseRCP是什么为什么选择EclipseRCP缺点一些用RCP做的应用的界面36地图应用BIRT应用我们的上位机数据库应用使用E4Model进行界面配置37使用EclipseE4的ApplicationModel配置界面,可以自由配置GUI显示的元素。包括窗口,视图,菜单项,快捷键等等。相同的代码,对于不

1 / 38
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功