Part Number:LMK04828-EP
我所遇到的问题是:我的clkin0是外部时钟输入,clkin1是板载晶振,clkin2为FPGA时钟输入,clkin0优先级最高;当clkin0 丢失后,04828自动切换到clkin1 ,但是当clkin0 恢复后,04828锁定在clkin1,无法切换到clkin0。
The problems I encountered were: my clkin0 is an external clock input, clkin1 is an on-board crystal oscillator, clkin2 is an FPGA clock input, and clkin0 has the highest priority; When clkin0 is lost, 04828 automatically switches to clkin1, but when clkin0 is restored, 04828 locks in clkin1 and cannot switch to clkin0.
Kailyn Chen:
您好,我认为这个现象是正常的。自动切换的优先级顺序如下(前提是CLKINx都先enable automatic switching)。
CLKin0→CLKin1→CLKin2→CLKin0
那么当CLKIN0从丢失到恢复,是不能从CLKIN1再切换到CLKIN0的,除非CLKIN1丢失,CLKIN2 disable autoswitching,这时候才会再自动切换到CLKIN0.
或者我的建议是您可以采用手动切换的方式,当CKIN0 恢复之后,手动再切换到CLKIN0.
,
Jerry:
谢谢你的回复,目前看来也只能是手动修改来达到我的目的
,
Kailyn Chen:
是这样的,不用客气,后续有什么问题,再讨论。
,
Jerry:
请问在手动修改的过程中,我需要进行那些步骤。目前我只是重新更新了0X147寄存器,我取消了CLKIN1的使能,但是并没有起作用,锁定的参考时钟源依旧是CLKIN1;并且我还想知道在手动修改的过程中,04828是不是依旧有输出。谢谢
,
Kailyn Chen:
Jerry说:我取消了CLKIN1的使能,但是并没有起作用,锁定的参考时钟源依旧是CLKIN1
您是不是enable 了holdover功能? 寄存器0x150 bit0=1 的话enable holdover功能。
holdover特性的作用就是当参考输入时钟丢失的时候仍能保持原来的时钟输出,直到参考时钟重新恢复重新建立。
Jerry说:目前我只是重新更新了0X147寄存器,我取消了CLKIN1的使能
CLKin_SEL_MODE=0x00,然后0x146=0取消了auto switch功能是吗?
,
Jerry:
我只修改了0X147寄存器,没有取消auto switch,同时也enable holdever
,
Kailyn Chen:
您现在的情况是,enable autoswitch,CLKIN0丢失后,自动切换到CLKIN1,然后修改0x147,修改后0x147的值为多少?
发现仍旧不能切换到CLKIN0, 输出的仍是CLKIN1的输出对吧?
因为不知道修改了0x147为多少值,我想如果目前自动已经切换到CLKIN1的话,CLKIN0恢复之后,如果想再切换到CLKIN,可以将0x147的bit6:4 CLKin_SEL_MODE=0x00选择 CLKIN0 manual,同时配置寄存器0x150,比如bit6 CLKin _OVERRIDE=1,迫使手动选则CLKINx作为输入,
0x150的bit0和bit1的功能我看了下是当CLKIN输入切换时的输出状态的配置,enable holdover维持之前的输出,还是在切换时输出未定义hitless状态。
您这边验证下, 有任何问题再反馈。