APP下载

基于FlexRay的飞行仿真计算机1553B单元设计

2014-01-15吴文志吕迅竑

电子设计工程 2014年19期
关键词:收发器电平总线

吴文志,陈 欣,吕迅竑

(南京航空航天大学 自动化学院,江苏 南京 210016)

MIL-STD-1553B(以下简称1553B)总线标准是美国于20世纪70年代提出的飞机内部电子系统联网标准,由于具有可靠性高、实时性好、使用灵活等优点,广泛应用在军用有人和无人机中。我国于1987年建立了与1553B相应的国家军用标准 《数字式时分制指令/响应型多路传输数据总线》(GJB 289-1987),并于1997年对原标准进行扩充和修订(GJB 289A-1997),一直沿用至今[1]。

FlexRay总线是一款新型时间总线,具有高速率,时间确定性,信道容错冗余功能,完全满足新型分布式结构飞行仿真计算机内部总线数据通信需求[2]。根据分布式结构飞行仿真计算机对1553B通信接口的需求,本文设计了基于FlexRay总线的飞行仿真计算机1553B接口单元。

1 分布式飞行仿真计算机简介

典型的基于FlexRay总线的分布式飞行仿真计算机由中央处理单元、串口量单元、模拟量单元、开关量单元及1553B接口单元组成[3]。其中CPU单元是分布式飞行仿真计算机的核心主控单元,其功能主要通过CAN总线接收其余四个功能模块的上行数据,经控制律解算及逻辑管理后,将数据下行传输给各功能板。其结构图如图1所示,本文设计研究一种基于FlexRay新型总线的1553B接口单元。

图1 基于FlexRay总线的飞行仿真计算机结构图Fig.1 Structure diagram offlight simulation computer based on FlexRay bus

2 1553B节点硬件电路设计

基于FlexRay总线的飞行仿真计算机1553B接口单元以FPGA作为主控制芯片,FPGA采用Altera公司Cyclone III系列的EP3C25Q240芯片。选择该芯片的原因是由于FPGA硬件连接灵活,编写程序简单,且该芯片IO口资源丰富。

图2为基于FlexRay的飞行仿真机1553B节点硬件总体设计。如图2所示,本设计采用BU-61580S3作为1553B主控芯片。BU-61580集成了双通道1553B信号的收/发器,内部有4K字的RAM用于1553B消息存储,简化了用户程序设计。采用B3226作为1553B总线变压器,B3226主要功能是将1553B总线电平标准转换为TTL电平。而由于BU-61580的IO接口为5 V电平接口,而EP3CQ240的IO电平为3.3 V,故在FPGA与BU-61580之间需要通过一个电平转换模块进行电平匹配。

图2 基于FlexRay的飞行仿真机1553B节点硬件总体设计Fig.2 The overall hardware design of the flight simulation computer 1553B Node base on FlexRay bus

FlexRay节点有3种架构方式,分别为微处理器(MCU)+通讯控制器(CC)+总线驱动器(BD),微处理器+总线驱动器,微处理器3种。其中前两种架构已经实现,本设计采用微处理器+通信控制器+总线收发器的架构模式,其中通信控制器采用MFR4310,它是飞思卡尔半导体公司推出的一款面向汽车的FlexRay设备,它的物理层通道有两个独立的发送/接收通道,每个通道的传输速率可达10Mbit/s。通信控制器两路通道的总线控制器采用TJA1080,TJA1080是恩智浦半导体公司推出的FlexRay收发器,它提供了1Mbit/s到10Mbit/s的传输率,可以配置成主动星型或者节点收发器[2]。

为了保证系统正确无误运行及调试方便考虑,本设计还增加了供电系统、时钟系统、调试及测试接口、外部存储器系统、复位及复位配置系统、RS232总线电路6个模块作为辅助功能。

2.1 1553B接口设计

2.1.1 BU-61580与FPGA接口设计

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作为电平转换芯片,该芯片拥有十六位电平转换长度。

BU-61580的时钟采用外部有源晶振,CLOCK引脚接16M有源晶振,根据GJB 289A-97要求,晶振的长期稳定性为0.1%,短期稳定性为0.01%[4]。

2.1.2 BU-61580与收发器接口设计

图3 BU-61580与FPGA硬件连接图Fig.3 Hardware connection diagram between BU-61580 and FPGA

表1 1553B引脚配置Tab.1 Pin connection of 1553B

本设计采用的隔离变压器芯片为B-3226,该芯片每个通道通信可以达到1 Mbit/s,可以提供很好的通信带宽,具有强大的容错传输功能[7]。耦合变压器与BU-61580硬件连接如图4所示,BU-61580内部拥有两路1553B收发器分别与隔离变压器B-3226相连,B-3226将1553B电平逻辑转换为TTL逻辑电平,进而将处理后的信号送入BU-61580内部的收发器中,实现一次1553B接收通信。

图4 B-3226与BU-61580连接图Fig.4 Connection diagram between BU-61580 and B-3226

2.2 FlexRay接口设计

本设计中,选择MFR4310作为FlexRay总线主控芯片,该芯片具有两条通信通道,每条通道速率可配置为:2.5,5,8,10Mbit/s;TJA1080 作为独立的 FlexRay 收发器,具有低电磁辐射特性。外界传感器数据通过1553B总线传输至本板卡后,经FPGA预处理后通过FlexRay总线发送至CPU单元中,从而实现一次CPU读取外部传感器信息。

2.2.1 通信控制器与处理器接口设计

MFR4310与处理器拥有3种连接模式,分别为:异步存储器接口(AMI)、MPC接口、HCS12接口。硬件设计通过配置IF_SEL0和IF_SEL1两个引脚来选择哪种接口模式。按照飞思卡尔官方推荐连接电路,MPC接口主要为MFR4310与PowerPC处理所设计的接口,而HCS12接口主要为MFR4310与HCS12系列处理器所设计的接口[5],由于本设计采用的处理器为FPGA,故采用异步存储器接口。具体硬件连接图如图5所示,AMI接口将通信控制器配置为异步存储器从设备,进而能够与多种处理器进行数据交互,在AMI接口模式下,处理器通过控制CE#、OE#、WE#等信号实现与MFR4310数据交换。

图5为通信控制器引脚配置连接图,如图5所示,由于本设计采用 AMI模式,需要设置 IF_SEL[0:1]为{2’b10},该值可通过将IF_SEL0引脚下拉、IF_SEL1引脚上拉来实现。

图5 通信控制器引脚配置连接图Fig.5 Pin connection diagram of communication controller

2.2.2 通信控制器与收发器接口设计

通信控制器与收发器硬件连接图如图6所示,FlexRay模块内部主要由由控制主机接口(CHI)与协议引擎(PE)等部分组成,主机可通过CHI模块访问FlexRay功能模块的配置、控制和状态信息机消息缓冲区的配置、控制和状态信息。这些消息缓冲区位于FlexRay模块内存(FRM)中,用于存储发送和接收的帧头、有效负载数据、时序消息等。而PE模块有TxA和TxB两个发送单元及RxA、RxB两个接收单元,分别用于两个FlexRay通道发送和接收帧信息[6]。

图6 通信控制器与收发器硬件连接图Fig.6 Connection diagram between communication controller and transceiver

通信控制器通过信号引脚TXD、RXD、TXEN与总线收发器进行连接,正常高速通信模式下,当MFR4310通讯控制器的TXEN[1:2]#引脚为高电平时,TJA1080的发送使能引脚TXEN有效,这时TJA1080的TXD输入引脚把从通讯控制器TXD_BG[1:2]引脚输入的数字位流,转换成相应的模拟总线信号再输出到FlexRay总线上;同时,TJA1080将FlexRay总线上的模拟总线信号转换成相应的数字位流,从TJA1080的RXD引脚输送到通讯控制器MFR310的RXD_BG2引脚上,完成总线与MFR4310通信控制器的数据通信[8]。

3 软件驱动程序设计

3.1 1553B总线软件驱动设计

本设备1553B协议芯片工作于BC模式下,而其他传感器模块工作于RT模式,即:本设备工作于主模式,传感器设备工作于从模式。当本设备需要传感器信息时,发送数据请求帧,传感器模式将相应数据发送至本设备。本设备要求接受的传感器信息频率如表2所示。

表2 1553B设备传感器信息Tab.2 Information of 1553B sensor equipment

从上表可看出,各个传感器的频率并非完全一致。而BU-61580可以通过使用大小周期来支持多种频率的数据传输,在自动发送模式下,可以通过设置小周期为100 Hz、大周期为50 Hz,进而实现数据帧按要求的速率进行传输。

BU-61580的程序初始化流程如下所示:

1)将该模块设置为增强型BC模式,设置中断屏蔽寄存器,初始化配置寄存器、时间标签寄存器;

2)初始化内存空间,为3个传感器分配内存初始地址及内存空间;

3)配置复位寄存器,启动BC。

3.2 FlexRay总线软件驱动设计

本设备接收外部传感器信息,通过内部总线FlexRay发送至CPU板卡中,进而实现一次总线收发。FlexRay总线收发主要由总线控制器实现的,FlexRay总线控制器具体的通信流程如下。

总线控制器MFR4310的信息缓冲器(Message Buffer,简称MB)是用来存储帧数据、配置、控制、状态数据的结构[9]。当总线通信时,MB是暂时存储数据的物理介质,当数据发送时,应用程序将数据存储于MB中,当周期轮转至发送时槽时,硬件节点将数据从MB中取出发送至另一接收节点的相应MB中,实现一次数据通信。

MB在使用前,必须经过初始化。FlexRay网络节点的初始化包括初始化节点自身和初始化网络。初始化自身由3步组成:

1)初始化 FlexRay模块。完成 FlexRay模块基地址存储映射,重启FlexRay通信控制器,进入配置状态(POC:config),由函数 Fr_module_init()完成;

2)FlexRay协议初始化。该步定义相关数据结构,实现网络配置和节点通信任务分配,由函数Fr_poc_configuration()完成;

3)消息缓冲器初始化。初始化FlexRay通信控制器消息缓冲器与通信数据报文的对应关系,由函数Fr_buffers_init()完成。节点初始化自身完成后就进入通信就绪状态(POC:ready)。之后,进入初始化网络阶段,这阶段通过发送启动帧完成网络启动。根据表2的配置,节点ECU1和ECU2分别在时槽1和时槽4发送启动信息帧,同时侦听网络中的启动帧个数,直到网络中有足够的启动帧启动网络,数据在正常主动状态下 (POC:nomal active)完成节点问通信。详细流程图如图 7所示[10]。

图7 FlexRay节点初始化流程图Fig.7 Initialization flow diagram of FlexRay node

4 总线网络通信测试与结果分析

最后对所设计的基于FlexRay总线的1553B节点进行测试,其测试平台如图8所示。通过NI测试设备对传感器数据进行模拟,进而产生一组传感器数据,实现1553B总线通信。

图8 实验设备示意图Fig.8 Diagram of the laboratory equipment

系统上电后,CPU板卡及1553B板卡进行寄存器配置,实现自身初始化,然后CPU板卡作为冷启动节点发送10个冷启动帧至FlexRay总线上,进行总线组网,1553B板卡接收到冷启动帧后,立即加入FlexRay总线集群中,至此,总线准备完成。待总线准备完成,节点间开始通信,图9为CPU节点与1553B节点间通信波形。

图9 CPU节点与1553B节点间通信波形Fig.9 Communication waveforms between CPU Node and 1553B Node

如图9所示,FlexRay通信周期为16 ms,静态时隙长度为50 μs,将CPU板卡与1553B板卡进行通信实验6小时,实验结果如表3所示。

表3 实验结果Tab.3 The experimental results

通过实验结果可以得出,节点设计合理,本设备可准确接收外界1553B传感器信息,并进行数据处理功能,可为新型分布式无人机飞行仿真计算机提供1553B通信接口。

5 结束语

1553B作为航空内部电子系统联网标准,可设计为飞行仿真计算机的外部总线,而FlexRay为新型总线,具有速率快,多冗余等特点,可设计为飞行仿真计算机外部总线。这两种总线各展所长,为飞行仿真计算机提供了快速、稳定的数据传输链路。本文设计了基于FPGA的1553B总线节点,通过与NI设备进行数据通信,结果正确,能够满足飞行仿真计算机数据链路要求,为以后先进飞行仿真计算机新型总线FlexRay与1553B总线的应用打下了基础。

[1]何成军,陈欣,吕迅竑.航空电子系统中的1553B和CAN总线接口卡设计[C]//第一届中国导航、制导与控制学术会议,2007.

[2]张志文,陈欣,吕迅竑.一种分布式结构飞行控制计算机内部总线节点设计[J].电子技术应用,2011(11):40-43.ZHANG Zhi-wen,CHEN Xin,LV Xun-Hong.The design of internal bus communication node of a distributed flight control computer[J].Application of Electronic Technique,2011(11):40-43.

[3]章勇,陈欣,吕迅竑.无人机飞行控制计算机中的FlexRay总线节点设计[J].兵工自动化,2013,32(3):42-46.ZHANG Yong,CHEN Xin,LV Xun-hong.Design of FlexRay bus node in UAV flight control computer[J].Ordnance Industry Automation,2013,32(3):42-46.

[4]ACE USER’s guid.Data Device Corporation[M].105 Wilbur Place Bohemia, New York,2005:88-126,93-293.

[5]Freescale Semiconductor.MFR4310 FlexRay communication controllers reference manual Rev.2 [EB/OL].(2008) www.flexray.com.

[6]FlexRay Consortium.FlexRay communications systemprotocol specification,Version 2.1,Revision A[EB/OL].(2005) www.flexray.com.

[7]罗一锋,蔡嵩.基于1553B总线的接口设计与实现[J].现代电子技术,2006,2(217):55-57,60.LUO Yi-feng,CAISong.Designand implementation of interface based on1553B bus[J].Modern electronic technology.2006,2(217):55-57,60.

[8]万芩,孔峰.基于DSP FlexRay节点的应用研究[J].广西工学院学报,2010,21(2):32-35.WAN Qin,KONG Feng.The research of application of FlexRay node base on DSP[J].Journal of Guangxi University of Technology,2010,21(2):32-35.

[9]王刚,丁天宝,荣健,等.FlexRay网络中的带宽利用率的理论研究[J].计算机应用,2011,31(10):2634-2637.WANG Gang,DING Tian-bao,RONG Jian,et al.Theoretical study on bandwidth utilization in FlexRay network[J].Journal of Computer Application,2011,31(10):2634-2637.

[10]段建民,朱亮,于涌川.基于FlexRay总线的线控转向系统通信网络[J].仪表技术与传感器,2009(12):43-45.DUAN Jian-min,ZHU Liang,YU Yong-chuan.Communication network for steer-by-wire system basedon FlexRay Bus[J].Instrument Technique and Sensor,2009(12):43-45.

猜你喜欢

收发器电平总线
光纤收发器故障排除经验谈
基于PCI Express总线的xHC与FPGA的直接通信
机载飞控1553B总线转以太网总线设计
一种基于CAN总线的误码测试方法
Virtex5 FPGA GTP_DUAL硬核两个收发器独立使用的实现
三电平PWM并网变换器LCL滤波器量化设计
准PR控制的三电平逆变器及中点平衡策略
NPC五电平Z源逆变器的设计研究
CAN总线并发通信时下位机应用软件设计
基于三电平光伏并网逆变器控制系统的研究与实践