“芯”手艺分享 | js1996官网PLL IP动态相位调解
请输入文本内容
宣布时间:
2024-04-10
浏览量:

在FPGA中 ,动态相位调解(DPA)主要实现LVDS接口吸收时对时钟和数据通道的相位赔偿 ,以抵达准确吸收的目的。在LVDS输入吸收时 ,随着单线传输速率一直靠近于1 Gb/s ,使每位所占的时间窗一直减小 ,导致采样时钟对信号线的采样点很难在其有用区间举行准确采样;再加上传输路径的差别 ,各数据线和采样时钟抵达吸收端的延迟时间不可包管完全一致 ,从而带来了各信号线之间的位偏移(Bit Skew)和字偏移(Word Skew) ,如下图所示。

“芯”手艺分享 | js1996官网PLL IP动态相位调解

位偏移为采样时钟沿不在各数据窗口的中心位置采样 ,可能会导致数据采样坚持时间不敷长 ,易使bit位爆发瞬间突变 ,从而导致吸收的数据不稳固;字偏移是指采样吸收后的各数据信号之间差别步 ,使得同时在发送端发送的数据在吸收端却不可统一时刻被采样 ,导致吸收的数据无效。因此我们可能需要将时钟的相位做出调解 ,使得时钟能稳固的收罗到输入的数据。事情的焦点就是锁相环PLL的相位调解功效 ,爆发时钟的差别相位 ,接着看哪些相位能准确地收罗到输入数据 ,然后取窗口中心的一个时钟相位 ,作为正常事情时的采样时钟。这样接口上具有最大的时序裕量 ,从而包管链路的可靠性。

js1996官网的PLL IP支持动态相位调解功效。在IP Creator中例化PLL的IP时 ,翻开动态相位调解功效 ,即可开启PLL输出时钟的相位动态调解。

IP例化示例图

“芯”手艺分享 | js1996官网PLL IP动态相位调解

在勾选了动态相位之后 ,IP会开启动态相位调解对应的信号接口。其中PHASESEL[1:0]可选择做动态相位调解的输出端口 ,“00”选择CLKOP通道 ,“01”选择CLKOS通道 ,“10”选择CLKOS2通道 ,“11”选择CLKOS3通道;PHASEDIR选择相位调解偏向 ,“1”体现相位做正向调解 ,“0”体现相位做负向调解;PHASESTEP为动态相位调解的触发信号 ,每一个脉冲实现一次相位调解。

动态相位调解的实现代码如下所示 ,通过按键切换动态相位调解的偏向

“芯”手艺分享 | js1996官网PLL IP动态相位调解

使用按键触发天生动态调解的脉冲信号 ,每一次按键 ,完成一次相位调解

“芯”手艺分享 | js1996官网PLL IP动态相位调解

下图程序中 ,CH_SEL为相位调解的时钟通道选择 ,例程中设置为“01” ,即实现动态相位调解的通道为CLKOS

“芯”手艺分享 | js1996官网PLL IP动态相位调解

在测试中 ,选择将CLKOP通道输出的时钟作为参考信号 ,与CLKOS信号做比照。划分选择了0次相位调解、18次相位调解、36次相位调解和54次相位调解 ,其测试效果如下图所示。实测60调解实现相位360°偏移。

“芯”手艺分享 | js1996官网PLL IP动态相位调解

图1 初始相位

“芯”手艺分享 | js1996官网PLL IP动态相位调解

图2 18次相位调解

“芯”手艺分享 | js1996官网PLL IP动态相位调解

图3 36次相位调解

“芯”手艺分享 | js1996官网PLL IP动态相位调解

图4 54次相位调解

若有客户朋侪需要获取源码 ,请联系js1996官网的市场销售职员。