Debug
对于使用MIPI出现的问题,如果Tearing,屏幕错位等,总结了如下方法:
1. 当Tearing发生时,测量TE信号,是否和panel刷新率一致;测量TE和DATA PIN相位是否固定,以确定CPU是否配置好了。
2. 确保lcd的vertical front/back porch 以及 pulse width都是否符合要求了。不正常的值会导致mdp同步工作会不正常。
3. 测量clock是否符合设置要求。测量data信号是否正常。
4. 一般每个模块都有寄存器状态可以来读取以方便开发人员调试,lcd也不例外,举例如TE正常工作的时候,有个叫MDP_PRIM_INT_CNT_VAL 的寄存器是用于技术的,来一个TE signal就加一,如果不加那就知道TE同步不正常了。当然,对于其他的registers,如果有需要的话我们可以全部dump出来查找我们需要的信息。
花屏举例
有遇到个别手机开机会一直花屏的状况,不过将FPC重新扣一下就好了。
从现象上我们只能怀疑是接触不良,下面利用MIPI的原理来分析这个问题。
用到的知识:
a) 当发送控制命令的时候,默认都用的模式是LPDT,也就是说只用data0, clock和data 1 pin都没有用到。
b) 当CPU从panel接收返回的信息时,用的也只有data0 pin。
c) 在HS mode的时候发送显示数据,那么data 0, data 1, clock将都会被用到。
d) 使用BTA时,CPU将总线交给panel,panel driver IC会返回用户所需要的数据。