Felix

技术源于积累,成功始于执着! 个人邮箱:justlxy@mail.dhu.edu.cn QQ:1576109464

MIPI调试总结 For Lattice FPGA

1
阅读(327) 评论(2)

本文将简要地介绍基于Lattice FPGA(XO2/XO3/ECP3/ECP5/CrossLink)器件的,MIPI CSI/DSI调试心得。如有不足,请指正。


第一步、确认硬件设计、接口连接

1.1、可以使用示波器测量相关器件的MIPI输出信号(可分别在靠近输出端和靠近接收器件接收端测量,进而分析信号传输问题),来确认信号连接是否正常;

1.2、如信号质量较差(衰减严重、反射现象等等),请先检查器件焊接是否牢靠,传输线上阻抗是否匹配等;

1.3、如果信号一切正常,但是仍然无法找到SoT(B8),请确认差分线PN是否接反了;

注:Lattice FPGA暂时未支持NP翻转功能,不能通过软件设置,实现类似SerDes支持的PN翻转功能。

1.4、针对非CrossLink器件,请检查电路连接是否正确。具体请参考本文附件,以及Lattice各个器件的相关手册;

1.5、如果是MIPI N进1出的设计(N合一),建议各个输入器件采用用一个时钟发生器(晶振),即同源。同时FPGA MIPI Tx所需要的时钟源,最好也与其同源。如果不同源,建议Tx的时钟要略高于Rx的时钟(如Pixel Clock);

1.6、如果条件允许,可以通过示波器分析眼图,以获得更多的信号完整性信息。


第二步、关于非CrossLink器件的LP信号处理问题

2.1、非CrossLink器件,请参考FPGA-UG-02041文档,或者各个器件的相关文档设计MIPI Rx/Tx接口;

2.2、一般情况下,建议Clock和Data Lane上的LP引脚都连接,如果条件不允许连接,请参阅本文附件;

2.3、部分MIPI Rx器件,需要Clock Lane上的LP到HS的切换操作来使能相关电阻,进而“打开”MIPI Rx“开关”。即使用户使用的是连续时钟模式(Continuous Mode),这个切换操作仍然是必要的。如果条件不允许连接,建议由Tx器件,模拟这一切换操作;


第三步、MIPI Rx相关问题

3.1、调试过程中,首先确保SoT(B8)可以找到,然后考虑字节对齐(Word Align)。如果多于一个Data Lane,还需要考虑Lane Align。

3.2、一定要确定Tx器件的时钟是否是连续的,只有连续的时钟才可以作为FPGA内部Tx的时钟源;

3.3、如果两边时钟不同源,或者Tx的字节时钟比Rx的字节时钟慢,一定要处理好FIFO的深度和读写等问题。


第四步、MIPI Tx相关问题

4.1、确保FPGA Tx的MIPI时序符合Spec的要求,设计者可以通过示波器以及Diamond Reveal工具分析这些时序数据;

4.2、MIPI时序中的TRAIL很重要,不能发完有效数据后,立即进入LP状态;

4.3、使用FPGA DSI Tx直接点屏时,建议先由FPGA自身产生ColorBar。先搞定在LP状态下发送的初始化命令,然后在处理HS状态下的命令传输。


补充信息、关于高通平台FPGA Tx,AP Rx的建议(MIPI CSI)

#.1、如果AP报UNBOUNDED_FRAME错误,建议检查帧短包(尤其是帧结束短包)是否正常发送;

#.2、如果AP报ERROR_ECC & ERROR_CRC错误,建议检查SoT之前是否有非零数据,并检查包尾之后是否有非1数据,具体请参考下图;

#.3、如果AP报Lane x over flow错误,请检查包的长度是否正确,且CRC的值是否正确;

#.4、强烈建议在调试初期,暂时关闭AP的CRC校验功能。

blob.png

主要参考资料

1、MIPI扫盲:http://blog.chinaaet.com/justlxy/p/5100052503

2、MIPI CSI-2/DSI/DPHY Spec

3、Lattice XO2/XO3/ECP3/ECP5/CrossLink FPGA Datasheet

4、MIPI Debugging Summary_v0.3.pdf


  1. 感谢分享~~

  2. 可以,值得收藏