0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

采用OCP线程协议的总线接口实现3D图形的构建模块方案

电子设计 来源:电子工程网 作者:佚名 2020-12-01 10:40 次阅读

嵌入式系统中的图形处理技术(如用户界面和游戏)正在不断发展和改善,例如从基于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可以产生雾化、云和气体效果。在我们的渲染算法中,清晰和模糊对象的组合没有任何的瑕疵。

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提供了能够满足上述设计挑战所需的完整规范和基础架构。

责任编辑:gt

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式
    +关注

    关注

    4981

    文章

    18268

    浏览量

    288240
  • 可编程
    +关注

    关注

    2

    文章

    759

    浏览量

    39108
  • 导航系统
    +关注

    关注

    2

    文章

    230

    浏览量

    30244
收藏 人收藏

    评论

    相关推荐

    3D LED液晶电视设计方案

    的DVD ,蓝光DVD提供了更为清晰的高清片源,尤其是3D片源,蓝光DVD的接口由HDMI1.3 发展到了支持3D格式信源设计的HDMI1.4标准。本文着重介绍了一种实现能够播放
    发表于 07-11 18:05

    采用 DLP® 技术的顶级立体光固化成型印刷 3D 打印机

    能精确曝光物体层。该系统还采用了 TI 的低功耗 MSP430 嵌入式处理器将物体层曝光与电机控制同步以便实现精确的渐进式 3D 打印。 特性集成电机驱动例程通过自适应 GUI 自定义层叠顺序
    发表于 04-28 10:35

    采用DLP技术的便携式3D扫描参考设计包括BOM及组装图

    构建精细的 3D 点云。作为紧凑或手持解决方案的理想之选,此高分辨率 3D 扫描仪系统利用 DLP®(...)主要特色针对 DLP 芯片组的集成型 API 和驱动程序支持,可
    发表于 09-18 08:38

    采用DLP技术的3D机器视觉参考设计包括BOM

    描述3D 机器视觉参考设计采用德州仪器 (TI) 的 DLP 软件开发套件 (SDK),使得开发人员可以通过将 TI 的数字微镜器件 (DMD) 技术与摄像头、传感器、电机和其他外设集成来轻松构建
    发表于 10-12 15:33

    开放核协议:IP核在SoC设计中的接口技术

    接口标准的角度讨论在SoC设计中提高IP核的复用度,从而简化系统设计和验证的方法,主要讨论OCP(开放核协议)。图1 OCP工作原理示意图图2读/写操作的时序图
    发表于 12-11 11:07

    浩辰3D软件新手入门攻略:特征建模

    `三维建模设计中特征建模是主流技术之一,特征建模决定了设计过程的效率。那么如何快速实现特征建模呢?接下来给大家介绍一下浩辰
    发表于 09-18 17:00

    3D设计软件快速建模你会用吗?全新设计方式等你来体验!

    利用在浩辰3D软件中选择「工程图模板」来打开CAD文件,就能直接复制、粘贴dwg/dxf图形实现图纸资源的高效重用。(5)「关系助手」功能快速定义草图通过浩辰3D软件中的「关系助手」
    发表于 01-13 16:17

    3D软件中怎么绘制杯子?

    」或「图案」等功能,让杯子的设计形态更加生动,贴近真实。以上就是水杯绘制的全部内容,通过简单几步,浩辰3D软件就可快速呈现产品创新理念。浩辰3D软件不仅具备常用的顺序建模,还采用了新一
    发表于 01-28 17:36

    3D建模软件中阵列设计功能如何使用?

    ,浏览表格并生成所需阵列。浩辰3D建模软件的阵列功能还有很多,如填充阵列、快速阵列、智能阵列等等。在实际设计过程中,工程师们可以通过组合使用阵列功能,快速实现复杂场景下的多元化设计需求。更多关于浩辰
    发表于 03-02 17:10

    3D建模软件中如何进行装配设计?

    的装配,浩辰3D建模软件都能够极速高效完成。今天小编将针对浩辰3D建模软件的装配设计中关键步骤,如新建装配、插入零部件、配合零部件、阵列和镜像、装配体修改等内容,为大家做详细的讲解。1
    发表于 03-12 14:48

    3D软件中实体建模与曲面建模有什么区别?

    实体建模和曲面建模3D设计中较为常用的两种三维建模方式,那么这两者在实际的绘图操作中有什么区别呢?又该如何区分使用这两种三维建模方式呢?下
    发表于 06-05 15:25

    面向3D机器视觉应用并采用DLP技术的精确点云生成参考设计

    描述 3D 机器视觉参考设计采用德州仪器 (TI) 的 DLP 软件开发套件 (SDK),使得开发人员可以通过将 TI 的数字微镜器件 (DMD) 技术与摄像头、传感器、电机和其他外设集成来轻松构建
    发表于 09-22 10:20

    采用DLP® 技术的顶级立体光固化成型印刷3D打印机参考设计

    的低功耗 MSP430 嵌入式处理器,将层曝光与电机控制同步,以便实现精确的渐进式 3D 打印。 特性集成电机驱动例程通过自适应 GUI 自定义层叠顺序采用模块化系统设计,方便移植到其
    发表于 09-26 07:03

    基于AMBA总线OCP-IP接口

    本文讨论了OCP-IP的协议与特点,设计了基于AMBA总线OCP-IP接口,提出了一种IP自动封装的方法,为IP核的集成和管理带来极大的方
    发表于 05-19 10:07 1w次阅读
    基于AMBA<b class='flag-5'>总线</b>的<b class='flag-5'>OCP</b>-IP<b class='flag-5'>接口</b>

    采用英特尔线程构建模块(英特尔® TBB)的流程图介绍

    采用英特尔®线程构建模块的流程图
    的头像 发表于 10-30 06:20 3128次阅读
    <b class='flag-5'>采用</b>英特尔<b class='flag-5'>线程</b><b class='flag-5'>构建模块</b>(英特尔® TBB)的流程图介绍