APP下载

基于ABTS协议的FC-AE-1553交换管理模块研究与实现

2019-05-27

计算机测量与控制 2019年5期
关键词:差错总线传输

(上海航天电子技术研究所,上海 201109)

0 引言

在可靠性要求较高的航空、航天等领域,当前广泛采用MIL-STD-1553B总线作为高可靠互连数据总线。随着航天器电子系统的不断发展,星上数据处理任务日益复杂化多样化,传统1553总线1 Mbps的数据传输速率已经远不能满足快速增长的数据吞吐需求。此外,随着星载电子系统综合集成的复杂度不断提高,航天器对来自系统内外的各类电磁辐射越来越敏感,而由于传统1553总线采用电缆作为传输介质,易受电磁环境的辐射干扰,从而限制了它的进一步扩展与应用[1]。

FC-AE-1553协议由美国国家标准协会(American National Standards Institute,ANSI)制定[2],它基于光纤通道-航空电子环境(Fibre Channel-Avionics Environment,FC-AE)协议,是传统1553协议在光纤通道上的映射,为光纤1553总线设备的具体实现提供了相应的协议支撑。虽然FC-AE-1553仍采用基于命令/响应式交互的总线通信模式,但是其相对于传统1553总线在传输速率、总线设备容量、传输介质可靠性等方面均有很大的提高。FC-AE-1553总线另一个重要特性是支持现有传统1553总线设备的桥接接入,实现传统1553总线的平滑升级,从而最大限度保留现存1553总线设备,节约资源。FC-AE-1553各类优异特性使其成为总线技术的研究热点,是高可靠航天数据总线的重要发展方向[3]。

本文在分析FC-AE-1553协议基础上,提出了一种基于中止序列协议(Abort Sequence Protocol,ABTS)的FC-AE-1553交换管理模块设计方案,根据总线交换模型对交换处理流程进行了分析和研究,并基于FPGA硬件平台完成模块的工程实现和仿真,最后搭建测试系统对FC-AE-1553总线交换和总线差错处理功能进行了验证,在硬件平台上实现了FC-AE-1553总线数据的5 Gb/s光纤传输。

1 FC-AE-1553总线交换分析

1.1 FC-AE-1553协议

光纤通道(Fibre Channel,FC)标准协议体系采用分层架构,包含一系列复杂的子标准,由相应的标准化组织开发。协议层与层之间通过固定接口或服务类进行交互,从而保证各层相互独立,并为设计者留有足够的拓展空间。FC协议共分为五层,其中FC-0,FC-1,FC-2层规定了光纤通道的物理和信号接口,是光纤通道协议的基本层,FC-3和FC-4定义为服务层和协议映射层,属于协议拓展层。

FC-AE-1553总线基于光纤通道标准,将传统1553总线映射到光纤通道FC-4层,其映射关系如图1所示[4]。

图1 FC-AE-1553协议映射

FC-AE-1553采用网络型拓扑结构,其总线容量、灵活性和可扩展能力大大提升,总线包含网络控制器(Network Controller,NC)和网络终端(Network Terminal,NT)两种总线单元。NC是总线网络的管理者,负责总线任务的分配和调度管理,所有总线交换均由NC发起。NT属于总线终端设备,是总线交换的参与者,在NC的统一管理下与其它总线单元进行数据交换,FC-AE-1553协议支持多个NC同时工作。在FC-AE-1553交换的的命令帧和状态帧中定义了MIL-STD-1553B远程终端的属性[5],方便FC-AE-1553总线单元与传统1553设备进行数据交互,从而支持传统1553总线设备的桥接接入,实现平滑升级。

1.2 FC-AE-1553总线交换模式

FC-AE-1553交换与传统1553交换类似,可分为NC向NT传输、NT向NC传输、NT向NT传输和方式命令等四大类。FC-AE-1553新增对大量数据突发传输的支持,协议中定义了“NT突发数据传输请求”位和“延迟突发数据传输请求”位,用于NT的突发传输请求。同时,协议新增了“抑制”(Suppress)位,用户可以抑制NT的状态回复与确认,以适应实时性和可靠性需求不同的数据传输,充分利用总线带宽。

下面以NT到NT传输类型交换为例,分析FC-AE-1553交换具体过程,如图2所示,其它类型交换与之类似。在此交换中,“NT突发传输请求”位置‘0’,“延迟NT突发传输请求”位置‘0’。

图2 NT到NT传输过程示意图

该交换涉及三个总线单元,分别为NC、发送NT和接收NT。交换过程如下:

1)NC根据上层交换任务需求,发起“原始”交换,向发送NT发送“发送”命令序列,通知发送NT准备进行发数,该“发送”命令序列中包含了交换类型(“NT-NT 传输”标志)、接收NT的目标地址和子地址等“响应交换”所需的信息。

2)发送NT收到命令序列后,从中提取接收NT目标地址、子地址和数据量等交换信息,并向相应接收NT发送“接收”命令序列,发起“响应”交换。

3)发送NT向接收NT发送数据序列,传送规定大小的数据。若总数据量超过一个数据序列的容量,则发送NT将数据进行拆分后通过多个数据序列传送,直至数据传输结束。

4)最后,由于命令序列中“抑制”位为‘0’,发送NT和接收NT均需根据自身此次交换过程中的状态信息反馈状态序列,结束“响应”交换和“原始”交换,完成NT到NT的数据传输。

此外,FC-AE-1553支持NC的交换监测属性,此交换中,当NC将命令序列中“NC监控”(NC Monitor for NT-to-NT Transfer)位置位时,可对整个NT到NT的传输过程进行监测。

2 交换管理模块原理设计

基于对FC-AE-1553协议的分析,FC-AE-1553总线数据通信以交换为基本通信单元,交换过程中以“序列”作为指令、数据、状态和服务传送的最小单元[6],据此对FC-AE-1553交换管理模块进行设计,模块设计框图如图3所示。

图3 交换管理模块原理框图

交换管理模块由序列级和交换级两大功能部分组成,交换级主要包括NT模式管理、NC模式管理模块,序列级主要包括序列接收管理、序列接收解析、序列发送管理、序列组帧模块。此外,设计了读写缓存控制模块,用于与用户层的高速数据交换与缓冲。

NT模式管理和NC模式管理是FC-AE-1553交换管理的核心功能模块,两者分别实现FC-AE-1553的NT和NC两种总线单元的交换处理功能,上层用户可通过模式引脚选择当前工作模式。模块采用状态机设计,基本状态转换图如图4所示。模块上电后默认处于空闲态,在收到上层用户的交换开始指令后进入交换信息提取状态,然后根据提取信息的不同进入不同的交换模式处理流程,在所有交换过程阶段中,一旦发生交换异常,则立即进入ABTS协议处理流程并结束交换,若交换正常则直接结束交换。

图4 交换管理模块状态机

在NT模式管理和NC模式管理模块中包含了ABTS协议处理逻辑,基于FC-3层提供的链路基本服务实现。当某个总线单元端口发现交换出现错误时,通过ABTS请求帧通知对应端口进行差错处理,目的端口收到ABTS请求后进行回复,若接受请求则回复BA_ACC帧,若拒绝则回复BA_RJT帧。ABTS协议处理逻辑设计了四种差错处理策略,分别为丢弃多个序列、丢弃单个序列、终止整个交换和具有无限缓冲的处理,可根据需求设置不同的策略应用在不同的场合。

序列发送管理和序列组帧模块实现序列发送处理功能,将待发送数据以序列为单元进行打包。序列发送管理模块收到待发送数据后,根据对应序列信息位为其分配序列资源,包括序列号(SEQ_ID)、序列计数(SEQ_CNT)和相应的缓存资源等,并建立序列状态块追踪序列状态。序列发送端支持命令序列、数据序列、状态序列和服务序列四种类型序列的组帧。

序列接收管理和序列解析模块实现序列接收处理功能,其核心是按照序列接收规则进行序列信息处理,包括序列缓存、序列类型识别、建立序列状态块、序列分类等。同时,序列接收端根据序列号和序列计数,可以对接收的序列进行重装,从而支持乱序传输,也可以检测序列丢失情况,在出现序列丢失时通知上层进行差错处理。序列接收端同样支持上述发送端四种类型序列的识别处理。

在交换管理模块中定义了一个状态/配置寄存器和一个交换状态块,其中配置寄存器包含了链路同步完成、响应超时、交换差错、数据接收许、数据发送允许等状态及标志,用户可直接查询接口状态并对接口工作方式进行配置;交换状态块维护了当前交换处理状态的信息,交换管理模块据此对交换状态进行追踪,并采取相应的控制策略。

交换管理模块对外接口包括与FC-4层用户接口和FC-2层链路接口两部分。其中,与FC-4层用户的发送缓存接口和接收缓存接口用于交换管理模块与上层用户间原始应用数据和状态的交换,而状态/配置接口则用于工作状态查询及工作模式配置;与FC2层数据链路接口用于交换管理模块与数据链路层之间的FC-AE-1553原始序列交换。

3 交换管理模块处理流程设计

以NC模式为例说明交换管理模块处理流程,该模式下交换管理模块以总线NC单元的方式控制安排FC-AE-1553网络数据传输,对网络上其它总线单元进行管理。NC模式下交换处理流程如图5所示。

由于NC是网络上交换的发起者,因此发送的第一个序列只可能为服务序列或者命令序列,而命令序列又包含方式指令和非方式指令两种模式,因此在处理流程设计时按照序列类型对流程分支进行了划分。端口上电后,NC处于空闲状态,当上层用户有序列发送请求时,开始发起交换,根据上层用户请求类型,交换管理模块分别进入三个分支[7],分别为服务序列处理分支、方式指令处理分支和数据交换处理分支。数据处理分支中,按照总线传输类型,又可分为NT到NC传输、NC到NT普通模式传输、NC到NT延迟突发模式传输和NT到NT传输。三个分支的处理流程设计说明如下:

1)服务序列处理分支:根据服务类型,NC模式下的服务发起请求为“注册”(PLOGI)或“注销”(LOGO)。注册功能用于实现端口间各种协议参数的交换,如支持的服务类型、使用的差错策略等,方便NC对链路进行管理;注销功能则用于端口退出通信链路,释放注册所占用的资源。NC链路服务发起后,根据对方的回复情况(接受为LS_ACC回复,拒绝为LS_RJT回复)判断注册或注销是否成功。

图5 NC模式交换处理流程

2)方式指令处理分支:根据预定义的方式指令含义进行响应或动作,NC发送命令序列时应判断该方式指令是否需要回复数据,当需要回复数据,则等待NT回复带数据的状态序列,当不需回复数据时判断命令序列中“抑制”位,据此确定是否需等待NT回复状态序列,所有等待过程超过一定时限或状态反馈不正确时发起ABTS协议进行差错处理[8];

3)数据交换处理分支:根据命令字中“NT突发数据传输请求”和“延迟NT突发数据传输请求”位的值,分别进入普通传输模式、突发数据传输模式和延迟突发数据传输模式。普通模式下若为非NT到NT传输,则需根据“发/收”(T/R*)位状态确定交换的收发状态,分别进入相应收发操作流程,若为NT到NT传输,则向“发送NT”发送命令序列发起“原始交换”,并可在过程中监测“响应交换”状态;突发数据传输模式用于大量数据的突发传送,该模式下发送命令序列后,等待返回状态序列在NT状态反馈确认可支持突发传输后,发送数据序列,不断重复直至数据发送完毕,期间若NT出现忙状态,则直接结束交换;延迟突发数据传输模式下,发送命令序列后立即发送第一个数据序列,后续流程与突发传输模式一致。所有交换等待过程超过一定时限或状态反馈不正确则发起ABTS协议进行差错处理,结束交换。

4 设计实现与验证

在FPGA平台上对FC-AE-1553交换管理模块IP核进行了开发、仿真和实现,采用两块XILINX公司ML507开发板搭建验证系统,分别模拟NC和NT对模块交换进行验证[9]。IP核在XC5VFX70T FPGA中实现,SLICE占用率为63%,时钟主频为125 MHz,通过FPGA内部高速RocketIO进行串并转换,最终通过光纤串行通信的传输速率达5 Gbps。

对系统通信过程中的协议实现情况进行验证,其中NT向NC传送数据实测波形如图6所示(数据帧为3帧)。

图6 交换验证NC端波形图

图中,NC接收到上层用户请求后发起交换并对命令序列进行解析,由于传输模式为NT到NC传输,因此进入交换流程中相应的数据处理分支。NC在发送命令序列后等待NT的状态序列回复,一段时间后,收到NT的状态序列,对序列中相关状态位进行判断,确认NT状态正确后开始接收后续数据序列,直至接收完毕结束交换。

交换管理模块IP核支持ABTS差错恢复协议,在测试系统的通信过程中模拟链路中断情况,对ABTS差错恢复功能进行了验证,实测波形如图7所示。

图7 ABTS差错恢复波形

图中,同样是NT到NC传输,NC首先发起一个命令序列,此时由于链路故障,等待NT回复状态序列发生超时,触发了模块ABTS差错恢复功能。模块采用终止整个交换的差错处理策略,NC发送ABTS请求帧,要求NT终止当前交换,一段时间后,链路恢复正常,NC收到NT回复的ABTS应答帧,确认之前交换已经终止,ABTS协议完成。由于上一交换没有成功,NC立刻重新发起交换,开始新的交换流程。

经验证,总线交换管理模块实现了基于ABTS的FC-AE-1553总线交换管理功能,支持各类复杂交换管理模式,总线光纤传输线速率达5 Gbps。采用NC到NT传输文件模式,交换过程中模拟三种数据包长,分别对模块线速率、传输效率、误码率等关键性能指标进行了测试[10],结果如表1所示。

表1 交换管理模块关键性能指标测试

从上表指标可以看出,模块传输效率随着交换数据长度和数据帧数的增大而提高,基于交换管理模块的FC-AE-1553总线在传输速率、传输效率和误码率等指标上均远优于传统1553总线。

5 结论

本文分析了新一代航电FC-AE-1553总线的优势,基于FC-AE-1553总线交换模型的分析完成了核心交换管理模块的原理设计和处理流程设计,基于FPGA硬件平台设计实现了模块IP核,并搭建系统验证了FC-AE-1553总线数据交换功能和协议差错处理功能,进行了关键性能指标测试。

经验证,总线交换管理模块实现了基于ABTS的FC-AE-1553总线交换管理功能,且支持各类复杂交换管理模式,支持NC和NT终端类型。模块采用IP软核实现方式,因此能够方便地进行功能扩展和平台移植。

验证结果表明,本文提出的技术方案设计合理可行,设计的模块集成度高,支持多种交换类型和交换模式,具有较强的通用性和可移植性,相对于传统1553总线可靠性和传输速率大大提高,可用于现有1553总线的光纤升级和新型FC-AE-1553总线系统网络的搭建。

猜你喜欢

差错总线传输
轨道交通信号系统无线传输应用
直升机防差错设计
5G高新视频的双频段协同传输
5G 16K虚拟现实视频传输关键技术
牵引8K超高清传输时代 FIBBR Pure38K
基于组织行为学对建立容错纠错机制必要性分析
DCOM在混合总线自动测试系统的应用
基于AVR单片机的RS485工业总线开发设计
仿真型总线控制实训室设计与建设
差错是习题课的有效资源