关于CDCE62005配置的几个问题
各位论坛里的高手:
大家好!
公司最近一个项目上用到了CDCE62005这个芯片,在调试的过程中遇到了PLL不能正常锁定的情况。
板子上CDCE62005的原理框图如下:
参考时钟是来自于别的模块,在调试过程中暂时用信号发生器来代替了。
我的调试过程大概如下:
1、我自己的板子上实际的输入和输出设置如下:
环路滤波器的设置如下:
软件生成的寄存器值如下:
REGISTERS
0 EB860320
1 EB860301
2 EB860302
3 EB800003
4 EB800114
5 18040BE5
6 149E0126
7 BD91FDE7
8 80001808
把这个配置写入到CDCE62005之后,发现PLL_LOCK信号经常失锁,就像一个时钟信号一样,然后测量输出通道0~2为111MHz,而通道3~4为38.4MHz,通过这一现象,说明PRI的输入时钟已经被input buffer识别了,且经过Multiplexer之后都还正确的,但是进过VCO之后再分频出来的时钟就不正确了。
接下来我做了一个实验,将输入和输出配置成如下:
环路滤波器设置如下:
然后将软件生成的寄存器值写入到CDCE62005中,PLL正常锁定,且每个通道的输出均是正确的。
再接下来我将输入时钟改为50MHz,将PRI_REF的预分频设置为2,其他配置和以25MHz输入一直,如下图所示:
然后将软件生成的寄存器值写入到CDCE62005,这时候奇怪的事情发生了,PLL完全失锁,然而通道3~4有输出且为25MHz。
通过以上的实验发现PFD和VCO等的配置及输入完全没有改变,只是改变了PRI_REF输入端口的信号,为什么PLL就完全失锁了,这个到底和什么有关系?请给位高手指点一下,接下来我应该怎么调试这个电路?
请问您的输入是多大的频率,幅度是多少?单端还是差分,您需要的输出频率是多少?
输入频率是76.8MHz,输出0~2是122.88MHz,输出3~4是38.4MHz,AUX_OUT输出是61.44MHz。
1、用差分时钟输入到PRI,但是配置出来PLL不能正常锁定。
2、用单端时钟(LVCMOS)输入到SEC,配置出来之后PLL可以锁定,但是VCO分频出来的输出不正确,我这边输出0~2是用的VCO分频输出,输出3是input buffer分频输出,输出4是用的Multiplexer分频输出,然后测得输出3和4输出为38.4,输出0~2输出为130MHz,AUX_OUT输出为65MHz。
3、用76.8MHz经过FPGA分频为1.6MHz时钟(LVCMOS)然后输入到AUX_IN,配置出来之后PLL,每个通道输出均正确。
请问:
1、PLL锁定之后,为什么VCO的输出会又这么大的频偏?这个和什么参数有关?
2、AUX_IN的输入范围是2~42MHz,为什么用1.6MHz输入可以配置出来,且能得到正确的输出?
1.差分输入不能锁定,是什么差分输入?LVDS 还是LVPECL等信号?
2.我看你是用GUI来配置的,为什么会VCO分频出来的输出是不正确的呢?
至于你说的crystal的输入最小是2MHz,但1.6Mhz也没问题,我想这个可能是有一定的裕量,最佳推荐值为最小2MHz。
GUI软件的左下角有关VCO校准的参数。需要调整一下这个参数
“AUX_IN的输入范围是2~42MHz ”针对的是CRYSTAL吧?
既然VCO能够锁定,那么输出应该也是正常的。
LZ不妨检查一下芯片的供电?
Kailyn Chen
1.差分输入不能锁定,是什么差分输入?LVDS 还是LVPECL等信号?
2.我看你是用GUI来配置的,为什么会VCO分频出来的输出是不正确的呢?
至于你说的crystal的输入最小是2MHz,但1.6Mhz也没问题,??想这个可能是有一定的裕量,最佳推荐值为最小2MHz。
差分信号并不是标准的LVPECL或者LVDS,是由变压器耦合而成的差分信号,输入到CDCE62005是交流耦合的方式接入的,这个时钟信号是没有问题。
虽然我是用的GUI生成的寄存器配置值,但是并不是用GUI来配置的,因为这个设计是在我自己的板子上,并不是开发板。经过几天的努力发现VCO分频不正确是因为启动之后CDCE62005加载了EEPROM里面原有的默认配置,之后通过SPI接口重新写入新的配置之后,VCO无法校准。即使采用SPI写寄存器手动校准的方式也无法重新校准VCO。在这种情况下,我只有将我的配置写入到EEPROM中,然后重新power up芯片,所有输出都正确了。
这里还有个问题就是为什么采用手动校准的模式无法校准VCO,只能采用将配置写道EEPROM里面才能正确校准VCO,这和手册上的说法有些出入。
Seasat Liu
GUI软件的左下角有关VCO校准的参数。需要调整一下这个参数
不是在开发板上,无法使用此功能。
这个功能就是SPI去写register6里面的bit27和bit22吗?这个方法在我的设计上没有效果。
你问题是否解决? 目前的测试过程可能把很多问题混到一起了,在测试过程中建议使用手动校准register,27使能,22写1再写0. 正确配置的单板这样应该会有效.如果不能锁定,应该是其他地方还有问题.为了使问题简单明了,你可以申请使用TI的EVM确认一组正确的配置,然后在你的单板上验证.
校准VCO的操作到底是寄存器6先写1再写0,还是反过来先写0再写1。数据手册上的寄存器6的bit22说的是有个上跳沿是校准,那就是先0后1,为什么你们是说先1后0啊?
关于校准,初始配置应该是0,所以就是把初始的0写成1后再写回原来的0。就是给一个上升脉冲,所以两种说法不矛盾,是一样的。