分享

基于MATLAB/Simulink及TargetLink的AMT电控系统软件开发(2006恒润用户大会论文精选)

 stevin_lib 2018-04-25

董雄鹤,周杰敏,余建华
(东风汽车有限公司商用车技术中心,湖北省武汉市,430056)

【摘 要】利用MATLAB/Simulink、TargetLink开发AMT电控系统软件,具有模块功能定义明确、算法实现与验证方便快捷、模型数据统一管理、自动定标、代码自动生成、自动生成A2l文件等优点,极大地提高系统软件开发效率和开发质量。
【关键词】MATLAB/Simulink;TargetLink;AMT;软件开发

Software Development of AMT ECU Based on MATLAB/Simulink/TargetLink
Dong Xionghe, Zhou Jiemin,Yu Jianhua
(Dongfeng Commercial Vehicle Technical Center Wuhan 430056 China)

Abstract: Based on MATLAB/Simulink/TargetLink, intensive research and application were introduced on Software development of AMT. Results show that with these tools, the development efficiency and quality can be greatly increased, together with the characteristics of clear function module definition, fast algorithm realization and validation, centrally module data management, automatic scaling, code generation, automatic calibration file generation.
Keywords: MATLAB/Simulink; Targetlink; AMT; Software development.

引言

    现代汽车电控系统功能越来越复杂,而汽车产品更新越来越快,要求电控单元开发周期越来越短,使得软件开发工程师的压力也越来越大,采用传统的开发方式已难 以满足车辆电控系统软件开发的要求。因此应采用规范的软件开发平台,以提高软件开发效率和质量。MATLAB&Simulink基于模型的设计以 及targetlink代码生成工具,目前在汽车电控单元开发中广泛使用,本文介绍的AMT电控系统软件正是基于MATLAB/Simulink及 TargetLink开发的。

    AMT是在传统固定轴式变速器(MT)基础上增加一套自动变速操纵系统实现自动化换档,以简化复杂的手动换档,降低劳动强度。驾驶员根据汽车载荷、路面状 况、交通状况及其他外部条件,通过选择手柄、加速踏板、制动踏板驾驶汽车。AMT电控系统实时采集上述驾驶机构的位置信号,结合车辆当时的运动状态(发动 机转速、变速箱输入轴转速、车速、档位等),按照可行的控制策略,控制执行机构(发动机扭矩和转速、离合器执行机构、选换档执行机构),完成发动机、离合 器、变速器的综合控制。

    本文主要介绍应用MATLAB/Simulink和TargetLink进行的AMT电控系统(以下简称TCU)软件开发的方法和流程。TCU软件中的信 号处理算法和控制算法利用Simulink/Stateflow设计,在MATLAB环境下仿真验证,再在TargetLink环境下进行模型转换、参数 定标、自动生成代码,系统底层驱动则用手工编写代码。最后自动生成的代码和手工代码集成在一起,经过编译、链结生成S19可执行文件和map文件。S19 可执行文件可下载到目标系统中运行;而map文件则用来在TargetLink环境中自动生成A2l文件。A2L是控制器的描述文件,其中含有TCU可执 行程序中所有可测量变量及标定参数信息(包括存储地址及数据类型等),在TCU工作时,标定工具(本文中使用CANAPE)根据A2L文件提供的信息,读 取TCU中可测量变量和标定参数的数值,并按用户的要求修改标定参数数值以优化控制策略。AMT电控系统软件开发流程见图1。下面分AMT电控系统底层驱 动软件、基于Simulink/Stateflow实现信号处理算法、基于Simulink/Stateflow实现控制算法、定标代码生成和系统集成、 标定和系统调试五部分介绍AMT电控系统软件开发。

基于MATLAB/Simulink及TargetLink的AMT电控系统软件开发(2006恒润用户大会论文精选) - 狗狗爱骨头 - verilog_007的博客

图1 AMT电控系统软件开发流程

1 AMT电控系统底层驱动软件

    AMT电控系统硬件采用Freescale公司的Mc9s12Dt128B微处理器,电控系统底层驱动软件主要是对MCU寄存器操作,得到最底层输入信号 并控制最末级输出信号,在电控系统开发周期内它们变化不大,且用Simulink不容易实现,故采用传统方法用手工编写,它们包括:

  • I/O:操纵手柄杆位编码输入信号、手动加减档输入信号、变速箱开关输入信号、电磁阀控制信号等(AMT采用气动执行机构)。
  • A/D:采集离合器位移传感器、选档位移传感器、换档位移传感器、制动踏板位移传感器等位置信号。
  • 转速测量:测量变速箱输入轴转速、变速箱输出轴转速。
  • 定时器:实现AMT电控系统多速率多任务调度的时基。
  • 中断:实时捕捉外部信号,如转速传感器输入脉冲链、CAN通信等。
  • CCP(CAN Calibration Protocol)驱动:标定接口,通过CAN总线实现TCU实现在线数据采集和参数标定。
  • J1939接口:整车通信,接受发动机转速和油门开度信号,控制发动机转速和扭矩以提高换档品质。
2 基于Simulink/Stateflow实现信号处理算法

    为了保证电控系统稳定可靠运行,必须对信号(数字I/O,模拟输入等)进行处理,如开关输入信号消抖以减小外界干扰、模拟输入信号高低限检查以判断是否故 障,在出现故障时用什么值来替代输入信号等,它也是系统故障诊断的依据。下面以模拟输入和数字输入信号为例进行说明。

2.1 模拟输入信号处理

基于MATLAB/Simulink及TargetLink的AMT电控系统软件开发(2006恒润用户大会论文精选) - 狗狗爱骨头 - verilog_007的博客

图2 模拟输入信号处理框图

    A/D口输入电压原始值通过信号有效性检查判断是否超限,如果超限则进行故障诊断,通过一个状态机(主要是计时)判断是假故障还是真故障,故障消除时也通 过一个状态机(主要是计时)判断是故障假解决还是故障真解决。当出现真故障时,由故障处理策略选择模拟输入故障时输入电压替代值计算方法。最后通过线性化 曲线得到传感器对应的物理信号量。
模拟输入信号处理框图如图2。

2.2 数字输入信号处理

    数字输入信号处理框图见图3
    对于任何数字输入信号,由I/O信号处理状态机(主要是计时翻转时间)得到处理后的I/O值。

基于MATLAB/Simulink及TargetLink的AMT电控系统软件开发(2006恒润用户大会论文精选) - 狗狗爱骨头 - verilog_007的博客

图3 数字输入信号处理框图

    采用stateflow可以方便地实现模拟输入和数字输入的信号处理算法建模。

3 基于Simulink/Stateflow的控制策略

    车辆行驶时,TCU根据当前车辆运行状态确定变速箱的目标档位,并控制执行机构完成下面动作:离合器分离→摘空挡→选档→换档→离合器结合,实现自动换 档,同时控制发动机的扭矩和转速以提高AMT的换档品质。根据不同任务的采样时间及任务性质,控制模块分为AMTdecoder、AMTCtr、 Coordinator和Brake 4个子系统:

3.1 AMTdecoder子系统

    AMTdecoder子系统主要实现变速箱档位译码、换档手柄档位译码,车速计算等。

3.2 AMTCtr子系统

    AMTCtr子系统步长4ms,主要实现选换档过程控制、离合器控制和远程控制。图4为在stateflow中实现的状态判断和控制逻辑。图中 Clutch_Depart、NEUTRAL 、Gearbx_Select、Gearbx_Shift、Clutch_Close_1、Clutch_Close_2都是子状态机,分别代表离合器分 离、摘空挡、选档、换档、不同条件下的离合器结合控制。由Coordinator子系统根据换挡规律计算出的变速箱目标档位与变速箱的当前档位比较,如果 不相等,则依次进行离合器分离、摘空挡、选档、换档、离合器结合,完成换挡过程。

基于MATLAB/Simulink及TargetLink的AMT电控系统软件开发(2006恒润用户大会论文精选) - 狗狗爱骨头 - verilog_007的博客

图4 AMTCtr控制状态机

3.3 Coordinator子系统

    Coordinator子系统用于实现车辆运行工况切换、换档规律计算、手动加减档控制。步长为1s。图5为在simulink中建立的子系统框图。

基于MATLAB/Simulink及TargetLink的AMT电控系统软件开发(2006恒润用户大会论文精选) - 狗狗爱骨头 - verilog_007的博客

图5 Coordinator子系统控制程序框图

3.4 Brake子系统

    Brake子系统步长10ms,作用是实现制动控制。当驾驶员踩下制动踏板时,判断是紧急制动还是点刹,决定在换挡过程中是否控制发动机,并计算发动机的目标转速。Brake子系统控制程序框图见图6

基于MATLAB/Simulink及TargetLink的AMT电控系统软件开发(2006恒润用户大会论文精选) - 狗狗爱骨头 - verilog_007的博客

图6 Brake子系统控制程序框图

4 定标、代码生成和系统集成

    代码生成是控制算法从Simulink程序框图到产品的关键步骤,虽然利用Matlab产品中的Embedded Coder可以生成针对不同处理器的产品代码,但Targertlink能更好地进行数据字典管理、自动定标、自动生成标定文件等优点。为了利用 Targertlink生成代码,必须在TargetLink环境中,将基于Simulink/Stateflow的控制策略进行模型转换,把 Simulink模块转换为TargetLink的对应模块。

基于MATLAB/Simulink及TargetLink的AMT电控系统软件开发(2006恒润用户大会论文精选) - 狗狗爱骨头 - verilog_007的博客
图7 定标界面

    转换后的TargetLink模型经过MIL(module in loop)进行算法验证后,此时数据都是浮点数。大部分嵌入式处理器都是定点计算,数据必须定点存储和计算,因此必须进行数据定标。TargetLink 提供了最差环境定标和自动定标功能,图7是一个进行自动定标的界面。定标后模型所有数据都在统一数据字典管理之中。

    随后即可进行代码自动生成。TargetLink能自动生成标准C代码,且提供了针对不同处理器的优化包,TargetLink还能生成报告文档。

5 系统集成

    如前所述,对硬件的操作采用手工编码的方式,因此要将自动生成的代码和手工编写代码集成才能构成完整的TCU软件。集成工作在Mc9s12Dt128B的 开发环境CodeWarrior下进行,把自动生成代码和手写代码添加到一个Project中,经过Compile 、Link生成S19和map文件。

6 样车试验和标定

    软件集成工作完成后,将TCU安装到样车上进行了样车试验和标定工作。图8是一个用CANape进行标定的界面。经过反复的策略修改→系统集成→系统标 定,目前AMT样车已能可靠运行,TCU软件各种功能在试验中均得到验证,车辆起步及换挡时也比较平稳。图9所示为车辆起步和换挡过程中执行机构(发动 机、离合器)的控制。

结论

    本文在利用Matlab/Simulink及dSpace工具进行AMT电控系统软件的开发上进行了初步的探索,实践证明,采用Matlab /Simulink进行控制算法策略的开发,模块功能定义明确、结构清晰,建模快捷,修改维护方便;利用Targertlink生成代码,生成的代码可靠 性高、易读性好,且能实现自动定标,自动生成A2L文件,极大地提高了软件的开发效率和质量。

基于MATLAB/Simulink及TargetLink的AMT电控系统软件开发(2006恒润用户大会论文精选) - 狗狗爱骨头 - verilog_007的博客

图8 CANape标定界面

基于MATLAB/Simulink及TargetLink的AMT电控系统软件开发(2006恒润用户大会论文精选) - 狗狗爱骨头 - verilog_007的博客

图9 起步和换挡过程


参考文献
[1] TLBasicGuide.pdf, TargetLink 2.1 –August 2005
[2] TLAdvancedGuide.pdf,TargetLink 2.1 –August 2005
[3] CANape_User_Manual _V55_English.pdf,
[4] 9S12DT128BDGV2.pdf,
[5] ASAM=MCD 2MC_V1.40.pdf, Version 1.40 of 03/31/2000
[6] 丁荣华 车辆自动换档 北京理工大学
[7] 葛安林 车辆自动变速理论与设计 吉林工业大学

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多