Xilinx FPGA收发器参考时钟设计应用

引言: 晶振是数字电路设计中非常重要的器件,时钟的相位噪声、频率稳定性等特性对产品性能影响很大。本文基于可编程晶振SI570,就Xilinx FPGA收发器输入参考时钟的硬件设计及FPGA软件设计给出设计案例,供大家参考。通过本文,可以了解到:

  • Xilinx FPGA收发器参考时钟设计要点
  • 可编程晶振SI570设计方法

1.Xilinx FPGA收发器参考时钟设计要求

1.1参考时钟接口要求

FPGA收发器GTX/GTH参考时钟接口提供两种连接方式:LVDS(如图1所示)和LVPECL(如图2所示)。我们在选择晶振时,至少要支持其中一种接口输出电平标准。图2所示的电阻值为一般推荐值,实际偏置电阻值需要参考晶振手册。图1和图2中交流AC耦合电容作用:1)阻断外部晶振和GTX/GTH收发器Quad专用时钟输入管脚之间的DC电流,降低功耗;2)AC耦合电容和参考时钟输入端接构成高通滤波器,衰减参考时钟偏移;3)保持耦合电容两侧共模电压独立,互不干扰。
在这里插入图片描述
图1、LVDS晶振和7系列FPGA收发器参考时钟输入接口

在这里插入图片描述
图2、LVPECL晶振和7系列FPGA收发器参考时钟输入接口

1.2参考时钟电气特性要求

FPGA收发器参考时钟开关特性和DC特性要求分别如图3和图4所示。
在这里插入图片描述
图3、FPGA收发器参考时钟开关特性要求
在这里插入图片描述
图4、FPGA收发器参考时钟DC特性要求

2.硬件电路设计

2.1晶振选型

按照章节1中FPGA收发器参考时钟要求,我们选择Silicon labs公司的si570系列可编程晶振,该晶振典型应用SONET/SDH、10G以太网通信、时钟恢复等场合。该晶振输出特性如图6所示。
在这里插入图片描述

图5、SI570晶振内部功能框图
在这里插入图片描述
图6、SI570晶振输出特性

2.2原理图设计

FPGA收发器参考时钟晶振SI570原理图设计如图7所示。
在这里插入图片描述
图7、SI570原理图设计

3.SI570 FPGA软件配置及结果测试

3.1 SI570晶振配置方法

从图5中,可看到SI570控制接口采用I2C接口。我们在配置该晶振时要按照以下操作步骤进行:

1.SI570根据家族类别,器件地址都不同,故首先需要去Silicon官网查找项目选型的晶振型号对应的器件地址。举例SI570晶振型号:570BAB000544DG,该型号参数如图8所示。在该图中,我们可以得到可编程晶振的重要参数,如器件的I2C地址(0x5D),出厂默认输出频率(156.25MHz),频率范围等等。
在这里插入图片描述

图8、SI570出厂参数信息

2.编写FPGA软件,读出晶振SI570内部出厂默认寄存器配置字。FPGA实例工程如图9所示。
在这里插入图片描述

图9、SI570测试例程工程

3.根据读出的SI570内部寄存器默认配置值,FPGA I2C总线读时序图如图10所示。

在这里插入图片描述
图10、FPGA I2C总线读时序图

4.利用Silicon官方Programmable Oscillator Calculator软件计算出要求出频率所需的配置寄存器值。如图11所示,本设计将SI570输出频率设置为50MHz。

在这里插入图片描述

图11、计算SI570配置寄存器流程步骤

5.写SI570寄存器配置值。FPGA I2C总线写时序图如图12所示。

在这里插入图片描述
图12、FPGA I2C总线写时序图

3.2 SI570配置结果测试

在图5SI570测试例程工程中,我们还加入了SI570输出频率测试代码,以通过FPGA在线逻辑分析仪测试SI570输出频率是否达到50MHz设计输出要求。测试结果如图13所示,可以看到晶振输出结果符合设计要求。

在这里插入图片描述
图13、SI570输出频率测试结果

在这里插入图片描述

更多其他技术文章可以关注我的微信公众号,欢迎交流 !

  • 5
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
RGMII是一个常用的以太网接口协议,全称为Reduced Gigabit Media Independent Interface(简化千兆媒体独立接口)。RGMII收发程序是指用于在FPGA(可编程门阵列)上实现RGMII接口的收发功能的源代码。 在Xilinx FPGA上实现RGMII收发程序,我们首先需要了解RGMII接口的工作原理和规范。RGMII接口包含8个数据线(TXD[3:0]和RXD[3:0])和各种控制和时钟信号。在发送端,FPGA通过将数据和相关控制信号送入TXD线,经过物理层转换器后发送到接收端。在接收端,接收器将RXD线上的信号解码,并交给FPGA进行处理。 实现RGMII收发程序的源代码涉及到对数据和控制信号的生成和解析。在发送端,源代码需要将待发送的数据打包成符合RGMII规范的数据帧,并将数据帧发送到TXD线上。在接收端,源代码需要检测RXD线上的数据帧并进行解析,提取出有效的数据和相关的控制信息。 对于FPGA的实现,我们通常会使用硬件描述语言(如Verilog或VHDL)来编写RGMII收发程序的源代码。代码中会包含输入和输出端口的定义,以及内部的逻辑设计。通过对时钟、状态机、寄存器等元素的设计和配置,我们可以实现RGMII接口的数据收发功能。 在Xilinx FPGA上实现RGMII收发程序需要根据具体的芯片型号、时钟频率和资源约束进行调整和优化。通过仿真和验证,我们可以确保源代码的正确性和性能。 总之,RGMII收发程序是用于在Xilinx FPGA上实现RGMII接口的收发功能的源代码。通过编写合适的硬件描述语言代码,我们可以实现对数据和控制信号的生成和解析,实现高效可靠的网络数据传输。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

FPGA技术实战

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值