基于Xilinx Spartan-6 FPGA加速纹理映射的实现
采用Spartan-6 FPGA加速纹理映射:这种要求严苛的图形流程曾经是定制ASIC内核的应用,而如今却成为低成本FPGA的天下。
作为一种以 FPGA 为构建基础,而非采用专业多媒体片上系统的手持设备,Milkymist One 无须计算机的辅助即能为聚会和音乐会提供视频特效。在 Milkymist One 中,Spartan-6 FPGA 基本可实现系统的整个数字化部分。另外,FPGA 的强大功能还足以处理纹理映射,这种高端图形功能代表了系统必须执行的最密集的数据处理任务。在传统上,纹理映射属于 ASIC 图形处理单元的领地,而在更早以前则是高端工作站的属地。
新应用领域的出色表现
无论是音乐节目主持人、综艺节目主持人还是其他活动的组织者都能在音乐会、节日以及俱乐部中使用Milymist One(见图1)营造出具有极强娱乐性的视频效果。将摄像头与视频投影仪连接在一起,按下电源按钮,数秒钟后拍摄的一切就变成栩栩如生、似幻似真的光色效果。将摄像头聚焦于舞台上的舞者,指向参加聚会的人群乃至玩具或其他对象,让观众为这种特效营造的效果如痴如醉。如果没有摄像系统的加入,Milymist One可以单纯地根据环境声响生成效果,特别适用于希望能以交钥匙解决方案实现简单视觉效果的乐队、俱乐部和聚会组织者。
该器件可支持来自多个源头的输入:MIDI键盘、USB计算机键盘、DMX桌面以及OpenSoundControl (OSC)客户端。用户甚至能够使用智能手机与视觉效果无线地互动,只需要将一个WiFi路由器连接至以太网端口即可。另一个选择是使用广受青睐的 Arduino 电路板,利用其大量的传感器界面来通过MIDI对Milymist One进行控制。
我们必须克服设计这种器件的重大挑战。我们的处理算法要求将相当数量的计算功能和存储器带宽用于处理高帧率和低时延的视频。另外,器件还必须与多种I/O协议实现接口相连。就本应用而言,包含CPU和图形加速功能的多媒体片上系统是许多工程师的首选。然后,他们会选用一些外部芯片来处理所有的接口。通过充分发挥赛灵思器件的功能和灵活性,我们能够在单个Spartan-6 FPGA中实现我们系统几乎全部的数字部分,从而既可以降低成本、精减芯片数量,又能够显著提升灵活性。
Milymist One的硬件
Milkymist One系统电路板的核心是一块赛灵思XC6SLX45(见图2)。该FPGA包含我们系统的所有数字逻辑,如软核CPU、存储器控制器、硬件加速器以及I/O外设等。
通过使用Spartan-6的"主BPI"模式,FPGA 可从NOR闪存芯片中读取配置数据。该闪存芯片随后使用"现场执行 (execute-in-place)"方案运行引导载入程序,即一边从NOR闪存获取处理器指令,一边对其进行执行。引导载入程序随后激活 SDRAM,并加载应用软件。该闪存芯片还负责存储这类应用软件,并保留使用YAFFS2的用户数据。YAFFS2 是一种可提供损耗均衡和日志功能的闪存优化型文件系统。
我们的应用软件能够从互联网下载 FPGA 数据流更新,并将它们写入闪存中。拜Spartan-6 FPGA所具有的多重载入 (MultiBoot)特性所赐,如果某个失效的更新会导致错误的数据流,则系统能够进行失效保护。
与FPGA直接连接的一对DDR SDRAM芯片可提供128MB的系统存储器。为有助于满足该接口严格的时序要求,Spartan-6 FPGA可为其提供双数据速率I/O寄存器、运行时间可编程延迟锁相环(带DCM)以及I/O延迟元件。
我们的器件可支持两个全速的USB主机端口。FPGA在此处再一次负责提供大部分硬件。Spartan 6可直接驱动模拟收发器芯片,以便轻松将LVCMOS 3.3V电平转换为能够完美符合USB标准的信号。串行接口引擎和主控制器逻辑采用FPGA架构实现。在原型设计阶段,甚至能够仅使用电阻和USB连接器与赛灵思ML401开发板的I/O扩展连接器相连,就能成功地将USB器件直接与FPGA相连。
在视频输出方面,FPGA可驱动一个3通道数模转换器,以生成VGA端口的RGB分量。Spartan-6中包含的DCM CLKGEN原语具有高度的灵活性,能够针对像素时钟将多种不同频率进行综合,从而使器件能够支持大量的视频模式。
此外,如何对由VGA端口输出的复合视频信号(CVBS)进行综合也在研究中。市面上已经有一些计算机图形卡,能够使用低成本的无源适配器将CVBC器件与VGA输出相连接。不过,在一套采用FPGA的系统上生成原色分量也是完全可行的。我们仅需要使用数字信号处理技术实现CVBS信号发生器,然后将生成的数据送给VGA数模转换器即可。这样,我们的器件就能轻松地与音乐以及现场表演场地仍然大量使用的传统视频投影仪和视频混合控制台相连接。
我们的
Spartan-6 Xilinx ASIC FPGA 相关文章:
- 骨灰级音响发烧友如何打造随身DAC兼耳扩?(02-09)
- 6 FPGA LX9 MicroBoard成为学习FPGA的另一低成本方法(02-10)
- Xilinx Kintex UltraScale 一半尺寸的 PCI Express 平台 (HTG-K816)(06-15)
- Xilinx全新参考设计提供业界首个单芯片400G解决方案(02-12)
- Xilinx用于工业自动化的机器视觉解决方案(11-30)
- Xilinx多协议机器视觉摄像机参考设计(12-01)