Symbian OS的硬件——液晶显示器(LCD)

Symbian OS电话的主要显示器是彩色的液晶显示器。显示器的工作是把流缓冲里的像素转化为我们可以看见的图像。

根据屏幕的大小进行了优化后,Symbian电话的显示器根据用户接口软件层有几种普通的尺寸。最普通的方案是用于Series 60电话上的176×208像素和用于UiQ上的240×320像素。

流缓冲是连续的物理内存上的一块区域,它足够大,以包含和最终要显示的数据同样大小的一串像素。

在初始化期间,基端口为流缓冲保留内存空间并保证MMU用写通缓存(write-through)对它进行映射。16bpp QVGA显示器上的流缓冲将需要160KB(320×240×2)RAM.

依赖于所存储的容器,像素有几种常见的格式。当前大部分移动电话使用的是565格式,这种格式上每个像素是16个比特位。所谓的565格式,即16个比特位的头5位表示红色,中间6位表示绿色,后五位表示蓝色——提供了65,535(216)唯一的颜色:

 

15 → 11

10 → 5

4 → 0

RED

GREEN

BLUE

 

使用完全18-bpp显示器的电话开始普遍起来,它们显示262,144色。Symbian OS不支持18位的字,而是在32位的字里使用24-bpp表示法。有一种aRGB 8888格式,这里的a是空值或者是一个alpha值。在这种格式里,LCD控制器会丢弃每个颜色字节的后两个比特位:

 

31 → 24

23 → 16

15 → 8

7→0

alpha

RED

GREEN

BLUE

 

移动电话显示器有两种截然不同的类型,即无声的和只能的。无声显示器不包含任何控制电子器件,它的像素由SoC上的LCD控制器直接驱动。而智能显示器包含自己的LCD控制器、用于流缓冲的存储器和回接到SoC的中速带宽接口。

每秒钟内,SoC里的无声显示器控制器必须把显示器映像的新拷贝输出60次左右,以维持LCD上的图像。

只要显示器是开着的,60Hz的更新要求控制器不断地使用DMA从内存中传输数据。使用IRAM作为流缓冲有助于减少电量消耗和显示器的带宽代价。就像我前面所说的,60Hz更新速率的16QVGA每秒需要8.78MB数据,展望未来,全32VGA显示器需要的数据将是这个数字的八倍。

智能显示器的接口在两方面进行了优化:当局部发生变更时,增加了对显示器的更新;当多媒体视频或游戏有要求时,提供全带宽操作。对于局部更新,要更新的屏幕区域使用智能2D DMA引擎传输进显示器接口里。

通过移除大部分时候都会发生的全带宽更新需求,智能显示器节省了电量。它们的内部电路也为了正确地匹配显示器特性而进行了优化。对于空闲时只想显示时钟的电话,智能显示器也有额外的低电模式。这时候只要求局部的显示器刷新以及显示有限的色彩。

 =====================================================================================

说明: 本文由Bequan翻译自Symbian Press的Symbian OS Internals: Real-time Kernal Programming一书。任何人需要转载或引用,请先通过Email(a-pangu@163.comsymbianchn@gmail.com)与Bequan联系,在获得许可后方可转载或引用,否则视为侵权行为。转载或引用时,请在文章中注明上述翻译信息。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值