TI中文支持网
TI专业的中文技术问题咨询交流网站

时钟芯片CDCM6208V1的PLL无法锁定

目前正在使用CDCM6208芯片作为一个开发板的时钟芯片,晶振时钟从SEC端口输入,输入时钟正常,SPI配置目前也正常(测试中对SPI进行了写–读操作,读出的数据正常),设置中将STATUS0信号设置为PLL锁存指示位,但配置完释放RSTN和SYNC端口后,输出没有时钟,STATUS0也没有拉高,我想请问下是什么问题。

配置SPI寄存器参数如下:

开发板的电路图如下:

其中VDD_PLL1和VDD_PLL2的电压值为3.3V,CDCM_DVDD电压值为2.5V,右侧的VDD_Y01和VDD_Y04均为1.8V

Kailyn Chen:

我看您这边寄存器配置都已经将输出enble了, 有没有读一下这几个寄存器,是否和配置的一样?担心寄存器没正确写入,导致输出disable。
您是通过software配置的寄存器?

RAY TOMS:

回复 Kailyn Chen:

感谢回复,我尝试了一下,目前时钟从Y0-Y1输出,所以我读了一下REG5的值,由于我通过FPGA对时钟芯片进行配置,通过VIVADO的DEBUG CORE,我抓取了输入的SDO信号,结果如下:

通过SCL的上升沿,我判定读取到的数据为0000_0000_0010_0010(16'h0022),与我当初写入REG5的值一致,我还想问一下的问题是,CDCM6208这款芯片,它的RSTN脚和我通过软件对寄存器REG4.6的RSTN的配置位进行配置有什么区别,我在配置这款芯片时,先将RSTN脚拉低,之后进行SPI配置,配置过程按照REG0-REG20进行顺序写入,我在REG4.6这个RSTN的配置位写入了1,当SPI配置完成后,我将RSTN脚拉高,之后等待PLL锁定指示位指示为1时,我将SYNC位拉高,这样的配置过程正确吗

Kailyn Chen:

回复 RAY TOMS:

您这个顺序有点不太正确,参考datasheet Figure 36 的图示。 也就是说, 当reset 为low时候,SPI 模式可以进行寄存器配置的,但是这时候output 需要disable,当配置完成后,reset由低拉高之后,再将output enable。
Holding RESET low at power-up until the device is fully configured keeps all outputs disabled. The device
calibrates automatically after RESET becomes released and starts out with the desired output frequency.

RAY TOMS:

回复 Kailyn Chen:

感谢回复,我这里有一个新疑问,我在查看datasheet 8.3.3 VCO Calibration这一节时,它描述上为,当器件退出Reset状态时,VCO会进行Cailbration,同时手册上退出Reset状态时,有两类方法,一类为将RSTN这个管脚的电平从低到高,但是此时器件会将默认值加载入寄存器,原文描述:Exiting the reset state occurs automatically after power is applied and/or the system restores the state of the PDN or RESETN pins from the low to high state. Exiting the reset state using this method causes the device defaults to be loaded/reloaded into the device register bank.另一类退出Reset方法为,将REG4.6的RSTN配置从0置为1,这种方法不会改变寄存器的值。原文描述:Invoking a device reset via the register bit does not restore device defaults; rather, the device retains settings related to the current clock frequency plan. Using this method allows for a VCO calibration for a frequency plan other than the default state (that is, the device calibrates the VCO based on the settings contained within the register bank at the time that the register bit is accessed).结合您的回答,这里存在一个矛盾点,如果我将RSTN端置低,进行用户个人配置,我再将RSTN端拉高,岂不是进行了第一类的退出Reset的方法,这样VCO到底是按照默认值进行Cailbration,还是用户自己的配置进行Calibration。
同时,8.3.3这一节主要讲VCO Cailbration(由于我的问题主要是VCO的PLL未锁定,所以重点关注这一节)的配置序列,按这一节的意思,我是不是应该先让VCO进入用户模式(RSTN=1,PDN=1),再进入RSTN模式,之后退出RSTN模式,然后等待VCO Cailbration

RAY TOMS:

回复 Kailyn Chen:

麻烦能不能再看一下我在4/30号的回复,当时回复较晚,您可能已经下班

Kailyn Chen:

回复 RAY TOMS:

您好, VCO Calibration这一章节我已经看了。 首先使用hardware 方式进行reset,也就是RSTN=1,那么会使得器件进入defaule状态,而通过software方式的话 ,则不会使得寄存器的值恢复到default状态。这是两种reset的区别。

矛盾的地方在于通讯接口使用的是SPI接口,还是I2C接口,如果是I2C接口的话,那么必须等到exsit reset之后,也就是RSTN=1之后才能对寄存器进行配置,但如果是SPI 接口的话,是可以进行寄存器配置的:

The device can be programmed via SPI while RESETN is held low (this is useful to avoid any false output frequencies at power up)。

Note: The RESETN pin cannot be held low during I 2C communication.

另外,可以看下Figure 40. Device Power up and Configuration的配置流程图:可以看到I2C和SPI的配置过程是不一样的,RSTN=low的时候可以对寄存器进行配置,但I2C 则需要在RSTN=high的时候再对寄存器进行配置。

最后,您提到8.3部分为VCO calibration,您可能还不是用的最新版本的datasheet,建议在官网上直接下载最新版本参考,最新版本是11.2.1.9 VCO Calibration章节:

http://www.ti.com/lit/ds/symlink/cdcm6208v1f.pdf

RAY TOMS:

回复 Kailyn Chen:

非常感谢回复,从这几天与您的讨论看,目前在软件配置方面没有找到明显的问题,我测试了我的硬件电路,有两点疑问希望您能帮我解答一下:

1.我的晶振输入是SEC输入,我在VDD_SEC_REF这个管脚上给的输入电压是2.5V,但是我在VCC_VCO这个管脚上给的电压是3.3V,这会对VCO造成影响吗,同时,我对晶振的输入进行了观察,晶振输入时钟的电压幅度大概在800-900mv,这个电压幅度的晶振输入足够吗

2.在配置完芯片后,我测量了下图内蓝色圈圈出来的地方的电压,该点对应芯片上的ELF脚,我测量下来电压只有0.015V(几乎没有),请问这种情况属于正常情况吗,同时,图中R1/C1/C2,R3/C3的值的选择会直接影响VCO锁定的频率吗。

希望能得到回复,谢谢!

Kailyn Chen:

回复 RAY TOMS:

VDD_SEC_REF为2.5V,VCC_VCO=3.3V是没有问题的。
另外 说起硬件,我看您上面电路PDN引脚是直接接地的,这个引脚是低有效,当为low的时候,CDCM6208 是处于power down状态,输出disable ,当为高的时候才能正常工作。

RAY TOMS:

回复 Kailyn Chen:

PDN引脚内部是有上拉电阻构成RC串联电路,PDN引脚在上电后会缓慢充电达到DVDD的电压,这部分设计没有问题的,不然SPI的功能也无法启动。

此外,您能帮我解答一下第二个问题吗,我在测试中发现我的ELF管脚一直没有电压,我觉得这个是导致VCO无法正常工作的原因,但我不知道导致ELF管脚没有电压的原因所在。

user6302089:

回复 RAY TOMS:

Hi,TOMS!你的问题解决了没有,现在我遇到和你一模一样的问题,输出没有时钟,ELF管脚一直没有电压。寄存器都是正确配进去了的,PDN和RSTN控制也是按照datasheet上流程来的。

赞(0)
未经允许不得转载:TI中文支持网 » 时钟芯片CDCM6208V1的PLL无法锁定
分享到: 更多 (0)