基于ARM的摆式列车倾摆控制检测系统研制
2009-03-26
作者:王雪梅1,倪文波1,李 芾1,
摘 要:根据摆式列车的基本工作原理,设计制作了基于双CPU的嵌入式线路信息检测系统。系统采用AMTEL公司的AT89S51和SAMSUNG公司的S3C44B0X两款微处理器分别作为数据采集计算机和倾摆控制主控计算机,通过双端口存储器进行数据通信。在硬件设计的基础上,完成了基于μC/OS-II实时操作系统的检测系统软件设计。
关键词:嵌入式技术;检测系统;摆式列车
开行摆式列车是实现铁路既有线路提速的一种有效方法[1]。摆式列车分被动摆和主动摆两种类型。被动摆依靠车辆通过曲线时的离心力作用,使车体绕其摆心自动地向曲线内侧倾斜,不需要外加动力源。具有代表性的是西班牙的Talgo列车、日本的381电动车组、德国Wegmann和瑞士的Neiko;主动摆则是在外加动力的作用下使车体向曲线内侧倾斜。具有代表性的是意大利Fiat公司的ETR电动车组、瑞典ABB公司的X2000列车以及德国ADtranz公司的VT611内燃动车组。被动摆简单,不需要作动器、控制及信号采集系统。由于其在曲线上的倾摆角一般不超过3.5°,提速的幅度小,同时受倾摆机构阻力的影响,车体倾摆会产生“迟滞”现象,影响乘坐的舒适性,已从摆式列车的主流中逐渐退出。主动摆在曲线上的倾摆角可达8°,提速幅度大,车体倾摆动作响应较快,乘坐舒适。目前,世界各国摆式列车大多采用主动摆形式。根据我国的线路情况以及国外的经验,我国研制的摆式列车倾摆控制系统采用的是主动摆形式[1-3]。
主动摆式列车以列车通过曲线时所承受的未平衡离心加速度作为倾摆角度的计算依据,加速度信号的准确与否直接关系到车体倾摆动作、乘坐的舒适性和列车运行的安全性。特别是未平衡离心加速度信号测量和计算处理的实时性,关系到能否实现第一节车辆的及时倾摆控制[1-3]。因此,研制具有高的稳定性、可靠性和实时性的倾摆控制检测系统对于摆式列车的成功应用至关重要。
1 摆式列车倾摆控制系统基本组成
目前,新一代摆式列车基本上都采用指令驱动式的控制模式[2]。即控制信号由位于头车的指令中心产生,通过通信网络顺次传送到后续各车辆控制器,再由各车辆控制器控制车体实时倾摆。因此,要完成列车的倾摆控制,倾摆控制系统必须包括线路信息检测子系统、倾摆控制信号产生子系统和倾摆作动子系统,并采用列车通信网络将各个子系统连成一个分布式列车测控网络系统。图1是摆式列车倾摆控制系统原理框图。
2 基于双CPU的线路信息检测子系统
2.1 系统总体方案设计
图2是摆式列车倾摆控制线路信息检测子系统的原理框图。线路信息检测子系统主要包括传感器、信号调理、A/D转换、数据采集及信号处理等功能模块。其主要功能是实时采集来自陀螺平台、陀螺仪和加速度传感器的线路信号,经相应的信号处理,得到列车通过曲线时的未平衡离心加速度大小,据此计算出相应的倾摆角度提供给倾摆控制主控计算机。该检测子系统采用了双CPU结构,数据采集和数据处理的任务分别交由两个计算机系统完成,二者通过双端口存储器进行数据交换。
系统选用AMTEL公司的AT89S51和SAMSUNG公司的S3C44B0X两款微处理器分别作为数据采集计算机和倾摆控制主控计算机。
AT89S51是一款性价比良好的单片微处理器,具有4KB的片内Flash存储器,最高工作频率为33MHz。由于只负责进行数据采集,程序简单、代码较少,因此系统设计时不需要进行外部存储器扩展。由于用于倾摆控制的有效信号的频率范围不超过1Hz,因此对数据采集系统的工作频率没有较高要求。
S3C44B0X是SAMSUNG公司推出的基于ARM7TDMI核的16/32位RISC处理器,其丰富的片内外设接口功能,使其能方便地与各种外部设备相连,例如LCD显示器、大容量存储卡、UART通信设备、键盘和触摸屏等,并且能够方便地移植实时操作系统。主控计算机采用S3C44B0X芯片,不仅具有体积小、功耗低、高性能等特点,而且能够简化系统设计,大大降低了整个系统的成本。
系统设计中扩展了NOR Flash和NAND Flash两种类型的Flash芯片,其中一片AM29LV320DB NOR Flash(4MB)作为系统的启动盘,一片K9F2808U NAND Flash(16M×8bit)用于大量程序和数据的存储。此外,系统中还扩展了一片HY57V561620 SDRAM芯片(4Mbit×4banks×16),主要用作程序的运行空间、数据及堆栈区。
2.2 传感器及其安装
由于主动式摆式列车最大倾摆角度不超过8°,因此通过倾摆控制能补偿的最大横向离心加速度约为gsin(8°)≈1.4m/s2。而我国铁路规定客车通过曲线的最大未平衡离心加速度为0.76m/s2,因此,列车通过曲线的最大离心加速度约为2.16m/s2。但通过对所有线路试验数据的分析可知,受轨道不平顺等振动干扰因素的影响,横向加速度信号的最大幅度达到了12m/s2,因此,考虑线路测量的具体情况,加速度传感器的量程确定为2g。
试验所用陀螺仪采用液浮式双向角速率陀螺仪,安装在密封的金属盒里。两个陀螺仪测量方向相互垂直,一个测量转向架的侧滚角速率;另一个测量转向架在轨道平面内的转弯角速率。根据我国铁路工程技术规范的规定并考虑轨道不平顺引起的振动干扰噪声,侧滚角速率和转弯角速率两个方向的角速率陀螺仪的量程选为10°/s。
图3是相关传感器在机车及其转向架上的安装位置示意图。
2.3数据采集模块设计
加速度传感器和陀螺仪输出的模拟信号,经抗混叠滤波器组滤去信号中的高频成分,然后经采样保持和A/D转换变为数字信号,存储在双端口存储器中。
传感器所测加速度信号和角速率信号中都包含了大量的高频随机振动干扰。而列车车辆本身几个主要振型的固有频率在1~10Hz的范围内,所以消除干扰的低通滤波器的截止频率范围通常在0.1~1Hz。考虑到信号在计算机内部还要进行数字滤波处理,抗混叠滤波器可采用截止频率10Hz的二阶压控电压源低通滤波器。
测试系统要实现高精度测量,必须保证A/D转换器有足够高的分辨率。系统中的A/D转换器采用美国MAXIM公司的新产品MAX197芯片。MAX197是多量程(±10V,±5V,0~10V,0~5V)、8通道、内部带有采样保持电路的12位A/D转换器。转换时间6μs,采样率为100kS/s。具有标准的微机接口,输入输出与TTL/CMOS电平兼容。
3 摆式列车线路信息检测子系统软件设计
3.1 数据采集模块程序设计
基于AT89S51的数据采集模块与基于S3C44B0X的主控模块之间通过双端口存储器进行数据交换。根据摆式列车倾摆控制的实际要求,一方面数据采集模块每采集一组数据(包括8路传感器信号)并存入双端口存储器后,便以中断方式通知主控模块,主控模块随即把这组采样数据从双端口存储器读出,进行相应的数据处理运算,实现数据采集和处理的同步;另一方面,主控模块能够向数据采集模块传送命令数据,控制数据采集的开始和停止及采样时间间隔的选择等。在此数据传输中,要协调好双方对双端口存储器的访问,以免双方对相同存储器单元同时访问,保证整个系统正常、协调地工作。为此,在双端口存储器的最低地址保留6个存储单元专门用于双方的握手。
利用AT89S51内部的16位定时/计数器,采用硬件定时的方式实现8路数据的采集,并将采集的数据存入双端口存储器中。程序流程图如图4所示。
3.2 基于μC/OS-II的主控模块程序设计
主控模块软件的设计主要基于μC/OS-II实时操作系统进行[5],其总体结构如图5所示。
当系统上电或复位后,系统将从程序代码空间的首地址0x00000000开始执行,即从Main( )函数的开始处执行。程序首先执行整个系统的软硬件初始化,包括操作系统的初始化和硬件中断、定时器、接口等的初始化。初始化结束后,Main( )函数先后创建如下任务:
(1)TaskStart:系统运行后创建的第一个任务。完成一些初始化工作以及创建其他任务。所有工作完成后,此任务被删除。
(2)TaskCommand:写命令任务。根据双端口存储器STATE单元的值,向双端口存储器COM单元写入相应的命令。
(3)TaskDataProcess:数据处理任务。从双端口存储器中读取采集数据并进行相应的实时数据处理。
(4)TaskControl:倾摆控制指令产生任务。根据实时数据处理结果,按照一定的控制策略产生倾摆控制指令信息。
(5)TaskLCD:LCD显示任务。负责倾摆控制过程中重要数据及信息的显示。
(6)Task232:RS232通信任务。负责通过RS232总线与上位机通信。
初始化完成后,系统处于就绪等待状态。任务优先级较低的TaskLCD任务得到运行,完成界面显示并循环等待。当按下“开始”操作按钮时,触发相应的键盘中断服务程序,在该中断服务程序中调用OSSemPost(SendCOM)函数,发出信号量SendCOM,并使正在等待该信号量的TaskCommand任务接收到该信号量。TaskCommand任务将在键盘中断服务程序退出之后恢复运行,并向数据采集模块发出开始采集命令。当数据采集模块把一组采样数据写入双端口存储器之后,便向主控模块发出读取数据的中断请求信号。在主控模块中,该中断请求信号触发相应的数据读取中断服务程序,在该中断服务程序中调用OSSemPost(ReadDATA)函数,发出信号量ReadDATA,并使正在等待该信号量的TaskDataProcess任务接收到该信号量。TaskDataProcess任务将在数据读取中断服务程序退出之后恢复运行,读取数据并进行相应的实时数据处理。
4 线路试验
摆式列车的研制过程中,在成渝线和成昆线上进行了多次倾摆控制系统线路试验。摆式列车倾摆控制的关键是及时、准确地获取列车通过曲线时的未平衡离心加速度信号,据此产生倾摆控制指令。图6是加速度传感器实际测量的未平衡离心加速度信号及其滤波结果。图7是陀螺仪测量的列车侧滚角速率信号及其滤波结果。
本文根据摆式列车的基本工作原理,设计制作了基于双CPU的嵌入式线路信息检测子系统,并对检测子系统软硬件结构及其主要功能进行了描述。对该检测子系统进行了实际线路试验和数据的分析处理。结果表明,本文所设计的基于双CPU的嵌入式摆式列车倾摆控制检测系统能实现摆式列车通过曲线时离心加速度等信号的有效检测,工作性能稳定、可靠,具有较好的实时性。
参考文献
[1] 李芾.国外摆式列车发展和运用概况[J].西南交通大学学报,2000,3(6):569-575.
[2] 倪文波,耿标.摆式列车倾摆控制系统[J].西南交通大学学报,2000,35(6):642-646.
[3] 倪文波,刘荣,王雪梅,等.摆式客车机电式倾摆系统研究[J].铁道学报,1999,21(5):20-23.
[4] 周立功.ARM微控制器基础与实战[M].北京:北京航空航天大学出版社,2003.
[5] 任哲.嵌入式实时操作系统?滋C/OS-II原理及应用[M].北京:北京航空航天大学出版社,2006.