Zynq UltraScale + RFSoC ZCU111专栏2-时钟树配置-SI5382A

ZCU111 SI5382A配置过程记录

软件环境准备

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

新建芯片配置工程

首先新建工程
请添加图片描述
选择芯片种类
请添加图片描述
输入芯片型号,通过筛选器新建工程
请添加图片描述
单击next
请添加图片描述

配置界面1

请添加图片描述

这个界面中输入的自定义的一个字符串长度为8,后面的两个选择框分别制定了当输入的字符不足8个的时候,在剩下的寄存器中默认保存的内容。
ZCU111中提供的demo中designID为ZCU111/padding选项为null

配置界面2

请添加图片描述
这个界面中选择芯片的版本
E对应工业级
这个芯片没有其他等级,后续用到再补充

配置界面3

请添加图片描述
在step3中需要配置的位置有两处,首先是IO PowerSupply。需要对电压约束。
但是这里出现了我第一个比较疑惑的事情

0x0943,0x00

这是XILINX官方给出的BoardUI中的例子里对SI5382的寄存器配置中0x0943对应的配置。
对应的手册如下。
在这里插入图片描述
实际上官方的原理图如图
在这里插入图片描述
也就是说虽然使用的3.3V的VDDA,但是在时钟的配置中仍然选择配置1.8V作为io的电源。手册中明确给出了所有的接口都是3.3V耐受的,但是可能会存在阈值不一致的问题,实际配置中确实没有问题。不太清楚这是官方经过了验证还是配置失误。

右上角是配置从机的IIC地址,从机地址保存在寄存器
0x000B,0x68
中,这里我们与demo保持一致,都配置为0x68

配置界面4

在这里插入图片描述
在这里出现了第二个我比较疑惑的事情。
原理图中使用的时钟源是一颗有源晶振
在这里插入图片描述
但是看demo中的寄存器配置,
0x090E,0x02
中配置为0x02
在这里插入图片描述
手册中还重申了这一位应当设置为1
这与demo的硬件设计以及手册的要求都是不符合的,不太清楚这样设计的原因。
而且更改输入的时钟类型还会影响到PLL的阈值判断的寄存器的值,不太清楚底层的软件逻辑是什么。

配置界面5

在这里插入图片描述
这里负责配置PLLA是否工作在freerun模式。
有关freerun模式,其实并不是一种标准PLL,只是输出时钟不在对输入时钟锁相,只靠参考时钟输出频率。此时输出的固定频率的时钟的频率漂移,只和参考时钟有关。

配置界面6

在这里插入图片描述
零延迟模式,利用输出时钟做反馈,使得输出时钟与输入时钟的相位一致。

配置界面7

在这里插入图片描述
界面7负责配置输入时钟的一些特性,包括使用哪一路输入时钟,输入缓冲器的类型,连接到哪个PLL,输入时钟的频率等。
这里我很疑惑的一点是。系统其实只用了一路输出也就是out0A。其余的输出都是浮空的。而且在默认的配置中使用的是PLLA。在5382的芯片中PLLB明显比PLLA更高级。也许有什么其他的功能?

配置界面8

在这里插入图片描述
PLLA的输入时钟选择
在这里插入图片描述
PLLB的输入时钟选择

配置界面9

在这里插入图片描述
这里也和硬件的设计不一致。
通过寄存器阅读发现其实在默认的配置中还使能了out1。但是实际上out1的输出连供电都无。
out0的输出频率是文件名给出的,156.25MHZ。out1是我瞎写的。

配置界面10

在这里插入图片描述
输出摆率配置,这一页一直是灰色的

配置界面11

在这里插入图片描述
使能HItless切换。这种技术实际上是防止在PLL的输入源切换时,由于两个时钟存在相位差所以会先锁定两个输入的相位关系,然后再进行切换。此时对输入时钟的频率是有要求的,两个时钟的频率要么一致,要么呈整数倍关系。

HSW - HITLESS SWITCHING

有关通信标准一栏,下拉菜单中定义了很多通信标准。
在这里插入图片描述
这些都是通信系统常用的一些标准,这个要根据应用来选择。实际操作后发现关联的寄存器很多。无法从示例的工程中反推这一页的配置。

配置界面12

在这里插入图片描述
PLLA的有关配置。
在这里插入图片描述
PLLB的相关配置
这里有很多寄存器都是相互关联的,无法通过demo的寄存器反推这一页的配置。

配置界面13

在这里插入图片描述
LOS loss of signal配置
用于输入信号loss的检测实际上检测的是时钟每个周期的边沿是否存在相位失真。
访问是否存在LOS是通过寄存器查询实现的。

配置界面14

在这里插入图片描述
OOF out of frequence配置。
当输入频率存在频偏的时候,会被检测到。输入频偏应该是相对于外部参考时钟测量的。因此外部参考时钟也很重要。0ppm的参考时钟源是可配置的。precision oof和fastoof是使用或逻辑的。因此只要有一个出问题,就认为OOF发生。因此对于参数的设计要谨慎。OOF给出的
配置表中使用的描述词是assertion

这个词在DS中很常见,意思比较接近active。意为发生动作。因此在本例中应该是当频偏超过xx时发生OOF,DE-ASSERTION表示频偏回到正常范围时。接触OOF告警的阈值。

配置界面15

在这里插入图片描述
LOL loss of lock。锁相环失锁告警。
set 表示偏出xx频率就报警,clear表示当频偏回到xx之后解除警报。
relax是更宽松的标准。动作逻辑类似于硬件中的迟滞比较器。

配置界面16

在这里插入图片描述
中断配置。包括LOS OOF LOL 等。后面几个还没研究。

结论

配置时钟本身并不难。但是想要还原开发板demo的配置是很困难的。难度在于。

  1. 输入的频率未知在板子烧录之前就可以配置时钟了。此时in0-3的频率都是未知的,因此我们很难知道XILINX是使用什么频率配置的。
  2. 配置本身逻辑不自洽。很多和物理设计是冲突的。
  3. 手册中有很多寄存器根本没有提到,但是gui生成的配置表中会出现,而且和XLINX的配置的有区别。

建议,现在的RF系统实际上并不使用这一路时钟。因此对这个时钟的研究暂时搁置一下。用到的时候再进行下一步的研究。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值