当前位置:首页 > 工业控制 > 《机电信息》
[导读]摘要:基于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系列芯片,将嵌入式系统和可编程逻辑器件紧密结合,架构灵活且方便扩展,为多种领域的数据传输提供了一个高速、稳定、低成本的解决方案。

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

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭