预览加载中,请您耐心等待几秒...
1/8
2/8
3/8
4/8
5/8
6/8
7/8
8/8

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

基于dSPACE的嵌入式车辆动力学仿真平台开发的探究论文基于dSPACE的嵌入式车辆动力学仿真平台开发的探究论文1嵌入式车辆动力学仿真平台介绍国际上,嵌入式车辆动力学仿真平台主要有CarSim、veDYNA和ASM。CarSim是美国MSC公司开发的车辆动力学仿真平台,CarSim模型在计算机上运行的速度比实时快3~6倍,可以仿真车辆对驾驶员、路面及空气动力学输入的响应,主要用来预测和仿真汽车整车的操纵稳定性、制动性、平顺性、动力性和经济性,其中的CarSimRT模块是CarSim模型专用于嵌入式实时仿真的模块,可嵌入多种实时仿真系统,如NI、dSPACE、ETAS、opal-RT等实时仿真系统,提供与一些实时硬件系统的接口,满足软硬件在环仿真平台的要求。veDYNA是德国Te?sis公司开发的车辆动力学仿真平台,以Matlab/Simulink为开发环境,整个模型或模型组件通过C代码编写,并以s-function形式嵌入到Matlab/Simu?link程序环境中,主要用于汽车性能分析,车辆动力学、部件控制单元测试,控制算法开发与测试,可嵌入各种实时仿真系统(ADI、ETAS、NI、Opal-RT和xPC)。ASM是dSPACE公司基于Simuik开发的车辆动力学仿真平台,主要应用于发动机控制系统、汽车控制系统、车载电子设备和驾驶辅助系统的测试和研发,ASM能够很好地运行在dSPACE实时仿真系统。国外已经实现了车辆动力学模型嵌入到实时硬件系统中,目前国内文献对此还没有论述。吉林大学汽车仿真与控制国家重点实验室经过10多年的研究,研发了基于总成特性的实时车辆动力学模型(StateKeyLaboratoryofAutomotiveSimulationandCon?trol,简称ASCL),模型在PC机上(主频3.0G)运行速度是仿真时间的5倍左右,满足了实时仿真要求。经仿真验证,精度到90%以上,并且可实现制动到0、大滑移等极限工况的仿真,可用于电子系统的仿真验证。针对上述问题,本文研究了基于ASCL车辆动力学模型嵌入到dSPACE环境时的一些关键技术;研究了dSPACE环境下模型的运行控制方法,阐述了在嵌入式平台模型上的参数赋值方法,再次开发了便于应用的操作界面;通过典型工况检验了动力学模型侧向加速度和横摆角速度的一致性,实现了车辆动力学嵌入式仿真平台的'开发。2dSPACE环境下ASCL运行控制方法研究2.1目标代码的生成方法ASCL基于ANSIC语言开发,其仿真精度达90%,由簧载质量系统、非簧载质量系统、转向系统、悬架系统、车轮系统、动力传动系统和制动系统7大系统构成,在开发过程中将其划分为7个大的功能模块,每个大的功能模块下又划分为很多小的功能模块,各模块都独立开发。dSPACE实时硬件仿真系统采用了GCC编译器,同时又区别于普通的GCC编译器,在PC机环境下,需要在编译批处理文件时使用带有dSPACE标识的指令x86-gcc,然后调用指令x86-ar生成目标库文件。为了提高ASCL代码的运行效率,在编译中使用-O2命令进行代码优化。2.2仿真控制方法ASCL仿真过程的控制主要分为初始化和运行控制。本文利用DS1006RTLib提供的函数编写控制程序(ControlFunction.c)以驱动dSPACE实时硬件对ASCL进行仿真控制,利用基于时钟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中断服务程序以设定的中断周期运行,当参数文件准备好时,通过自定义的函数n