关于FS7140分频芯片

本文介绍了如何驱动安森美半导体的FS7140分频芯片,包括其IIC通信、设备地址设定、频率计算公式以及寄存器配置方法,帮助开发者节省开发时间。

关于FS7140的驱动方法

前段时间做项目也是接触到一款安森美半导体的一款分频芯片-FS7140,网上关于它的资料并不是很多,我这里也是做一下记录,方便自己以后再用到不用去翻手册,也为了帮助有用到这款芯片的人,节省一些开发时间。
在这里插入图片描述

FS7140是通过IIC总线进行通信控制的,那我们首先就要知道FS7140的7位从机设备地址:
在这里插入图片描述
A0和A1位是0还是1,就要看你ADDR1和ADDR0在硬件电路上是怎么接的了。接电源就是1,接地就是0,两位最多也就4种组合。因为挂载到IIC总线下的从机地址都是唯一的,也就是说:最多挂载4个FS7140。

在实际应用当中,7位从机地址要和1个读/写位组成8位的从机地址,对于熟悉IIC通信协议的各位这并不陌生。例如:ADDR1和ADDR0都接电源,那么写FS7140的设备地址就是10110110—0xB6 ,读FS7140的设备地址就是10110111—0xB7。(读0写1)

那么,设备地址知道了,我们接下来就要学会怎么去控制它,让他输出我们想要的频率。

我个人还是建议大家看一下设备框图,这样有助于理解:
在这里插入图片描述
从框图可以看到有几个关键的地方,我们会在后续操作寄存器的时候碰到:
1.Reference Divider(参考分频器)的时钟来源的选择:它的时钟来源有两种,1种是XIN和XOUT输入的晶振时钟,另外1种就是REF输入的外部参考时钟。
2.Feedback Divider(反馈分频器)的时钟来源的选择:它的时钟来源有两种,1种是Post Divider(后置分频器),另外1种是VCO(电压控制振荡器voltage controlled oscillator)。

知道这两个关键地方,后续操作寄存器时就不需要纠结了。

ok,到这里我们就对FS7140有了大概的了解。那我们怎么控制它输出一定的频率,它最终的频率和什么有关?

数据手册种有这样一个计算公式:
在这里插入图片描述
其中:fclk就是fs7140输出的最终频率;fREF是输入到内部的时钟频率,即晶振的频率或外部参考时钟频率,看你硬件电路和寄存器选择用的哪一个,这是一个定值;NF是反馈分频器的系数;NR是参考分频器的系数;NRX是后置分频器的系数。值得注意的是:NPX是由三个量决定的
在这里插入图片描述
从后置分频器的框图不难看出又分了三个小分频器NP1、NP2和NP3,而NPX就是等于他们的乘积,即NPX=NP1×NP2×NP3。

那么,接下来来看看FS7140的寄存器:
在这里插入图片描述
一共如上所示8个寄存器。进过我们上面分析:我们需要操作的寄存器位数有如下几个:
1.REFDIV[0:11]:参考分频器NR的系数。
2.Bit 12:参考分频器的时钟来源选择位,清0选择晶振,置1选择REF(外部参考时钟)。
3.SHUT1和SHUT2:开关机选择位,清0使能,置1关机,值得注意的是:这两位需要一样,即同0或同1。当然了,我们需要让FS7140正常工作,所以这两位都是0。
4.POST3[0:1]:NP3的系数在这里插入图片描述
5.POST2[0:3]:NP2的系数在这里插入图片描述
6.POST1[0:3]:NP1的系数在这里插入图片描述
7.FBKDIV[0:13]:反馈分频器NF的系数。
8.Bit 38:反馈分频器的时钟来源选择位,清0选择VOC,置1选择后置分频器。个人感觉影响不大,我选的VOC。
9.Bit 39:CMOS/PECL输出选择位,选择CMOS输出就可以。

关键操作的位大概就这么多,各位在实际应用种根据实际情况再做修改。

现在举个栗子:假如我外接27M的晶振,现在想让FS7140输出1M的频率。那么,我们根据上诉的配置方法,每个寄存器的值应该如下:
0x1B------参考分频(NR)设置为27
0x40------NP3=2、开启SHUT1、选择晶振作为参考分频器的来源
0x12------NP1=2 NP2=3 NPX=2×3×2=12
0x0C------反馈分频(NF)设置为12
0x80------选择CMOS输出、选择VCO作为反馈分频器的来源
0x72------LC=500pF LR=12KΩ 电荷泵电流=11uA(这个可操作也可不操作)
0x00------开启SHUT2
0x00------全部保留,必须置0
由公式:fCLK=fREF(NF/NR)(1/NPX),那么最终输出频率fCLK=27*(12/27)*(1/12)=1M。

好的,知道了寄存器怎么配置,那我们IIC通信格式是怎么样的呢?
很简单就按照标准的IIC协议就可以:
在这里插入图片描述
不过,值得注意的是:寄存器的地址是从首地址开始,即0x00开始。FS7140寄存器和flash储存有点像,寄存器会自己偏移,所以,我们按照寄存器的值按顺序通过IIC数据线发送出去即可。

到这里差不多就结束了,各位学废了吗?还是要养成做记录的好习惯,要不然以后用到又得翻手册,麻烦滴很~

评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值