基于Zynq7020双千兆以太网的数字信号处理板设计

本文介绍了基于Zynq7020的数字信号处理板设计,探讨了双千兆以太网设计方案的选择,包括SMP和AMP模式下的性能优化,以及 lwip 协议栈的内存分配和参数调整,以实现高速数据传输。
摘要由CSDN通过智能技术生成

一、背景

背景
Xilinx公司在2010年发布了可扩展的处理器平台Zynq7000系列,它采用了28nm工艺,将FPGA与ARM cortex A9集成在一颗芯片上,实现了高性能、高集成度、低功耗。Zynq7000系列有多种芯片型号可供选择,主要差别在FPGA的规模、Coretex A9核的数量、管脚数量、成本等方面。在2013年,笔者所在公司需要开发一款嵌入式产品,其中的关键部件之一就是数字信号处理板。数字信号处理板的主要功能需求是:
(1) 处理2路来自高速ADC的信号,对信号进行实时滤波、降噪;
(2) 将处理后的信号通过以太网口、以tcp连接传输到上位机进行后续处理,每一路信号的净荷速率大约320Mbps;
(3) 数字信号处理板作为嵌入式设备的主控单元,对设备的各个模块进行配置、实时运行监测、实时故障诊断、故障上报等,同时通过以太网与上位机连接,以tcp连接实时上报状态、告警、故障,响应上位机的命令等;
综合比较了处理能力、集成度、成本、功耗等因素,我最终选择了Xilinx公司在2010年发布的Zynq7000处理器,具体型号是Zynq7020。Zynq7020上的主要资源包括:双核cotex A9,85K logic cell,4.9Mb block RAM,220 DSP slices 。
本文主要阐述数字信号处理单板的设计难点之一:双千兆以太网的设计以及调试中典型问题的解决方法。

二、以太网设计方案的选择

Zynq7020片内有2个ARM Cortex A9内核,我们分别称之为core0、core1,芯片内还内嵌了2个MAC控制器。在单板硬件上,我们部署了2个千兆以太网接口,分别称之为eth0、eht1。从功能需求可知:以太网需要传输2种类型的数据,一类是低速的控制面数据,主要是与上位机的消息交互,消息是突发性的,峰值数据速率不超过10Mbps,这对于千兆以太网负荷根本不是问题;第二类是高速的信号数据,净荷速率大约是每路320Mbps,且信号速率是恒定的,考虑到tcp报头的开销,以太网总传输速率大约在334Mbps。

对开发平台的说明:
集成开发工具SDK版本:SDK 14.5(该版本的SDK工具本身以及其所带的库文件都还有bug,库文件的bug在调试中自己加以修正了)
虚拟机:VMware_8.0.4
Ubuntu:12.04 LTS
GCC工具链:4.6.1
Linux kernel:从xilinx官网上下载了linux-xlnx-xilinx-v2013.4.tar.gz
在Zynq7020的功能部署

  • 5
    点赞
  • 45
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值