新闻中心

EEPW首页>嵌入式系统>设计应用> 磁浮列车同步485通信方式的研究

磁浮列车同步485通信方式的研究

作者: 时间:2016-12-16 来源:网络 收藏

  (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作为片选信号,外部存储器扩展空间均为0.5M。测速定位单元在发送位置速度信息时,是通过DSP的数据线传输到FPGA,DSP根据相应的外部存储器片选信号找出对应的地址,在从底层传感器得到一个新的定位数据后写入该地址。相对应的硬件连接框图如图4所示:

图4 车辆测速定位单元DSP控制器向FPGA收发器写数据的硬件连接示意图

  根据协议要求,定位信息每次发送时包括5个字节的用户数据和2个字节的CRC校验,因此16bits数据线至少需要连续发送四次才能将底层的定位信息完整地传送到FPGA。

  为了减少硬连线,这里只连接地址线的高五位,对其中的低四位地址线进行4-16译码,最高位地址线作为该译码器的使能信号。取对应于一个外部存储器片选信号的四个地址,比如片选信号XZCS2为低(对应的外部存储器地址范围:0x080000―0x100000),即可选用0xe0000,0xe4000,0xe8000,0xec000四个地址作为DSP向FPGA写数据的地址。

  由于每个不同的地址都对应一个地址译码值,当四个译码值都出现后才可认为一次定位信息传送完成。这时把连续接收到的七个字节加上帧头及帧尾作为测速定位单元发送给车载无线电控制单元的一帧数据。相对应的地址译码值如表2所示。

  表2 地址译码值

(2) 车载无线电控制单元侧DSP与FPGA的数据交换

  由于采样时间为毫秒级,为了避免占用过多的CPU资源,车载无线电控制单元中DSP从FPGA读数据时不采用查询方式,而采用外部中断来接收数据。将DSP的16bits数据线与FPGA连接,DSP的XINT1也连接到FPGA的I/O管脚。若选用XZCS0AND1作为外部存储器片选信号,则DSP从FPGA读数据的寻址空间范围为0x002000―0x004000,这个地址范围内所读出的数据即为数据线上传送到DSP的定位数据。相对应的硬件连接框图如下:

图5 车载无线电传输单元DSP控制器从FPGA收发器读数据的硬件连接示意图

  由于FPGA传送到DSP的一帧数据为72bits,因此通过16bits数据线传输需要分5次才能传送完,每16bits数据到达时产生一次外部中断。设波特率时钟为512k,假设来自定位单元完整的一帧数据为0x02123456789abcde03,车载无线电单元通过16bits数据线分次转发到DSP的数据则为0x0002, 0x1234, 0x5678, 0x9abc,0xde03 。数据及中断信号产生的时序如图6所示。由图6可以看出,每对应移出一次dataout,都会相应地发出一个外部中断信号xint1,DSP一旦接收到外部中断便在中断服务子程序中从16bits数据线读取信号值。为了完整的接收一帧信号,可在外部中断服务程序中定义一个16级FIFO,当从FIFO的最底层读出的数据为0x02时,便可以判断一帧数据的开始(若在用户数据和校验值中存在0x02则要进行相应的字符转义),依次接收以下的数据便得到完整的一帧定位信息。



评论


技术专区

关闭