LZY825597017 发表于 2023-10-26 17:18:54

SI5351-时钟模块扩展库

本帖最后由 LZY825597017 于 2023-10-27 17:36 编辑

1.SI5351介绍

本扩展库适用于SI5351时钟芯片,si5351是一款时钟分频芯片。它将输入时钟分频或者倍频输出,最多8通道输出,最低3路,输出频率在2.5KHz~200MHz,可以小数位分频。SI5351通过IIC接口编程(地址:0XC0)。芯片输入参考有3种方式,CLKIN、XTAL、VC,并非所有型号都同时具备3种。这里介绍使用Si5351A,通过外部晶振提供输入时钟。SI5351频率计算公式:f(out) = f(VCO)/M(x)*R(x)    f(out):输出频率f(VCO):VCO频率 (对于SI5351只能选择XTAL作为输入源,f(VCO)=晶振*倍频系数)M(x):多合成分频系数R(x):R分频器系数框图:

2.图形化介绍


(1)初始化SI5351,参数为SDA和SCL引脚(使用软件IIC)注意:引脚未做引脚冲突判断,正在使用的串口、SWD等引脚号不可作为SDA、SCL

(2)使能通道输出指定频率的方波。(本扩展库暂时仅支持3个通道,输出频率为7K-20Mhz,频率数值请尽量给定整数(MHz)以减小误差)

3.CH32V003-范例


连接彩图


逻辑分析仪-波形图


4.常见问题与注意事项
1、连接线路检查,杜邦线等确定能正常使用。
2、输入参数不是整数(以Mhz),如输入值:12345678,就会出现输出波形频率对不上,可能会在12.5M左右
3、某些IO被用作特殊功能,如串口、SWIO等,不能用作SDA和SCL。如有需要可以关闭特殊功能,复用成普通IO即可。




skyrusher 发表于 2024-2-23 09:47:37

:handshake感谢分享!用时发现了些问题,不知后续是否还会维护:
1、避免视觉冗余。IIC初始化配置好了SDA和SCK引脚,后面可不用再设置;
2、频率值可镶嵌变量块,增加灵活性;
3、增加输出电平选择。

唐小森 发表于 2024-4-10 17:14:33

能不能出一个支持ch573的版本

LZY825597017 发表于 2024-4-17 15:24:27

skyrusher 发表于 2024-2-23 09:47
感谢分享!用时发现了些问题,不知后续是否还会维护:
1、避免视觉冗余。IIC初始化配置好了SDA和 ...

首先是因为C++可实例化多个对象,满足用户可以同时使用几个SI5351,所以做成这样的,然后后面有时间的话会修改的哈

LZY825597017 发表于 2024-4-17 15:27:47

唐小森 发表于 2024-4-10 17:14
能不能出一个支持ch573的版本

好的,等后面有时间再做移植
页: [1]
查看完整版本: SI5351-时钟模块扩展库