新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于AMBA总线接口的AFDX端系统IP核

基于AMBA总线接口的AFDX端系统IP核

作者:赵旺时间:2014-03-27来源:电子产品世界收藏

  1 引言

本文引用地址:http://www.eepw.com.cn/article/235428.htm

  本文介绍了基于总线接口的AFDX核的设计方案,使AFDX的应用不只局限于终端板卡的形式。在片上系统(SoC)芯片中集成AFDX功能,使AFDX端系统的应用更加灵活,以满足不同的应用需求。基于S698-P4的SoC系统芯片是珠海欧比特公司自主研发的一款32位嵌入式SoC芯片。应用该芯片集成了一个符合ARINC664规范[4]的AFDX端系统核,目前该核设计已经通过了RTL级验证和FPGA验证。

  2 AFDX端系统

  AFDX端系统嵌入在每个航空电子子系统中,主要提供航空电子设备子系统和AFDX互联网络之间的接口,负责消息的发送和接收。AFDX网络不同于普通的特性主要由端系统实现[5],主要包括:

  2.1 虚拟链路

  AFDX引进了虚拟链路(Virtual Link,VL)对带宽资源进行有效地分隔。虚拟链路是AFDX网络的核心,每条虚拟链路都在源端系统和目的端系统之间建立一条单向逻辑链路来传输数据,同时还允许建立子虚拟链路。在发送端采用流量整形机制通过对每条VL定义最大帧长度Lmax(Maximum Frame Size)和带宽分配间隔(Bandwidth Allocation Gap,BAG)在VL间分配通信资源。

  流量整形功能是在单条虚拟链路上调整帧的发送时间,使每条虚拟链路在各自的BAG内只能发送一个帧。ARINC664第7部分规定AFDX网络集成者需要根据实际应用需求为每条虚拟链路预先配置BAG,BAG的取值需要在1ms~128ms范围之内,同时满足公式:BAG = 2k (单位:ms),(k的取值范围是0~7)。

  端系统的每个VL的Max_jitter(最大允许抖动)应该服从下列两个联立的公[4]:

 

  2.2 冗余网络

  AFDX采用冗余网络增强数据传输的可靠性,以保证在某一个网络崩溃时仍可以继续正常通信。在冗余配置下,对发送的数据帧进行编号,并将它复制成两份,分别通过物理上相互独立的网络向目的端系统发送。端系统具有冗余管理功能,目的端系统根据编号按顺序接收。如果两个冗余帧都被正常接收,则后到的被丢弃;如果其中一个出现传输故障,则可以用另一个进行替代。

  3 总线

  规范[6]是ARM公司设计的一种用于高性能嵌入式系统的总线标准。AMBA规范定义了3种可使用的不同类型的总线:AHB,ASB和APB。

  典型的基于AMBA的SoC系统结构如图1所示[7]。其中高性能系统总线(AHB或ASB)主要用以满足CPU和存储器之间的高带宽要求。CPU、片内存储器和DMA设备等高速设备连接在其上,而系统的大部分低速外部设备则连接在低带宽总线APB上。系统总线和外设总线之间用一个桥接器进行连接。

  4 AFDX端系统IP核设计

  4.1 AFDX端系统IP核体系结构

  系统集成的AFDX端系统IP核符合ARINC664规范。该IP核通过AMBA总线与RISC核通信,通过外接一个物理层PHY接口芯片与AFDX网络相连。AFDX端系统IP核主要技术特征包括:(1)支持ARINC664规范;(2)高性能的AMBA总线接口与RISC间的数据传输;(3)提供2个10/100M的RJ45形式的AFDX端口,支持2个端口独立使用或2个端口互为冗余;(4)软件实现传输层(UPD)、网络层(IP)协议,硬件实现链路层(Virtual Link)及物理层(PHY)层协议 ;(5)硬件实现快速传输调度和虚拟链接过滤 ;(6)支持采样(Sampling)和列队(Queuing)端口;(7)支持发送和接收各128条虚拟链路(VL)。AFDX端系统IP核体系结构如图2所示。

  AFDX端系统IP核内部主要有:AMBA总线接口模块、发送功能模块、接收功能模块、媒体介质管理模块(MAC)、寄存器配置管理模块。

  4.2 AFDX端系统IP核中关键模块设计

  4.2.1 AMBA总线接口模块

  该模块实现了AFDX端系统IP核与RISC间通信功能。当发送或接收数据帧时,总线控制器都要访问AMBA总线上的SRAM,以读或写数据,此时AFDX端系统IP核作为总线Master访问SRAM(通过AHB总线)。当RISC核(作为总线Master)访问AFDX端系统IP核寄存器时,该IP核作为总线Slave响应总线Master的传输请求(通过APB总线)。

  在发送一个数据帧时,RISC核首先写寄存器以允许AFDX端系统IP核发送数据帧,然后构建好发送缓冲区描述符(TxBD)并写入SRAM。发送控制器读取该TxBD并启动AHB Master从SRAM中直接读取数据存放到内部的发送缓存RAM,并最终产生发送控制信号(TxCtrls)通知发送模块等待调度发送。其中,发送缓存分成128个存储空间,根据不同的虚拟链路号(VL)来存储128个虚拟链路的发送数据。接收数据帧的过程类似。

  4.2.2 发送功能模块

  发送模块要实现以下功能:按照端系统的配置,对各条虚链路的数据帧进行流量整形;在各虚链路之间进行调度以多路复用物理带宽;然后添加序列号SN,再根据配置信息中各虚链路的冗余状态,将其帧发往MAC A、MAC B模块。发送模块主要功能如图3[8]所示。

 

  (1)虚拟链路调度:由于一个AFDX端系统内可以使用多条虚拟链路,而AFDX网络的物理链路同一时间只允许一条虚拟链路的数据被发送,因此端系统协议栈的虚拟链路层需要对经过流量整形的各条虚拟链路进行多路复用传输到物理层。发送功能模块采用了基于静态优先级的综合同步调度策略,其高优先级数据帧发送延迟明显小于低优先级数据帧的延迟,具体规则如下:

  (a) 对虚拟链路层的所有VL区分为高或低两个优先级,VL的优先级一旦确定,在传输过程中将固定不变。

  (b) 将标准AFDX调度模型的流量整形综合到虚拟链路调度。

  (c) 虚拟链路调度器根据VL的优先级(对于具有同一优先级的VL则根据轮询策略),读取虚拟链路层VL队列缓冲的帧到虚拟链路多路复用缓冲。

  (d) 同时虚拟链路调度器采用同步调度对进入多路复用缓冲的各虚拟链路的帧进行流量整形并发送。

  (2)发送冗余管理:发送冗余管理功能是根据虚拟链路的冗余配置状态确定帧的传输方式,包括只在网络A传输、只在网络B传输或者在网络A和网络B同时传输(冗余传输)三种方式,如果需要冗余发送,则复制AFDX帧,并修改AFDX帧的网络接口标识(Interface_ID),然后通过相应的网络传输到目的端系统。

  4.2.3 接收功能模块

  接收模块要实现以下功能:首先将MAC模块(MAC1和MAC2)传来的数据存入自身缓存中,首先经过CRC检查帧的正确性,如果没有错误,再对数据帧进行完整检查、冗余管理。接收模块主要功能如图4[8]所示。

  (1)完整性检查:AFDX使用SN对虚拟链路上传输的帧进行顺序编号,因此虚拟链路层可以根据一定算法对同一虚拟链路连续接收的帧的SN进行检查,判断虚拟链路接收的帧序列是否完整有效。

  完整性检查的应用规则(以下文中简称“IC规则”),可以归纳如下:

  规则1:RSN=PSN+1,表示当前接收帧的SN符合期望的SN,为上一接收帧的后续帧;

  规则2:RSN=PSN+2,表示单个帧的丢失不会影响后续到达帧的接收。

  规则3:RSN=0,表示当前接收帧是在源端系统启动或复位后发送的第一帧。

  其中RSN(Received SN)指当前接收帧的SN;PSN(Previous SN)指同一虚链路上前一个接收帧的SN;操作符“+”是指在SN的取值范围内进行循环加计算,SN的取值范围为1~255,当SN超过最大值时,返回到循环的起始位置,即当PSN=255时,RSN=PSN+1=1。

  (2)接收冗余管理:冗余性检查接收所有经过完整性检查的合法帧,当它接收到同一个帧的两份拷贝时,它将先接收到的帧转发出去,然后删除冗余帧。

  在接收帧时,冗余检查模块还依赖于SkewMax(最大偏斜)。SkewMax指接收两个独立网络传送的互为冗余的帧的最大允许时间间隔。如果互为冗余帧的接收时间间隔在SkewMax之内,那么丢弃冗余帧。如果接收时间间隔超过SkewMax,那么冗余帧被无条件接收,视为有效帧。

  5 结束语

  本AFDX端系统IP核符合ARINC664规范,可集成于具有AMBA总线接口的SoC中,外接物理层PHY接口芯片便可以接入AFDX网络。经RTL级和FPGA验证及功能和性能测试表明,此IP核符合AFDX协议标准,通信性能及稳定性较高,能满足系统应用需要。

  另外,本AFDX端系统IP核具有标准的AMBA总线接口,因此,完全可以作为一个通用的IP核集成在各SoC设计中,并可满足各种嵌入式通信系统的应用要求,具有广泛的应用价值。

  参考文献:

  [1]陈昕, 周拥军, 万剑雄. AFDX端系统关键技术的研究与实现[J]. 计算机工程. 2009, 35 (5): 1-3

  [2]Committee of the IEEE Computer Society.IEEE Std. 802.3-2002. LAN/MAN Standards[S]. 2002

  [3]罗西. 基于FPGA的AFDX端系统设计[硕士论文]. 长沙:中南大学. 2011

  [4]AEEC. ARINC Specification 664 Part 7: Avionics Ful1 Duplex Switched Ethemet (AFDX) Network[S]. 2005

  [5]熊华钢, 李峭, 黄永邦. 航空全双工交换式标准研究[J]. 航空标准化与质量. 2008, 223: 25-26

  [6]ARM Ltd Co AMBA Specification(Rev2.0) [Z]. 1999

  [7]李瑞, 张春元, 罗莉. 三种常用SoC片上总线的分析与比较[J]. 单片机与嵌入式系统应用. 2004 (02)

  [8]许燕婷. AFDX端系统协议栈虚拟链路层分析及仿真研究[硕士论文]. 上海:上海交通大学. 2011



评论


相关推荐

技术专区

关闭