分类: 嵌入式
2011-04-22 17:32:40
Display port
这个端口用来和显示器进行通信,可以直接通信,或者通过图形加速器或者TV解码器。
同步模式显示,IPU传输一个二维的像素块到显示器,并且和显示器刷新周期。
在同步模式下,对于没有显存的显示器,或者电视,IPU会自动把内存的显示缓冲区数据刷新到显示器上。对于“smart”显示器,这个模式被用来传输一个 像素矩阵块到显示器的显存中。这个块可能只是一个全屏显示像素的一部分,显示器的刷新是由显示器内部的控制器进行的。在同步模式的所有操作中,IPU发送 给显示器所有的同步信号来控制显示器的刷新,所有的传输块都是靠这些信号同步的。同步模式意味着tearing effects将无效。
异步模式显示,这个是用来和外部显示器控制器(smart display或者图像加速器)通信的主要模式。IPU在这个模式下支持随机存储,可以读写控制器的内存和寄存器。支持两种寻址方式:
- 存储普通的像素数据
- 二维寻址像素数据
支持以下的读写方式:
- IPU处理完数据之后,立即传到外部设备
- 在内存和外设之间使用DMA读写方式,通过使用IPU的内存接口(使用IDMAC控制),传输一整块像素,或者全屏像素
- 通过AHB-slave端口,使用外部处理器读写
同步模式下24位数据总线视频接口:
- 控制协议-遵循sharp HR和通用的TFT接口定义
- 支持BT.565(8-bit)和BT.1120(16-bit)协议
- 支持HDTV标准的SMPTE274(1080i/p)和SMPTE296(720p)
异步模式下32位双向数据总线
- 控制协议-system-80(Intel的lcd接口)和system-68k(motolara的lcd接口方式),时序和信号极性可编程
传输的最高速率是100MHz,在同步模式下,有35%的消隐时间。
XGA(1024*768)@100fps
720p(1280*720)@60fps
1080i(1920*1080)@30fps
支持最大4096*2048像素,使用软件进行设置,可以设置为隔行或者逐行扫描方式输出。
同步输出模式下,可编程的horizontal和vertical同步信号输出,提供两个8-bit的可编程PWM信号输出。
连接到显示器
IPU支持连接2个显示器:
- 主LCD显示器:可以是smart,dumb(RAM-less),或者dual-port。使用并行接口
- 第二个显示器:可以是smart,dump。使用并行或者串行接口连接
- TV输出:可以使用数字信号,或者模拟信号输出(通过内部TV编码器)
以上的连接都有各自独立的配置-接口时序,存储方式和片选等。他们共同的功能是:
- 设备连接到不同的硬件接口上。他们是相互独立的,不管是同步或是异步方式
内存接口:
- 内存接口最高支持133MHz(等于内部时钟频率)
- 64位的数据总线
- 数据就内存中保存的格式是RGBA/YUVA 8:8:8:8,bytes和像素使用小端的顺序。对于4bits/pixel,可以支持大端模式
processing:
IPU处理矩形像素块。这个处理过程在5个模块中进行,分别是ISP,VDI,DP,IC和IRT。
数据处理流程如下
ISP
主要是用来处理来自摄像头的图像数据,最高支持2900*3000pixels,133MHz/sec(包括消隐期),支持的格式有:
- Bayer:8-bit 取样,这个格式的处理,需要完整的ISP处理过程
- RGB/YUV:11-bit取样,这种格式是从gamma correct开始的。并且帧宽被限制在1450pixels
处理过程如下(到可以通过软件来设置):
- Color gain-色彩增益,
- Non-uniformity corrections-非均匀性校正
- Bad pixel (defect) replacement-坏像素(缺陷)更换
- De-mosaic (Bayer -> full RGB)-Bayer 到RGB的格式转换
- Gamma correction and contrast stretching-伽马校正和对比度拉伸
- Color conversion/correction-色彩转换/更正
- Color noise reduction-彩色降噪
- Sharpening and edge enhancement, including sharpness (MTF) non-uniformity correction-锐化边缘增强,包括锐度(MTF)的非均匀性校正
经过以上的处理之后,可以输出到IC模块或者系统的内存中。最大输出2900*3000pixels,YUV4:4:4,8bits/value。
DP
显示器处理器执行所有要发往显示器的数据的请求。
输入:从IC模块或者系统内存
- 顺序:行,隔行或者逐行
- 格式:YUVA/RGBA,non-decimated,8 bits/value
处理过程
- Combining 2 video/graphics planes
- Overlaying a simple HW cursor
- Color conversion/correction
- Gamma correction and contrast stretching
输出:通过DC
- 最高120M pixles/sec
- 格式:YUV/RGB,non-decimated,8 bits/value
DP可以通过分时来支持3个数据流的处理
- 主屏的数据流,输入数据周期性的加载(同步模式使用一个定时器),如果画面没有变化,就跳过这次传输(对于smart显示器)
- 2个附加屏的数据流,异步方式,当主屏不需要DP参与的时候,附屏开始利用DP进行数据处理,两个附屏平均分享这个DP的占用时间
VDI
支持3个输入源。
输入:从CSI来的数据或者内存里的数据
输出:混合所有的输入数据
VDI和ISP不能同时使用,他们共享同样的硬件资源。
IC
IC模块执行各种的视频图像处理
输入:
- 从可从ISP或者内存
- 最大4096*4096pixles
处理过程
- 调整大小,最大的调整比例16:1,分开的水平和垂直比例。
- 色彩转换和修正
- 与graphics plane进行结合
- 水平倒置
输出
- 到内存,或者通过DP直接输出到显示器,最大1024*1024pixels,格式YUV/RGB,8 bit/value
IC支持3个分时处理的数据流,录像,浏览和回播,录像和浏览使用公共的输入
IRT
输入/输出:内存
最大50M pixles/sec
格式: 光栅扫描 8x8-pixel blocks
YUV/RGB, non-decimated, 8 bits/value
输出是组合下面的处理
90度旋转,水平倒置,垂直倒置。