DSP在机车信号处理中的应用
摘要:采用DSP芯片TMS320C2812为核心器件,结合外部A/D转换器TLC2574,组成机车信号处理系统,具有实时性和抗干扰性等优点。剖析了机车信号检测和处理的理论,并介绍硬件接口部分的软件实现。
关键词:TMS320C2812,TLC2574,软件设计
1 引言
铁路机车信号测是保证列车安全运行的重要手段之一。我国铁路在建国前采用的轨道电路传输信息少,分布也极不平衡,建国后从50年代中期开始,轨道电路技术在我国有了长足的发展,不仅传输的信息量增加而且它的使用已遍及全国铁路各线,构成了我国铁路信号技术发展的基础。
在铁路技术发达国家,把以保障运行安全为目的,以监测运行速度为手段对列车运行进行控制的系统称为列车自动防护系统ATP(AutomaticTrainProtectionSystem)。通常,这种系统由运行指令信息传递、运行所处线路参数信息传递、列车自身运行状况信息的采集等信息获取环节和对信息进行处理并做出控制的主机组成。它主要包括速度控制、现实和警告提示、运行记录三大功能。我国的轨道电路处理控制技术还处于初级阶段,目前的ATP系统已经不能适应日益发展的机车信号处理系统对高速、可靠和稳定的要求,因此,一种新型的机车信号处理系统的开发生产有其必然性。
我国铁路机车信号主要采用交流计数、移频键控FSK(Frequency-shift Keying)和我国引进法国的UM71型轨道电路三种主要技术。但是以上技术都需要有运算能力强大的微型控制器支持,传统的单片机的运算速度已经不能满足,所以,采用DSP作为主运算控制器,是实现这一系统的必要条件。
2 机车信号检测和处理系统的组成
整个机车信号检测处理系统的系统框图如图1所示。以TMS320C2812作为核心器件,机车信号通过TLC2574进行采样和模/数转换后由串行口SPI输入DSP,机车的制式信号(采用交流计数,移频键控FSK还是UM71制式)和上下行信息由外部MCU提取并发送至DSP。通过对收到的数字信号以及制式信号和上下行信息的计算,DSP得出前方轨道的占用钢轨情况,并在GPIO的部分引脚上输出控制信息,交由下级MCU进行处理。同时,DSP将控制信息存入外部FLASH中,作为与计算机交互的监控信息使用。DSP的串行口SCI与计算机的串口COM相连,在收到计算机要求读取控制信息时,便将外部FLASH中的控制信息读出,输出到计算机以供操作人员监控。外部RAM作为DSP的外部扩展程序存储器使用,存放程序代码。
系统的核心就是对轨道电路上的信号进行采样,通过已知的载频信息和上下行信息,由DSP算出信号频率,给出相应的控制信号。计算信号频率所采用的算法有很多种,较为简单直观有过零计数法,即在固定时间内检测信号过零的次数,得出信号频率,还有精度更高更具效率的快速傅立叶变换FFT,将时域信号转换到频域后再进行处理。可以综合处理器的运算速度以及软件的效率选择一种适合的算法.由于TMS320C2812具有150Mhz的系统时钟,所以整个系统的运算速度是相当快的,完全可以满足采样频率所提出的要求。
3 轨道电路简介
交流计数电码自动闭塞是我国铁路上应用较多的一种闭塞制式,是以钢轨作为通道传递交流脉冲,以脉冲的数目控制地面和机车信号机的一种自动闭塞制式。
国产移频轨道电路在两个闭塞分区之间带有绝缘节,为了提高轨道电路的抗干扰性,相邻两个闭塞分区中采用两个不同的载频频率,在上行线采用的是中心频率为650Hz和850Hz的两种载频频率下行线采用的是中心频率为550Hz和750Hz的两种载频频率,频偏为55Hz,调制频率从7Hz到26Hz,间隔为0.5Hz,从中选取18个频率。
法国UM71轨道电路采用的是无绝缘节的轨道电路,相邻两个闭塞分区之间采用的是电气隔离,四种载频的中心频率为1700Hz、2000Hz、2300Hz、2600Hz,频偏为11Hz,调制频率从10.3Hz,每隔1.1Hz有一种调制频率,直到29Hz。
4 核心元件简介
4.1 TMS320C2812及部分片上外设介绍
TMS320C2812是一款面向工业控制设计的32位定点DSP芯片,主频为150Mhz,片上外设拥有12路PWM,6通道QEP,2×8通道、12位ADC,2通道SCI异步串口,1通道McBSP同步串口,1通道SPI同步串口以及1通道eCAN总线。在机车信号系统中,主要使用SPI同步串口、SCI异步串口、GPIO以及内部定时器。
SPI串口是一种高速同步串口,允许数据长度为1到16位的串行数据输入或输出。在正常情况下,SPI用来作为DSP控制器和外设或另一个处理器之间的通讯。SPI模块包括4个外部引脚:从发/主收引脚SPISOMI、从收/主发引脚SPISIMO、从发使能引脚SPISTE、串行时钟引脚SPICLK。SPI的工作方式有主动和从动二种模式,在主动方式中,DSP收发数据是通过从SPICLK给从动设备发出时钟信号进行的,SPISTE提供给从动设备选通信号。而从动方式则恰恰相反,是通过从SPICLK接收主动设备的时钟信号进行的,SPISTE则作为选通信号使用,接收主动设备的选通。在主动方式下,数据从SPISIMO发出,从SPISOMI接收;而在从动方式下,数据从SPISOMI发出,从SPISIMO接收。SPI的波特率也是可编程的,通过对BRR寄存器的修改,可以在一定范围内自由选择波特率大小。SPI还支持4种时钟模式,即数据的收发是在时钟的上升延或是下降延进行,并且支持经过半时钟周期的延时收发。在标准SPI收发过程中,当收到或发送的数据达到一定的比特数后,会产在SPIINT上产生SPI中断。具体SPI收发时序如图3所示。SPI还支持16级发送/接收FIFO,为收发数据提供了长度为16的先进先出缓存,当使用FIFO时,接收中断在RXINT上产生,而发送中断在TXINT上产生。
SCI模块支持在CPU和其他异步外设之间的数字通信,SCI的串口接收和发送均为双缓冲,接收和发送都有独立的使能和中断位。在全双工模式下,两者可以独立或同步运行。为了确保数据完整性,SCI模块检查接收数据的断点,校验位和帧错误。在具体使用中,SCI和普通单片机的串行口类似。
GPIO口是功能具有可选择性的I/O口,它既可以作为普通I/O口进行输入输出操作,又可以作为特殊引脚,发挥特殊的作用,如作为外部中断引脚等。功能的选择,由GPxMUX寄存器来进行控制。一旦把一个GPIO口设置为普通I/O口,还须通过配置GPxDIR寄存器来决定它是输入还是输出口。具体的GPIO的置位与清零,可以通过设置GPxSET和GPxCLEAR寄存器来完成,或者直接写GPxDAT寄存器。
TMS320C2812片上有3个32位CPU定时器,分别被称为CPU定时器0,1和2。每个定时器中均有一个32位减计数器,当计数器减到0时产生一个中断。
4.2 A/D转换器TLC2574简介
TLC2574是一款可编程的4通道12比特A/D转换器,最大采样率可达到200Khz,并且提供了与外部DSP的SPI的接口,能在最大25Mhz的时钟频率下工作,为与DSP进行高速通信提供了非常便利的条件。
TLC274的采样率,工作模式以及通道选择等操作都是可编程的,只要通过对它的外部接口写入控制命令字,就可以轻松实现对它的编程。当采用One Shot模式并通过选通信号进行触发时,在对TLC2574进行选通后,它就开始按照写入接口的命令字开始工作,每次A/D转换结束都能在它的中断引脚上产生一次中断,由外部控制器进行中断处理。选通信号可以由DSP的SPISTE得到,当DSP向A/D转换器写入控制命令字时,SPISTE就输出一个低电平,选通了TLC2574,同时,上次采样的数据也输入到DSP,当这次的数据被采样并进行A/D转换完毕后,SPISTE自动拉高,完成一次A/D转换,并在INT引脚上产生中断。TLC2574与TMS320C2812的接口如图3所示。
5 软件设计框架
机车信号检测处理系统属于一个嵌入式系统,因此,在软件设计时,要考虑到系统的稳定性、可靠性以及成本问题。
整个系统的工作是从外部A/D进行一次采样开始的,在DSP接受到采样数据后,才开始进行运算并输出相应的控制信号,所以,可以采用定时器来控制外部A/D的采样频率,采样的同时可以接收外部MCU给出的上下行信息、制式信息和GPIO上输入的外部控制信息,这样系统进行一次计算需要的机车信号便全部得到了。每次A/D转换结束后产生一次中断,在中断服务程序里使下一个任务就绪,中断服务程序结束后DSP开始执行下一个任务,即对采样数据进行计算,得出控制信息,然后就绪下一个任务,输出控制信息并保存有用的信息。如果此时收到SCI口中断,就说明用户需要了解系统的运行状况,便根据SCI得到的命令,从SCI发送相应的信息。完成这一系列的操作后,系统就可以进入等待状态,等待下一次定时器中断的来临,触发新一次A/D转换。此时,可使DSP进入睡眠状态来减少功耗,由定时器中断使DSP重新工作。程序框图如图4。
6 应用分析与结论
机车信号处理系统采用DSP为控制器,具有速度快,功耗低的特点。在软件设计时引入了简单嵌入式系统的概念,增加了系统的稳定性,在运行时一旦产生错误,系统会自动将错误号保存供用户终端作为检修的依据。提高了火车运行的安全性和可靠性,并大为降低了机车驾驶员的工作量。在当今世界上,各国都在开发高速火车,这样,对机车信号的检测和处理要求就更加高,需要更加高速的CPU处理器,更加稳定的软硬件系统,更加可靠的机车接收设备,这些都在不断的开发和完善之中。
|