新闻中心

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

基于DSP和FPGA的磁浮列车同步485通信方式的研究

作者:时间:2009-05-18来源:网络收藏

  2) ANF信号的产生:ANF信号每隔20ms发送一次,每次发送脉宽为10个时钟周期。ANF信号的产生可以分成两部分实现,首先产生每隔20ms的脉冲信号,然后把此脉冲信号的宽度变成10个时钟周期。

  (2)串行数据的发送与接收

  1) 串行数据的产生:根据协议的要求,测速定位单元每隔20ms应串行移出72bits数据。如果每个发送时钟周期移出一位,则需要72个时钟周期才能全部移出,因此门控信号也需要保持72个时钟周期的宽度。

  2) 串行数据的接收:串行接收一帧(72bits)数据与异步串行接收是不同的。由于收发时钟不是异步的,因此不能以判断在空闲态以后出现的第一个低电平作为一帧的开始,而是以门控信号(UEF)的上升沿作为一帧数据到来的判断。为了避免数据传输过程中毛刺的影响,仍以波特率时钟的16倍进行接收,即每隔16个波特率时钟周期采样一次,因此每个数据将在传输的每一位的中点处被采样。

  串行数据发送与接受的仿真时序图如图3所示。

图3 485仿真时序图

  1.3 之间的数据交换

  时序是用作为来模拟的,但是通信数据最终是与系统的CPU进行数据交换的。在该通信的设计中,通信双方均采用TI公司的TMS320F2812作为处理器,即通信的的数据交换必须满足一定的时序,才能保证测速定位单元向车载电控制单元实时地传输位置及速度信号。本系统中,采用C语言进行软件设计。

  (1) 测速定位单元侧的数据交换

  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收发器读数据的硬件连接示意图



评论


相关推荐

技术专区

关闭