之前写过android显示部分的文章,不过时过境迁,随着软件硬件的升级,到目前已经有很多地方改动了。本文将系统地讲解目前android(Froyo)平台上显示部分的架构,硬件平台已高通8X60为例,请参考。

一、8×60平台显示系统硬件模块讲解

上图取自8×60硬件的架构图,都是和显示比较相关的部分,其中最主要的就是MDP,同时为了兼容各种显示接口,8×60又集成了MIPI、HDMI的transmitter以及TV Encoder。这样一来,可以支持多种显示设备,如下:

1.MIPI接口的LCD

2.RGB接口的LCD

3.LVDS接口的LCD(需外加一颗Transmitter)

4.电视(模拟接口)

5.HDMI TV(无须外接Transmitter,8×60内部集成)

图中绿色部分为Graphics模块,这部分和显示没有直接联系,主要是对显示的数据进行2D、3D处理,为OpenGL提供硬件支持,后面也会有详细介绍。

下面就详细的讲解一个上述的各个模块:

MDP4.1

8×60上MDP的版本已经升级到了4.1,主要的改动是对多接口的支持以及内部数据处理管道的提升,另外在性能上(如PCLK)也有所提高(支持大尺寸屏幕)。

首先来看一下对于接口的支持,MDP4.1允许同时支持最多3个输出设备,如下图所示:

Primary display可以是MIPI接口的LCD或是RGB接口的LCD;

External display可以是支持HDMI的显示设备或是DSUB显示设备(模拟信号)或是普通电视机(NTSC/PAL模拟信号);

Second display可以是手机上的小屏,接口为EBI。

数据管道部分,MDP4.1由原来的一个PPP(Pixel Process Pipe)管道增加到目前的4个overlay pipe(layer),如图中所示,其中2个VG(Video/Graphics)pipe,2个RGB pipe。VG管道支持YUV或是RGB数据的处理;RGB pipe只能处理RGB数据。另外,VG1和RGB1的数据经过mixer1混合后送到Primary display的接口,而VG2和RGB2的数据经mixer2混合后送到External display的接口;EBI的接口和overlay没有关系,是单独的一个DMA layer。

为了支持高分辨率的显示设备,MDP4.1的性能也比之前提升很多。

A)MIPI DSI

最高支持4-lanes DSI,速率高达800Mbps/Lane,支持最大分辨率为WXGA(1280*800)

B)RGB

PCLK最高达103MHZ,支持最高分辨率为WSXGA(1440*900) 60HZ,可以外接LVDS屏幕。

Note:7×30上PCLK最大为75MHZ,无法支持大尺寸的LVDS屏幕

C)HDMI

支持1080p(1920*1080)24-bit color 60HZ

D)支持NTSC/PAL TV OUT

E)EBI

支持分辨率最大为QVGA(320*240)。

F)支持Blending

G)支持Scale:0.125~20x

H)支持数据格式转换

I)Rotator

该模块不在MDP内部,MDP4.1没有rotate的能力,在MDP外部有一个HW rotator,任何需要rotate的数据在送往MDP之前都必须送到HW rotator进行处理

Note:MDP4.1移除了对MDDI接口的支持(个人认为应该是支持MDDI接口的大尺寸屏幕比较少)

HDMI

8×60内部集成了一个HDMI的transmitter,可以直接输出HDMI信号,无须像7×30或是8×50那样需要外接一颗transmitter。8X60上支持的版本为HDMI1.3及HDCP1.3.

上图是HDMI的模块图,可以分2部分来看,上半部分为控制部分-DDC通道,使用的就是I2C的协议,可以完成HDCP(High -bandwidth Digital Content Protection),其中GPIO172为HPD pin,专门用来检测HDMI设备的;下半部分为数据通道,主要是encoder,负责把RGB信号和音频信号(PCM)转换成HDMI总线上的TMDS信号。

Graphics

8×60上Graphics由之前的adreno205升级到目前的adreno220,内置2个2D engine-Z180和一个3D engine-Z470,主要是performance的改进,处理能力提升到88M Triangles/s,支持最高分辨率为WSXGA。该部分主要为OpenGL、OpenVG等硬件方案提供支持,后续在SW中会继续介绍。

HW部分的内容就介绍到这里。
原文链接:http://hi.baidu.com/leowenj/blog/item/429c2dd6b5c29bd650da4b4d.html

更多相关文章

  1. Android(安卓)Support Library的前世今生
  2. android Adapter体系
  3. 鄙人对谷歌的一些想法
  4. Android平台上最好的几款免费的代码编辑器
  5. Objective-C与JavaScript交互的那些事
  6. 第一篇技术贴(Android(安卓)WebView)
  7. Android网络电台的一种实现方案
  8. 从AIDL开始谈Android进程间Binder通信机制
  9. Android(安卓)面向协议编程 体会优雅编程之旅

随机推荐

  1. 基于 Android(安卓)NDK 的学习之旅-----
  2. EditText弹出软件盘时不进行全屏
  3. Android使用JDBC连接mysql数据库
  4. 2.3.2EditText控件
  5. [原创] Android(安卓)Activity onNewInte
  6. Android(安卓)- Android(安卓)Studio 安
  7. Android常用代码之普通及系统权限静默安
  8. android:autoLink和Linkify
  9. Android属性之build.prop,及property_get/
  10. android activity的生命周期