当前位置:首页 > 工业控制 > 《机电信息》
[导读]摘要:基于Zynq-7000系列芯片,利用其ARM+FPGA的组合架构,搭建了千兆以太网模块。介绍了该模块的硬件平台设计,并在硬件基础上设计了FPGA和ARM程序。经测试,模块成功实现了数据上下行传输功能,传输速度达到640MbpS,满足高速数据传输要求,且稳定、可靠。

引言

随着数字信号处理技术的日益蓬勃发展,在雷达信号处理、航测等诸多领域,日益扩张的原始数据、更加复杂和不断增加的算法都对接口的传输速度提出了更高的要求,高速、稳定、安全的传输接口往往成为整个项目的技术关键。千兆以太网从以太网基础上发展而来,具有高效、高速、高性能等特点,同时还可以实现完全的电气隔离,是能够适用于诸多领域的优秀数据传输方式。本文基于xilinx的高性能Zynq-7000全可编程片上系统,利用其ARM+FPGA架构,实现了千兆以太网的高速传输,一方面将嵌入式系统简单化、小型化,另一方面鉴于FPGA的特性,为整个模块提供了可观的扩展空间,方便功能的扩展和算法模块的搭建。

1平台设计

1.1Zynq-7000系列

本文使用的硬件平台核心为xilinx公司出品的Zynq-7000系列FPGA,其集成了处理系统(ProceSSingSyStem,PS)和可编程逻辑(ProgramableLogic,PL)两大部分。PS部分包括最高可运行1GHz的双核ARMCortex-A9多核处理器:PL部分即xilinxFPGA,包括可配置逻辑块(ConfigurableLogicBlock,CLB)、36kB容量的BRAM、数字信号处理DSP48E1、时钟管理单元、可配置I/o、模数转换器(xADC)等资源。Zynq-7000系列中的PS部分与PL部分之间包含3000个内部互联,处理器系统和可编程逻辑紧密结合,内部接口可以达到100Gbit/S以上的吞吐量,其性能完全不逊于FPGA+ARM的传统组合,再加上FPGA的可反复编程特性,使得Zynq-7000系列芯片成为很多高标准平台的选择,使传输方案具备更好的扩展性和灵活性。

l.2PS-PL接口设计

本文使用32bit位宽的AxI-HP高性能端口,利用AxIDMA模式进行数据交互。在Zynq-7000的PL中,利用AxIDMA方式和AxI数据BRAM,通过AxI-Lite总线处理器进行数据建立和连续传输。

根据设计的平台方案,在Vivado上搭建系统,PS与PL间为一个深度充裕的BRAM,约定一个地址作为总线状态地址。命令字由PS至PL下发时,PS端将命令字存到BRAM固定地址,并将总线状态写为命令状态,PL端检测到命令状态时开始对BRAM进行读操作,读取约定长度的命令字数据。当数据从PL至PS上传时,PL端首先对总线状态地址进行监测,检测到总线状态为忙状态时,则不进行数据上传:检测到总线状态为非忙状态时,PL端开始对BRAM进行写操作,将固定长度的数据写入BRAM中,同时向PS端发送一个F2P的中断,PS端检测到中断后开始对BRAM进行读操作,将固定长度的数据读出并做下一步处理,处理完成后将总线状态写为闲状态,PL端检测到总线状态重新变为闲时开始下一次数据写入。利用上述的握手机制,可以保证上下行数据高速连续地传输,避免出现因PS端处理速度造成的丢包现象。

1.3模块整体架构

模块整体架构设计如图1所示。

上行数据通过在RAM进行缓存后,通过PS-PL接口传送至ARM进行打包处理,利用UDP协议通过AR8035芯片和网口发送到通用计算机:下行命令字通过千兆网口传送到ARM进行打包,然后通过PS-PL接口传送至PL侧FPGA中的RAM进行缓存,向下发送。

1.4程序设计

1.4.1FPGA程序设计

FPGA程序使用VHDL语言编写,数据帧的形式如图2所示。

为了提高数据上传效率,每次AxIDMA传输上传10帧数据。FPGA接到底层传输上来的数据后,将数据存入一个上行缓存RAM,当检测到总线状态为闲状态并且缓存RAM中数据满10帧时,启动上传使能,将10帧数据通过120MHz时钟以32位宽的形式存入总线BRAM中的约定地址并发送中断信号。然后不断监控状态地址,当总线状态完成一次由闲变忙再变闲后,开始下一次BRAM的写操作。

当命令数据下行,FPGA检测到总线状态为命令状态时,开始对总线BRAM进行读操作,读取约定地址上的1024字节的命令数据存入下行的缓存RAM,通过RAM转换成适合下层使用的位宽后向下发送。

1.4.2ARM程序设计

ARM程序使用C语言编写,当检测到F2P中断时开始数据上传流程,将状态置为忙,从BRAM中读取数据,将数据拆分为10帧,分别判断帧头,将正确的帧头通过UDP协议上传,并设置状态为闲:当接收到上位机命令时,将帧头正确的命令数据写入BRAM,并设置状态为命令状态,提醒FPGA接收。数据上行程序流程如图3所示。

2模块测试

完成软硬件设计后,对模块进行功能和稳定性测试。测试命令下行时,使用网口调试助手下发正确格式的命令包,通过VivadoHardware观察接收的命令是否正确:测试数据上行时,使用wireShark抓取数据包,观察数据帧头流水号是否连续,若连续则说明传输正常不丢包,若不连续则证明传输不正确。

经过测试,数据上行和命令下行功能正常,传输不丢包,且速度高达640MbpS,满足高速、稳定的要求。

3结语

本文基于Zynq-7000全可编程片上系统的硬、软件相结合的设计,成功搭建了千兆以太网传输模块,与通用计算机互联传输高速、稳定,使用UDP协议传输速度达到640MbpS。模块使用高性能Zynq-7000系列芯片,将嵌入式系统和可编程逻辑器件紧密结合,架构灵活且方便扩展,为多种领域的数据传输提供了一个高速、稳定、低成本的解决方案。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

在信息技术飞速发展的今天,网络速度已成为衡量一个系统性能的重要指标之一。从早期的传统以太网到如今的千兆以太网(Gigabit Ethernet),网络传输速度实现了质的飞跃。本文将深入探讨千兆以太网相比传统以太网的速度优...

关键字: 千兆以太网 高速数据传输

一切电子设备都要用电,电源也就无处不在。电源在我们印象中就是输入端进电,输出端对用电设备供电,它的电路是由一堆的电阻、电容、电感还有变压器、风扇之类构成。

关键字: 处理器 电源管理 模块设计

摘要:结合无线充电产品设计经验,对无线充电设计细节进行探究。介绍了无线充电划分及电磁感应无线充电结构、测试指标,在此基础上对电磁感应无线充电设计进行了分析,并总结了电磁感应无线充电产品常见问题及改善措施,阐述了电磁感应无...

关键字: 模块设计 线圈 散热

摘要:介绍了混联机构高速高精度贴片机的设计内容,主要包括机械结构设计及控制系统设计,并研制了样机,通过调试,初步达到设计预期,对混联机构应用于工业生产具有一定的指导意义。

关键字: 混联机构 模块设计 控制系统

摘要:介绍了混联机构高速高精度贴片机的设计内容,主要包括机械结构设计及控制系统设计,并研制了样机,通过调试,初步达到设计预期,对混联机构应用于工业生产具有一定的指导意义。

关键字: 混联机构 模块设计 控制系统

×为可编程逻辑控制器(PLC)或分布式控制系统(DCS)模块等过程控制应用设计模拟输入模块时,主要权衡因素通常是性价比。传统上,此应用领域使用双极性±15V电源轨来提供有源前端组件,用于输入信号的衰减或增益。这会影响物料...

关键字: 模块设计 系统级 模拟输入 ADC

×为可编程逻辑控制器(PLC)或分布式控制系统(DCS)模块等过程控制应用设计模拟输入模块时,主要权衡因素通常是性价比。传统上,此应用领域使用双极性±15V电源轨来提供有源前端组件,用于输入信号的衰减或增益。这会影响物料...

关键字: 模块设计 系统级 模拟输入 ADC

为增进大家对以太网的了解,本文讲对千兆以太网的发展现状、千兆以太网技术优势以及千兆以太网前景予以介绍。

关键字: 以太网 指数 千兆以太网

 网络安全域是指同一系统内有相同的安全保护需求、相互信任,并具有相同的安全访问控制和边界控制策略的子网或网络,相同的网络安全域共享一样的安全策略。网络安全域从广义上可理解为具有相同业务要求和

关键字: 数据采集 千兆以太网

PMC-Sierra 公司日前宣布,为其HyPHY芯片组推出了完整的参考设计,以支持光传输网络 (OTN)承载基于以太网业务的标准化传输。ITU-T G.709 第三版(2009 年 10 月)通过定

关键字: PMC 无线 千兆以太网
关闭