首页 基于FPGA的AFDX协议处理芯片设计

基于FPGA的AFDX协议处理芯片设计

举报
开通vip

基于FPGA的AFDX协议处理芯片设计 Computer Engineering and Applications计算机工程与应用2011,47(21) 航空电子全双工交换式以太网(Avionics Full Duplex Switched Ethernet,AFDX)由工业标准以太网(IEEE802.3)经过 适用性改进(ARINC664-Part7)形成的,不仅满足航空电子系统 对数据通信带宽的需求,而且满足航空电子领域应用的高可靠 性、高实时性要求,当前已应用于先进大型客机项目(A380和 B787)中,成为了一种新的航空电子数据网络标准。按照...

基于FPGA的AFDX协议处理芯片设计
Computer Engineering and Applications计算机工程与应用2011,47(21) 航空电子全双工交换式以太网(Avionics Full Duplex Switched Ethernet,AFDX)由工业 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 以太网(IEEE802.3)经过 适用性改进(ARINC664-Part7)形成的,不仅满足航空电子系统 对数据通信带宽的需求,而且满足航空电子领域应用的高可靠 性、高实时性要求,当前已应用于先进大型客机项目(A380和 B787)中,成为了一种新的航空电子数据网络标准。按照AFDX 分层模型[1]的 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 思想,AFDX协议处理芯片将完成物理层、链 路层和传输层的功能,AFDX的主要功能是完成AFDX网络协 议的解析,同时还需要实时管理AFDX虚拟链和数据流。 本文介绍了符合ARINC664 规范 编程规范下载gsp规范下载钢格栅规范下载警徽规范下载建设厅规范下载 的AFDX端系统协议芯 片的 设计方案 关于薪酬设计方案通用技术作品设计方案停车场设计方案多媒体教室设计方案农贸市场设计方案 ,并且对AFDX协议处理芯片中的关键模块进 行了设计和仿真。端系统芯片使用单片 FPGA设计。FPGA 凭借其灵活、规模大、开发周期短的优势已成为电子系统设计 与实现的一种重要手段。 1 AFDX端系统概述 AFDX端系统嵌入在每个航空电子子系统中,将子系统与 AFDX网络连接起来,负责消息的发送和接收,其链路传输速 率为 10 Mb/s或 100 Mb/s。AFDX“确定性网络”[2]特性主要由 端系统实现,AFDX的端系统主要包括: 1.1 虚拟链路 AFDX引进了虚拟链路(Virtual Link,VL)对带宽资源进 行有效的分隔。VL是从数据源通过多播地址发布的一路数 据包流量,物理上很多路VL共用一条以太网链路,并通过交 换机进行交换与多播。在发送端采用流量整形机制通过对每 条VL定义最大帧长度 Lmax(Maximum Frame Size)[3]和带宽 分配间隔BAG(Bandwidth Allocation Gap)在VL间分配通信 资源。流量整形功能应该能够在1~128 ms内控制BAG的值。 这些值应该满足BAG=2k ms(0≤k≤7)。端系统输出端口的每 个VL的max.jitter(最大允许抖动)应该服从下列两个联立的 公式[3]: ì í î ïï ïï Max.jitter £ 40 + å iÎ{ }VLset (20 + Lmax)´ 8 NWB Max.jitter £ 500 (1) 其中:max_jitter单位是 μs,Lmax(虚链路的最大允许帧)单位 为字节,40 μs是典型的最小固定技术抖动。 1.2 冗余路径 AFDX通过冗余路径[4]来提高网络的可用性。在冗余配置 下,每个端系统将要发送帧编号,并将它复制成两份,分别通 过物理上相互独立的交换设备向目的端系统发送。端系统具 有冗余管理(redundancy management)功能,目的端系统根据 编号按顺序接收。如果两个复本都被正常接收,则后到的被丢 弃;如果其中一个出现传输故障,则可以用另一个进行替代。 基于FPGA的AFDX协议处理芯片设计 尹 路,王 勇,郭利锋 YIN Lu,WANG Yong,GUO Lifeng 空军工程大学 工程学院,西安 710038 Engineering College,Air Force Engineering University,Xi’an 710038,China YIN Lu,WANG Yong,GUO Lifeng.Design of AFDX protocol process chip based on FPGA.Computer Engineering and Applications,2011,47(21):64-67. Abstract:Avionics Full Duplex Switched Ethernet(AFDX) is the best choice of next-generation avionics data networks.The AFDX end system can ensure the safety and reliability of the data which exchange along the aircraft-borne networks.This pa- per is based on the analysis of ARINC664 specification part 7 and provides a solution of AFDX protocol process chip based on FPGA.It also gives the design and simulation of key modules of AFDX protocol process chip. Key words:Avionics Full Duplex Switched Ethernet;end system;protocol process chip;simulation 摘 要:航空电子全双工交换式以太网(AFDX)是下一代航空数字网络的首选。AFDX的端系统可以保证数据在航电系统网络 之间交换的安全性和可靠性,基于ARINC664规范的第7部分,提出了符合该规范的AFDX协议处理芯片的设计 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 ,对AFDX 协议处理芯片中的关键模块进行了设计和仿真。 关键词:航空电子全双工交换式以太网;端系统;协议处理芯片;仿真 DOI:10.3778/j.issn.1002-8331.2011.21.017 文章编号:1002-8331(2011)21-0064-04 文献标识码:A 中图分类号:TP39 ⦾研发、设计、测试⦾ 作者简介:尹路(1987—),男,硕士研究生,研究方向为机载计算机技术;王勇(1963—),男,副教授,硕士研究生导师;郭利锋(1985—),男,硕士研 究生。E-mail:yinlu7669025@163.com 收稿日期:2011-02-25;修回日期:2011-04-25 64 2011,47(21) 1.3 AFDX端系统的组成 本文设计的AFDX端系统硬件架构如图 1所示。各模块 的功能如下: PCI接口模块:实现PCI总线的接口协议。 CPU模块:实现AFDX协议栈UDP、IP层的功能。 DPRAM模块:存储发送虚链路和接收虚链路的数据、端 系统的配置数据和端系统运行需用到的其他数据。 FPGA模块:实现AFDX协议栈特有的全部虚链路层功能 如流量整形、虚链路调度、完整性检查、冗余管理等。 PHY模块:PHY芯片实现以太网的物理层接口功能。 2 AFDX协议处理芯片结构设计 作为端系统核心协议处理芯片,FPGA实现了AFDX协议 栈特有的全部虚链路层功能[5],如流量整形、虚链路调度、完整 性检查、冗余管理等。端系统协议处理芯片的组成如图2所示。 2.1 协议处理芯片硬件结构 硬件分区结构如图2上半部分所示,包括媒体访问控制器 (MAC)、终端系统传输模块、发送/接收冗余管理模块、NIOS II 处理器、虚拟链数据存储器及相关辅助电路组成。 (1)媒体访问控制器:发送数据时,通过NIOS II处理器的 调度程序和调度器的控制,负责从发送虚拟链数据缓存中读 取数据,并按照AFDX协议的数据格式发送给物理层接口;接 收数据时,通过物理层接口从物理层获取数据,然后按照 AFDX协议进行数据解析,并通过接收冗余管理模块的处理, 最终存入接收虚拟链数据缓存中。 (2)终端系统传输模块:包括调度器、抖动时间、各虚拟链 时间和虚拟链指针等模块,各个模块通过NIOS II处理器的调 度程序完成AFDX传输过程中的流量整形。按照定义好的配 置表将数据流整形成各个虚拟链路中定义的参数:最小带宽 分配间隙和最大帧长。在满足虚拟链最大抖动范围的前提 下,经过调度器叠合后发送到交换机中。 (3)冗余管理模块:冗余管理包括发送冗余管理和接收冗 余管理。发送冗余管理对逐个虚拟链进行配置,经过调度器 整形的虚拟链可选择从媒体访问控制器A或B发送帧数据,或 同时发送。接收冗余管理对接收到的帧数据进行完整性检查, 并判断是否有效,以及删除冗余通道中重复收到的有效帧。 (4)NIOS II处理器:是系统的核心控制模块,负责协调各 个模块之间的工作。主要功能包括:启动时配置系统、调度传 输帧以及接收帧的多路分解。当开机或重启时,CPU读取配 置存储器,确定虚拟链的数目、各个虚拟链所需的带宽和终端 系统的媒体访问控制。 2.2 协议处理芯片软件结构 软件结构如图2下部分所示,包括主控模块、初始化模块、 AFDX协议控制模块、中断管理模块、存储管理模块和错误管 理模块。 初始化模块负责初始控制信息,对主控模块进行初始化, 并通过AFDX协议控制模块对各个硬件模块进行初始化。 主控模块是软件运行的核心模块,是程序运行的主线程, 负责对系统其他软件模块进行管理。通过AFDX协议控制模 块实现对硬件部分的管理,以此控制AFDX数据帧编解码速 DPRAM PHYB PHYA FPGACPU PCI 接 口 图1 AFDX端系统硬件架构图 输入 数据 虚拟链发 送数 据存 储器 FPGA 下一帧指针 虚拟链1时间 虚拟链n时间 调度器 发送 冗余 控制 媒体访问 控制器A 物 理 层 A 抖动时间终端系统传输虚拟 链接 收数 据存 储器 输出 数据 NIOSII 处理器 接收冗余管理 媒体访问 控制器B 物 理 层 B 硬件部分 SDRAM FLASH 外部RAM 错误处理模块 初始化模块 软件部分 主控模块 中断管理模块 存储管理模块 AFDX协议控制模块 … 图2 端系统协议芯片的组成图 尹 路,王 勇,郭利锋:基于FPGA的AFDX协议处理芯片设计 65 Computer Engineering and Applications计算机工程与应用2011,47(21) 度及各硬件模块之间的交互;通过存储管理模块实现对片上 系统各个存储器的访问与控制;通过调用中断管理模块实现 系统软硬件中断的处理;另外,通过错误管理模块监视系统的 错误信息,并据此对主控模块进行相应的调整及处理。 AFDX协议控制模块是软件控制硬件模块的接口,按照软 硬件接口规范将信息以命令的方式发送给相关硬件模块。为 了使软件与硬件模块之间能够正常工作,它与每个硬件模块 之间通过一个命令缓冲区队列(FIFO)进行信息交互,并把命 令FIFO的状态传递给主控模块,主控模块据此判断AFDX协 议的帧数据传输是否可以继续下去,若命令FIFO不可用(已 满),则暂停数据传输,一直等待到可用为止。 存储管理模块负责对系统各个存储器进行管理,包括发 送/接收虚拟链数据存储器、NIOS II软件运行时的 SDRAM、 SRAM及掉电时用于保存程序的FLASH。 3 协议处理芯片中关键模块设计 3.1 调度器的设计 调度器[5]是端系统虚拟链路中对虚拟链路进行整型的关 键,每个虚拟链路的带宽分配需要考虑到最小带宽分配间隙 (BAG)、虚拟链路可以传递的最大帧长度 (Lmax)以及虚拟链路 的最大抖动边界(Max.Jitter)3个条件的限制。BAG是以两个 相继帧的起始位之间的间隔来确定的,范围为BAG=2k ms(0≤ k≤7)。抖动是指从开始的BAG到第一个虚拟链路分配的最大 分配带宽传输的帧之间的间隔。两者关系[4]如图3所示。 其中最大抖动边界必须符合公式(1)。 通过对调度器功能的了解,调度器可以分为同步调度器 和异步调度器,其中同步调度器中虚拟链的数据应该在不同 的传输周期给媒体访问控制器,异步调度器中虚拟链的数据 可以在相同的传输周期给媒体访问控制器。 3.1.1 同步调度器设计 为了简化控制逻辑和定时时间,该方法要求各虚拟链同 步且传输在最小周期为T(T>=1 ms)的范围内发生,具体设计 如下:(1)每个虚拟链拥有独立的BAG定时器,即使两个虚拟 链的BAG值相同,也不能使用同一个BAG定时器。(2)不同虚 拟链的数据应该在不同的传输周期给媒体访问控制器。(3)拥 有一个抖动定时器,各BAG定时器仅在抖动定时器溢出时才 复位,最大抖动边界计算由公式(1)确定。(4)每个虚拟链传输 控制逻辑应设定一个可传输标志(FTT)[6]来通知调度器传输该 虚拟链的帧数据。下面通过虚拟链A(BAGA =1 ms)和虚拟链 B(BAGB=2 ms)之间的传输过程来对本方法进行说明,该调度 器分配如图4所示,该调度器的仿真结果如图5所示。 在图4中,将时间 t ms到(t+1)ms定义为周期 t,具体调度 过程如下: 周期 0:调度器启动,检测到虚拟链A有数据,且FTTA为 1,经过一定抖动延时后调度帧A0,并复位FTTA。 周期1:BAGA时间到,设置FTTA,检测到虚拟链B有数据, 不经过抖动延时调度帧B0,并复位FTTB,设置Reset BAGA,重 新开始新的BAGA定时。 周期2:BAGA时间到,设置FTTA,检测到虚拟链A有数据, 经过一定抖动延时后调度帧A1,并复位FTTA。 周期3:BAGA时间到,设置FTTA,BAGB时间到,设置FTTB, 没有数据传输操作,保持原状态,设置Reset BAGA,重新开始 新的BAGA定时。 周期4:BAGA时间到,设置FTTA,检测到虚拟链B有数据, 经过一定抖动延时后调度帧B1,并复位FTTB;虚拟链A在超过 最大抖动延时后没有帧数据传输,设置Reset BAGA,重新开始 新的BAGA定时。 周期5:BAGA时间到,设置FTTA,BAGB时间到,设置FTTB, 在新的BAGA周期检测到虚拟链A有数据且FTTA为 1,经过一 定抖动延时后调度帧A0,并复位FTTA。 周期6:BAGA时间到,设置FTTA,BAGB时间到,设置FTTB, 没有数据传输操作,保持原状态。 3.1.2 异步调度器 异步调度器就是在一个最小BAG时间内同时传输多个虚 拟链路中的数据,不同虚拟链的数据可以在不同的传输周期 给媒体访问控制器。具体设计如下:(1)每个虚拟链拥有独立 的BAG定时器。(2)不同虚拟链路的数据可以在同一个传输周 期内被调度器调度,但是一旦某虚拟链路开始传输,那么只有 等该虚拟链路完全传输完后,才释放空闲时间。(3)每个BAG 定时器是独立运行的,且拥有独立的抖动定时器,每个虚拟链 的最大抖动边界由公式(2)确定。 Max.jitter £ 40 + (20 + L max)´ 8 NWB (2) (4)每个虚拟链传输控制逻辑应设定一个可传输标志(FTT) 来通知调度器传输该虚拟链的帧数据。下面通过虚拟链A (BAGA =1 ms)和虚拟链B(BAGB=1 ms)之间的传输过程对本 BAG Max.Jitter 帧 帧 帧 0
本文档为【基于FPGA的AFDX协议处理芯片设计】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_557864
暂无简介~
格式:pdf
大小:1MB
软件:PDF阅读器
页数:4
分类:互联网
上传时间:2013-04-28
浏览量:24