使用OCP总线接口的3D图形硬件IP

发布者:荒火最新更新时间:2012-02-04 来源: dzsc关键字:OCP总线  3D图形  硬件IP 手机看文章 扫描二维码
随时随地手机看文章
  嵌入式系统中的图形处理技术(如用户界面和游戏)正在不断发展和改善,例如从基于2D的交互图形发展到基于3D的交互图形。便携式游戏站(PSP)这样的便携式设备就实现了PlayStation 2类3D图形质量。而在PC图形方面,可以让开发人员在顶点和片段层级配置功能的可编程着色方案已经成为DirectX和OpernGL API基础架构的主要方案,这类硬件在像Xbox360和PlayStation 3这样的游戏设备上已经形成了非常丰富的内容和经验。然而嵌入式系统中的图形处理存在着很多问题和挑战需要开发人员去解决,例如为了保持长电池寿命所需的低功耗,因为空间约束要使系统的器件数量最少,以及限制门的数量以降低成本。

  Khronos Group公司正在定义针对嵌入式领域的各种媒体API,目前已经发布了一种图形API,即OpenGL ES。该OpenGL ES共有1.x和2.x两个版本,分别针对固定图形管线和可编程图形管线,这种方法与PC图形中用的方法是一样的。

DMP图形内核概述

  DMP为嵌入式领域中的便携式设备、移动电话、汽车导航系统、娱乐游戏机和所有其它嵌入式图形设备提供了可扩展的高性能、低功耗3D图形内核。PICA200是最新的3D图形IP内核,涵盖了前面提到的所有应用领域。

  该内核由多个组件组成,包括OpenGL ES标准功能以及我们自己最初的图形技术。这些组件是根据用户要求以及带有定制要素(如性能、存储器带宽和功耗)的目标系统构建的。在选择IP接口方案时,很难设定在这么宽的应用范围下用户的具体要求。在采用开放内核协议(OCP)作为我们组件的标准总线接口方面DMP一直做得非常成功。

Maestro技术

  通过采用OpenGL ES 1.1和我们自己的、被称为Maestro的扩展图形API,图形内核已经取得了很好的高性能低功耗效果。这些Maestro功能包括了各种目标应用中频繁使用和实用的图形功能,包括各种光照和明暗处理模型,例如Phong、Cook-Torrance和BRDF、阴影效应、多边形细分以及过程纹理。

1:Maestro功能、光照、阴影和微粒效果

  Maestro功能利用我们改进的最初算法以硬连线逻辑形式实现,从而解决了嵌入式系统设计中低功耗与高性能的矛盾。Maestro功能可以实现非常丰富的内容,比如PC和便携式设备上的控制台图形(图1)。

Maestro功能包括以下一些效果:

  1. 光照Maestro-包括按照每个片断的高性能光照功能,并支持各种明暗处理模型,如Phong、同向/异向 BRD以及下表面散射;

  2. 阴影Maestro-支持实时的硬阴影和软阴影处理;

  3. 形状Maestro-通过用硬件(例如NURBS和多边形细分)产生精细的多边形来减少存储器带宽,因此可以使输入数据量实现最小化;

  4. 映像Maestro-支持凹凸映像和过程纹理,并且过程纹理不需要任何存储器读取来生成纹理图像,因为图像是根据算术等式产生的;

  5. 微粒Maestro-用硬件产生雾化、云和气体效果。


图1:由Futuremark和DMP合作开发的PICA200演示场景。


图2:只使用OpenGL ES的渲染结果(左边)以及用OpenGL ES 和我们的Maestro API后的渲染结果(右边)


图3:利用我们的阴影Maestro API实现的实时软阴影渲染。


图4:使用形状Maestro的多边形细分实例。左边的图形显示了来自主CPU的输入控制多边形,右边的图形显示了我们的图形硬件实时产生的多边形。


图5:映像Maestro实例(左边:针对每个片段光照的凹凸映像,右边:利用没有任何纹理存储器访问的过程纹理硬件实现的木纹图案)。


图6:微粒 Maestro可以产生雾化、云和气体效果。在我们的渲染算法中,清晰和模糊对象的组合没有任何的瑕疵。 [page]

2:硬件框图

  这些Maestro技术通过算法优化以及多个研究机构的长期研究得以实现。目前我们正在向嵌入式系统引入PC级的图形和经验。

硬件框图

下面是图形内核的框图。

  在图7中的所有红色箭头都指向了采用OCP的存储器总线接口。


图7:PICA200框图。

在开发PICA200内核的过程中解决了以下一些挑战:

  1)为了涵盖所有嵌入式系统,IP内核必须支持各种运行光谱的设备,包括从带微型显示屏的移动电话到带很大显示器的娱乐设备。

  2)3D图形硬件需要极大的带宽用于命令、纹理、色彩和z缓冲器读/写访问,而这种带宽将确定3D IP内核的性能,并且

  3)IP内核应能很容易地集成到SoC系统环境中。

  为解决所有这些问题,我们决定采用OCP作为我们构建模块方案的标准接口基础架构。结果是,我们可以提供下面的选项来满足用户的需求(表1)。

  以移动电话系统为例,要求支持OpenGL ES功能和VGA显示器尺寸,功耗应该最小,因此在这种情况下,顶点处理器和纹理管线的数量需要分别优化为两个(当然这里的数量仅仅是一个例子)。Maestro功能的实现并不仅仅支持Open ES,因为在大量的蜂窝电话中不需要非标准的功能。纹理缓存参数也可以针对SoC总线特性进行优化,因为事实上这些参数是由OCP标准自动提供的。在像娱乐游戏机这样的应用中,所有Maestro功能都需要组件来支持更高质量和吸引人的内容以及高性能和大显示器尺寸。

  我们还采用了利用OCP线程协议的预取机制。这对于避免渲染管线的停顿以保持很高的渲染性能来说是很重要的。表2给出了在该图形内核中线程ID分配的实例,在这个例子中,内核共有四个纹理模块。

  OCP2.2支持标示哪个线程允许失序响应,但是这个特殊DMP内核并不支持失序处理,因为对色彩和深度缓冲器的访问需要使用基于读-修改-写锁定的访问,对其它的访问没有针对失序访问支持的逻辑和FIFO,以便生成小型IP内核及支持上述各种应用。为了在没有标示功能条件下获得较好的存储器访问性能,这种图形内核针对基于模块化的光栅化处理进行了优化,所有从三角函数产生的象素都要通过4X4这样的矩形块处理,以便通过长突发长度访问和数据访问跟上对齐地址而充分利用存储器访问,并为纹理和色彩缓冲器获得较高的缓存利用率。

3:OCP好处

  使用OCP的最大好处是广泛使用的行业标准是开放的,任何人都能得到。此外,大多数主要的SoC销售商利用和支持OCP。这样一来,我们可以根据协议在我们的接口和缓存中定义某些参数,以优化我们的用户总线访问接口和系统参数,就像表1中的最后一行,这为IP提供商和SoC供应商同时提供了一种高层次的构建模块概念。

本文小结

  这种内核最早是在SIGGRAPH 2006上发布的(图8),目前PICA200构建内核已经能够供货。


图8:在SIGGRAPH 2006上的FPGA原型展示。

  我们多年来一直在为嵌入式应用开发3D图形技术,而利用OCP可以减少开发这种技术的时间和成本。对于IP内核和SoC供应商来说,系统整合工作是一项非常耗时的工作。PICA200内核不仅支持各种嵌入式应用,还通过利用基于OCP的构建模块方案优化了每个系统的性能。OCP提供了能够满足上述设计挑战所需的完整规范和基础架构。

关键字:OCP总线  3D图形  硬件IP 引用地址:使用OCP总线接口的3D图形硬件IP

上一篇:微机保护控制接口装置的CPLD抗干扰设计
下一篇:用FIFO实现A/D与ARM处理器的接口

推荐阅读最新更新时间:2024-05-02 21:53

3D图形芯片及3D图像生成算法的原理分析
一、引言   3D芯片的处理对象是多边形表示的物体。用多边形表示物体有两个优点:首先是直接(尽管繁琐),多边形表示的物体其表面的分段线性特征除轮廓外可以通过明暗处理(shading)技术消除;其次是仅存储多边形顶点的几何信息,多边形内部每个象素的明暗颜色计算所需的信息由这些顶点信息插值而来,这正是易于用图形硬件支持的快速明暗处理技术。支持多边形绘制的图形硬件同样也可以绘制由双三次曲面片表示的物体,通过对这种物体的表面进行三角剖分,用逼近的三角形网格代替原物体的曲面表示就可以做到这一点。当然,用多边形表示物体也有其缺点,如增加了纹理映射和阴影生成的难度,当需要详细表示复杂物体时所需的三角形数量将变得非常庞大。   将多边形表示的
[嵌入式]
交友苹果正招募3D图形界面工程师 或为AR眼镜做准备
近日,有媒体在苹果招聘网站上发现,苹果正招募一名3D图形界面框架工程师,这很可能暗示苹果未来将会推出AR眼镜的相关产品。    这则招聘启事中介绍,苹果正在寻找一名3D图形界面框架工程师,该工程师将会为苹果的平台驱动下一代互动体验。    这则招聘启事还提到,满足工作岗位的工程师需要能够打造影响开发人员和用户如何与从硬件产品交互的软件,同时需要以苹果ARKit和Metal框架的形式与AR和VR进行结合。    此前苹果有消息称将会在2020年前后推出AR眼镜类产品,将运行iOS的派生系统rOS,苹果现阶段的招募计划或许就是为了rOS团队物色人才。
[手机便携]
硬件地址识别的UART IP 的设计和实现
摘要:在通信和控制系统中,常使用异步串行通信控制器(UART)实现系统辅助信息的传输。为实现多点通信,通常用软件识别发往本站点或其它站点的数据,这会加大CPU的开销。介绍了一种基于FPGA的UART IP,由硬件实现多点通信时的数据过滤功能,降低了CPU的负担,提高了系统性能。 关键词:UART 多点通信 FPGA 知识产权 在通信和控制系统中,常使用异步串行通信实现多块单板之间的辅助通信,各个单板通过总线方式连接。为了实现点对点通信,需要由软件定义一套较复杂的通信协议,过滤往来的数据,消耗了CPU较多的时间。89C51单片机有一种九位通信方式,采用一位地址位来实现通信对象的选择,只对发往本地址的地址发生中断进而接收数据。通用
[网络通信]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved