磁浮列车同步485通信方式的研究
在高速磁浮交通系统中,车载测速定位单元对车辆的位置和速度进行实时测量,并将位置和速度信号通过无线电系统传送至地面上的牵引控制系统和运行控制系统,以用于长定子直线同步电机牵引的反馈控制及车辆运行的指挥和安全防护。测速定位单元是牵引和运控系统闭环控制的核心和关键。
测速定位单元紧邻悬浮电磁铁及长定子绕组和铁心,处于悬浮磁场和牵引磁场中,电磁环境非常复杂,对其通信设备的电磁兼容性能提出了很高的要求。另外,为满足牵引控制系统的需求,测速定位信号的精度要求相当高。因此,对测速定位信号传输的速度、实时性及可靠性都有非常高的要求。
1同步485的实现方法
考虑到测速定位单元的工作环境及通信功能需求,在选择其与车载无线电系统之间的通信方式时,经过分析和比较,决定采用传输速率较高的同步通信方式,并使用屏蔽性能较好的双绞线实现RS-485平衡型差分传输。
1.1 接口设计及通信协议
测速定位单元与车载无线电控制单元之间的通信接口关系如图1所示。车载无线电控制单元为主控方,车辆测速与定位单元为受控方。通信双方均由收发器和控制器构成,收发器之间采用RS-485同步串行接口方式,每个接口有4对差分线。
图1 通信接口关系示意图
图1中,CLK为时钟信号,ANF为无线电请求信号,UEF为门控信号,DATA为数据信号。车辆测速定位单元每20ms向无线电控制单元发送一次数据,传输速率为512kbps。为了防止信号干扰的小脉冲,ANF信号的宽度为10个CLK信号;在ANF信号变为低信号后,等待10个CLK信号宽度后,UEF才开始跳变为有效。ANF、UEF、DATA信号均在CLK的上升沿变化,在无信号传输时,UEF、DATA、ANF均为低电平,时钟信号保持传输。数据传输时,采用左移方式,即先传高位,后传低位。信息帧格式如表1所示:
表1 信息帧格式
1.2 同步485的收发器实现
在本文所论述的通信系统中,在车辆测速定位单元及车载无线电控制单元双方均采用Xilinx公司的XC2S100作为通信的收发器,模拟同步485的发送与接收时序。同步485的FPGA设计主要是基于Verilog 硬件描述语言,所使用的EDA工具包括ISE(含其内部集成工具)、Modelsim。
(1)时钟及定时信号的的产生:
对于车载无线电控制单元需要产生512k速率的时钟信号与20ms一次的ANF(无线电请求)信号。另外,对于该单元在串行接收定位数据时其接收时钟应为512k(波特率时钟)的16倍,即8M。因此,分频器在同步485通信方式中得到广泛应用。
1) 偶数分频较为简单,只需设计一个计数器进行计数,待计数至分频数的二分之一时使分频后的时钟电平翻转即可;奇数分频较为复杂,因为计数器不能对非整数进行计数,需使用一定的算法进行处理。对奇数分频模块进行功能仿真后的波形如图2所示:
图2 分频模块仿真波形
2) ANF信号的产生:ANF信号每隔20ms发送一次,每次发送脉宽为10个时钟周期。ANF信号的产生可以分成两部分实现,首先产生每隔20ms的脉冲信号,然后把此脉冲信号的宽度变成10个时钟周期。
(2)串行数据的发送与接收
1) 串行数据的产生:根据通信协议的要求,测速定位单元每隔20ms应串行移出72bits数据。如果每个发送时钟周期移出一位,则需要72个时钟周期才能全部移出,因此门控信号也需要保持72个时钟周期的宽度。
2) 串行数据的接收:同步串行接收一帧(72bits)数据与异步串行接收是不同的。由于收发时钟不是异步的,因此不能以判断在空闲态以后出现的第一个低电平作为一帧的开始,而是以门控信号(UEF)的上升沿作为一帧数据到来的判断。为了避免数据传输过程中毛刺的影响,仍以波特率时钟的16倍进行接收,即每隔16个波特率时钟周期采样一次,因此每个数据将在传输的每一位的中点处被采样。
串行数据发送与接受的仿真时序图如图3所示。
图3同步485仿真时序图
1.3收发器与控制器之间的数据交换
基于RS-485的同步通信时序是用FPGA作为通信收发器来模拟的,但是通信数据最终是与系统的CPU进行数据交换的。在该通信方式的设计中,通信双方均采用TI公司的TMS320F2812作为处理器,即通信的控制器。FPGA与DSP的数据交换必须满足一定的时序,才能保证测速定位单元向车载无线电控制单元实时地传输位置及速度信号。本系统中,DSP控制器采用C语言进行软件设计。
(1) 测速定位单元侧DSP与FPGA的数据交换
TMS320F2812的外部存储器XINTF可供选择的外部地址空间有XINTF0,XINTF2,XINTF6。其中XINTF0 使用XZCS0AND1作为片选信号,外部存储器扩展空间为8K;XINTF2与XINTF6分别使用XZCS2、XZCS6AND7作为片选信号,外部存储器扩展
磁浮列车同步485通信方 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)