一、为什么要做这个模块
LMK04828是TI公司的一款高性能双PLL时钟发生器,在需要低抖动时钟和JESD204B同步的系统中使用广泛。该芯片内部包含上百个寄存器,用于配置PLL分频系数、输出频率、相位同步等参数。手动查阅数据手册逐位设置不仅耗时,而且极易出错。
TI官方提供了免费的图形化配置工具TICS Pro,用户只需在界面上输入所需的时钟频率、参考源等高层参数,工具就会自动计算出所有寄存器的数值,并允许导出为十六进制列表。然而在FPGA应用场景中,这些寄存器值最终必须通过SPI接口写入芯片。本模块的作用就是将TICS Pro导出的配置数据固化在FPGA内部,并在上电后自动通过SPI完成全部寄存器的写入,实现“一键配置,上电即用”。
二、LMK04828的双PLL架构与频率规划
2.1 两级锁相环的结构与分工
LMK04828采用双环路、整数N分频的抖动清除架构。其内部包含两个级联的PLL,各自承担不同的频率规划任务:
- PLL1(第一级):主要负责抖动清除。它将外部参考时钟(如50MHz温补晶振)与VCXO(压控晶振)锁定,通过窄带环路滤波滤除参考源的高频相位噪声。其最大鉴相频率为40MHz,输入时钟频率最高可达750MHz。
- PLL2(第二级):主要负责频率合成。它接收PLL1输出的低抖动时钟,通过内置VCO产生高频输出。其最大鉴相频率为155MHz,输入时钟频率最高为500MHz。
这种级联结构兼顾了“低抖动”和“高频灵活输出”两个目标。PLL1负责净化参考源,PLL2负责产生高频低抖动输出,两者各司其职。
2.2 内置VCO与输出驱动
芯片内置两个VCO核心,覆盖不同的频率波段:
| VCO核心 | 频率范围 |
|---|---|
| VCO0 | 2370MHz ~ 2630MHz |
| VCO1 | 2920MHz ~ 3080MHz |
配置时需要根据目标VCO频率选择合适的VCO核心,确保频率落在对应范围内。
PLL2的14个输出时钟可以配置为驱动7个JESD204B高速数据转换器或其他需要DCLK和SYSREF时钟的器件,所有14个通路均支持频率和相位调整。输出驱动支持多种电平标准,包括LVDS、LVPECL、HSDS和LCPECL。
三、TICS Pro生成寄存器值的过程
TICS Pro的使用非常直观。启动软件后选择器件型号LMK04828B,然后在图形化界面中设置参考输入时钟频率、PLL环路带宽、各输出通道的频率和电平标准等参数。开启“Auto Update”功能后,右侧寄存器表会实时更新。配置完成后点击导出,即可获得寄存器值文本文件。
导出文件的内容格式如下:
R0 (INIT) 0x000090 R0 0x000010 R2 0x000200 ...每一行表示一个寄存器地址及其对应的24位数值,该数值的高8位为地址,低16位为数据。
四、整数N分频参数的配置方法
4.1 分频关系与计算公式
“整数N分频”是指PLL的反馈分频器(N分频器)和参考分频器(R分频器)均为整数。输出频率 ( f_{VCO} ) 与参考频率 ( f_{REF} ) 的关系为:
[
f_{VCO} = f_{REF} \times \frac{N}{R}
]
其中 ( N ) 为反馈分频比,( R ) 为参考输入分频比。配置时需遵循以下约束:
- 鉴相频率约束:( f_{PFD} = f_{REF} / R ) 必须小于该PLL的最大鉴相频率(PLL1为40MHz,PLL2为155MHz)。
- VCO频率范围约束:( f_{VCO} ) 必须落在VCO0或VCO1的调谐范围内。
- 输出分频:最终输出时钟 ( f_{OUT} ) 由VCO频率经输出分频器(可配置为1~任意整数)分频得到。
4.2 配置步骤示例
以50MHz参考时钟、VCO频率2400MHz、输出200MHz时钟为例:
- 选择VCO核心:目标VCO频率2400MHz落在VCO0范围(2370MHz~2630MHz)内,选择VCO0。
- 配置PLL2分频比:若PLL2鉴相频率设为50MHz(R=1),则反馈分频比 ( N = 2400 / 50 = 48 )。
- 配置输出分频器:输出200MHz,则输出分频比 ( = 2400 / 200 = 12 )。
- 通过TICS Pro写入寄存器:上述R、N及输出分频值会被工具自动换算为对应寄存器的二进制字段。
4.3 关键频率范围与电参数
配置时需重点关注以下参数:
| 参数 | 最小值 | 最大值 | 单位 |
|---|