LCD-DBI接口与DPI接口与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是复用的。

      它的模型如下:

它的信号时序图如下:

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

(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的DIS接口LCM时,发现LCD在按电源键睡眠后必须按两次才能唤醒,一开始无论如何都没有想到是屏的问题,最后是修改LCM的DSI驱动公共函数解决的,也就是把dsi_enable_power中的DSI_lane0_ULP_mode形参都置0,以避免DSI处于极度睡眠中。

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

        关于CABC,是一种通过屏参来控制LCM自身背光的一种方式,跟之前采用独立GPIO或PWM控制背光的方式最大的区别在于:背光的亮灭和调节均跟LCM的使用有关。在碰到开机白屏或者会有雪花点,均是在初始化中使能了CABC功能,而SHOW画面显然都是在屏初始化之后,背光亮了而屏没有数据,这样很难避免白屏和雪花点。解决方法是:在LCM驱动的对应设置背光的函数中,先设置亮度等级,再使能CABC,也就是不要在初始化中设置CABC,这样就可以避免问题。

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/469866.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ios截屏 u3d导出Xcode工程截屏

在ios原生程序里面 全屏截屏 UIWindow *window [[UIApplication sharedApplication] keyWindow];  //下边是经典的4步 UIGraphicsBeginImageContext(window.frame.size);  //打开画布,并设定大小 [window.layer renderInContext:UIGraphicsGetCurrentContext()…

【Pytorch神经网络实战案例】03 CIFAR-10数据集:Pytorch使用GPU训练CNN模版-测试方法

import torch import torchvision from PIL import Image from torch import nnimage_path"./test_img/dog.png" imageImage.open(image_path)print(image) #size406x479 所以需要转换# png格式是四个通道,除了RGB三通道外,还有一个透明度通道…

linux我回来了

如题 我想说、linux我又要回来了、不是为了什么就是为了原先刚开始喜欢你的感情一样离开了这么久、学了几行JAVA、搞了一下安卓、不过我还是回到了linux庆幸的是、当初我把我的系统备份了下来、没有删除、所以一切都感觉很熟悉

【Pytorch神经网络实战案例】02 CIFAR-10数据集:Pytorch使用GPU训练CNN模版-方法②

import torch import torchvision from torch import nn from torch.utils.tensorboard import SummaryWriterfrom torch.utils.data import DataLoader# 取消全局证书验证(当项目对安全性问题不太重视时,推荐使用,可以全局取消证书的验证&am…

三、Unity中的鼠标、键盘的获取

在Unity中,我们经常会处理点击鼠标的事件检测和键盘的事件检测。所以,我觉的应该将这个小知识点进行一个整理。 1.按下键盘的事件检测: 1.GetKey: 当通过名称指定的按键被用户按住时返回true ------ 持续按下,会一直…

三星的S3C2440A 存储器控制器

对存储器的BANK那个东西我一直是一知半解,感觉很模糊、关于ARM的体系结构可能学得不够深入 三星S3C2440A的存储器控制器 s3c2440A 的存储器控制器提供访问外部存储器所需的存储器控制信号。 s3c2440A 的存储器控制器有以下特性: - 大小端(通过软件选择) - 地址空间:每个ba…

【Pytorch神经网络实战案例】01 CIFAR-10数据集:Pytorch使用GPU训练CNN模版-方法①

import torch import torchvision from torch import nn from torch.utils.tensorboard import SummaryWriterfrom torch.utils.data import DataLoader# 取消全局证书验证(当项目对安全性问题不太重视时,推荐使用,可以全局取消证书的验证&am…

html5自动调整布局,html5移动端自适应布局的实现

场景:为适应各种大小的屏幕自适应布局我知道的两种方式1.使用媒体查询,下面制定了几种适应方式,例如第一个表示屏幕宽度在320px-360px之间的,html字体大小适配为13.65pxmedia only screen and (max-width: 360px) and (min-width:…

C/C++ 中判断某一文件或目录是否存在

方法一&#xff1a;C中比较简单的一种办法&#xff08;使用文件流打开文件&#xff09; 1 #include <iostream>2 #include <fstream>3 4 using namespace std;5 6 #define FILENAME "*.dat" // 指定文件名7 8 int main( void )9 { 10 fstream _fi…

建立交叉编译环境

做什么之前没有编译器是不行的、 1、打开终端运行arm-linux-gcc -v 如果提示这个命令不存在,好吧、照着下面的步骤安装一个吧 在Linux 平台下,要为开发板编译内核,图形界面Qtopia ,bootloader,还有其他一 些应用程序,均需要交叉编译工具链。 之前的系统,要使用不同的编…

logistic模型原理与推导过程分析(1)

从线性分类器谈起 给定一些数据集合&#xff0c;他们分别属于两个不同的类别。例如对于广告数据来说&#xff0c;是典型的二分类问题&#xff0c;一般将被点击的数据称为正样本&#xff0c;没被点击的数据称为负样本。现在我们要找到一个线性分类器&#xff0c;将这些数据分为两…

android转流媒体,android 4.4中的流媒体渲染过程

第一次写blog&#xff0c;只是为了记下学习的过程。android中东西很多&#xff0c;架构和流程都很复杂&#xff0c;经常发现以前学习过的很多东西&#xff0c;即使当时看明白没多久就忘记了&#xff0c;只能重新拾起再看。于是想起blog这个东东&#xff0c;写下来总不会忘记&am…

【错误记录】python requests库 Response 判断坑

在requests访问之后, 我直接判断resp的值, 如下&#xff1a; if resp:do something发现当Response 为500的时候没有进入if分支, 检查源码&#xff0c;发现Response重写了__bool__方法, 根据resp.raise_for_status来确定是否为True, 当为500时, 为假, 记录一下转载于:https://ww…

linux Hello World 模块编程

折腾了差不多一个晚上: 1、关于在前面加上TAB,这个是有必要的、 2、Makefile的编写也是有些差异的 3、关于内核的版本可以通过uname -r来查看一下 我

logistic模型原理与推导过程分析(2)

二项逻辑回归模型 既然logistic回归把结果压缩到连续的区间(0,1)&#xff0c;而不是离散的0或者1&#xff0c;然后我们可以取定一个阈值&#xff0c;通常以0.5为阈值&#xff0c;如果计算出来的概率大于0.5&#xff0c;则将结果归为一类&#xff08;1&#xff09;&#xff0c;…

怎么样批量修改html里的内容,批量修改替换多个Word文档中同一内容的方法

批量修改替换多个Word文档中同一内容的方法群里一位朋友问到&#xff0c;如何一次性批量替换多个word文档中的同一内容。其实&#xff0c;实现多个Word文档的字符进行批量替换的方法有多种。第一种方法&#xff0c;可以利用第三方软件&#xff1a;全能字符串批量替换机。在网上…

织梦建站

这是调用对应文章连接的标签 [field:arcurl/]&#xff0c;例如下面这个调用文章标签里面&#xff0c;就调用了文章的连接&#xff1a; {dede:arclist row 10<a href"[field:arcurl/]">[field:title/]</a>dede:arclist/} 1234{dede:arclist flagh typeid…

linux下的字符设备驱动

Linux字符设备驱动程序的一个简单示例一.开发环境&#xff1a; 主 机&#xff1a;VMWare--Fedora 9 开发板&#xff1a;友善之臂mini2440--256MB Nandflash 编译器&#xff1a;arm-linux-gcc-4.3.2 二.驱动源码&#xff1a; 该源码很浅显易懂&#xff0c;非常适合初学者。 me…

logistic模型原理与推导过程分析(3)

附录&#xff1a;迭代公式向量化 θ相关的迭代公式为&#xff1a; ​ 如果按照此公式操作的话&#xff0c;每计算一个θ需要循环m次。为此&#xff0c;我们需要将迭代公式进行向量化。 首先我们将样本矩阵表示如下&#xff1a; 将要求的θ也表示成矩阵的形式&#xff1a; 将x…

计算机表示法是知识 表示法么,计算机三级考试关于IP地址知识点

计算机三级考试关于IP地址知识点IP地址是IP协议提供的一种统一的地址格式&#xff0c;它为互联网上的每一个网络和每一台主机分配一个逻辑地址&#xff0c;以此来屏蔽物理地址的差异&#xff0c;同时也是计算机三级考试的重要内容&#xff0c;小编整理了相关知识点&#xff0c;…