DBI(i80)/DPI(RGB)/DSI

2024-01-25 18:08
文章标签 rgb dsi dpi dbi i80

本文主要是介绍DBI(i80)/DPI(RGB)/DSI,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

(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。MCU借口通过并行接口传输控制命令和数据,并通过往LCM模组自带的GRAM(graphic RAM)更新数据实现屏幕的刷新。

     DBI接口分为串行和并行两种,模型如下:

 

       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接口

      也就是通常所说的RGB接口,采用普通的同步、时钟、信号线来传输特定数据,采用SPI等控制线完成命令控制。某种程度上,DPI与DBI的最大差别是,DPI的数据线和控制线分离,而DBI是复用的。

      它的模型如下:

它的信号时序图如下(注意DE模式跟SYNC模式的区别):

        其中,backporch和syncwidth应尽量分配大些,因为靠它决定有效区域的起始位置,而frontporch则可以分配小点(该方法可用在sync模式的屏参驱动DE的屏,需注意backporch+syncwidth+frontporch才等于DE模式下的blanking值)。

        曾经在调试一个DPI接口LCM时碰到一个奇怪现象,RGB的接口用一个LVDS转换芯片跟一款LVDS模组相连。重烧程序完后可以显示图像,断电再上电就没有图像,后来发现是上电屏参初始化中没有配置一个CS拉高的使能信号脚。烧完程序后该脚为高所以可以显示,重断电再上电默认为低所以没有图像。

        DPI接口的CLOCK计算方法:


其实ref为0,其他的三个参数以屏参中设定为准。

      就DPI接口的CLOCK极性选择,作如下说明:

A、首先看数据线,当开始传输第一个数据时,如果EN为下降沿,即传输Valid data   时EN低有效。则:Params->dpi.de_pol=LCM_POLARITY_FALLING; 反之亦然;

B、VSYNC和HSYNC分别代表一帧数据和一行数据的开始,当一帧以下降沿开始时,设置:Params->dpi.vsync_pol=LCM_POLARITY_FALLING; 反之亦然;当一行以下降沿开始时,设置:Params->dpi.hsync_pol=LCM_POLARITY_FALLING; 反之亦然。

C、PCLK的极性没有固定的要求,主要是看其与data的关系,即保证latch到正确的数据,这一点和sensor的PCLK设置相同。当开始传输第一个数据时,如果PCLK为下降沿,即在下降沿latch数据时,最好设置:Params->dpi.clk_pol=LCM_POLARITY_FALLING; 反之亦然。
(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接口

        DSI,是一种串行传输方式,包括数据、指令、其他信息。连接方式如下图:

DSI的数据传输过程如下:

由于DSI的数据是封包处理的,不像DBI接口那样可以明显知道原始的传输内容,所以在一些问题的解决方法是不同的。在调试OTM8009A的DSI接口LCM时,发现LCD在按电源键睡眠后必须按两次才能唤醒,一开始无论如何都没有想到是屏的问题,最后是修改LCM的DSI驱动公共函数解决的,也就是把dsi_enable_power中的DSI_lane0_ULP_mode形参都置0,以避免DSI处于极度睡眠中。

     DSI的三种格式分类说明如下:

       关于CABC的调节还有另一种问题,就是DSI调节亮度跟DSI VIDEO MODE的冲突。CABC是设定最大亮度,LCD的亮度填充会随着画面内容的变化来自动调节,达到省电的目的。当然,菜单的亮度调节是另外一回事,这就导致出现开机图像异常和睡眠后唤醒的图像异常,根本原因在于在RGB数据中穿插DSI控制命令,如果芯片发送端无法做到在RGB帧之间发送CABC命令,导致RGB图像断裂连接不上,就会出现异常。

       在调节DSI屏有时会出现“DSI waite”的问题,原因还是在屏的供电没有。如果屏没有在UB阶段供电,会导致系统开机一直卡在这个地方循环。

这篇关于DBI(i80)/DPI(RGB)/DSI的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/644137

相关文章

Excel查询颜色RGB值

1.选中单元格,点右键,设置单元格格式-填充-其他颜色-自定义,下面显示的就是该单元格颜色的RGB值 2.与十六进制换算: https://www.sioe.cn/yingyong/yanse-rgb-16/

HSV颜色空间和RGB颜色空间相互转换C语言实现

HSV(Hue, Saturation, Value)是根据颜色的直观特性由A. R. Smith在1978年创建的一种颜色空间, 也称六角锥体模型(Hexcone Model)。这个模型中颜色的参数分别是:色调(H),饱和度(S),明度(V)。 色调H 用角度度量,取值范围为0°~360°,从红色开始按逆时针方向计算,红色为0°,绿色为120°,蓝色为240°。它们的补色是:黄色为60°,青色

RGB色转为灰度色算法-img2ascii_char

一、基础   对于彩色转灰度,有一个很著名的心理学公式: Gray = R0.299 + G0.587 + B0.114 二、整数算法   而实际应用时,希望避免低速的浮点运算,所以需要整数算法。   注意到系数都是3位精度的没有,我们可以将它们缩放1000倍来实现整数运算算法: Gray = (R299 + G587 + B114 + 500) / 1000   RGB一般是8位精度,现在缩放1

Qt-高DPI显示器

与标准DPI显示器相比,高DPI显示器增加了像素密度。 像素密度以每英寸点数(DPI)或每英寸像素(PPI)来衡量,由显示像素的数量和它们的大小决定。因此,单独的像素数量不足以确定显示器是否属于高dpi类别。 4K显示器有固定的像素数(约8米),但它的DPI在185(23英寸)和110(40英寸)之间变化。前者是标准96 DPI桌面分辨率的两倍左右;后者仅略高于这个分辨率。 高DPI的挑战

java 图像RGB,图像红、绿、蓝、灰 化

把图形进行红、绿、蓝、灰 化,并保存     /** * 名词解释: * 饱和度是指色彩的鲜艳程度,也称色彩的纯度。 * 灰度:使用黑色调表示物体,即用黑色为基准色,不同的饱和度的黑色来显示图像。 * 像素:如同摄影的相片一样,数码影像也具有连续性的浓淡阶调,我们若把影像放大数倍,会发现这些连续色调其实是由许多色彩相近的小方点所组成, * 这些小方点就是构成影像的最小单元——像素。是分

#FFFFFF 和RGB的相互转化

#00b3e9 --->RGB(0,179,233)的转化 float R = (float)((0x00b3e9 & 0xFF0000)>>16); --> 0 float G = (float)((0x00b3e9 & 0xFF00)>>8); --> 179 float B = (float)((0x00b3e9 & 0xFF)); --> 233

使用FFmpeg的AVFilter转换YUV到RGB

AVFilter 是 FFmpeg 库 libavfilter 的核心组件,提供了一套强大的音视频处理框架,用于对音视频流进行复杂的过滤、转换和效果处理。通过 AVFilter,开发者可以构建自定义的滤镜图(filter graph),实现各种音视频处理任务,如颜色空间转换、缩放、裁剪、特效添加等。 以下是对 AVFilter 的详细介绍,包括其架构、关键概念、使用方法以及示例代码。 1. A

[C++] 将LONG类型的color值转换为RGB值

转换原理: The calculation is: (65536 * Blue) + (256 * Green) + (Red) 'Convert RGB to LONG: LONG = B * 65536 + G * 256 + R       'Convert LONG to RGB:  B = LONG \ 65536  G = (LONG - B * 65536) \ 256  R =

[米联客-XILINX-H3_CZ08_7100] FPGA程序设计基础实验连载-25 RGB转HDMI显示方案

软件版本:VIVADO2021.1 操作系统:WIN10 64bit 硬件平台:适用 XILINX A7/K7/Z7/ZU/KU 系列 FPGA 实验平台:米联客-MLK-H3-CZ08-7100开发板 板卡获取平台:https://milianke.tmall.com/ 登录“米联客”FPGA社区 http://www.uisrc.com 视频课程、答疑解惑! 目录 1概述