当前位置: 首页 > 范文大全 > 公文范文 >

一种基于AFDX的高速串行数据转换接口设计与实现

时间:2022-03-16 08:28:09  浏览次数:

摘要:该文从AFDX端系统与测控系统之间高速串行数据传输的需求出发,设计了一种基于AFDX的高速串行数据转换接口,实现AFDX数据到测控系统自定义数据的转换和传输。该设计利用FPGA内部的缓冲区资源,生成高速接口逻辑单元,通过外部LVDS接口进行数据的传输,大大提高了AFDX端系统的可用性。通过仿真和测试,验证了设计的有效性。

关键词:FPGA;AFDX;高速串行数据传输;LVDS

中图分类号:TP391 文献标识码:A 文章编号:1009-3044(2015)11-0192-03

The Design and Implementation of one High Speed Serial Data Transfer Interface Based on AFDX

ZHANG Li-hui, WANG Hong-chun, LIU Zhi-wu, BAI Yang

(AVIC Aeronautical Computing Technique Research Institute, Xi’an 710065, China)

Abstract:This paper puts forward the requirement of high speed serial data transfer between AFDX and measurement & control system, designs one high speed serial data transfer interface based on AFDX. This design takes advantage of the buffer resources inside FPGA, generates the high speed interface logic units,transmits data through external LVDS interface,improves the usability of AFDX end system.The efficiency of this design is verified by emulation and test.

Key words:FPGA;AFDX;High speed serial data transfer;LVDS

随着机载网络的发展,多种型号飞机选用AFDX作为飞机航空电子系统的主干网络。在民用以太网基础上发展起来的AFDX,基于100Mbps开关以太网,增加了带宽分配和余度管理等策略保证网络通信延迟的确定性和高可靠性,能够满足机载环境高速、分布、确定的通信要求。

AFDX端系统负责航空电子机载设备接入AFDX,并实现数据通信,互联系统框图如图1所示。

图1 AFDX端系统互联系统框图

本文基于测控系统AFDX端系统,实现了一种高速串行数据转换接口,并利用AFDX测试设备对设计进行仿真和测试验证,结果表明本文的高速串行数据转换接口能够很好地支持AFDX与测控系统串行同步接口数据转换和通信。

1 高速串行数据转换接口设计分析

测控系统AFDX端系统负责实现连接任务载荷管理计算机中AFDX交换机和测控系统管理计算机主处理器模块,实现两者互联和数据转换,测控系统采用串行同步接口,AFDX数据格式和同步接口数据发送时序如图2所示。

图2 串行同步接口数据发送时序

根据用户的使用要求,测控系统AFDX端系统需要实现接口:余度网络接口、高速串行同步接口,高速串行同步接口与测控系统连接,将余度网络中接收到的数据通过高速接口传给测控系统。余度网络接口分别连接到两个高速数据通信网络交换机,接收任务载荷管理计算机发送出来的数据帧,收发数据格式满足图2中的数据帧格式。AFDX与测控系统串行同步接口数据转换使用FPGA逻辑实现。

测控系统AFDX端系统功能框图见图3。

图3 AFDX端系统功能框图

2 接口电路设计

LVDS信号电平主要用于低压差分信号点到点的传输,在本设计中需要2路LVDS信号传输并行数据。接口电路设计的主要工作为电平匹配设计、阻抗配置和信号等长[1]。

LVDS传输的信号摆幅小,功耗低,一般差分线上电流不超过4mA,负载阻抗为100。LVDS信号都需要在接收端进行端接匹配。匹配值一般等于差分阻抗,为100ohms。LVDS的匹配电阻主要起到吸收负载反射信号的作用,因此要求放置的距离接收器端尽量靠近。本设计选用电平转换器件MAX9122和MAX9123实现LVTTL和LVDS电平的相互转换。另外,电平转换器件在输入差分接收器两端跨接100Ω差分终端,可显著改善信号完整性。

LVDS链路匹配设计如图4所示。

图4 LVDS接口链路匹配

为了保证多路LVDS的信号同步,需要对同一组信号线进行等长设计[2]。同时由于LVDS信号设计速率大于500Mbps,出于信号完整性的考虑,印制板布线时,需要对信号线进行严格的阻抗控制,使信号线差分阻抗保证在100ohm±10%,阻抗计算公式如下所示。

[ZDiff≈2ZO1-0.374e-2.9s2h+1Ohms] (1)

3 收发单元设计

3.1 发送单元设计

高速串行转换接口逻辑单元按照用户的通信协议,将接收到的帧数据发送出去。

高速串行转换接口逻辑根据缓冲区中已有数据的多少,向测控系统报是否准备好。当测控系统准备好时发起一次传输,高速串行转换接口逻辑按照测控系统输出的时钟从缓冲区取出数据并发送出去。高速串行转换接口逻辑采用状态机实现,工作过程如图5所示。

复位后状态机处于IDLE状态,此时,判断缓冲区中已有数据是否不小于235字节,如果是则置发送数据准备好NDSR为1,否则置为0。如果NDSR为1,且测控系统准备好NDTR也为1则发起一次测控帧传输,开始从缓冲区取数据,状态机进入S1状态。

图5 高速串行数据转换接口逻辑状态机示意图

在S1状态下,将数据字节的D7位发送出去,状态机进入S2状态。

在S2状态下,将数据字节的D6位发送出去,状态机进入S3状态。

在S3状态下,将数据字节的D5位发送出去,状态机进入S4状态。

在S4状态下,将数据字节的D4位发送出去,状态机进入S5状态。

在S5状态下,将数据字节的D3位发送出去,状态机进入S6状态。

在S6状态下,将数据字节的D2位发送出去,状态机进入S7状态。

在S7状态下,将数据字节的D1位发送出去,状态机进入S8状态。

在S8状态下,将数据字节的D0位发送出去。判断当前发送出去字节数目,如果未完成一次测控帧发送则继续从缓冲区取数据,状态机进入S1状态,如果已经完成一次测控帧发送,则进入IDLE状态,等待下次发送。

3.2 接收单元设计

接收单元从余度网络控制单元获取接收到的帧数据,并提取出UDP payload,写入数据缓冲区。

接收单元查询余度网络控制单元标记FIFO的状态,一旦发现不为空,表明已经接收到任务载荷管理计算机发出的帧。然后读FIFO数据,并从中计算帧在接收缓冲DPRAM中保存的起始位置和帧长度。再计算出帧的UDP payload保存的起始位置和长度,然后从接收缓冲DPRAM中取出UDP payload并按照字节的方式写入数据缓冲区。接收单元采用状态机实现。

接收单元采用状态机实现,如图6所示。

图6 写缓冲区控制单元状态机示意图

接收单元复位后处于IDLE状态。

在IDLE状态下,判断标记FIFO是否为空,如果不为空则进入S1状态;

在S1状态下,取标记FIFO数据,解析帧在接收缓冲DPRAM中保存的起始位置和帧长度,并计算UDP payload长度;

在S2状态下,计算帧UDP payload在接收缓冲DPRAM中保存的起始位置。判断UDP payload长度是否大于缓冲区剩余空间。如果大于则进入IDLE状态,否则进入S3状态;

在S3状态下,给出标记FIFO读信号(FIFO采用预取模式,先取数据再给出读信号)。进入S4状态;

在S4状态下,从接收缓冲DPRAM中取UDP payload,并将取出的数据写入缓冲区单元,直到UDP payload完全写入缓冲区单元。进入IDLE状态。

由于接收缓冲DPRAM宽度为32位,因此需要按照8位的方式分4次写入数据缓冲区。

数据缓冲区使用片内RAM资源实现一个8位宽度的FIFO,深度32768,大小32KB,即256Kb。

数据缓冲区使用非同步的双时钟设计,写时钟为余度网络控制的时钟,读时钟为高速接口逻辑的时钟。

数据缓冲区提供已使用单元计数功能,标记当前FIFO已使用的FIFO单元数目。

接收操作根据已使用单元计数值判断缓冲区是否可以放入MAC接收缓冲区中保存的下一个帧的payload。当数据缓冲区可以放入时,接收单元从接收缓冲DPRAM中取出这个帧的payload并写入数据缓冲区。当数据缓冲区不足以放入时,接收单元会认为数据缓冲区将满,不会再取数据,直到数据缓冲区再有足够空间。数据缓冲区将满时,如果接收缓冲DPRAM也满则新收到的帧被丢弃。

高速接口逻辑根据已使用单元计数值判断数据缓冲区中是否有足够的数据准备好发送给测控系统。当已使用单元计数值不小于235字节时,表明数据缓冲区中的数据可以发起一次传输。

4 仿真与验证

高速串行数据转换接口设计完成后,采用Modelsim6.5d进行仿真验证,仿真结果如下图7所示。

图7 高速串行数据转换接口设计仿真

由上图可看出,帧传输过程中NDSR和NDTR持续有效,帧传输结束后再根据缓冲字节数目报NDSR有效或无效。AFDX端系统发出NDSR有效后,在发送第1位数据的时钟上升沿信号由“0”变成“1”;在最后一位数据的下一个时钟上升沿,信号由“1”变成“0”。AFDX端系统输出数据高位先出,以字节为单位。仿真结果表明设计满足发送时序要求。

完成仿真后,将接口逻辑加入完整FPGA逻辑进行系统测试,实际测试结果表明:基于AFDX的高速串行数据转换接口设计功能正确,传输速率达到了设计要求。

5 结束语

本文设计实现了一种基于AFDX的高速串行数据转换接口,通过逻辑实现AFDX数据帧到高速串行数据的转换和传输,并通过外部LVDS接口实现AFDX端系统与测控系统之间的数据通信,在工程上取得了良好的应用。

参考文献:

[1] 罗乃冬. 基于LVDS技术的传输接口设计[ J]. 声学与电子工程, 2008(1): 53.

[2] 魏雪松. PECL 标准光收发器接口及应用[J]. 电子产品世界, 2000(4): 132.

推荐访问: 接口 转换 数据 设计 AFDX