Si5395/94/92时钟芯片配置步骤

Si5395/94/92芯片配置步骤


第一次写博客(学习笔记),记录一次Si5394时钟芯片的配置,写这个教程的原因也是因为自己在网上搜资料的时候,用的人少之又少,让后面用到的人少走些弯路吧。
前3点为芯片的主要介绍,配置直接看第4点

1.时钟介绍
摘点datasheet的介绍吧,总之高端就完事儿了,可以实现超低相位抖动输出任何频率时钟。
12-Channel, Any-Frequency, Any-Output Jitter Attenuator/Clock Multiplier with Ultra-Low Jitter
The Si5395/94/92 Jitter attenuators combine fourth-generation DSPLL™ and MultiSynth™ technologies to deliver ultra-low jitter (69 fs) for high performance applications like 56G SerDes. They are used in applications that demand the highest level of integration and jitter performance. All PLL components are integrated on-chip,
eliminating the risk of noise coupling associated with discrete solutions.

2.时钟工作模式
时钟主要的工作模式这边就简单讲2钟:自由模式和时钟选择锁定模式,工作状态有好几种,参考手册上有具体几种状态的切换流程,如下图。


Free run状态:即时钟锁相环未锁定INPUT时钟,而是采用外部/内部参考时钟作为输入源。
Locked Mode:即时钟检测到有效INPUT时钟并且达到预期频率值,进入锁定状态。

3.几处重要寄存器
(1)参考时钟
官方给出三种参考时钟设计方式,第一种是官方推荐的方式,但是由于工作需要采用第三种单端输入方式。配置寄存器为XA_XB_EXTCLK 0x090E[0]
在这里插入图片描述
在这里插入图片描述

(2)芯片输入输出总框图
在这里插入图片描述
输入时钟选择寄存器配置方式:
在这里插入图片描述

(3)芯片初始化流程
在这里插入图片描述
在这里插入图片描述
如果涉及到对锁相环寄存器配置,如PXAXB、PX_NUM、PX_NUMPX_DEN、MXAXB_NUM、MXAXB_DEN、M_NUM、M_DEN,则需要按照以下流程进行芯片寄存器配置
在这里插入图片描述

4.软件配置实现

1.下载SILICON官网专门配置芯片的GUI工具ClockBuild PRO
2.软件使用手册

软件支持配置的芯片型号如下:
在这里插入图片描述

操作步骤:
打开CB Pro,选择Create New Project-Jitter Attenuators-选择芯片型号,下面展示几步重要操作,其余步骤根据需求选择
Step 3 of 17 -Application & Reference:在这里插入图片描述

Step 6 of 17 -Define Input Clocks:
在这里插入图片描述
Step 8 of 17 - Define Output Clocks:
在这里插入图片描述
Step 8 of 17 - DSPLL Configure:
在这里插入图片描述
按照软件给出的所有选项按需选择后,终于来到最后最终要的一步——导出寄存器配置。芯片的配置依旧是依靠I2C总线读写寄存器实现的!!!!!按照下图导出寄存器配置
在这里插入图片描述
导出后打开header file可以看到500多个寄存器配置值,如下:

/*
 * Si5394 Rev A Configuration Register Export Header File
 *
 * This file represents a series of Silicon Labs Si5394 Rev A 
 * register writes that can be performed to load a single configuration 
 * on a device. It was created by a Silicon Labs ClockBuilder Pro
 * export tool.
 *
 * Part:		                                       Si5394 Rev A
 * Design ID:                                          1
 * Includes Pre/Post Download Control Register Writes: Yes
 * Created By:                                         ClockBuilder Pro v2.45 [2020-07-16]
 * Timestamp:                                          2020-09-01 11:10:50 GMT+08:00
 *
 * A complete design report corresponding to this export is included at the end 
 * of this header file.
 *
 */

#ifndef SI5394_REVA_REG_CONFIG_HEADER
#define SI5394_REVA_REG_CONFIG_HEADER

#define SI5394_REVA_REG_CONFIG_NUM_REGS				513

typedef struct
{
	unsigned int address; /* 16-bit register address */
	unsigned char value; /* 8-bit register data */

} si5394_reva_register_t;

si5394_reva_register_t const si5394_reva_registers[SI5394_REVA_REG_CONFIG_NUM_REGS] =
{

	/* Start configuration preamble */
	{ 0x0B24, 0xC0 },
	{ 0x0B25, 0x00 },
	{ 0x0540, 0x01 },
	/* End configuration preamble */

	/* Delay 300 msec */
	/*    Delay is worst case time for device to complete any calibration */
	/*    that is running due to device state change previous to this script */
	/*    being processed. */

	/* Start configuration registers */
	{ 0x0006, 0x00 },
	{ 0x0007, 0x00 },
	{ 0x0008, 0x00 },
	{ 0x000B, 0x68 },
	{ 0x0016, 0x02 },
	{ 0x0017, 0xDC },
	{ 0x0018, 0xDD },
	{ 0x0019, 0xDD },
	{ 0x001A, 0xDF },
	{ 0x002B, 0x02 },
	{ 0x002C, 0x02 },
	{ 0x002D, 0x00 },
	{ 0x002E, 0x00 },
	{ 0x002F, 0x00 },

	...........
	篇幅原因 省略部分寄存器
	...........

	{ 0x0C02, 0x03 },
	{ 0x0C03, 0x02 },
	{ 0x0C07, 0x01 },
	{ 0x0C08, 0x01 },
	/* End configuration registers */

	/* Start configuration postamble */
	{ 0x0514, 0x01 },
	{ 0x001C, 0x01 },
	{ 0x0540, 0x00 },
	{ 0x0B24, 0xC3 },
	{ 0x0B25, 0x02 },
	/* End configuration postamble */

};

接下来就是按照上面第3点的第(3)小点提到的更新芯片寄存器方式,MCU通过I2C写入所有500多个寄存器数据实现时钟配置!具体实现源码不难,利用上面header file中的数据结构进行写入即可,非常便捷。

到此所有的配置全部完成!

  • 1
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值