2024年3月22日发(作者:康安安)
基于FPGA的AFDX端系统的设计与实现
黄劲松;段哲民
【摘 要】Avionics Full Duplex Switched Ethernet (AFDX) is one of the best
choices of avionics data bus. AFDX end-system (ES) is an important part of
AFDX network. It is the channel for sending and receiving information
between avionics subsystems and AFDX network, it can ensure safety and
reliability of data exchange among avionics subsystems. Based on the
analysis of ARINC664 specification part 7, this paper provides a solution of
AFDX EX based on FPGA, and the realization of virtual link layer module is
given. The test results show that the ES meets the requirements of
ARINC664 specification and has high reliability and stability.%航空电子全双
工交换式以太网(AFDX)是航空数据总线的最佳选择之一; AFDX端系统是AFDX网
络的重要组成部分,为航空电子子系统与AFDX网络之间提供了信息收发的通道,保
证了航空电子子系统之间数据交换的安全性和可靠性;文中在分析研究
ARINC664规范第7部分的基础上,提出了符合该规范要求的基于FPGA的AFDX
端系统设计方案,给出了虚拟链路层模块的具体实现;在TechSAT测试平台的实验
结果证明,设计的端系统满足ARINC6664规范要求,具有较高的可靠性和稳定性.
【期刊名称】《计算机测量与控制》
【年(卷),期】2011(019)010
【总页数】3页(P2553-2555)
【关键词】航空电子全双工交换式以太网;端系统;现场可编程门阵列;航空数据总线
【作 者】黄劲松;段哲民
【作者单位】西北工业大学电子信息学院,陕西西安 710129;西北工业大学电子信
息学院,陕西西安 710129
【正文语种】中 文
【中图分类】TN915
0 引言
随着航空电子系统复杂性的增加,各子系统功能和数量的不断增多,庞大的系统对
航空数据总线的带宽提出了更高的要求。传统的航空数据总线ARINC429最大带
宽为100kb/s,MIL-STD-1553B带宽也只有1Mb/s,已不能满足下一代航
空电子系统对数据通信的要求[1-2]。
航空电子全双工交换式以太网 (Avionics Full Duplex Switched Ethernet,
AFDX)是由工业标准以太网 (IEEE802.3)经过适用性改进 (ARINC664-
Part7)形成的[3]。AFDX网络在传统以太网100Mb/s高传输速率的基础上,
增加了数据传输的实时性要求,不仅满足航空电子系统对数据通信带宽的需求,而
且满足航空电子领域的高可靠性、高实时性要求,是航空数据总线的最佳选择之一
[4-5]。
AFDX端系统是AFDX网络的重要组成部分,AFDX端系统嵌入在每个航空电子子
系统中,将子系统与AFDX网络连接起来,为各子系统之间提供安全、可靠的数
据交换。AFDX端系统主要保障以下两个方面:一是保证每条虚拟链路(Virtual
Link,VL)的带宽和延迟边界;二是保障数据在传输中的安全性和可靠性。AFDX
网络的确定性主要由端系统实现[5]。
目前,国外对AFDX网络的研究已经较为成熟,在空客A380和波音787等项目
中已成功应用[6-7]。国内正处于大力发展大中型飞机的关键时期,深入研究
AFDX技术对我国航空电子系统的发展具有深远的战略意义[8]。因此,研制具
有我国自主产权的AFDX网络端系统已成为一个现实而迫切的任务。
本文介绍了符合ARINC664规范的基于FPGA的AFDX端系统的设计方案,并给
出了虚拟链路层模块的具体实现。
1 ADFX端系统设计方案
本文设计的AFDX端系统采用PMC子卡结构,端系统板卡通过PCI插槽与主机相
连嵌入在航电子系统中,与其驻留的主机一起工作,实现各主机通过AFDX网络
通信。AFDX端系统直接采用单片大容量FPGA的设计方式研发,端系统整体结构
框图如图1所示。
图1 AFDX端系统结构框图
各模块功能如下:
FPGA模块:实现了AFDX端系统的全部功能,包括端系统协议栈功能、端系统控
制逻辑、数据发送和接收控制、主机接口逻辑以及寄存器的读写逻辑等。
电源模块:提供终端电路正常工作所需要的+3.3V、+2.5V、+1V电压。
时钟模块:用于产生FPGA工作频率,为FPGA提供频率为50MHz的时钟。
复位模块:提供系统上电复位及PCI复位。RS232模块:串行接口,用于连接调
试设备。Config SRAM模块:容量为9Mbits的SSRAM,用于存储系统配置表
信息和系统软件。
DDR2模块:容量为256Mbits,接收发送数据缓存,用于存储发送虚拟链路和接
收虚拟链路的数据。
PHY模块:AFDX端系统的物理层电路,包括以太网物理芯片MII和变压器电路,
输出2路AFDX接口信号。
1.1 端系统FPGA芯片结构设计
本方案设计的AFDX端系统采用Xilinx公司Virtex-5-FX200T型号FPGA芯片,
在ISE11.4环境下完成开发。
FPGA芯片采用PowperPC440(PPC440)构架,利用软硬件协同的设计方式实
现了AFDX端系统的全部功能。端系统控制逻辑、主机接口逻辑以及协议栈虚拟
链路层等功能由硬件实现;端系统通信端口、SAP端口、协议栈IP层和UDP层
等功能由运行在硬核PPC440处理器上的软件实现。FPGA芯片的结构框图如图2
所示。
图2 端系统FPGA的结构框图
PPC440是高性能的RISC处理器,采用FPGA内部硬核实现,提供了PLB的接口,
完成了数据处理、调试等功能。AFDX协议栈IP、UDP层功能由软件控制处理器
实现。
ES模块实现了AFDX端系统协议栈虚链路层的全部功能,如流量整形、虚链路调
度、完整性检查、冗余管理等。
MPMC(Multi-port Memory Controller)是支持SDRAM/DDR/DDR2的
多端口存储器控制器。MPMC最多可提供8个端口,每个端口可配置成不同的
PIM (Personality Interface Modules), 包 括 NPI (Native Port Interface)
和PPC440MC(PowerPC 440Memory Controller)。
MPMC通过PPC440MC PIM直接和PPC440的存储器接口相连。PPC440通过
该接口可访问FPGA外部DDR2存储器。
NPI接口提供了一个接口来满足用户自己的设计需求,可以进行地址、数据和控制
信号使能读写操作。本设计中使用了3个NPI接口,第一个NPI接口用于和PCI
控制模块的连接,完成NPI到PCI的转换逻辑;第二个NPI接口用于和ES模块
的连接,完成了数据帧的收发;第三个NPI接口用于和DMA模块的连接,完成
了DDR2内部数据的搬移。
1.2 端系统工作流程
发送数据时,外部主机CPU通过PCI总线将数据送入FPGA,FPGA通过PCI到
NPI的转换逻辑将数据送入DDR2,同时将相关控制信息写入DDR2。PPC440查
询DDR2的内容,查询控制信息,处理数据,并启动DMA模块完成数据在
DDR2内部的搬移,然后配置ES模块的寄存器,启动AFDX帧的发送。
接收数据时,PHY接收到的AFDX帧送入ES模块,ES模块经过完整性检查、冗
余管理后将收到的帧通过NPI接口送入DDR2,PPC440处理数据后,外部CPU
通过PCI总线将数据读走,完成AFDX帧的接收。
2 端系统虚拟链路层的实现
虚拟链路层模块 (图2中的ES模块)采用Verilog HDL代码编写,实现了发送
和接受虚拟链路各128条,完成了AFDX端系统虚拟链路层的全部功能,包括虚
拟链路调度、冗余管理、完整性检查、MAC信息封包等功能。
2.1 虚拟链路层模块整体结构
根据对AFDX端系统协议栈的研究,本方案的虚拟链路层模块的功能结构如图3
所示。
图3 虚拟链路层模块的功能结构图
2.2 关键模块的设计
(1)ES_top模块:ES_top模块为虚拟链路层顶层模块。完成PLB总线接口逻
辑,处理地址译码,实现对寄存器的读写操作。
(2)发送控制模块:发送控制模块负责接收从ES_top模块译码来的数据和相关
配置信息,并对数据进行处理,配置每条VL的发送冗余管理功能。
(3)接收控制模块:接收控制模块根据VL号对冗余检查模块传送过来的帧进行
分拣,并将该帧存入该VL对应的数据接收缓存区中。
(4)调度模块:调度模块用来对发送数据进行流量整形和调度,使用调度算法根
据周期和偏移来决定各条虚拟链路的发送顺序。设计时采用公平轮询调度算法,实
现各条虚拟链路的平等调度。
调度模块由规整器模块和多路选择器模块组成。规整器中包含带宽分配间隔
(Bandwidth Allocation Gap,BAG)和抖动(Jitter)定时器,用来控制向
MAC模块发送帧的时序,确保每条虚链路的BAG和最大帧长度Lmax
(Maximum Frame Size)符合规定;多路选择器模块根据各个VL的BAG配置
值,对来自多个VL的AFDX帧进行调度,选择来自多个VL的帧,最后合并到一
条物理链路上发送。
(5)接受冗余管理模块:接受冗余管理模块包括完整性检查 (IC)模块和冗余检
查 (RM)模块。
完整性检查模块对每个从MAC模块传来的数据帧,根据接收到的数据帧包含的序
列号 (SN)来判断该帧是否合法。该检查基于最后一个接收到的帧的SN进行,
规则如下:
①一个合法帧的序列号为当前帧的序列号加上l或者2。(当前帧的SN为255,
下一帧的SN重新从1开始计数)。
②所有序列号为0的帧全都是合法帧,它指示端系统进行了复位。
③端系统复位成功后接收的第1帧无论其序列号是什么都认为是合法的。
在配置文件中可以针对每一条虚拟链路设定是否启用完整性检查,端系统启动时会
根据配置文件中的内容设置完整性检查状态。完整性检查在所有的虚拟链路上各自
执行互不干扰。
当完整性检查模块接收到一个不合法的帧,完整性检验模块将丢弃这个帧;当完整
性检查接收到一个合法的数据帧,完整性检查模块将数据帧传送到冗余检查模块。
冗余检查模块接收所有经过完整性检查的合法帧。冗余检查不对帧的内容进行比较,
冗余检查是基于最大偏斜 (Skew-Max)。SkewMax指接收两个冗余帧之间的
最大时间间隔,该参数是系统为每条虚链路分配的。当它接收到同一个帧的两份拷
贝时:如果两帧间隔大于SkewMax,那么两帧都被接收;如果两帧间隔小于
SkewMax,那么按照 “先到优先”的原则,它将传送先收到的帧,并丢弃第二个。
冗余检查功能开启时,该模块为每条VL传送具有给定SN号的先有效的帧,有效
帧从通道A、通道B或同时通过两者被接收。冗余检查被禁用的时候,对任一通
道收到的数据都向前传送。
接收冗余管理工作流程如图4所示。
图4 接收冗余管理工作流程
(6)MAC模块:发送AFDX帧时,MAC模块的作用是对调度后的数据进行发送,
将数据封上MAC帧头和CRC校验码,完成与PHY接口的位宽转换并发送数据帧。
接收AFDX帧时,MAC模块的作用是对从PHY传输来的数据进行解包处理,并
对数据帧进行初步校验,包括CRC校验,字节完整性校验,帧长度校验,MAC
头校验和AB网选择校验,对不符合条件的帧进行过滤,将正确的帧传送到上层模
块。同时输出一些统计信息,如超长帧计数器、超短帧计数器、字节未对齐计数器、
MAC头错误计数器、超时丢帧计数器等。
2.3 虚拟链路层模块工作流程
结合图3,虚拟链路层具体工作流程描述如下:
发送AFDX帧时,从DDR2的发送缓存区中读出数据帧向对应VL的FIFO写入待
发送的数据信息,经过调度模块调度,在发送控制逻辑的控制下,读出发送缓冲区
的数据,传送到MAC模块为数据帧加帧头信息 (帧序列校验信息和CRC校验信
息),并进行64位到4位的转换,通过PHY口,发送到网络。
接收AFDX帧时,PHY模块检测到物理链路上有数据帧后,将数据帧取出,传送
至MAC模块。MAC模块到数据帧后,对数据进行解包处理并对接收帧进行正误
检测 (CRC校验,字节完整性校验,帧长度校验,MAC头校验和AB网选择校
验),若校验通过,则将数据帧传送至接受冗余管理模块,经过完整性检查和冗余
检查之后将收到的数据帧通过NPI接口送入DDR2的接收数据缓存区中。
3 结论
本文对AFDX端系统及其协议栈进行了详细研究,提出了一种符合ARINC664规
范的基于FPGA的AFDX端系统的解决方案,并给出了端系统虚拟链路层的具体
实现方案。本方案中的Verilog代码已在ISE 11.4下完成编译,各模块已在
Modelsim6.5下完成了功能和时序仿真,并在端系统板卡上通过了初步测试验证。
AFDX端系统板卡在TechSAT测试平台的实验结果表明:本文提出的设计方案可
行,端系统能够达到95Mb/s以上的带宽,收发延迟时间均小于150μs,最大抖
动时间小于500μs,具有较高的可靠性和稳定性,符合AFDX协议标准,能够为
新一代航空电子设备中的数据通信提供可靠的保障。
【相关文献】
[1]石改辉,张 原.下一代航空数据体系结构研究 [J].电子工程,2006,(4):29-33.
[2]任向隆,马捷中,等.基于FPGA的AFDX端系统协议栈虚链路层的研究与实现 [J].计算机
测量与控制,2010,18 (2):422-424.
[3] Protocol Tutorial[EB/OL].Condor Engineering,Inc.2005.
[4]664Aircraft data networks,Part7:avionics full duplex switched
Ethernet(AFDX)Network [S].Airlines Electronic Engineering Committee,2005.
[5]熊华钢,周贵荣,李 峭.机载总线网络及其发展 [J].航空学报,2006,27 (6):1135-
1144.
[6]Charara H,Scharbarg J L,Ermont J,et s for Bounding End-to-End
Delays on an AFDX Networks[A]. the 18th Euromicro Conference on Real-time
Systems [C].[S.l.]:IEEE Press,2006:193-202.
[7]MCHALE technology to improve communications on boeing-787
[J].Military & Aerospace Electronics Magazine,2005,16 (4):22-23.
[8]校 莉.AFDX在航空通信系统中的应用 [J].电讯技术,2010,50 (7):41-43.
2024年3月22日发(作者:康安安)
基于FPGA的AFDX端系统的设计与实现
黄劲松;段哲民
【摘 要】Avionics Full Duplex Switched Ethernet (AFDX) is one of the best
choices of avionics data bus. AFDX end-system (ES) is an important part of
AFDX network. It is the channel for sending and receiving information
between avionics subsystems and AFDX network, it can ensure safety and
reliability of data exchange among avionics subsystems. Based on the
analysis of ARINC664 specification part 7, this paper provides a solution of
AFDX EX based on FPGA, and the realization of virtual link layer module is
given. The test results show that the ES meets the requirements of
ARINC664 specification and has high reliability and stability.%航空电子全双
工交换式以太网(AFDX)是航空数据总线的最佳选择之一; AFDX端系统是AFDX网
络的重要组成部分,为航空电子子系统与AFDX网络之间提供了信息收发的通道,保
证了航空电子子系统之间数据交换的安全性和可靠性;文中在分析研究
ARINC664规范第7部分的基础上,提出了符合该规范要求的基于FPGA的AFDX
端系统设计方案,给出了虚拟链路层模块的具体实现;在TechSAT测试平台的实验
结果证明,设计的端系统满足ARINC6664规范要求,具有较高的可靠性和稳定性.
【期刊名称】《计算机测量与控制》
【年(卷),期】2011(019)010
【总页数】3页(P2553-2555)
【关键词】航空电子全双工交换式以太网;端系统;现场可编程门阵列;航空数据总线
【作 者】黄劲松;段哲民
【作者单位】西北工业大学电子信息学院,陕西西安 710129;西北工业大学电子信
息学院,陕西西安 710129
【正文语种】中 文
【中图分类】TN915
0 引言
随着航空电子系统复杂性的增加,各子系统功能和数量的不断增多,庞大的系统对
航空数据总线的带宽提出了更高的要求。传统的航空数据总线ARINC429最大带
宽为100kb/s,MIL-STD-1553B带宽也只有1Mb/s,已不能满足下一代航
空电子系统对数据通信的要求[1-2]。
航空电子全双工交换式以太网 (Avionics Full Duplex Switched Ethernet,
AFDX)是由工业标准以太网 (IEEE802.3)经过适用性改进 (ARINC664-
Part7)形成的[3]。AFDX网络在传统以太网100Mb/s高传输速率的基础上,
增加了数据传输的实时性要求,不仅满足航空电子系统对数据通信带宽的需求,而
且满足航空电子领域的高可靠性、高实时性要求,是航空数据总线的最佳选择之一
[4-5]。
AFDX端系统是AFDX网络的重要组成部分,AFDX端系统嵌入在每个航空电子子
系统中,将子系统与AFDX网络连接起来,为各子系统之间提供安全、可靠的数
据交换。AFDX端系统主要保障以下两个方面:一是保证每条虚拟链路(Virtual
Link,VL)的带宽和延迟边界;二是保障数据在传输中的安全性和可靠性。AFDX
网络的确定性主要由端系统实现[5]。
目前,国外对AFDX网络的研究已经较为成熟,在空客A380和波音787等项目
中已成功应用[6-7]。国内正处于大力发展大中型飞机的关键时期,深入研究
AFDX技术对我国航空电子系统的发展具有深远的战略意义[8]。因此,研制具
有我国自主产权的AFDX网络端系统已成为一个现实而迫切的任务。
本文介绍了符合ARINC664规范的基于FPGA的AFDX端系统的设计方案,并给
出了虚拟链路层模块的具体实现。
1 ADFX端系统设计方案
本文设计的AFDX端系统采用PMC子卡结构,端系统板卡通过PCI插槽与主机相
连嵌入在航电子系统中,与其驻留的主机一起工作,实现各主机通过AFDX网络
通信。AFDX端系统直接采用单片大容量FPGA的设计方式研发,端系统整体结构
框图如图1所示。
图1 AFDX端系统结构框图
各模块功能如下:
FPGA模块:实现了AFDX端系统的全部功能,包括端系统协议栈功能、端系统控
制逻辑、数据发送和接收控制、主机接口逻辑以及寄存器的读写逻辑等。
电源模块:提供终端电路正常工作所需要的+3.3V、+2.5V、+1V电压。
时钟模块:用于产生FPGA工作频率,为FPGA提供频率为50MHz的时钟。
复位模块:提供系统上电复位及PCI复位。RS232模块:串行接口,用于连接调
试设备。Config SRAM模块:容量为9Mbits的SSRAM,用于存储系统配置表
信息和系统软件。
DDR2模块:容量为256Mbits,接收发送数据缓存,用于存储发送虚拟链路和接
收虚拟链路的数据。
PHY模块:AFDX端系统的物理层电路,包括以太网物理芯片MII和变压器电路,
输出2路AFDX接口信号。
1.1 端系统FPGA芯片结构设计
本方案设计的AFDX端系统采用Xilinx公司Virtex-5-FX200T型号FPGA芯片,
在ISE11.4环境下完成开发。
FPGA芯片采用PowperPC440(PPC440)构架,利用软硬件协同的设计方式实
现了AFDX端系统的全部功能。端系统控制逻辑、主机接口逻辑以及协议栈虚拟
链路层等功能由硬件实现;端系统通信端口、SAP端口、协议栈IP层和UDP层
等功能由运行在硬核PPC440处理器上的软件实现。FPGA芯片的结构框图如图2
所示。
图2 端系统FPGA的结构框图
PPC440是高性能的RISC处理器,采用FPGA内部硬核实现,提供了PLB的接口,
完成了数据处理、调试等功能。AFDX协议栈IP、UDP层功能由软件控制处理器
实现。
ES模块实现了AFDX端系统协议栈虚链路层的全部功能,如流量整形、虚链路调
度、完整性检查、冗余管理等。
MPMC(Multi-port Memory Controller)是支持SDRAM/DDR/DDR2的
多端口存储器控制器。MPMC最多可提供8个端口,每个端口可配置成不同的
PIM (Personality Interface Modules), 包 括 NPI (Native Port Interface)
和PPC440MC(PowerPC 440Memory Controller)。
MPMC通过PPC440MC PIM直接和PPC440的存储器接口相连。PPC440通过
该接口可访问FPGA外部DDR2存储器。
NPI接口提供了一个接口来满足用户自己的设计需求,可以进行地址、数据和控制
信号使能读写操作。本设计中使用了3个NPI接口,第一个NPI接口用于和PCI
控制模块的连接,完成NPI到PCI的转换逻辑;第二个NPI接口用于和ES模块
的连接,完成了数据帧的收发;第三个NPI接口用于和DMA模块的连接,完成
了DDR2内部数据的搬移。
1.2 端系统工作流程
发送数据时,外部主机CPU通过PCI总线将数据送入FPGA,FPGA通过PCI到
NPI的转换逻辑将数据送入DDR2,同时将相关控制信息写入DDR2。PPC440查
询DDR2的内容,查询控制信息,处理数据,并启动DMA模块完成数据在
DDR2内部的搬移,然后配置ES模块的寄存器,启动AFDX帧的发送。
接收数据时,PHY接收到的AFDX帧送入ES模块,ES模块经过完整性检查、冗
余管理后将收到的帧通过NPI接口送入DDR2,PPC440处理数据后,外部CPU
通过PCI总线将数据读走,完成AFDX帧的接收。
2 端系统虚拟链路层的实现
虚拟链路层模块 (图2中的ES模块)采用Verilog HDL代码编写,实现了发送
和接受虚拟链路各128条,完成了AFDX端系统虚拟链路层的全部功能,包括虚
拟链路调度、冗余管理、完整性检查、MAC信息封包等功能。
2.1 虚拟链路层模块整体结构
根据对AFDX端系统协议栈的研究,本方案的虚拟链路层模块的功能结构如图3
所示。
图3 虚拟链路层模块的功能结构图
2.2 关键模块的设计
(1)ES_top模块:ES_top模块为虚拟链路层顶层模块。完成PLB总线接口逻
辑,处理地址译码,实现对寄存器的读写操作。
(2)发送控制模块:发送控制模块负责接收从ES_top模块译码来的数据和相关
配置信息,并对数据进行处理,配置每条VL的发送冗余管理功能。
(3)接收控制模块:接收控制模块根据VL号对冗余检查模块传送过来的帧进行
分拣,并将该帧存入该VL对应的数据接收缓存区中。
(4)调度模块:调度模块用来对发送数据进行流量整形和调度,使用调度算法根
据周期和偏移来决定各条虚拟链路的发送顺序。设计时采用公平轮询调度算法,实
现各条虚拟链路的平等调度。
调度模块由规整器模块和多路选择器模块组成。规整器中包含带宽分配间隔
(Bandwidth Allocation Gap,BAG)和抖动(Jitter)定时器,用来控制向
MAC模块发送帧的时序,确保每条虚链路的BAG和最大帧长度Lmax
(Maximum Frame Size)符合规定;多路选择器模块根据各个VL的BAG配置
值,对来自多个VL的AFDX帧进行调度,选择来自多个VL的帧,最后合并到一
条物理链路上发送。
(5)接受冗余管理模块:接受冗余管理模块包括完整性检查 (IC)模块和冗余检
查 (RM)模块。
完整性检查模块对每个从MAC模块传来的数据帧,根据接收到的数据帧包含的序
列号 (SN)来判断该帧是否合法。该检查基于最后一个接收到的帧的SN进行,
规则如下:
①一个合法帧的序列号为当前帧的序列号加上l或者2。(当前帧的SN为255,
下一帧的SN重新从1开始计数)。
②所有序列号为0的帧全都是合法帧,它指示端系统进行了复位。
③端系统复位成功后接收的第1帧无论其序列号是什么都认为是合法的。
在配置文件中可以针对每一条虚拟链路设定是否启用完整性检查,端系统启动时会
根据配置文件中的内容设置完整性检查状态。完整性检查在所有的虚拟链路上各自
执行互不干扰。
当完整性检查模块接收到一个不合法的帧,完整性检验模块将丢弃这个帧;当完整
性检查接收到一个合法的数据帧,完整性检查模块将数据帧传送到冗余检查模块。
冗余检查模块接收所有经过完整性检查的合法帧。冗余检查不对帧的内容进行比较,
冗余检查是基于最大偏斜 (Skew-Max)。SkewMax指接收两个冗余帧之间的
最大时间间隔,该参数是系统为每条虚链路分配的。当它接收到同一个帧的两份拷
贝时:如果两帧间隔大于SkewMax,那么两帧都被接收;如果两帧间隔小于
SkewMax,那么按照 “先到优先”的原则,它将传送先收到的帧,并丢弃第二个。
冗余检查功能开启时,该模块为每条VL传送具有给定SN号的先有效的帧,有效
帧从通道A、通道B或同时通过两者被接收。冗余检查被禁用的时候,对任一通
道收到的数据都向前传送。
接收冗余管理工作流程如图4所示。
图4 接收冗余管理工作流程
(6)MAC模块:发送AFDX帧时,MAC模块的作用是对调度后的数据进行发送,
将数据封上MAC帧头和CRC校验码,完成与PHY接口的位宽转换并发送数据帧。
接收AFDX帧时,MAC模块的作用是对从PHY传输来的数据进行解包处理,并
对数据帧进行初步校验,包括CRC校验,字节完整性校验,帧长度校验,MAC
头校验和AB网选择校验,对不符合条件的帧进行过滤,将正确的帧传送到上层模
块。同时输出一些统计信息,如超长帧计数器、超短帧计数器、字节未对齐计数器、
MAC头错误计数器、超时丢帧计数器等。
2.3 虚拟链路层模块工作流程
结合图3,虚拟链路层具体工作流程描述如下:
发送AFDX帧时,从DDR2的发送缓存区中读出数据帧向对应VL的FIFO写入待
发送的数据信息,经过调度模块调度,在发送控制逻辑的控制下,读出发送缓冲区
的数据,传送到MAC模块为数据帧加帧头信息 (帧序列校验信息和CRC校验信
息),并进行64位到4位的转换,通过PHY口,发送到网络。
接收AFDX帧时,PHY模块检测到物理链路上有数据帧后,将数据帧取出,传送
至MAC模块。MAC模块到数据帧后,对数据进行解包处理并对接收帧进行正误
检测 (CRC校验,字节完整性校验,帧长度校验,MAC头校验和AB网选择校
验),若校验通过,则将数据帧传送至接受冗余管理模块,经过完整性检查和冗余
检查之后将收到的数据帧通过NPI接口送入DDR2的接收数据缓存区中。
3 结论
本文对AFDX端系统及其协议栈进行了详细研究,提出了一种符合ARINC664规
范的基于FPGA的AFDX端系统的解决方案,并给出了端系统虚拟链路层的具体
实现方案。本方案中的Verilog代码已在ISE 11.4下完成编译,各模块已在
Modelsim6.5下完成了功能和时序仿真,并在端系统板卡上通过了初步测试验证。
AFDX端系统板卡在TechSAT测试平台的实验结果表明:本文提出的设计方案可
行,端系统能够达到95Mb/s以上的带宽,收发延迟时间均小于150μs,最大抖
动时间小于500μs,具有较高的可靠性和稳定性,符合AFDX协议标准,能够为
新一代航空电子设备中的数据通信提供可靠的保障。
【相关文献】
[1]石改辉,张 原.下一代航空数据体系结构研究 [J].电子工程,2006,(4):29-33.
[2]任向隆,马捷中,等.基于FPGA的AFDX端系统协议栈虚链路层的研究与实现 [J].计算机
测量与控制,2010,18 (2):422-424.
[3] Protocol Tutorial[EB/OL].Condor Engineering,Inc.2005.
[4]664Aircraft data networks,Part7:avionics full duplex switched
Ethernet(AFDX)Network [S].Airlines Electronic Engineering Committee,2005.
[5]熊华钢,周贵荣,李 峭.机载总线网络及其发展 [J].航空学报,2006,27 (6):1135-
1144.
[6]Charara H,Scharbarg J L,Ermont J,et s for Bounding End-to-End
Delays on an AFDX Networks[A]. the 18th Euromicro Conference on Real-time
Systems [C].[S.l.]:IEEE Press,2006:193-202.
[7]MCHALE technology to improve communications on boeing-787
[J].Military & Aerospace Electronics Magazine,2005,16 (4):22-23.
[8]校 莉.AFDX在航空通信系统中的应用 [J].电讯技术,2010,50 (7):41-43.