在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
楼主: pandapigwtj

[求助] 哪位大神指导下我 让我成功驱动这块芯片 在输出端打出时钟信号

[复制链接]
发表于 2017-7-7 11:41:50 | 显示全部楼层
回复 38# pandapigwtj
楼主,你好。看了你的回复,感觉寄存器的配置应该是成功了,尽管你测的管脚的电平不正确,原因是什么我不清楚。

我又看了下你的配置代码,看你配置了R0的reset.
一般情况下,配置为reset后,各个寄存器有一个时间去重新设置为默认值,在这个期间,你是不能对其他寄存器进行配置的。
也就是说,如果配置reset的话,需要在代码里面加一个延时。

为了简化调试的步骤,
在这里,我的想法是:
   1.上电后,尽可能不要对寄存器做配置,使用默认值,减少出错的概率。
    2. 只配置 CLKoutX_EN bit /EN_CLKout_Global/GOE ,在寄存器默认值状态下,使能clkout。
   3. 检测LD 和GOE管脚。

在这种情况下,LD如果锁定了,证明PLL正常工作。 再加上clkout输出使能了,理论上你是能够得到一个时钟输出的,先不要管时钟频率
是否正确。


还有信号电平的测试尽可能使用示波器测试,这样准确一些。


仅供参考
发表于 2017-7-7 11:57:16 | 显示全部楼层
回复 40# pandapigwtj
看了原理图,感觉可以把GOE直接拉高,这样的话,只用配置内部寄存器就可以使能输出。
      电阻R54通过电阻上拉,置为高,断开R51.
另外LD为高的情况下,fout可以送到频谱仪,你看是否右输出。然后使能clkout,再检测是否有输出。
 楼主| 发表于 2017-7-7 13:52:46 | 显示全部楼层
回复 41# 冲出藩篱

我的GOE那块硬件那里拉高理解了,没有问题;那关于LD那个引脚的处理到底和PLL是什么关系,能不能麻烦老铁说的详细一点,我看datasheet它是说在寄存器里面把PLL-mux配置了相应的值,就可以选择LD这个引脚是不是处于数字检测所存的状态。如果将PLL-mux选择disabled即default值,之前程序里面是有assign goe = ld,即将这两个管脚连在一起了,如果选择default状态,goe电平为0,如果选择配置成3,即digital detect always active那个模式,goe和ld均为3.3v。之前是通过这个方式拉高的goe。这里要特别说明一下。现在的话,我直接硬件拉高goe,那ld和goe还需要连在一块吗,ld那个管脚做什么处理呢?这一点我还是有点不明白,我先消化下老铁之前说的。
 楼主| 发表于 2017-7-7 14:11:05 | 显示全部楼层
回复 42# 冲出藩篱
   老铁,你之前讲的对于GOE的硬件上拉,我理解了。但是对于LD这个管脚应该做什么处理呢,它的锁定和PLL的正常工作的关系,能不能再细说下呢。这里我补充说明下情况,之前我上拉GOE,是程序中有assign goe = ld,这两个管脚是连在一起的,我在通过对寄存器13里面的pll-mux的值进行配置,第一次的时候选择了default状态的默认值,即配置为1’d0,选择disabled。这个时候goe的电平为0v,而ld有电平,不过也是0点几v。然后当我选择了将其配置为1’d3的时候,即选择digital detected always active那个配置模式,此时goe与ld管脚均为3.3v。即被拉高。之前我所说的goe拉高方式用的是这个方式。现在我试着理解下关于reset那个配置的问题,然后消化下老铁之前给我讲的思路。
发表于 2017-7-8 17:35:09 | 显示全部楼层
回复 44# pandapigwtj

楼主,你确实需要先配置PLL_MUX,然后才能在PLL锁定的情况下,观测到LD的拉高。
PLL的工作原理是VCO 的输出的时钟(fvco),分频(fvco/N)反馈回来和参考时钟(Fref)进行相位比较,然后通过charge pump 控制VCO调整VCO的输出。
当fvco/N 和 Fref之间的相位稳定之后,整个VCO的输出也就稳定了,我们就认为PLL进入了锁定状态。
具体的原理你可以找本PLL的书看看。

按照一般的思路,如果你的参考输入Fref是好的,且LD锁定了,理论上Fout一定是能观测到的。
接下来就是clkout 使能和配置的问题了,我认为你的问题很可能出在这个部分。
但是具体是哪我不清楚。
 楼主| 发表于 2017-7-10 09:26:33 | 显示全部楼层
回复 45# 冲出藩篱
老铁,才看到你的回复,周末有点事情。也就是说,假设我的输入差分时钟100MHz没问题,而之前的操作可以看出是成功的通过PLL-mux的配置,拉高了LD,然后通过LD与GOE相连,拉高了GOE(当然,这里改为硬件上的直接上拉,软件里面二者还有连在一起的必要吗?可以分别做尝试)。然后我这里有个想法,既然GOE使能,PLL-mux均为后面的寄存器里面所要配置的参数,这里通过改变程序,测试电压,明显可以看出是对寄存器配置成功了,那么后面的寄存器均配置成功的话,是否存在前面几个关于时钟的寄存器配置不成功的情况?是否就是你之前提到的关于reset的问题,导致前面几个寄存器的配置并不成功。这样的解决方案我这里想到的就是如你所说,在配置完reset之后,加上一个延时操作,再继续配置reg0,reg1,reg2等等。要么就是将配置复位这个动作去掉,直接从reg0开始。(这一点我再看下datasheet,来落实这个问题)。同时,之前对于100MHz的差分时钟晶振的测试,独立离开板子的测试环境下,是没有问题的。(这里测试环境比较恶劣,示波器最大就能100Mhz,然后没有频谱仪)但是重新安装到板子的时候,差分时钟峰值变小,回落,这是阻容效应吧。但是总通过示波器看到差分时钟的峰值并不完全对称。
 楼主| 发表于 2017-7-10 09:28:02 | 显示全部楼层
回复 45# 冲出藩篱

谢谢你对于PLL的讲解,大致理解了工作模式。所以的话,这里我们要用到pll,必须采用之前的那个操作,datasheet也说了。配置为3,然后将其与ld相连。这样goe始终为高。
 楼主| 发表于 2017-7-11 09:28:51 | 显示全部楼层
回复 45# 冲出藩篱

06f1da26ec23364eba80568aa8fd4cef.png 老铁,你看下这个最后一句话。有没有可能是我的LD与GOE连在一块,然后xxx合成器没有锁定,然后就直接把所有的输出默认为0了。但是不理解是什么合成器啊。
 楼主| 发表于 2017-7-11 09:33:16 | 显示全部楼层
回复 45# 冲出藩篱

6fece99e4e16864397e7cc5788c94aad.png 对应的英文datasheet相当于是这句话。
发表于 2017-7-11 18:05:22 | 显示全部楼层
回复 49# pandapigwtj


   这句话的意思是,GOE管脚内部有上拉电阻,如果没有外部端接的话,时钟输出由CLKoutX_EN和EN_CLKout_Global决定。 将LD连接到GOE后,通过配置PLL_MUX 寄存器,如果PLL(也叫频综,频率合成器)锁定的话,LD拉高,使能global输出,如果PLL没有锁定,LD为低,就将GOE拉低,disable global 输出。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条

×

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-4-26 00:38 , Processed in 0.053643 second(s), 6 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表