http://www.alteraforum.com.cn/showtopic-355-1.aspx
骏龙科技_技术资料汇总52:关于Altera LVDS 经验分享
作者:上海骏龙 毛老师
相信大家在帮助客户调试altea lvds接口的时候,都遇到过不少问题。
下面两个应该是最常见的:
(一)字节对齐
字节对齐是我遇到的最多的,收到的数据并不是错了,只是起始bit的位置变了。
使用bitslip,比特滑动控制,可以解决这个问题,但有更为简单的方法:
只要随路时钟与数率的比值(W),与串化因子(J)相同,并且随路时钟和数据是边沿对齐,那么接收侧字的边界是确定的。
如:
数率:800Mbps
位宽:8bit(J=8)
随路时钟:100MHz
那么,收到的数据,字节边界固定不便,至于具体边界位置,可以通过仿真或者实测获得。
(二)DPA使用后,电路工作不正常
DPA电路使用时,如果遇到异常状况无法解决,试着添加下面Altera推荐的复位流程:
1. Ensure the receive clock is stable
2. Reset PLL and release it (PLL_ARESET)
3. Wait until the PLL is locked
4. Begin sending the training pattern
5. Reset DPA and release it (RX_RESET)
6. Wait until DPA is locked (RX_DPA_LOCKED)
7. Reset DPA FIFO and release it (RX_FIFO_RESET)
8. Align LVDS channel data to establish word boundaries (use RX_CHANNEL_DATA_ALIGN)
9. Start normal operation
如果锁相环失锁,重复上面流程;如果检测到接收数据出错,重复第5步开始的复位流程。
(三)LVDS的差分管脚和单端信号需要相隔一定数量的PAD,这个在设计原理图分配管脚的时候一定要注意,
另外有些器件系列的行IO会有OCT,列IO就没有。
<后记>--上海骏龙的毛老师:
一. 字节对齐,我来介绍一个在客户那的成功案例.
通过检测训练序列,调整RX_CHANNEL_DATA_ALIGN端口.作了一个简单参考设计给客户,多通道对齐也可以实现.
二.一块板上两片FPGA,一片LVDS发,一片LVDS收,有时会有上电后,第二片FPGALVDS不正常,复位也不能正常工作.只有重新加载第二片FPGALVDS才能正常工作.
解决方法:控制两片FPGA的加载时序,第一片FPGA先于第二片加载成功。