Zynq UltraScale + RFSoC ZCU111专栏3-时钟树配置-LMK04208

Zynq UltraScale + RFSoC ZCU111专栏3-时钟树配置-LMK04208

软件环境准备

ZCU111开发板使用了一颗LMK04208 作为RF系统的时钟发生芯片。
文中链接均为我的本地地址,资料请大家自行官网收集。
数据手册
配置软件

芯片配置

不得不感慨一下,TI的配置工具比skyworks的好用。手册写的也更清晰准确。

然后吐槽一下TI的TICS pro这个软件频繁的崩溃。只要导入配置就会gg。希望有大佬知道解决方案,猜测可能是系统的原因。因为论坛上没有出现大量的这种现象。
2022年8月9日:无意中找到了解决这个问题的办法,我使用的是win10的电脑,自带的账户并不是管理员账户,只要在administrator账户中使用这个软件就没有问题。

配置界面

blog中的所有截图配置都是通过ZCU111demo板的clockfile中的Regmap 反推出来的,并且已经经过验证。
TI的配置界面效率比skyworks高
请添加图片描述
第一页是大量的通用寄存器配置,这些配置与时钟频率无关。具体的参数请参考DS配置
请添加图片描述
第二页是PLL的时钟配置。这里有个很奇怪的bug。假设我们关闭clkin1和clkin0。这个时候PLL phase detector and charge pump还是会根据Pll1 Reference input select中的的值选择一个参考时钟输入,然后通过PLL1 的 R divider 作为PLL1的参考时钟输入。随后会根据N divider的值计算出一个OSCin,尽管这个值可能并不是我们想要的。假设我们此时修改了OSC in的值以及选择了OSCin的范围,那么之前做的PLL的Ndivider的设置会失效。

解决这个问题有两个思路。

  1. 是不care这个输入频率的值,直接把OSCin的范围按照实际时钟的频率选就行了,我们将XILINX的工程直接读入后就是这样的。输入时钟在gui界面中显示是不正确的,但是最后的输出的寄存器文件和我用上图这种正确的配置出来的结果是一样的。
  2. 通过正确的输入频率利用R/N divider的值计算一个正确的值。输入到CLKin1中的频率设置中去,尽管这个值是没有用的,但是可以在gui界面中得到其他正确的输入。
    想要配置成其他的时钟按照手册重新配置即可。

请添加图片描述

最后一页是输出配置。负责控制输出时钟分配网络的连接方式和时钟分频的设置。
在ZCU111的原理图中(0381811).LMK04208的输出时钟的流向如表

输出端口时钟流向端口或芯片接口类型
OSC OUTxxx
CLK0SYSREF_FPGAAK16/AK17LVPECL
CLK1SYSREF_RFSOCU4/U5LVDS
CLK2FPGA_REFCLKAL15/AL16LVPECL
CLK34208_OUT3LMK00304SQLVPECL
CLK44208_OUT4LMK00804BPWLVDS
CLK44208_OUT5SMA_J108LVCMOS

各种不同的电平接口

  • ECL:Emitter-Couple Logic 低压正发射极耦合逻辑
  • LVPECL:Low Voltage PosiTIve Emitter-Couple Logic 低压正发射极耦合逻辑
  • LVDS:Low Voltage Differential Signaling 低电压查分信号

NOTE
LMK00304也能接受LVDS输入
LMK00804 接受LVPECL, LVDS, HCSL, SSTL, LVHSTL, LVCMOS/LVTTL输入
LMK00304SQ : 4-Output Ultra-Low Additive Jitter Differential Clock Buffer/Level Translator
LMK00804 : Low skew, 1-to-4 multiplexed differential/LVCMOS-to-LVCMOS/TTL fanout buffer

总结与疑问

  1. 配置上没问题,软件bug可以人肉克服。
  2. 有关各种不同接口的特性以后可以开个档研究一下。
  3. 输出的时钟频率不是任意的,和输入的晶振是强相关的,因为倍频器和分频器都是整数的,因此不是任意频点都能做出来的。以后可以搞个脚本做个频点表?或者手册之类的地方会不会提供查找表?
  4. 有关pll还有不理解的地方,比如可以先2分频然后再4倍频,也可以直接2倍频。这样得到的时钟频率实际上是一致的。实际上我在gui界面中也尝试过这样配置,能够正常的输出寄存器文档。但是这样配置下来区别是什么?为什么xilinx官方选择了38分频这样一个奇怪的数值,而且还不能整除。

修订

2022年8月9日:第一次更新
发现了原有bug的解决方法
修改了部分错别字
修改了部分排版问题

  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Zynq Ultrascale+ ZCU106是一款由赛灵思(Xilinx)推出的高性能嵌入式开发平台。它集成了一颗Zynq Ultrascale+ MPSoC芯片,该芯片拥有高性能的ARM Cortex-A53和ARM Cortex-R5处理器核心,以及FPGA可编程逻辑资源。ZCU106开发板以其强大的计算能力和灵活的可编程性,适用于多种应用领域。 在ZCU106资料中,我们可以找到以下内容: 1. 芯片手册和技术参考手册:这些手册提供了关于Zynq Ultrascale+ MPSoC芯片架构、性能特性和配置选项的详细说明。它们指导开发人员正确使用芯片并充分发挥其能力。 2. 开发板用户指南:该指南介绍了ZCU106开发板的硬件设计、接口定义和连接方式。它还包含了开发板的使用说明和调试技巧,帮助使用者快速上手并进行开发。 3. 软件开发工具:赛灵思提供了一系列软件开发工具,包括Xilinx SDK、Vivado Design Suite和PetaLinux等。这些工具可以帮助开发者进行FPGA设计、ARM嵌入式软件开发和系统集成等任务。 4. 示例设计和应用笔记:赛灵思为ZCU106开发板提供了丰富的示例设计和应用笔记,涵盖了各种应用场景,如图像处理、视频编解码、机器学习等。这些示例设计和应用笔记提供了具体的实现代码和使用说明,帮助开发者快速上手并进行自己的定制开发。 总之,Zynq Ultrascale+ ZCU106资料提供了全面灵活的参考资源,帮助开发者理解和使用ZCU106开发板以及其搭载的Zynq Ultrascale+ MPSoC芯片,进行高性能嵌入式系统的设计和开发。无论是初学者还是经验丰富的开发者,都可以通过这些资料获得所需的指导和帮助。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值