您的位置 首页 IOT

根据DSP+FPGA的磁浮列车同步485通讯研讨与完成

测速定位单元紧邻悬浮电磁铁及长定子绕组和铁心,处于悬浮磁场和牵引磁场中,电磁环境非常复杂,这对其通信设备的电磁兼容性能提出了很高的要求。另外,为满足牵引控制系统的需求,测速定位信号的精度要求相当高。因

在高速磁浮交通体系中,车载测速定位单元对车辆的方位和速度进行实时丈量,并将方位和速度信号经过无线电体系传送至地面上的牵引操控体系和运转操控体系,以用于长定子直线同步电机牵引的反应操控,以及车辆运转的指挥和安全防护。测速定位单元是牵引和运控体系闭环操控的中心与要害。

测速定位单元紧邻悬浮电磁铁及长定子绕组和铁心,处于悬浮磁场和牵引磁场中,电磁环境非常杂乱,这对其通讯设备的电磁兼容功用提出了很高的要求。别的,为满意牵引操控体系的需求,测速定位信号的精度要求适当高。因而,测速定位信号传输的速度、实时性及可靠性都面对应战。依据以上考虑,本文提出了依据DSP和FPGA的磁浮列车同步485通讯办法的研讨,以处理上述应战。

同步485的完结办法

考虑到测速定位单元的工作环境及通讯功用需求,在挑选该单元与车载无线电体系之间的通讯办法时,经过剖析,本研讨选用了传输速率较高的同步通讯办法,并运用屏蔽功用较好的双绞线完结RS-485平衡型差分传输。

接口规划及通讯协议

测速定位单元与车载无线电操控单元之间的通讯接口联系如图1所示。车载无线电操控单元为主控方,车辆测速与定位单元为受控方。通讯两边均由收发器和操控器构成,收发器之间选用RS-485同步串行接口办法,每个接口有4对差分线。

图1中,CLK为时钟信号,ANF为无线电恳求信号,UEF为门控信号,DATA为数据信号。车辆测速定位单元每20ms向无线电操控单元发送一次数据,传输速率为512kbps。为了防止小脉冲信号的搅扰,ANF信号的宽度为10个CLK信号;在ANF信号变为低电平后,等候10个CLK信号宽度,UEF才开端跳变为有用。ANF、UEF、DAFA信号均在CLK的上升沿改变。在无信号传输时,UEF、DATA、ANF均为低电平,时钟信号坚持传输。数据传输选用左移办法,即先传高位,后传低位。信息帧格局如表1所示。

同步485的收发器完结

在本文所论说的通讯体系中,车辆测速定位单元及车载无线电操控单元两边均选用XC2S100作为通讯收发器,模仿同步485的发送与接纳时序。同步485的FPGA规划主要是依据Verilog硬件描绘言语,所运用的EDA东西包含ISE(含其内部集成东西)、Modelsim。

时钟及守时信号的的发生

车载无线电操控单元需求发生速率为512k的时钟信号与20ms一次的ANF信号。别的,该单元在串行接纳定位数据时接纳时钟应为512k(波特率时钟)的16倍,即8M。因而,分频器在同步485通讯办法中得到有用运用。

对偶数分频,只需规划一个计数器进行计数,待计数至分频数的二分之一时,使分频后的时钟电平翻转即可;奇数分频较为杂乱,因为计数器不能对非整数进行计数,需运用必定的算法进行处理。这儿对奇数分频模块进行功用仿真后的波形见图2。

ANF信号每隔20ms发送一次,每次发送脉宽为10个时钟周期。ANF信号的发生能够分红两部分完结:首要发生距离20ms的脉冲信号,然后把此脉冲信号的宽度变成10个时钟周期。

串行数据的发送与接纳

发生串行数据时,依据通讯协议的要求,测速定位单元每隔20ms应串行移出72bits数据。假如每个发送时钟周期移出一位,则需求72个时钟周期才干悉数移出,因而门控信号也需求坚持72个时钟周期的宽度。

接纳串行数据时,同步串行接纳一帧(72bits)数据与异步串行接纳是不同的。因为收发时钟不是异步的,因而不能以判别在闲暇态今后呈现的第一个低电平作为一帧的开端,而是以门控信号(UEF)的上升沿作为一帧数据到来的判别。为了防止数据传输过程中毛刺的影响,咱们仍以波特率时钟的16倍进行接纳,即每隔16个波特率时钟周期采样一次,因而,每个数据将在传输的每一位的中点处被采样。

串行数据发送与接纳的仿真时序图见图3。

收发器与操控器之间的数据交换

依据RS-485的同步通讯时序是用FPGA作为通讯收发器来模仿的,可是通讯数据最终是与体系的CPU进行数据交换的。在该通讯办法的规划中,通讯两边均选用TMS320F2812作为通讯操控器。FPGA与DSP的数据交换有必要满意必定的时序,才干确保测速定位单元向车载无线电操控单元实时地传输方位及速度信号。本体系中,DSP操控器选用C言语进行软件规划。

测速定位单元侧DSP与FPGA的数据交换

TMS320F2812的外部存储器XINTF可供挑选的外部地址空间有XINTF0、XINTF2及XINTF6。其间XINTF0运用XZCS0AND1作为片选信号,外部存储器扩展空间为8K;XINTF2与XINTF6别离运用XZCS2、XZCS6AND7作为片选信号,外部存储器扩展空间均为0.5M。测速定位单元在发送方位速度信息时,经过DSP的数据线传输到FPGA,DSP依据相应的外部存储器片选信号找出对应的地址,在从底层传感器得到一个新的定位数据后写入该地址。相对应的硬件衔接框图见图4。

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

为了削减硬连线,这儿只衔接地址线的高五位,对其间的低四位地址线进行4~16译码,最高位地址线作为该译码器的使能信号。取对应于一个外部存储器片选信号的四个地址,比方片选信号XZCS2为低,即可选用0xe0000,0xe4000,0xe8000,0xec000四个地址作为DSP向FPGA写数据的地址。

因为每个不同的地址都对应一个地址译码值,当四个译码值都呈现后才能够为一次定位信息传送完结。这时把接衔接纳到的七个字节加上帧头及帧尾,作为测速定位单元发送给车载无线电操控单元的一帧数据。

车载无线电操控单元侧DSP与FPGA的数据交换

为了防止占用过多的CPU资源,车载无线电操控单元中DSP从FPGA读数据时不选用查询办法,而选用外部中止来接纳数据。将DSP的16bits数据线与FPGA衔接,DSP的XINT1也衔接到FPGA的I/O管脚。若选用XZCS0AND1作为外部存储器片选信号,则DSP从FPGA读数据的寻址空间规模为0x002000—0x004000,这个地址规模内所读出的数据即为数据线上传送到DSP的定位数据。相对应的硬件衔接框图见图5。

因为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,则要进行相应的字符转义),顺次接纳以下的数据便得到完好的一帧定位信息。

通讯两边的原理图

依据以上对同步485完结办法的描绘,在ISE中使用ECS东西所描绘的顶层原理图如图7和图8所示。包含测速定位单元同步数据发送和车载无线电操控单元同步数据接纳两部分。

图7中,addr_decode为地址译码模块,用于从DSP完好地接纳一帧定位信息;tra485data为串行数据及门控信号发送模块。其间,din(15:0)直接来自DSP的16bits数据线;addr(3:0)与DSP的A17~A14地址线相连;clkin及anfin信号由车载无线电操控单元供给。输出的dataout及uefout经过输出缓冲及差分电平转化后送给车载无线电操控单元。

在图8所示的车载无线电操控单元同步数据接纳方的原理图中,divide_512k为发送时钟发生模块,发生通讯所需的波特率时钟;anf_shift用于发生无线电恳求信号;rec485data用于串行接纳定位信息并经过dataconvert模块转发到通讯操控器。其间,Dataout(15:0)直接经过数据线连到DSP,Xint1则连到DSP的外部中止1。anfout和clkout由输入的晶振频率分频后得到,经输出缓冲及差分电平转化后送给车辆测速定位单元。

结语

在高速磁浮列车特别的通讯环境中,依据RS-485物理层的同步通讯办法体现出其抗搅扰性强、实时性好、误码率低一级长处,且完结原理简略。使用FPGA所完结的通讯收发器规划灵敏、可靠性高,其功用在实践运用中已得到验证。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/yingyong/iot/195128.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部