查看: 626|回复: 4

SI5351-时钟模块扩展库

[复制链接]

29

主题

69

帖子

1264

积分

版主

Rank: 7Rank: 7Rank: 7

积分
1264
发表于 2023-10-26 17:18:54 | 显示全部楼层 |阅读模式
本帖最后由 LZY825597017 于 2023-10-27 17:36 编辑

1.SI5351介绍

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


2.图形化介绍

image.png
(1)初始化SI5351,参数为SDA和SCL引脚(使用软件IIC)注意:引脚未做引脚冲突判断,正在使用的串口、SWD等引脚号不可作为SDA、SCL
image.png
(2)使能通道输出指定频率的方波。(本扩展库暂时仅支持3个通道,输出频率为7K-20Mhz,频率数值请尽量给定整数(MHz)以减小误差)

3.CH32V003-范例
image.png

连接彩图
image.png

逻辑分析仪-波形图
image.png

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




image.png
image.png
回复

使用道具 举报

1

主题

11

帖子

149

积分

注册会员

Rank: 2

积分
149
发表于 2024-2-23 09:47:37 | 显示全部楼层
感谢分享!用时发现了些问题,不知后续是否还会维护:
1、避免视觉冗余。IIC初始化配置好了SDA和SCK引脚,后面可不用再设置;
2、频率值可镶嵌变量块,增加灵活性;
3、增加输出电平选择。
回复

使用道具 举报

1

主题

3

帖子

33

积分

注册会员

Rank: 2

积分
33
发表于 2024-4-10 17:14:33 | 显示全部楼层
能不能出一个支持ch573的版本
回复

使用道具 举报

29

主题

69

帖子

1264

积分

版主

Rank: 7Rank: 7Rank: 7

积分
1264
 楼主| 发表于 2024-4-17 15:24:27 | 显示全部楼层
skyrusher 发表于 2024-2-23 09:47
感谢分享!用时发现了些问题,不知后续是否还会维护:
1、避免视觉冗余。IIC初始化配置好了SDA和 ...

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

使用道具 举报

29

主题

69

帖子

1264

积分

版主

Rank: 7Rank: 7Rank: 7

积分
1264
 楼主| 发表于 2024-4-17 15:27:47 | 显示全部楼层
唐小森 发表于 2024-4-10 17:14
能不能出一个支持ch573的版本

好的,等后面有时间再做移植
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|好好搭搭在线 ( © 好好搭搭在线 浙ICP备19030393号-1 )

GMT+8, 2024-5-25 01:29 , Processed in 0.103718 second(s), 25 queries .

Powered by Discuz!

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表