龙8手机游戏官网:基于FlexRay的飞行仿线B单元设计
来源:龙8手机版网页登录官网 作者:龙8官方网手机
MILSTD1553B(以下简称1553B)总线年代提出的飞机内部电子系统联网标准,由于具有可靠性高、实时性好、使用灵活等优点,广泛应用在军用有人和无人机中。我国于1987年建立了与1553B相应的国家军用标准《数字式时分制指令/响应型多路传输数据总线年对原标准进行扩充和修订(GJB 289A-1997),一直沿用至今。
FlexRay总线是一款新型时间总线,具有高速率,时间确定性,信道容错冗余功能,完全满足新型分布式结构飞行仿真计算机内部总线数据通信需求。根据分布式结构飞行仿线B通信接口的需求,本文设计了基于FlexRay总线 分布式飞行仿真计算机简介典型的基于FlexRay
总线的分布式飞行仿真计算机由中央处理单元、串口量单元、模拟量单元、开关量单元及1553B接口单元组成。其中CPU单元是分布式飞行仿真计算机的核心主控单元,其功能主要通过CAN总线接收其余四个功能模块的上行数据,经控制律解算及逻辑管理后,将数据下行传输给各功能板。其结构图如图1所示,本文设计研究一种基于FlexRay新型总线B接口单元。
FPGA硬件连接灵活,编写程序简单,且该芯片IO口资源丰富。图2为基于FlexRay的飞行仿线B节点硬件总体设计。如图2所示,本设计采用BU-61580S3作为1553B主控芯片。BU-61580
BU-61580的IO接口为5 V电平接口,而EP3CQ240的IO电平为3.3 V,故在FPGA与BU-61580之间需要通过一个电平转换模块进行电平匹配。FlexRay节点有3种架构方式,分别为微处理器(MCU)+通讯(CC)+总线驱动器(BD),微处理器+总线种。其中前两种架构已经实现,本设计采用微处
理器+通信+总线收发器的架构模式,其中通信采用MFR4310,它是飞思卡尔半导体公司推出的一款面向汽车的FlexRay设备,它的物理层通道有两个独立的发送/接收通道,每个通道的传输速率可达10Mbit/s。通信两路通道的总线是恩智浦半导体公司推出的FlexRay收发器,它提供了1Mbit/s到10Mbit /s的传输率,可以配置成主动星型或者节点收发器。
为了保证系统正确无误运行及调试方便考虑,本设计还增加了供电系统、时钟系统、调试及测试接口、外部存储器系统、复位及复位配置系统、RS232总线个模块作为辅助功能。
BU-61580芯片为DDC公司使用最为广泛的控制芯片,拥有多种操作模式,如透明模式、缓冲模式,本设计采用缓冲模式。如图3所示,通过将BU-61580的16/8引脚连接至VCC,TRANSPARENT/BUFFERED、ZEROWAIT引脚连接至GND,将BU-61580的工作模式设置为16位零等待缓冲模式,具体管脚配置见表1。
由于BU-61580的输入高电平阈值为2 V,输出高电平为5 V,而FPGA的工作电平为3.3 V,故FPGA的输出电平可用于驱动BU-61580,但BU-61580输出信号至FPGA过程中需要外加电平转换芯片。本设计采用的是SN74ALVC164245作为电平转换芯片,该芯片拥有十六位电平转换长度。
本设计采用的隔离变压器芯片为B-3226,该芯片每个通道通信可以达到1 Mbit/s,可以提供很好的通信带宽,具有强大的容错传输功能。耦合变压器与BU-61580硬件连接如图4所示,BU-61580内部拥有两路1553B收发器分别与隔离变压器B-3226相连,B-3226将1553B电平逻辑转换为TTL逻辑电平,进而将处理后的信号送入BU-61580内部的收发器中,实现一次1553B接收通信。
本设计中,选择MFR4310作为FlexRay总线主控芯片,该芯片具有两条通信通道,每条通道速率可配置为:2.5,5,8,10Mbit/s;TJA1080作为独立的FlexRay收发器,具有低电磁辐射特性。外界传感器数据通过1553B总线传输至本板卡后,经FPGA预处理后通过FlexRay总线发送至CPU单元中,从而实现一次CPU读取外部传感器信息。
MFR4310与处理器拥有3种连接模式,分别为:异步存储器接口(AMI)、MPC接口、HCS12接口。硬件设计通过配置IF_SEL0和IF_SEL1两个引脚来选择哪种接口模式。按照飞思卡尔官方推荐连接电路,MPC接口主要为MFR4310与PowerPC处理所设计的接口,而HCS12接口主要为MFR4310与HCS12系列处理器所设计的接口,由于本设计采用的处理器为FPGA,故采用异步存储器接口。具体硬件连接图如图5所示,AMI接口将通信配置为异步存储器从设备,进而能够与多种处理器进行数据交互,在AMI接口模式下,处理器通过控制CE#、0E#、WE#等信号实现与MFR4310数据交换。
图5为通信引脚配置连接图,如图5所示,由于本设计采用AMI模式,需要设置IF_SEL[0:1]为{2h10},该值可通过将IF_SEL0引脚下拉、IF_SEL1引脚上拉来实现。
通信与收发器硬件连接图如图6所示,FlexRay模块内部主要由由控制主机接口(CHI)与协议引擎(PE)等部分组成,主机可通过CHI模块访问FlexRay功能模块的配置、控制和状态信息机消息缓冲区的配置、控制和状态信息。这些消息缓冲区位于FlexRay模块内存(FRM)中,用于存储发送和接收的帧头、有效负载数据、时序消息等。而PE模块有TxA和TxB两个发送单元及RxA、RxB两个接收单元,分别用于两个FlexRay通道发送和接收帧信息。
通信通过信号引脚TxD、RXD、TXEN与总线收发器进行连接,正常高速通信模式下,当MFR4310通讯的TJXEN [1:2]#引脚为高电平时,TJA1080的发送使能引脚TXEN有效,这时TJA1080的TXD输入引脚把从通讯TXD_BG[1:2]引脚输入的数字位流,转换成相应的模拟总线信号再输出到FlexRay总线将FlexRay总线上的模拟总线信号转换成相应的数字位流,从TJA1080的RXD引脚输送到通讯MFR310的RXD_BG2引脚上,完成总线通信的数据通信。
从上表可看出,各个传感器的频率并非完全一致。而BU-61580可以通过使用大小周期来支持多种频率的数据传输,在自动发送模式下,可以通过设置小周期为100 Hz、大周期为50 Hz,进而实现数据帧按要求的速率进行传输。
总线的信息缓冲器(Message Buffer,简称MB)是用来存储帧数据、配置、控制、状态数据的结构。当总线通信时,MB是暂时存储数据的物理介质,当数据发送时,应用程序将数据存储于MB中,当周期轮转至发送时槽时,硬件节点将数据从MB中取出发送至另一接收节点的相应MB中,实现一次数据通信。
3)消息缓冲器初始化。初始化FlexRay通信消息缓冲器与通信数据报文的对应关系,由函数Fr_buffers_init()完成。节点初始化自身完成后就进入通信就绪状态(PO C:ready)。之后,进入初始化网络阶段,这阶段通过发送启动帧完成网络启动。根据表2的配置,节点ECU1和ECU2分别在时槽1和时槽4发送启动信息帧,同时侦听网络中的启动帧个数,直到网络中有足够的启动帧启动网络,数据在正常主动状态下(POC:nomal active)完成节点间通信。详细流程图如图7所示。
最后对所设计的基于FlexRay总线B节点进行测试,其测试平台如图8所示。通过NI测试设备对传感器数据进行模拟,进而产生一组传感器数据,实现1553B总线通信。
系统上电后,CPU板卡及1553B板卡进行寄存器配置,实现自身初始化,然后CPU板卡作为冷启动节点发送10个冷启动帧至FlexRay总线B板卡接收到冷启动帧后,立即加入FlexRay总线集群中,至此,总线准备完成。待总线准备完成,节点间开始通信,图9为CPU节点与1553B节点间通信波形。
如图9所示,FlexRay通信周期为16 ms,静态时隙长度为50s,将CPU板卡与1553B板卡进行通信实验6小时,实验结果如表3所示。
通过实验结果可以得出,节点设计合理,本设备可准确接收外界1553B传感器信息,并进行数据处理功能,可为新型分布式无人机飞行仿线B作为航空内部电子系统联网标准,可设计为飞行仿真计算机的外部总线,而FlexRay为新型总线,具有速率快,多冗余等特点,可设计为飞行仿真计算机外部总线。这两种总线各展所长,为飞行仿真计算机提供了快速、稳定的数据传输链路。本文设计了基于FPGA的1553B总线节点,通过与NI设备进行数据通信,结果正确,能够满足飞行仿真计