目录

前言

一、si5351简介

二、si5351如何使用

1.官方参考资料配置

1.1.si5351-B

1.2.AN619

1.3AN554

1.4.ClockBuilderPro

2.代码配置

2.1工具生成配置参数

2.2.参数写入

3.代码配置寄存器

三、画PCB验证板

四、实测输出波形

4.1.10MHz

4.2.50MHz

4.3.100MHz

4.4.150MHz

4.5.200MHz

总结


前言

最近工作中用到si531这款时钟芯片,使用过程中参考了很多网络资源,最终能够基本应用,对于不熟悉的人而言,用起来还是有点困难的。在此记录一下分享给有需要的朋友。

一、si5351简介

  1. si5351是一款时钟分频芯片。它将输入时钟分频或者倍频输出,最多8通道输出,输出频率在2.5KHz~200MHz,可以小数位分频。根据输入参考不同,输出通道数量不同等,分了很多具体型号,本次所使用的是QFN20封装si5351A.
  2. 下图是包含所有型号的内部功能架构图,具体型号产品只有其中部分架构,图片摘自官方芯片数据手册。如图所示,芯片输入参考有3种方式,CLKIN、XTAL、VC,并非所有型号都同时具备3种。输出最多支持8路,最低3路。分频设置需要分3步,PPL、MultiSynth、R。
  3. 驱动芯片用IIC通信,实测支持100KHz和400KH速率,100KHz更稳定。

二、si5351如何使用

1.官方参考资料配置

1.1.si5351-B

这本手册是数据手册,主要是整体介绍芯片电气特性、功能、驱动方式、配置步骤、引脚介绍、封装介绍等。

1.2.AN619

这本手册是详讲ssop10和QFN20封装的芯片内部寄存器的,总计255个寄存器,配置的时候只需要用其中几十个,具体看用的通道数量。

1.3AN554

这本手册是指导画PCB板的,因为芯片输出最多达到200MHz,是高频信号,随意画板会有问题。

1.4.ClockBuilderPro

这是一款图形化配置寄存器的软件工具,可以快速生成一个.h文件,里面包含一个结构体数组,是根据配置自动生成的寄存器值,包含寄存器地址和要写入的值。

2.代码配置

2.1工具生成配置参数

创建新的配置工程

选择时钟生成

选择具体型号,然后一直next,直到出现选择封装。

选择封装

选择IIC从机地址,没有搞过就直接默认

选择外部晶振、内部电容、扩频参数,扩频可以不配,勾选25或者27M就行了,其它默认

通道使能及频率配置,之后全部默认,一直点NEXT。

配置完成,现在导出生成的配置头文件

2.2.参数写入

一个写寄存器函数

2.3代码配置寄存器

CSDN里面已有其他博主写的挺好,基本上都是正点原子示例版本的,这里不再搬用。关于寄存器,这里简单讲讲。15-23很重要,配置通道时钟源、输出使能、输出分频、输出电流的。26-41配置PLLA和PLLB的,输入时钟经过这里配置会得到600-900MHz的锁相环输出。42-91用于配置通道时钟分频,这里的时钟源是从PLL来的。149-161是设置扩频功能的,这个功能我不清楚,没用起来。以上是很重要的寄存器,还有少量的这里不一一列举。

三、画PCB验证板

如图,画了一个5*5cm的板。电源部分用一个3.3V的稳压芯片加简单的滤波,板背面靠近芯片VDD引脚上接贴片电容。信号引脚用差分弧线,让同一组信号线尽量对称,串电阻可以匹配50Ω阻抗,IIC接2排排针方便逻辑分析仪接线,地排针方便示波器夹地.

四、实测输出波形

4.1.10MHz

4.2.50MHz

4.3.100MHz

4.4.150MHz

4.5.200MHz

总结

1.自动生成配置文件的方式可以快速应用,但是想灵活改变参数还是需要代码配置寄存器,各有各的好。

2.示波器的问题,当频率高于80MHz,波形就开始变正弦波,最后类似三角波。