基于ZYNQ的PCIE高速数据采集卡的设计(四)软件设计,Aurora 协议逻辑设计

系统软件设计
4.1 引言
本章基于第二章的分析结论,进行系统软件设计。软件设计包括逻辑设计、嵌入
式软件设计和上位机软件设计。在逻辑设计中,对 ADC 模块、 Aurora 模块、 DDR3
SDRAM 模块和 PCIE 模块进行分析和设计,在 Vivado 软件提供的 IP 核的基础上进
行各模块的逻辑代码的编写,并解决各个模块之间数据连接的问题;嵌入式设计是对
系统和内核的移植,并在 Zynq PS 内核实现系统的启动;在上位机设计中,首先
介绍驱动开发工具,再介绍上位机的整体设计。
4.2 逻辑软件设计
由于载卡的 FMC 接口数据与接入的子卡类型有关,根据接入的子卡类型选择
ADC 模块或 Aurora 模块,当选择 AD 子卡时,使能 ADC 模块,当选择光纤子卡时,
使能 Aurora 模块。对应的模块数据经 DDR3 SDRAM 缓存后,再由 PCIE 接口发送至
PC 机,数据流向如图 4.1 所示。
其中, ADC 模块是 AD 子卡的驱动程序,可提供 1Gsa/s 的采样率,数据分辨率
12bit Aurora 模块是光纤子卡的驱动程序,采用 Aurora 协议, 4 通道,单通道速
率为 10Gbps ,总速率为 40Gbps PCIE 接口采用 PCIE2.0 协议, x8 模式,单通道速
率为 5.0Gbps ,总速率为 40Gbps DDR3 SDRAM 模块用来实现对 Aurora 数据或 ADC
数据进行缓存。 Vivado 软件内提供 Aurora PCIE MIG IP 核,分别为 Aurora
议、 PCIE 协议和 DDR3 SDRAM 提供接口解决方案,下面对各个模块进行详细设计。
4.2.2
ADC 模块逻辑设计
AD 子卡的 ADC 芯片采样率最大为 1.6Gbps 。而在第二章指标分析中, ADC
采样率不得低于 706.6Msa/s ,在本次设计中,设置 ADC 的采样率为 1Gsa/s
ADC
片工作在双边沿采样的模式,这样采样率可以是采样时钟的两倍。需要产生 500MHz
的差分时钟信号,用 Zynq 芯片内部的 MMCM 资源可产生 500MHz 的单端时钟,再
利用 Xilinx 提供的 OBUFDS 原语把单端时钟转换成差分时钟输出。
由于 ADC 工作在双边沿采样,需要拉高 ADC 芯片的 DES 引脚;信号耦合方式
是交流耦合,需要设置 VCMO 引脚为低电平。在双边沿工作模式下, ADC 芯片可以
选择多路复用模式,多路复用模式可以实现数据线的复用,多路复用模式的时序图如
4.2 所示 [25]
图中, CLK+/- 是采样时钟信号, DQd Did DQ DI ADC 的数据线, DCLKI+/-
是通道 I 的数据同步输出时钟。由图可知, ADC 工作在双边沿采样模式,多路复用模
式时,完成 4 次转换后,数据依次轮流输出至 DQd Did DQ DI 。同时在 DCLK+/-
上输出一个转换时钟二分频的信号,这里为 250MHz
由于数据位宽是 12bit ,但是 DDR3 SDRAM 模块的 FIFO 宽度为 256bit ,两者不
成整数倍关系。这里解决办法是把各个数据通道的 12bit 扩展成 16bit ,然后分别保存
至小的 FIFO 里,再用一个 FIFO 输出 256bit 的数据宽度。数据流缓存框图如图 4.3
示。其中, FIFO1~FIFO4 是读写位宽都为 16bit 的同步 FIFO FIFO 时钟为 ADC 芯片
出来的 DCLK+/- 时钟,经差分转单端后的时钟, 4 FIFO 输出的数据写入至 FIFO5
里面, FIFO5 是写数据位宽为 64bit ,读数据位宽为 256bit 的异步 FIFO ,可以直接与
DDR3 SDRAM 模块连接。
光纤接口采用 Aurora 协议,有 4 个通道,单通道速率为 10Gbps ,总速率为 40Gbps
光纤接口的数据传输时基于 Vivado 软件提供的 Aurora 协议的 IP 核实现,该 IP 核有
8B/10B 64B/66B 两种,分别对应相应的编码方式。本设计采用 64B/66B 编码,增
加了带宽利用率。核例化过程如图 4.4 所示。
例化核时,首先指定传输速率,这里设置为 10Gbps 。根据硬件电路设计,这里
的参考时钟设置为 125MHz ,传输采用全双工流模式,方便设计和使用。然后指定通
道在芯片上的映射关系。
例化后的核如图 4.5 所示。
  • 17
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值