APP下载

基于dSPACE的嵌入式车辆动力学仿真平台开发*

2015-01-07詹军王启配何云廷鲍阚鲁蒋立

汽车技术 2015年4期
关键词:中断时钟嵌入式

詹军王启配何云廷鲍阚鲁蒋立

(1.吉林大学 汽车仿真与控制国家重点实验室;2.一汽大众汽车有限公司)

基于dSPACE的嵌入式车辆动力学仿真平台开发*

詹军1王启配1何云廷1鲍阚1鲁蒋立2

(1.吉林大学 汽车仿真与控制国家重点实验室;2.一汽大众汽车有限公司)

针对嵌入式车辆动力学仿真平台开发需求,基于吉林大学汽车仿真与控制国家重点实验室的车辆动力学模型,研究了基于dSPACE环境的车辆动力学模型编译、运行控制、参数赋值等关键方法。基于dSPACE嵌入式仿真平台与离线仿真平台验证了车辆动力学模型侧向加速度和横摆角速度的一致性,以及仿真控制策略的可行性和正确性。

1 嵌入式车辆动力学仿真平台介绍

国际上,嵌入式车辆动力学仿真平台主要有CarSim、veDYNA和ASM。CarSim是美国MSC公司开发的车辆动力学仿真平台,CarSim模型在计算机上运行的速度比实时快3~6倍,可以仿真车辆对驾驶员、路面及空气动力学输入的响应,主要用来预测和仿真汽车整车的操纵稳定性、制动性、平顺性、动力性和经济性,其中的CarSim RT模块是CarSim模型专用于嵌入式实时仿真的模块,可嵌入多种实时仿真系统,如NI、dSPACE、ETAS、opal-RT等实时仿真系统,提供与一些实时硬件系统的接口,满足软硬件在环仿真平台的要求[3]。veDYNA是德国Te⁃ sis公司开发的车辆动力学仿真平台,以Matlab/ Simulink为开发环境,整个模型或模型组件通过C代码编写,并以s-function形式嵌入到Matlab/Simu⁃link程序环境中,主要用于汽车性能分析,车辆动力学、部件控制单元测试,控制算法开发与测试[4],可嵌入各种实时仿真系统(ADI、ETAS、NI、Opal-RT和xPC)。ASM是dSPACE公司基于Simuik开发的车辆动力学仿真平台,主要应用于发动机控制系统、汽车控制系统、车载电子设备和驾驶辅助系统的测试和研发,ASM能够很好地运行在dSPACE实时仿真系统[5]。

国外已经实现了车辆动力学模型嵌入到实时硬件系统中,目前国内文献对此还没有论述。吉林大学汽车仿真与控制国家重点实验室经过10多年的研究,研发了基于总成特性的实时车辆动力学模型(State Key Laboratory of Automotive Simulation and Con⁃trol,简称ASCL),模型在PC机上(主频3.0G)运行速度是仿真时间的5倍左右,满足了实时仿真要求。经仿真验证,精度到90%以上,并且可实现制动到0、大滑移等极限工况的仿真,可用于电子系统的仿真验证[6]。

针对上述问题,本文研究了基于ASCL车辆动力学模型嵌入到dSPACE环境时的一些关键技术;研究了dSPACE环境下模型的运行控制方法,阐述了在嵌入式平台模型上的参数赋值方法,再次开发了便于应用的操作界面;通过典型工况检验了动力学模型侧向加速度和横摆角速度的一致性,实现了车辆动力学嵌入式仿真平台的开发。

2 dSPACE环境下ASCL运行控制方法研究

2.1 目标代码的生成方法

ASCL基于ANSI C语言开发,其仿真精度达90%,由簧载质量系统、非簧载质量系统、转向系统、悬架系统、车轮系统、动力传动系统和制动系统7大系统构成,在开发过程中将其划分为7个大的功能模块,每个大的功能模块下又划分为很多小的功能模块,各模块都独立开发。

dSPACE实时硬件仿真系统采用了GCC编译器,同时又区别于普通的GCC编译器,在PC机环境下,需要在编译批处理文件时使用带有dSPACE标识的指令x86-gcc,然后调用指令x86-ar生成目标库文件。为了提高ASCL代码的运行效率,在编译中使用-O2命令进行代码优化。

2.2 仿真控制方法

ASCL仿真过程的控制主要分为初始化和运行控制。本文利用DS1006 RTLib提供的函数编写控制程序(ControlFunction.c)以驱动dSPACE实时硬件对ASCL进行仿真控制[7],利用基于时钟D中断的初始化控制和基于时钟A中断的仿真运行控制。

2.2.1 基于时钟D中断的初始化

ASCL为用户提供了Preset、Initialize、Simulate、Terminate等4个函数,其中Preset函数主要读取模型参数文件,将参数值赋给模型各大系统;Initialize函数主要实现车辆初始状态的确定即给变量赋初值,实现初始状态的平衡;Simulate函数实现对各功能模块进行迭代仿真运算,计算模型的输出;Ter⁃ minate函数主要是释放在仿真过程中Preset函数开辟的内存。

为了实现ASCL的正确运行,本文采用时钟D中断来实现模型的初始化。首先,利用dSPACE提供的函数ds1006_init()完成对DS1006板的初始化,用以启动dSPACE;利用函数ds1006_start_isr_timerD(DTD, timerD_interrupt)开启时钟D中断,其中该函数含有时钟D中断的周期(DTD)与中断服务程序(timerD_in⁃terrupt)两个参数,在触发时钟D中断时,在中断服务程序中完成ASCL的初始化和参数赋值;利用函数RTLIB_BACKGROUND_SERVICE()开启后台服务程序,后台服务程序必须在实时硬件上循环执行,这样才能以一定的周期执行时钟D中断,不断进行仿真控制。

时钟D中断服务程序以设定的中断周期运行,当参数文件准备好时,通过自定义的函数ncode和Pre⁃setState来判断,只有当函数ncode=NULL且Preset⁃State=0两个条件同时满足时,才能利用Preset函数将准备好的参数文件中的参数传递给车辆动力学模型,然后通过Initialize函数使其初始化,初始化成功后关闭时钟D。基于时钟D中断的模型初始化流程如图1所示。

2.2.2 基于时钟A中断的仿真控制

当模型完成初始化后,启动时钟A中断服务程序来完成车辆动力学模型的实时运算。时钟A中断服务程序以设定的周期运行,通过控制一个时钟周期推动车辆动力学模型运算一个仿真步长来控制动力学模型的仿真。首先开启时钟A过载检测,用于判断仿真计算时长是否超过中断周期,当中断服务程序的执行时间超过中断周期时,则中断服务程序结束。通过自定义函数SimState的值判断模型仿真状态,其中,当SimState=0时,表明是停止状态,执行动力学模型的中止函数Terminate;当SimState=1时,表明是暂停状态,动力学模型暂停;当SimState=2时,表明是运行状态。同时,通过自定义函数time_simulate计算仿真运行时间,若未达到仿真结束时间,则周期执行动力学模型函数Simulate,实现模型迭代仿真运算;若仿真状态到达设定的仿真时间,则执行模型中止函数Terminate,关闭时钟A中断。基于时钟A中断的动力学模型仿真控制框图如图2所示。

在进行中断控制设置时,应避免时钟A和时钟D同时处于运行状态,因为两者优先级相同,所以在时钟D运行之前需要先关闭时钟A,同理,在时钟A运行之前需要先关闭时钟D,否则只能等待一个时钟周期运行完才能执行下一个中断服务,不利于提高运行效率。

2.3 动力学模型下载方法

动力学模型在实时仿真系统运行时,需要从上位机下载到实时仿真系统。本文利用dSPACE提供的makefile文件将开发的控制程序ControlFunction.c、动力学模型*.a库文件以及相应的头文件组成一个统一的整体,其中makefile文件中需要设置添加控制程序ControlFunction.c,同时添加.a库文件,库文件中开放了控制程序ControlFunction.c调用的4个函数,然后在批处理文件中使用dSPACE提供的“down1006”指令将makefile文件下载到dSPACE中,完成动力学模型控制平台的开发。

3 动力学模型的参数赋值

ASCL中的preset函数可以通过解析一个参数文件来给模型参数赋值,在dSPCE实时仿真系统环境下,需要将参数文件下载到dSPCE,并将参数文件的存储首地址传递给解析函数。本文CLIB函数实现参数的传递过程,定义了指针变量ParFile来传递地址,当ASCL在dSPACE环境下运行时,首先将在PC机内存中的参数文件复制到dSPACE内存中,然后将参数文件在dSPACE内存的首地址传递给preset函数中的ParFile变量,完成动力学模型的参数赋值。

CLIB是实时硬件dSPACE提供的一套PC机与dSPACE实时处理器通讯的接口函数集,CLIB建立了PC机与dSPACE处理器内存之间的通信[8]。本次采用CLIB提供的函数对dSPACE内存进行访问,其中参数文件处理流程如图3所示。

dS1006板 卡 处 理 包 括 利 用 函 数 DS_regis⁃ter_host_app注册应用程序、DS_board_index获得板卡号,从而将参数文件传递到该板内存;参数文件在PC机上的处理包括获取参数大小、在PC机上分配内存、将参数文件传递到分配的内存上;参数文件在dSPACE上的处理包括利用函数DS_alloc_mem在dSPACE上开辟内存、DS_write_8函数将PC机内存上的参数文件写入到dSPACE的内存上、DS_get_var_addr获取模型中存储参数文件首地址的指针变量、把dSPACE内存中参数文件首地址赋值给指针变量。

4 仿真控制平台界面设计

为了方便测试和工程应用,开发了仿真平台界面控制模型的下载、监控和仿真控制,界面编写采用了LabWindows语言。LabWindows/CVI软件是在C语言环境下开发的软件界面,可以通过LabWindows对CLIB库函数的调用,完成仿真平台界面开发。

仿真平台界面主要包括输入、输出设置和运行状态控制3部分,其中,模型输入设置主要完成动力学模型的下载和参数赋值控制,该部分中首先通过路径浏览完成mkfile文件的选择,下载mkfile文件,然后通过路径浏览完成参数文件的选择和下载;模型输出设置显示当前时刻的仿真运行车速,以监控模型运行;模型运行状态控制实现模型的运行、暂停、停止功能,另外,StopRTP将dSPACE内存中的动力学模型清除,Quit实现退出ControlDesk应用界面。

5 仿真验证

为了验证模型的运行情况,分别对模型的仿真运行时间和车辆双移线工况进行了仿真验证。设置ASCL的仿真步长为1 ms,当动力学模型下载到dSPACE的DS1006中运行时,其每步平均仿真实测时间为0.18ms左右,模型运行时间占设定时间的18%,满足实时仿真要求。

定义了双移线仿真工况,通过Controldesk监测模型侧向加速度和横摆角速度的运算结果,并将该仿真结果与离线仿真结果对比,如图4和图5所示,验证了车辆动力学模型在两种仿真平台下侧向加速度和横摆角速度的一致性,以及仿真控制策略的可行性和正确性。

6 结束语

开发了基于dSPACE的嵌入式车辆动力学仿真平台,主要完成以下方面的工作:

a. 利用dSPACE的GCC编译器在PC机下完成了目标代码的生成;

b.利用dSPACE自带的RTLib函数,基于时钟A和D中断实现了动力学模型的初始化和仿真控制;

c. 利用dSPACE自带的Clib函数完成了动力学模型的参数赋值;

d. 验证了ASCL在dSPACE嵌入式仿真平台和离线仿真平台下侧向加速度和横摆角速度的一致性,以及仿真控制策略的可行性和正确性。

1 李茗.汽车电子产品的开发.汽车工程,2004(26):367~372.

2 魏学哲.戴海峰.孙泽昌.汽车嵌入式系统开发方法、体系架构和流程.同济大学学报(自然科学版),2012(40)7:1055~1070.

3 吴海东.郭孔辉.芦荡.基于LabVIEW RT的硬件在环仿真.汽车技术,2010(9):1~4.

4 北京九州恒润技术有限公司.TesisDYNAware-基于Matlab/Simulik的车辆动力学实时仿真模型.CAD/CAM与制造业信息化,2004:72~74.

5 dSPACE.ASM Vehicle Dynamics.

6 鲁蒋立.车辆动力学模型嵌入式仿真平台开发:[学位论文].长春:吉林大学,2014.

7 Embedded Success dSPACE.DS1006 Processor Board RTLib Reference.2012-11.

8 Embedded Success dSPACE.CLIB C Interface Library. 2011-5.

(责任编辑帘 青)

修改稿收到日期为2015年3月1日。

Development of Embedded Vehicle Dynamics Simulation Platform Based on dSPACE

Zhan Jun1,Wang Qipei1,He Yunting1,Bao Kan1,Lu Jiangli2
(1.State Key Laboratory of Automotive Simulation and Control,Jilin University;2.FAW VW Co.,Ltd)

To satisfy the development demand of embedded vehicle dynamics simulation platform,we study the key methods of the vehicle dynamics model compilation,operation control,parameter assignment,based on dSPACE environment and the vehicle dynamics model of State Key Laboratory of Automotive Simulation and Control of Jilin University.The embedded simulation platform,which is based on dSPACE,and offline simulation platform verifies consistency of lateral acceleration and yaw rate,as well as the feasibility and correctness of this simulation control strategy.

Vehicle dynamics model,dSPACE,Embedded type,Simulation platform

车辆动力学模型 dSPACE 嵌入式 仿真平台

U462.3

A

1000-3703(2015)04-0018-04

国家高科技研究发展计划(863)(2006AA110101,2006AA110102)资助。

猜你喜欢

中断时钟嵌入式
基于IMX6ULL的嵌入式根文件系统构建
TMS320F28335外部中断分析与研究
Focal&Naim同框发布1000系列嵌入式扬声器及全新Uniti Atmos流媒体一体机
多级中断屏蔽技术分析
古代的时钟
一种考虑GPS信号中断的导航滤波算法
基于ARM嵌入式的关于图像处理的交通信号灯识别
TS系列红外传感器在嵌入式控制系统中的应用
这个时钟一根针
跟踪导练(二)(5)