MIPI----DBIDPIDSI简介
MIPI的液晶数据传输中涉及DWG(Display Working Group)⼯作组,该⼯作组提出了4种液晶规范分别为DBI(Display Bus Interface显⽰总线接⼝)、DPI(Display
Pixel Interface显⽰像素接⼝)、DSI(Display Serial Interface显⽰串⾏接⼝)、DCS(Display
Command Set显⽰命令集)。
(1)DBI接⼝
A,也就是通常所讲的MCU接⼝【微程序控制器、单⽚机】,俗称80 system接⼝。The lcd interface between host processor and LCM device list as below,The LCM driver will repeated update panel display【是连接在主机处理器和LCM设备之间的lcd接⼝,lcm模块驱动程序将重复更新显⽰板】。MCU接⼝通过并⾏接⼝传输控制命令和数据,并通过往LCM模组⾃带的GRAM(graphic RAM)更新数据实现屏幕的刷新。
DBI(Display Bus Interface)规范中规定了它的硬件接⼝⽅式,它是液晶数据总线接⼝,可细分为MIPI DBI Type A、MIPI DBI TypeB、MIPI DBI Type C这三种不同的模式,不同模式下的硬件接⼝以及数据的采样都有所不同,如在MIPI DBI Type A规范中规定是下降沿采样数据值(摩托罗拉6800接⼝ ),MIPI D
BI Type B规范中规定是上升沿采样数据(英特尔8080接⼝ )。MIPI DBI Type A和MIPI DBI Type B同时⼜可细分为5种不同数据接⼝模式,分别为8位数据接⼝、9位数据接⼝、16位数据接⼝、18位数据接⼝、24位数据接⼝。不过市⾯上⽀持9位数据接⼝的液晶驱动IC并不多见,当然数据接⼝越⼤那么相同⼀个周期内数据接⼝越⼤,所传输的数据越多。⽽MIPI DBI Type C 只适⽤于传输于DCS规范中规定的命令和该命令所需要的参数值,不能传输液晶像素的颜⾊值(虽然DBI规范中规定能传输颜⾊值,不过市⾯上的液晶驱动IC是⽤来传输命令和命令所需的参数值)。
同样在DBI(Display Bus Interface)规范中规定不同数据接⼝所⽀持颜⾊位数。具体还是要参考所使⽤的液晶驱动IC资料来确定。谈到颜⾊位数,需要说⼀下何谓颜⾊位数,颜⾊位数也称⾊彩位数,位图或者视频帧缓冲区中储存1像素的颜⾊所⽤的位数,它也称为位/像素(bpp)。⾊彩深度越⾼,可⽤的颜⾊就越多。市⾯常⽤液晶驱动IC⽀持的颜⾊位数有16、18、24这三种。
B,以典型的18位数据跟16位数据做说明(8位寄存器控制)。
如上硬件采⽤18位数据线,控制命令和参数占⽤DB0到DB7并⾏传输,图像数据采⽤RGB666的格式并⾏传输。
如上硬件采⽤16位数据线,控制命令和参数占⽤DB0到DB7并⾏传输,图像数据采⽤RGB565的格式并⾏传输。
C,关于DBI data format的说明
(I)对于16位的datawidth,典型的数据格式举例如下
1cycle/1pixel,RGB565,格式是:rrrrrggggggbbbbb
3cycle/2pixel,RGB666,格式是:xxxxrrrrrrgggggg
xxxxbbbbbbrrrrrr
xxxxggggggbbbbbb
3cycle/2pixel,RGB888,格式是:rrrrrrrrgggggggg
bbbbbbbbrrrrrrrr
ggggggggbbbbbbbb
(II)对于18位的datawidth,典型的数据格式举例如下
1cycle/1pixel,RGB666,格式是:rrrrrrggggggbbbbbb
3cycle/2pixel,RGB888,格式是:rrrrrrrrgggggggg
bbbbbbbbrrrrrrrr
ggggggggbbbbbbbb
D,硬件接⼝及时序
(I)硬件连接图:
RESX:复位;CSX:chip select⽚选;TE:tearing enable;D/CX:register select寄存器选择;WRX/SCL:write control;RDX:read control;DB[….]:传输线。
(II)写周期:
(III)读周期:
(IV)关于屏参中6个读写时序
(2)DPI接⼝
它不是像DBI规范⽤Command/Data配置液晶驱动IC的寄存器再进⾏操作。
也就是通常所说的RGB接⼝【DBI接⼝可称为MCU(MPU)接⼝】,采⽤普通的同步、时钟、信号线来传输特定数据,采⽤SPI等控制线完成命令控制。某种程度上,DPI与DBI的最⼤差别是,DPI的数据线和控制线分离,⽽DBI是复⽤的。同样使⽤DBI接⼝的液晶很少有⼤屏幕的,因为需要更多的GRAM从⽽提⾼了⽣产成本,⽽DPI接⼝即不需要,因为它是直接写屏,速度快,常⽤于显⽰视频或动画⽤。
DPI从它的名称中就可以看出它是直接对液晶的各像素点进⾏操作的,它是利⽤(H,V)这两个⾏场信号进⾏对各像素点进⾏颜⾊填充操作。填充速度快,可⽤于动画显⽰,⽬前⼿机液晶屏所⽤的接⼝就是这⼀类。H(H-SYNC)称为⾏同步信号;V(V-SYNC)称为场同步信号。它像模拟电视机那样⽤电⼦那样进⾏扫频显⽰,不过它对时序控制要求很⾼。因此⼀般的MCU芯⽚很难⽀持。
它的信号时序图如下:typec数据线
(3)DPI与DBI的兼容
现在很多LCM的模组可以做到DBI和DPI接⼝的兼容。因为在IM2/IM1/IM0由⼿机主板决定的前提下,⽐如6516⽀持MCU接⼝,同时该模组放到另⼀款DPI接⼝的主板上也可以照样使⽤。
另⼀个补充问题,关于显⽰位数,由于嵌⼊式WINDOWS系统的GUI是16位的,不同于桌⾯WINDOWS的32位,所以24位的位图在WIN CE中,只能以16位⾊显⽰,⼀定会丢掉某些颜⾊。这个缺陷还在于,
就算是18(RGB666)位的LCM数据位显式,最终软件中接受的GUI颜⾊还是16位,要把RGB565转成RGB666才能当18位⾊显⽰,相当于插值了。
(4)DSI接⼝
符合MIPI协定的串列显⽰器界⾯协议,主机与显⽰器之间⽤差分信号线连接。
⼀对clock信号和1~4对data信号
⼀般情况下data0可以配置成双向传输
⼀个主机端可以允许同时与多个从属端进⾏通信
DSI,是⼀种串⾏传输⽅式,包括数据、指令、其他信息。连接⽅式如下图:
DSI的数据传输过程如下:
由于DSI的数据是封包处理的,不像DBI接⼝那样可以明显知道原始的传输内容,所以在⼀些问题的解决⽅法是不同的。在调试
OTM8009A的DIS接⼝LCM时,发现LCD在按电源键睡眠后必须按两次才能唤醒,⼀开始⽆论如何都没
有想到是屏的问题,最后是修改LCM的DSI驱动公共函数解决的,也就是把dsi_enable_power中的DSI_lane0_ULP_mode形参都置0,以避免DSI处于极度睡眠中。
关于CABC,是⼀种通过屏参来控制LCM⾃⾝背光的⼀种⽅式,跟之前采⽤独⽴GPIO或PWM控制背光的⽅式最⼤的区别在于:背光的亮灭和调节均跟LCM的使⽤有关。在碰到开机⽩屏或者会有雪花点,均是在初始化中使能了CABC功能,⽽SHOW画⾯显然都是在屏初始化之后,背光亮了⽽屏没有数据,这样很难避免⽩屏和雪花点。解决⽅法是:在LCM驱动的对应设置背光的函数中,先设置亮度等级,再使能CABC,这样就可以避免问题。
(5) DCS(Display Command Set)
规范中规定了显⽰命令设置的⼀些规范,它并没有说明它具体的硬件连接⽅式,规定了液晶传输中各个命令的值和意义以及命令说明,主要是为了配合DBI规范、DSI规范来使⽤的。
⽂章出处请参考:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论