在低成本fpga中实现动态相位调整
在fpga中,动态相位调整(dpa)主要是实现lvds接口接收时对时钟和数据通道的相位补偿,以达到正确接收的目的。altera的高端fpga,如stratix(r) 系列中自带有dpa电路,但低端的fpga,如cyclone(r)系列中是没有的。本文主要阐述如何在低端fpga中实现这个dpa的功能。
实现架构
在lvds输入接收时,时钟和数据的相位可能是不确定的,因此我们需要将时钟的相位作出调整,使得时钟能稳定的采集到输入数据。工作的核心就是用锁相环pll的相位调整功能,产生若干个时钟的不同相位,看哪些相位能准确的采集到输入数据,然后取窗口中间的一个时钟相位,作为正常工作时的采样时钟。比如通过pll产生0,45,90,135,……,315度8个相移的时钟,如果0,45,90度相移的时钟能正确采样到输入,那么最后选取中间相位,即45度的时钟作为采样时钟。这样接口上具有最大的时序裕量,从而保证链路的可靠性。图1为这个设计的基本结构,通过pll调整相位的接口,产生了时钟的不同相位来采集数据,最后选择一个最合适的相位。
cyclone系列的pll的相位调整接口时序如图2所示,当用户逻辑控制phasestep, phasecounterselect与phaseupdown信号时,pll的输出时钟c0就改变一次相位。在qii生成pll时,用户必须选上create optional inputs for dynamic phase reconfigure,否则缺省是不会有这些管脚的,如图3所示。另外必须在output clock tab中写入phase shift step resolution的值,这样才能确定每次相位调整的步长。
应用实例
本例中的参考设计采用cyclone3器件,与adi公司的ads5277接口,已经在硬件上测试过,证明是有效的。ads5277是一款8通道高速adc芯片,主要用于超声设备以及测试设备中。图4是该参考设计电路框图。
ads5277送到fpga的是一个192mhz的时钟,8路lvds数据,速率是384mbps。上电复位后ads5277发送的数据是‘0101010101……’,fpga启动dpa电路,准确确定时钟相位后再通过控制信号,使得ads5277发送‘000000111111……’这样的pattern,fpga可以确定字的边界,这一步成功以后,fpga就可以通过控制信号让ads5277发送正常工作时的数据,因为经过了时钟相位调整这一过程,以后的数据采样是非常稳定的,不会受到温度电压变化来的影响。
当然这个设计可以和所有lvds发送芯片接口,并不只限于ads5277。甚至可以应用于altera高端fpga中,比如stratix4的带有dpa专用电路的管脚只分布在左右bank,而用到这个设计的话,上下bank的io也能使用。dpa设计所消耗的逻辑资源是非常小的,选用器件为3c16f256c8, 如表1所示。
图1、在fpga中实现dpa设计架构。
图2、pll的相位调整接口时序。
图3、
图4、参考设计电路框图。
表1、资源消耗
林斌
蔡海宁
altera公司
“刷脸”给生活提速
MySQL索引的常用知识点
出售Agilent83483A电模块
2012年面板产业三大发展趋势预测
纸棒机的生产安全方式具体是什么样的
在低成本FPGA中实现动态相位调整
交换机的标准说明
制造业人工智能的应用场景介绍
机床传感器有哪一些可应用的方法
银河麒麟服务器操作系统在大中型企业中得到了广泛应用
佛山照明与哈尔滨文旅集团合作将共同打造冰雪专用灯光系统及设计
日立宣布收购了西班牙VLC Photonics公司
空调温度传感器的作用是什么
主打大容量电池和防水防尘功能的LG K、X系列新机将发布
基于TI的OMAP平台手持设备语音应用解决方案
日系匠心闪耀全球市场,东芝电视重塑行业新格局
人形机器人的发展现状及前景分析
机械鼠标的工作原理
4G改变生活,5G改变社会,6G将改变世界
为量子计算做好准备