首页 技术 正文
技术 2022年11月19日
0 收藏 526 点赞 4,584 浏览 1797 个字

上一篇文章讲了以下D_PHY层,这只是最底层的,针对于显示,上层由分出了四种,由专门的工作组进行定义,显示器方面叫做display wrok group,主要分为

DSC(display command set) 显示命令接口

DBI(display bus interface) 显示总线接口 ,CPU端的总线设计

DPI(display pixel interface) 显示像素接口,对于像素数据的处理

DSI(display serial interface) 显示串行接口,高速速度传输接口设计

DSC

这是一个纯协议层的设计,通过相关的命令设计来便捷的控制显示的一些快捷功能,部分command列表如下

MIPI-3

这些命令通过DSI的再次封装之后发送就能控制显示器的相关功能

DBI

显示总线的设计,这套协议类似于定义电气连接,定义了视频流,音频流,控制流等数据以怎样的方式在CPU端封装,包含ABC三种方式,分别如下

MIPI-3

数据通过读写一根线,使能一根线的传输方式,将音频视频流数据传输到主机端的mipi处理单元,典型的68显示接口

MIPI-3

通过读写分离的方式来传输像素数据,80显示接口

MIPI-3

通过串行总线方式传输图像数据

而数据来到之后,CPU以一个怎样的架构来处理视频数据就形成了DPI协议

DPI

DPI定义了CPU总线应该以怎样的架构来处理图像数据,主要分为四种类型,

MIPI-3

可以看到,图像处理架构中,时序控制,缓存,寄存器,非实时内存,电源等组件形成type1模式,视频流由内部产生,外部只有控制端口.

MIPI-3

2与1相比而言,数据缓存变成了局部缓存,占用的内存空间变小,相应的处理器压力会变大,同时,视频流由外部输入,此时,这就能对接上DBI的协议了

MIPI-3

第三种模式,为了传输的实时性,不在用内存帧缓存,直接将输入数据转码成MIPI数据,同时,视频流依旧外部产生

MIPI-3

不仅取消了帧缓存,而且取消了非实时内存,没有control interface,换成了control line,也没有

了控制寄存器

这四种架构在功能上各有不同,官方给了一个表格,可以根据自己的实际应用选择合适的架构

MIPI-3

DSI

DSI主要的作用就是将CPU这一端的数据发送到设备端,包含链路管理,协议封装,数据装箱等,这也是MIPI最繁杂的部分

首先,DSI传输数据以包的形式发送,包括两种类型的数据包

  1. 短数据包,短数据包只有包头

四字节固定长度,一个字节的数据标示符+2字节数据+1字节ECC校验码

标示符包含虚拟数据通道[7:6]以及数据类型(5位),

数据:2字节固定

Ecc校验码:可以把两个位的错误纠正过来,例子如下

MIPI-3

MIPI-3

  1. 长数据包

6-65541字节长度(可变)

包含四字节包头:1字节数据标示符与短数据包一样,2字节数据长度+1字节ECC校验码

包含0-65535个有效数据(包头数据长度65535,十六位最大65535)

包含两字节数据包页脚:不能计算为0x0000,数据有效长度为0,页脚为0xffff

MIPI-3

在传送过程中,链路层需要插入一些key来作为数据传送的标志性事件

MIPI-3

同时,在数据包头有六个bit指示数据类型,部分如下

MIPI-3

发送数据包中的部分数据类型定义

MIPI-3

回应数据包中的数据类型定义

另外,还有数据包的响应,错误报告等,各种组合起来就形成了比较复杂的协议结构,想要详细了解请查看DSI协议手册

传送数据中像素的编码

在主机发送数据包中规定了数据包中的图像数据的像素格式,通过像素格式可以解析传送来的数据

MIPI-3

MIPI-3

另外,对于像素行列的切换也有响应的数据类型如下

MIPI-3

通过这些信息,MIPI从设备可以解码出主机发送的数据转换为原始的RGB信号来驱动屏幕

像素格式有很多种,以0x0E格式举例

MIPI-3

图像数据在数据包中以如下方式存放,LSB send frist

(注意这只是DSI格式,在经过D_PHY之后,这些数据会分散到几个lane中,最后在设备端汇总)

说到这里,基本上说完了MIPI的DISPLAY协议架构,比较概略,详细都是去看文档,一般而言,MIPI协议都有芯片厂商设计好了,但是对于芯片而言,调试寄存器的时候知道这些知识,百利无一害

目前的很多屏幕都是使用的mipi技术,apple,mi,meizu,nexus等,一般而言,CPU中也会存在display的接口,不想用高档CPU又想用高档屏幕的人,可以选择一些集成芯片来实现RGB或者YUV转MIPI,推荐芯片SSD2825 SSD2828,这家公司的系列产品,不同编号支持的lane数量不同,下一张聊聊怎样使用SSD2828驱动屏幕

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:8,910
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,435
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,250
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,061
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,693
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,731