可编程时脉发生器CY22150及其应用
扫描二维码
随时随地手机看文章
时脉是许多系统如PC、打印机、视讯转换器、高阶工件站及各种通讯产品的必要组件。CY22150是一款具有立即编程能力的全新可编程时脉发生器,可为各种电信、高容量储存及多媒体应用系统等领域,提供高频宽、低杂讯与高精准度的输出信号,具备高度完整的客制化功能,支持6组可设定输出,输出频率范围大。本文就CY22150实际应用展开讨论,介绍了一种实际可行的接口电路。
1 CY22150器件简介
1.1 主要特点和引脚功能
CY22150系列器件有CY225IOFC和CY2251OFI两款,它们的引脚排列如图1所示,采用16引脚的TSSOP封装。表l所列是其引脚功能。
CY22150的主要特点为:内部集成一个锁相环,能够产生低偏移、低抖动、高精确度的输出;输出频率的最大值是200 MHz,参考输入频率可以由外部晶振产生,也可由外部时钟驱动源产生;为易变、系统级、用户化的特定频率和选择提供工业标准接口;串行接口、可再次编程允许设计的快速更改和产品性能的快速提高;适用于商业、工业、网络、通信等一般性应用,常见于标准和低电压的系统;I2C串行接口工作在100 kHz或者400 kHz。
1.2 输出频率计算及寄存器设置
1.2.1 频率计算
CY22150是一个非常灵活的时钟发生器,由4个基本变量决定最终的输出频率,分别是输入参考频率(REF),内部分频器P和Q,以及灵活计算频率值的Post Divider。以下是3个可用的决定最后输出频率的公式:
CY22150PLL基本模块表如图2所示。CY22150的6个输出时钟中的每一个都有7种可用的选择。6个分频器分别为/2,/3,/4,/DIV1N,/DIV2N,其中DIV1N和DIV2N是根据实际输出需要进行设定的。这些分频器的值(Post Divider)可以直接应用于式(1)和式(2),计算最后的时钟频率。第7种情况是直接输出参考输入频率,即常说的bypass通路。
1.2.2 寄存器设置
使用CY22150时,可以使用缺省的输出,用户也可以根据自己的实际需要设定寄存器的值。缺省状态下,所有的Bit位都设置为0,所有的输出都是三态,且晶振电路是活跃的。[!--empirenews.page--]
CY22150作为服务器件使用时,其地址是69H(1101001),内部所有寄存器的地址和寄存器的值都是8 Bit。CY22150内部有11个可控制的寄存器,其使用主要是这些寄存器的配置。寄存器设置参见文献。它们分别是时钟使能寄存器(09H),Bank1分频控制寄存器(0CH),输入晶振控制寄存器(12H),输入负载电容控制寄存器(13H),电荷泵及PB计数器寄存器(40H,41H),P0、Q计数器寄存器(42H),交叉点开关矩阵控制寄存器(44H,45H,46H),Bank2分频控制寄存器(47H)。
以下结合式(1)说明CY22150使用中比较重要的寄存器的配置:
1)参考频率(REF) REF可以是晶振产生的,也可以是外部驱动频率。若由晶体产生,REF的范围是8~30 MHz,若为外部驱动频率,REF的范围是1~133 MHz。与REF的设定相关的Bit是输入晶振控制寄存器(12H)的4、5位,其具体设定与REF的范围及晶振属性有关,具体如表2和表3所示。
2)Q计数器 Q计数器的值是由PO、Q计数器寄存器(42H)的低7位确定的,Qtotal的计算由式(4)决定,其范围是2~129。
在具体的使用中,为了保证CY22150稳定工作,REE/Qtotal的值不可高于250 kHz。
3)P计数器 PLL的输出频率是由Q和P共同决定的,Ptptal由PB和PO这2个内部变量决定,计算由式(5)决定。
PB是一个10 Bit的变量,由寄存器40H的低2位和41H的全8位决定;PO是一个1 Bit的变量,由寄存器42H的最高位决定,它的引入确保了PB是整数,当Ptotal是奇数时,PO为1,Ptotal是偶数时,PO为0。
Ptotal的可用范围是8~2 055,为了确保CY22150稳定的工作,(Ptotal(REE/Qtotal))应该在100~400 MHz之间。为了使PLL稳定工作,Ptotal的范围规定为16~1 023,在具体的应用时Ptotal不同,寄存器40H的4..2设置不同,其设置与Ptotal的值有关,如表4所示。
4)时钟输出的设置 VC0的输出被接到两个多控开关,最后的时钟输出由两个分频板决定。分频的选择共有以下几种:/2,/3,/4,/DIVxN,其中DIVxN是可变的。两个多控开关(DIVlSRC和DIV2SRC)决定最后的输出时钟是由哪个分频板得到的,DIV1SRC的控制位置为0是表示选通了Bank1,DIV2SRC的控制位置为0是表示选通了Bank2。每一个时钟输出都可以是7种频率源之一,CLKSRC(2..0)交叉开关矩阵的设置决定最后的时钟输出,相应的控制位在交叉点开关矩阵控制寄存器(44H,45H,46H)中设定。时钟输出由时钟使能寄存器(09H)的低6位决定,控制位为1,表示该输出被选定。
2 典型应用
2.1 硬件电路
CY22150的应用电路如图3所示(机顶盒电路的一部分)。该电路为XC3S1400AFG676型低成本的Spartan_3AFPGA器件,提供时钟信号,根据FPGA工作的需要提供不同频率的时钟。CY22150输入信号是12.5 MHz(引脚1),输出时钟是LCLK1(引脚7)、LCLK2(引脚8)、LCLK3(引脚9)、LC LK4(引脚12)分别接XC3Sl400AFG676的IO_L28P_2/GCLK2(52引脚)、IO_L28N_2/GCLK3(51引脚)、IO_L27P_2/GCLKO(50引脚)、IO_L27N_2/G CLK1(49引脚),这8个引脚的连接保证CY22150为XC3S1400AFG676提供工作时钟。CY22150的I2C数据输入(引脚4)接XC3S1400AFG676的IO_L29N_ 2(53引脚),CY22150 I2C时钟输入(引脚15)接XC3S1400AFG676的IO_L29P_2(54引脚),这4个引脚的连接保证电路控制数据、工作时序的一致。图3中“×”表示该引脚没有连接。
在该电路中,XC3S1400AFG676需用4个时钟接口,CY22150有7个可用的时钟输出。采用CY22150,一个时脉发生器可提供电路需要的4个时钟(如果采用ICD2053,只有1个时钟输出的时脉发生器),这样降低了开发成本,缩小产品的体积,对一个时脉发生器控制就可同时产生电路所需的4种不同频率,操作简单。在电路的设计中,保证电路稳定工作,在接地和接电源处要接不同电容值的电容或者不同阻值的电阻来减小干扰。
2.2 软件设计
在该应用中,主要实现对CY22150的写控制。写控制的主要过程描述如下:产生开始信号,写器件地址及写控制位,ACK响应,写寄存器地址,ACK响应,写寄存器的值,ACK响应,产生停止信号。其状态转换图如图4所示。整个过程中,关键是实现相应寄存器的写,以下程序实现的是某一寄存器的写,其他寄存器的写过程与之相似。[!--empirenews.page--]
其相关程序代码:
2.3 寄存器设置举例
电路中输入频率是12.5 MHz,某工作条件下CY22150输出的频率148.5 MHz,REF选用外部驱动时钟,各寄存器的设定过程如下:
1)REF是12.5 MHz的外部驱动时钟,所以地址为12H的寄存器的值为0010~0000。
2)采用的输入是外部时钟源,所以CapLoad使用默认值0,地址为13H的寄存器的值为0000~0000。
3)根据以上对P、Q计算的说明,设置为:Qtotal=30,REF/30>250 KHz,Q=28,=713,PO=l,PB=352 (采用2分频输出)。地址为40H的寄存器的值为1100~1101;地址为41H的寄存器的值为0110~0000;地址为42H的寄存器的值为1001~1100。
4)最后4个时钟都有输出,所以地址为09H的寄存器的值为0000~1111。
选用Bank2,2分频,相关的寄存器的设置如表5所示。其仿真结果如图5所示。
3 结论
本文提供的硬件电路及寄存器配置值已经在实际应用中得到验证,是完全正确的。需要注意的是,为保证电路时序的一致,完成一个寄存器的写需要产生3个STOP信号才可跳转到下一个寄存器的写控制。CY22150是程式化的时脉发生器,适合用来支持需高精准度与高稳定度的多埠时脉应用。