基于FPGA的AFDX端系统协议芯片的设计与实现_张志

  • 格式:pdf
  • 大小:491.91 KB
  • 文档页数:4

#422#计算机测量与控制.2010.18(2) Computer Measurement &Control设计与应用收稿日期:20091011; 修回日期:20091110。

基金项目:国防/十一五0预研项目(B2720060300)。

作者简介:张 志(1983),男,吉林人,硕士研究生,主要从事测控与嵌入式技术方向的研究。

翟正军(1965),男,河南洛阳人,教授,主要从事计算机测控与仿真技术方向的研究。

文章编号:16714598(2010)02042203 中图分类号:T N915文献标识码:A基于FPGA 的AFDX 端系统协议芯片的设计与实现张 志,翟正军,姚方圆(西北工业大学计算机学院,陕西西安 710072)摘要:航空电子全双工交换以太网(AFDX)是下一代航空数据网络的最佳选择,AFDX 端系统保证了AFDX 网络航电系统之间数据交换的安全和可靠性;为了研制具有我国自主产权的新型机载数据网络端系统协议芯片,基于ARINC 664规范第7部分,提出符合该规范的基于FPGA 的AFDX 端系统协议芯片和相应AFDX 端系统板卡的设计方案,并给出关键模块的具体实现;通过对端系统协议芯片进行测试验证,证明该端系统协议芯片符合AFDX 协议标准,具有较高的通信性能及稳定性,可为新一代航空电子设备中的数据通信提供保障。

关键词:航空电子全双工交换式以太网;端系统;现场可编程门阵列Design and Implementation of AFDX End -System Protocol C hip Based on FPGAZhang Zhi,Zhai Zheng jun,Yao Fangy uan(Schoo l o f Co mputer Science,N or thwestern Po ly technical U niversity,Xi p an 710072,China)Abstract:Avionics Full Duplex S witched Ethern et (AFDX)is the bes t choice of nex t-generation avionics data netw ork s.In the AFDX n etw ork,th e data ex change p s security and reliability of avionics sys tems are ensu red b y AFDX end sys tem.In order to develop a new type of end-sys tem protocol chip us ed in aircraft-borne netw ork w hose property ow ned by Ch ina,based on the analysis of ARINC664s pecification part 7,this paper provides a solu tion of AFDX End -System (ES )protocol chip based on FPGA and cor respondin g AFDX End-System Card,it also gives the realization of k ey m odu les of protocol chip.By testin g and verification of th e E S chip,it is p roved that the chip tallies th e standard of AFDX protocol,h as high commun ication performance and s tability,and can provide guarantee for th e data commun ication in th e next gen eration of avionics devices.Key words :avionics full duplex sw itched E th ern et (AFDX);AFDX end-system;FPGA0 引言AF DX 作为近两年来最先进的用于航空电子系统的通用通信链路,首次将网络化技术成功地引入到了航空电子系统中[1]。

国外对A FDX 总线的研究较为成熟,在空中客车公司研制的A 380客机和A400M 军用运输机及波音公司研制的B 787宽体客机上AF DX 航空数据总线均已得到成功应用美国波音和欧洲空客公司已研制出相关的成熟产品并投入使用。

国内对A FDX 的研究和研制还处于起步阶段。

A FDX 端系统是AF DX 网络组成部分,作为航电子系统与A FDX 分组交换机连接的接口。

每个航电子系统的端系统保证了航电系统之间数据交换的安全和可靠性。

因此研制具有我国自主产权的新型机载数据网络端系统芯片已成为一个现实而迫切的任务。

本文介绍了符合A RIN C664规范的A F DX 端系统协议芯片和相应A FDX 端系统板卡的设计方案。

端系统芯片使用单片F PG A 设计。

FP GA 凭借其灵活、规模大、开发周期短的优势已成为电子系统设计与实现的一种重要手段。

1 AFDX 端系统概述A F DX 端系统嵌入在每个航空电子子系统中,将子系统与A F DX 网络连接起来,负责消息的发送和接收,其链路传输速率为10M bps 或100M bps 。

A FDX /确定性网络0特性主要由端系统实现[2],主要包括:111 虚拟链路A FDX 引进了虚拟链路(Virtual L ink,VL)对带宽资源进行有效地分隔。

VL 是从数据源通过多播地址发布的一路数据包流量,物理上很多路VL 共用一条以太网链路,并通过交换机进行交换与多播。

在发送端采用流量整形机制通过对每条V L 定义最大帧长度L max (M ax imum Frame Size)和带宽分配间隔(Bandwidth A llocation Gap,BAG)在VL s 间分配通信资源。

流量整形功能应该能够在1ms~128ms 的内控制BA G 的值。

这些值应该满足如下的公式:B A G =2k (单位:ms),(k 的取值范围是0~7)。

端系统输出端口的每个V L 的max _j itter (最大允许抖动)应该服从下列两个联立的公式[3]:M ax _J itter [40L s +Ei I {VL 的集合}(20By tes +L max i By tes )@8 bits/By tesNbw bits/sM ax _J itter [500L s112 冗余路径A FDX 通过冗余路径来提高网络的可用性。

在冗余配置第2期张 志,等:基于FPGA 的AFDX 端系统协议芯片的设计与实现 #423#下,每个端系统将要发送帧编号,并将它复制成两份,分别通过物理上相互独立的交换设备向目的端系统发送。

端系统具有冗余管理(r edundancy management )功能,目的端系统根据编号按顺序接收。

如果两个复本都被正常接收,则后到的被丢弃;如果其中一个出现传输故障,则可以用另一个进行替代。

2 端系统及协议芯片的功能结构设计211 AFDX 端系统的组成本文设计的A FDX 端系统硬件架构如图1所示。

各模块的功能如下:图1 AFDX 端系统的硬件架构PCI 接口模块:实现PCI 总线的接口协议。

CP U 模块:实现A F DX 协议栈U DP 、IP 层的功能。

DPRA M 模块:存储发送虚链路和接收虚链路的数据、端系统的配置数据和端系统运行需用到的其他数据。

FP GA 模块:实现A FDX 协议栈特有的全部虚链路层功能如流量整形、虚链路调度、完整性检查、冗余管理等。

PH Y 模块:PH Y 芯片实现以太网的物理层接口功能。

212 端系统协议芯片的组成作为端系统核心协议芯片,F PG A 实现了AF DX 协议栈特有的全部虚链路层功能,如流量整形、虚链路调度、完整性检查、冗余管理等。

端系统协议芯片的组成如图2所示。

图2 AFDX 端系统芯片的功能结构端系统初始化完成后,即可完成发送数据和接收数据的工作。

具体流程如下:(1)发送流程。

¹CP U 模块经由PCI 接口通过DM A 方式,将航电子系统中的数据帧传送到DPR AM 中,并修改索引表模块中/发送缓存索引表0的内容。

º端系统协议芯片中的发送模块,依照一定的调度算法调度到相应V L 后,根据/发送缓存索引表0中的内容,计算得出该帧缓存的地址。

从该帧缓存起始地址开始,每次4Byt es 将数据帧取出,添加序列号(SN )后,同时发往M A C A 和M A C B 。

»端系统协议芯片中的M A C 模块(M A C A 和M A C B)对数据帧添加帧序列校验。

之后发往P HY 模块(PH Y A 和P HY B)。

¼P HY 模块将数据发至物理链路。

(2)接收流程。

¹P HY 模块(PHY A 和PHY B)检测到物理链路上有数据帧后,将数据帧取出,送至M AC 模块(M A C A 和M AC B)。

º端系统协议芯片中的M AC 模块对数据帧进行CR C 校验。

之后送至接收模块。

»端系统协议芯片中的接收模块,将M A C 模块(M AC A 和M A C B)传来的数据存入自身缓存中,直至数据帧接收完毕后,对数据帧进行完整检查、冗余管理。

通过该数据帧的V L 号查询/接收缓存索引表0,计算得出空闲缓存地址。

之后将该数据帧存入相应缓存中,同时修改相应/接收缓存索引表0中的内容。

¼CP U 模块检测到收到新数据帧后启动DM A ,将数据送至航电子系统中,并修改相应索引表模块中/发送缓存索引表0的内容。

3 端系统芯片中的关键模块设计311 TxRA M /RxRAM 索引表模块端系统的每条虚链路在双端口存储器中都有8个长度为1516Bytes 的缓存,因此需要设计T xR AM /Rx RA M 索引表实现对虚链路缓存的管理。

T xR AM /Rx RA M 索引表的结构如表1所示。

表1 TxRAM /RxRAM 索引表结构bit(9876)(待发包个数)bit(543)(写入地址偏移)bit(210)(读出地址偏移)物理VL 号(不在表中存储)Num 1Wpos 1Rpos1VL_ID1Num 2Wpos 2Rpos2VL_ID2Num 3Wpos 3Rpos3VL_ID3,,,,在这种组织方式下,从DPR AM (T xR AM 或Rx RA M )中读出或写入数据之前,要先访问该索引表,根据索引表的内容,产生缓存的地址。