基于FPGA的专用通信协议转换系统

2021-03-08 08:48安国臣刘家男马洪涛
内蒙古科技与经济 2021年2期
关键词:存储器以太网数据包

安国臣,刘家男,马洪涛

(河北科技大学,河北 石家庄 050000)

随着卫星通信技术的发展,数据的透明转发已经不能满足现阶段的卫星通信的需求,融合星上交换、星上路由等技术实现卫星通信业务的全IP化,进而提高了系统的灵活性和可靠性[1,2]。为了满足卫星通信领域的有效性和可靠性,采用专用通信协议。本系统实现了以太网协议和自定义专用链路协议之间的协议转换,为卫星通信提供了可靠的保障。

1 系统总体结构描述

系统采用Xilinx公司Virtex5系列的FPGA芯片作为核心芯片,通过对4路以太网数据的轮询、拆包、拼帧和合包等处理,完成了以太网协议与专业链路协议之间的相互转换功能。

根据系统功能需求系统分为数据上行和数据下行两部分,其中数据上行部分负责从网络测试仪中接收以太网数据包,对其拆包、拼帧等处理,完成对以太网协议与专用链路协议之间的转换等功能,并由LVDS接口发送到星上设备;数据下行部分与之相反,负责接收专用链路数据包,对其合包、拼帧等处理,完成对专用链路协议与以太网协议的转换等功能,并通过网口发送回网络测试仪。

2 系统功能设计

2.1 数据上行部分

数据上行部分负责完成以太网协议与专用链路数据协议的转换功能,在其结构上可以分为以下3部分:接收部分、协议转换部分和发送部分,其结构框图,如图1所示。

图1 数据上行部分设计框图

由图1可知,数据上行分成了3个独立模块:MAC接收模块、拆包拼帧模块和发送模块,各模块功能具体详述如下。① MAC接收模块负责从网口接收以太网数据包,并完成包过滤、帧长计算和CRC校验等处理。对校验通过的数据包提取源MAC地址、目的MAC地址、帧类型、源IP地址和目的IP地址等信息,并将其存入帧头FIFO存储器中,其余数据信息存入数据FIFO存储器中。② 拆包拼帧模块负责轮询接收来自上一级模块FIFO中的帧头、帧长和数据信息,并根据读取的帧长信息对数据进行拆包处理,将其分成数组256字节小包数据,存入数据FIFO存储器中,然后根据帧头信息中的源MAC地址和源IP地址拼出专用链路数据帧头,并将其存入帧头FIFO存储器中[3]。需要注意的是当最后一组数据不足256字节时,需通过补零将数据补充完整[4]。③ 发送模块负责接收来自拆包拼帧模块中的并行数据,并经过并串转换处理,将串行数据发送到星上设备。

2.2 数据下行部分

与数据上行部分相反,数据下行部分负责完成专用链路协议与以太网协议转换功能,在其结构上也分为3部分:接收部分、协议转换部分和发送部分,其结构框图,如图2所示。

如图2可知,数据下行分成了3个独立模块:LVDS接收模块、合包拼帧模块和MAC发送模块,各模块功能具体详述如下。① 接收模块负责从LVDS口接收串行数据,经过串并转换处理,将数据包拆分为帧头和数据,并完成帧长计算,将其存入相应FIFO存储器之中。② 合包拼帧模块负责从LVDS接收模块读取FIFO存储器中的帧头、帧长和数据信息。根据帧头信息中的目的站地址,添加设定好的以太网数据包头,并将读取的小包数据按照顺序合成完整的一个以太网数据包。③MAC发送模块负责读取合包拼帧模块FIFO存储器中的数据,并根据其解析出来的帧类型输送到MAC核之中,并从对应的网口输出。

3 测试结果及分析

系统的性能和功能测试采用设备自环测试方法,并用思博伦Spirent C1网络测试仪作为发包设备,在其专用控制软件Spirent TestCenter Application中配置好端口速率、包类型和协议格式,完成数据发包工作[5],测试结果如图3所示。由图3可知,网络测试仪发送了831720240包,在经过协议转换处理和LVDS口自环后,网络测试仪接收回来的数据为831720240,不存在丢包现象,达到了专用通信协议转换系统的性能要求。

图3 测试结果

4 结束语

系统采用FPGA作为核心芯片,给出了协议转换模块的详细设计方案。经过系统验证,系统实现了以太网协议和专用通信协议之间的相互转化功能,为星上设备提供了可靠的数据源,具有很实用的参考价值和工程价值。

猜你喜欢
存储器以太网数据包
二维隐蔽时间信道构建的研究*
静态随机存储器在轨自检算法
民用飞机飞行模拟机数据包试飞任务优化结合方法研究
C#串口高效可靠的接收方案设计
三大因素驱动创新提速以太网快步迈入“灵活”时代
三大因素驱动创新提速 以太网快步迈入“灵活”时代
谈实时以太网EtherCAT技术在变电站自动化中的应用
存储器——安格尔(墨西哥)▲
Buffalo推出四硬盘网络存储器 主打Soho一族
基于ENC28J60的嵌入式以太网/CAN网关设计