新闻中心

EEPW首页>嵌入式系统>设计应用> 车辆控制系统开发软件闭环模拟方法

车辆控制系统开发软件闭环模拟方法

作者: 时间:2013-01-22 来源:网络 收藏


另一种系统配置是采用笔记本电脑。PC 计算机固有的外设有串口、并口、USB 和网络接口,串口由于通信速度慢,显然不适于作采集数据。网络接口由于与单片机的接口比较复杂,也不太适于作系统的数据交换与通信。USB和并口通信速度比较高,并且与单片机的接口也比较简单,这样可以外挂两个独立的外设。一般在我们的系统中一个作为单片机的仿真器用,一个作为采集卡构成实时模拟系统,这样采用笔记本就增加了移动性,方便灵活。图2 为这一系统的框图。


图2 笔记本PC 构成的开发系统框图

通过这一系统构成一体化的开发测试系统,即满足下面几项功能:

1)纯模拟系统:采用MATLAB 建模,进行控制系统的模拟。

2)集成单片机开发系统:采用PC104 总线结构,控制算法直接生成C 代码,并直接下载到单片机仿真器中运行,这样可以实时修改控制算法,即可以在试验室条件下进行,也可以在实车上进行调试。

3)集成测试系统:利用PC104 采集卡可以对车辆非控制器参数进行采集,如压力、速度等,用这些数据可以有效地对控制效果进行评估。

4)集成实时硬件模拟系统:利用采集卡可以发出各种模拟的传感器信号,如模拟量通过D/A 发出,脉冲信号通过PWM 信号发出。

5)集成的车载系统:采用专用的计算机抗振机箱,整套系统可以直接放到车辆上进行ECU 的调试,调试过程中可以采集各种物理量,同时此系统可以进行各个阶段的模拟。这种系统将软件及硬件一体化,同时应用于各个开发阶段,最有效地提高了设备的利用率,避免了开发环境的切换,从而可以缩短开发时间。图3 为这一系统的外形图。这一系统首先硬件实现了从模拟到系统的集成化,硬件是同一设备完成各个阶段的开发,下面要介绍的软件也是一体化的。


图3 开发系统外形图

3 实时软件模拟方法

系统软件采用MATLAB 系统建立控制对象模型,即车辆模型。混合控制器的模型就可以形成纯模拟系统,但这种纯模拟系统可以采用统一的MATLAB 环境控制器模型,也采用SIMULINK 可视化模型,这是最初的模型。如果要使用MATLAB 中的工具箱,这类模型有一定的限制,如不能采用连续性模块,采用嵌入式代码生成器工具箱,可以将控制器子系统生成C 代码,也可以采用专用的单片机代码生成器生成C 代码,如目前MATLAB 中已有Motorola MPC555、TI TMS320C6000、Infineon C167 系统单片机专用工具箱控制C 代码的生成并可以控制C 代码的编译、连接,最后生成可执行代码。生成可执行代码后,可以将系统直接下载到目标单片机上,这时就可以用目标单片机直接对应用对象即实际车辆进行控制了。但单片机代码不能直接对模拟模型进行控制了,这样就造成了开发过程的脱节。因为由SIMULINK生成代码的过程,有可能改变了系统算法的特性。不同厂商的编译器也会存在一些问题,所以直接用生成的单片机代码对模拟对象进行控制是最便利的,当然这时可以利用实时硬件闭环系统进行模拟与验证。但由于控制器硬件的过早介入要花费很大的精力去调整信号,而往往硬件连接会带来很多麻烦,如信号连接等。再者在算法调整阶段并不需要硬件的介入,在这种情况下,就需要有一种连接单片机与计算机之间的数据交换界面,从而形成一种快速实时交换数据方式,使车辆模型系统与控制系统能够实现快速通信,从而实现软件实时模拟,基于此在本系统中采用两种数据交换方式。

(1) CAN 通信方式
(2) 双口RAM 通信方式

其结构方式见图4。


图4 数据交换方式

双口RAM 方式的原理是将仿真器的一部分内存地址映射为PC 机外设设备的可访问的空间。通过这部分的共享内存进行数据交换,这种方式可以映射比较大的空间,交换的数据量也比较大,实时特性好,但这要求仿真器具有特殊的总线访问地址。一般通用的仿真器不具有这类功能,必须用户进行自己研制。本系统中也采用过这一方案,但它要求对仿真器系统作较多的研制与改进,所以难度较大,但这种方案是普通适用的,适合于任何类型的计算机。

采用CAN 总线通信比较方便,这是因为目前许多单片机已内置了CAN 控制器,一般CAN 控制器具有15 个信息体,新出现的单片机则可以带更多的CAN 控制器,每个信息体有8 个字节,这样就可以有120个字节用于实时数据交换,同时CAN 的最高通信速度为1MHz 波特率,足以满足实时模拟的要求。在PC计算机方面一般没有CAN 接口,但CAN 的接口卡是比较多的。本系统采用自制的CAN 采集卡,该采集卡可以采用USB接口转换,也有并口、ISA、PCI 几种接口,只用两根CAN 通信线就可以将单片机与PC计算机进行通信连接。当然串口与单片机的连接也很方便,除非是一些低速简单的控制系统,但串口通信一是速度慢,二是它的数据传递不像CAN 是数据包的形式,所以容易产生错误。

CAN 通信只能传送字节型数据,对不同的数据类型要进行变换,例如要传送浮点数据,先把它变换为字节型变量,接收后要进行解码,把它还原为浮点数据类型。系统的原理见图5。


图5 CAN 数据交换原理

CAN 通信的基本设置可以通过MATLAB 的GUI 界面编制定义程序,将参数定义可以保存在采集卡的EEPROM 中,用户可以通过这个界面进行参数的定义与修改,例如数据长度、波特率、屏蔽字。


评论


相关推荐

技术专区

关闭