LCD的接口类型大致有:SPI/I2C/MCU/CPU/RGB/MDDI/MIPI,SPI/I2C用于低速黑白屏,MCU/CPU/RGB为并口,在智能机之前的功能机上用的多,手机进入到大屏时代后,并口的传输速度跟不上,特别是面临高清播放的应用,能力不足,所以出现了MDDI和MIPI,MDDI为高通推出,MIPI为多家重量级厂商联合成立的组织,其推出了一系列移动标准,其中就包括MIPI DSI。
Mipi推出的时间不长,但推广速度很快,包括iphone4/Meizu M9 都采用mipi接口(可能现在除了高通的手机,大部分都是)
Mipi接口有物理规范,因此我们看到的支持DSI的开发板和LCD都是mipi规范的排线。但是目前mipi接口的LCD基本上买不到,网上有一些自己做开发的,也是用的iphone的屏
开发板部分,Panda Board在CPU这块就没有将mipi的信号引出来,没法用,samsung s5pc100开发板没有引出接口,samsungs5pv210开发板一般有mipi接口
驱动部分,目前只能有Omap的代码可以参考
Mipi接口支持2中mode:video mode和commandmode
Video mode和rgb接口是类似的,framebufferdriver都用system memory,pixel数据存放在buffer中,mipi host按照指定的时序将数据通过dbi总线发送给lcd。因为mipi的信号线和数据线是复用的,时序的同步实际上也有data package完成,而不像并口那样有信号线上的电平完成。
在Video mode下,整个架构和rgb等并行接口并无太大的差别
而command mode需要LCD module将LCD RAM集成在其中,host以command的方式将显示数据发送给LCD,LCD从自身的LCD RAM中获取数据刷新。
相较而言,command mode比较省电,当屏幕不更新的时候,mipi总线可以idle,LCD凭借自身的RAM进行刷新动作,而video mode需要不停的传输数据到LCD,即使画面无变化
但command mode可能在大屏高分辨率高清播放的场景下能力不足