高端图形显示控制器(GDC)以令消费者眩目的动态图形帮助定义了产品的风格和价值。而普通GDC则以简单明了的方式显示信息,采用有效且具成本效益的方式为用户提供他们想看的内容。从3D渲染到图像变形,今天的GDC功能对各种创新应用已不可或缺。
无论功能是简单还是复杂,都值得认真对待图形处理,它也会以高度直白的方式对好的设计予以回报。基本的QVGA显示IC带预储制的图形并可能包括视频输入;最高端的GDC则提供SXGA或更高的显示分辨率,具有动态三维图形功能和多个输入;中端GDC则支持WVGA显示(主要是二维动态图形,也可能具有一些3D功能)和视频输入。
一些应用对成本高度敏感,例如汽车工业,对这些应用来说,最低的材料成本是首要考虑之一。从基础到中端应用,设计人员可以采用图形控制器SoC这种单芯片方案来满足成本要求。这些GDC可通过CAN总线与其它汽车系统通信,并可进入电源关断模式以节省电池电量。
但内部显存(VRAM)容量以及诸如总线速度等瓶颈限制了图形功能的水平,并制约了灵活性、像素填充率和最大显示器尺寸。如果性能比成本重要,那么基于多芯片架构的更高端的SoC是上佳选择。这些GDC依靠外部的车用MCU处理CAN通信、电源管理和步进电机控制器等外设。它们没有内置VRAM和闪存程序存储器,但使用高速VRAM接口支持高性能。
一些应用领域(尤其是汽车)必须要保持与智能手机中常见的高端图形的同步。设计者必须要确保GDC可以生成流畅、清晰的图像,系统要能迅速响应用户输入。因此,GDC不能成为系统的短板,阻碍向最终用户提供他们所期望的用户体验。
对于基本和中端应用来说,一款真正的单芯片SoC方案可能是合适的。但对高端应用,这种器件可能仍无法提供足够性能,这时就需采用一种具有外部VRAM和闪存的更高端的(多芯片架构)SoC方案。
如果产品的显示系统支持24位RGB输入,则一款带24位RGB输出的GDC就有助于避免边带效应(banding effect)(同一颜色色调间的突然变化)。使用24位色彩,确保图形看起来流畅;否则,就可能需要GDC具有抖动功能以中和边带效应。抖动可向帧缓冲区添加随机噪声,以规避有限的颜色深度导致边带效应。
尽管流畅、华丽的图形总具有吸引力,但在诸如工业电子设备等应用中,坚固耐用和易用性是设计的首要考量,此时,基本的图形功能就可满足要求。低端GDC可为多种用途提供优良的性能表现,且不会增加成本。
图形内容:静态还是动态?
GDC的选用还取决于图形内容的性质。如果内容是静态且可预先确定的,选用诸如“精灵引擎”那种低成本GDC可能就够了。预储制的图形位图可存储在这种精灵GDC的外部闪存内。这种GDC可非常好地处理不同的色彩格式(那些使用颜色查找表或在帧缓冲区内具有实际像素值的格式),还可以处理透明感和α混合。采用诸如RLD(运行长度解码器)等低开销的压缩方案,可显著降低对预储制图形的存储需求,从而降低了成本。
其它应用可能需要实时生成的动态图形内容,如地图或随机动画。这些应用需要GDC具有根据纹理贴图呈现二维或三维模型的全功能流水线功能。使用诸如硬件照明和雾化等功能也会使应用更完满。对于更复杂的任务,带着色器的图形引擎可提供更大灵活性。
使用灵活的显示控制器能够简化图形实现,并可呈现更美观的图形。具体来说,灵活的分层方案以及对多层次的支持和α平面及多种颜色深度,可极大简化图形开发过程。
然后是对二维和三维图形的选择。使用三维图形会影响对GDC所需性能和功能的要求。例如,3D应用要求比2D应用更高的顶点处理速率;另外,3D图形还要求对纹理贴图的角度校正和“Mip映射”等功能。Mipmap是对主纹理贴图进行优化并重新调整了大小的版本,它与主纹理贴图存储在一起。由于这种功能可避免调整主纹理贴图的大小,从而有助于提高性能。
只是为三维图形添加Z坐标就能大幅提高对处理的要求。二维图形渲染很简单,如果内容是静态的,它还可以预储制,如前所讨论的。但在动态2D或3D内容情况下,则需要一个具有完整流水线的图形引擎。
分辨率要求
因为体积更大、分辨率更高的显示器要处理更多的像素,所以使用更大显示器的应用需要速度更快、功能更强大的GDC。在航空电子和医疗应用中,通常情况是:低端应用一般需640x480像素的显示器;高端则可能需要超过1,280x1,024像素的显示器。在汽车市场,低端仪表盘和中控台屏幕的显示器分辨率通常为480x272像素;中端是800x480像素;高端为1,280x480像素或更高。
无论是提高一台显示器的分辨率还是添加多个显示器,都倍增了所涉及的像素数量,从而增加了对GDC处理能力的要求,这需要使用多个GDC。一些GDC带有的显示控制器可通过一个控制器控制多个显示器,这会使视频输出信息倍增,此时,所需用的显示或像素时钟频率是单一显示器时的两倍。两个显示器必须具有相同的时序特性和显示分辨率。对具有相同分辨率的双显示汽车仪表盘来说,此类GDC是个不错的选择。
另一方面,一些GDC集成了多个显示控制器,可驱动具有不同时序和分辨率的多个显示器。此类控制器的成本低于两个独立GDC成本之和,且还简化了设计。一个典型例子是汽车抬头显示器(HUD),HUD的分辨率比位于仪表盘区域的主显示器低。另一个汽车应用是使用单一GDC同时控制仪表盘和中控显示器。
GDC对于显示来自数码相机或其它视频源的视频输入提供了一系列功能。有些GDC集成了支持模拟NTSC/PAL视频输入所需的模拟电路系统,这些控制器还可用于基础级视频采集应用。其它的GDC工作于数字YUV/RGB视频制式或需要模拟转换器。
需要多个视频捕获的应用可以借助于集成了多个视频采集单元的更高端GDC的优势。而显示控制器也必须更强大,以处理多个输入、并将视频流覆盖到图形的其余部分。
特殊要求
诸如图像校正和增强等特殊要求也是选择GDC时的考虑因素。相机固有的鱼眼失真会造成图像的变形。如果相机没有内置针对此问题的纠正功能(通常都没有),则GDC需要通过采用图像变形过程来纠正失真。该过程将视频输入映射到一个为取消鱼眼失真特意表征的三维表面。该表面由一个包含一组(X,Y,Z)点的网格生成,如图2所示。
图2:借助图像变形,GDC可调整视频、消除鱼眼失真以提供更好的观看体验。原始相机图片通过将YUV相机图片转换为RGB格式,可将图片作为纹理数据加以控制。
此特性的另一个应用是汽车抬头显示器。由于图像投射在挡风玻璃上,所以需要一个类似鱼眼矫正的过程,根据挡风玻璃的曲率调适图形。图像变形要求GDC具有3D能力。如果GDC可以加大或缩小视频图像的分辨率,那也是有用的。
对汽车来说,一个将变得重要的应用是:在车辆的周沿使用多个摄像机,并将这些摄像机的图像整合成单一图像。该应用需要处理高清视频的能力,以及将图像拼合在一起的特殊图像处理功能。
理想的解决方案是:GDC具有多路视频输入和高速图像处理能力,从而无需外接FPGA来实现这些功能。在GDC内包含3D渲染能力就允许将这些拼接的图像映射到一个碗状表面,从而能全方位显示车辆周围的一个真实、无失真、360度的全景视图。
图像增强和目标检测功能可以帮助司机避免事故的发生。要实现这样的功能,需要GDC具有特殊的图像处理模块。有一些地区强制要求诸如签名单元等安全功能,以确保图形内容显示在显示面板上正确位置。内置这种功能,将节省成本并减少CPU的负担。传统软/硬件支持和独立的GDC要求
有些应用必须复用以往设计中的CPU以支持传统需求,所以不能彻底从头开始设计。这些应用往往能很好地使用不具有内置CPU的独立GDC,并且可以通过内存、PCI或PCI Express总线与传统CPU通信。这种方法以多种不同的性能水平和功能集支持一个可扩展的设计。
有些应用需要显示器处于远离GDC的位置。在这种场合,需要诸如APIX这样的高速串行总线,以将视频传送到显示器。这种配置允许使用客户机/服务器架构,其中,GDC作为服务器,显示器是客户端。独立开发客户端和服务器系统,有助于减少服务器端的软件和质量验证成本,因为可针对一块印刷电路板进行调适以用于整个产品线。如果高速串行输出功能集成在GDC内,则这种实现就非常高效。
富士通提供了一个覆盖从基本到高端应用的丰富的GDC产品线。在每个档次,富士通都提供了一款整合了CPU、GDC和外设的SoC。在那些不是完全重新搭建系统的场合,以及系统内有若干组件需要保留的情况下,这些独立GDC是可行的选择。
今天,GDC的性能范围使得器件选择成为应用开发的关键一步。由于厂商已经开发出满足各种应用领域定制的GDC,因而这一选择过程变得容易。不同的GDC具有丰富的功能,并经过了行业验证、有竞争力且具成本效益。
图1:平衡成本和性能的基本GDC选择。
图3:APIX高速串行总线将视频传送到显示器。
图4:富士通GDC产品线覆盖从基本到高端应用。