首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

采用FPGA实施DisplayPort

采用FPGA实施DisplayPort

  在今年 1 月举办的美国消费电子展 (CES) 上,数家主要平板电视及显示技术公司纷纷宣布推出高清3D电视和令人惊艳的4k x 2k LCD 显示器,从而可将用户家中、车内或移动设备上的电视、显示器以及其他电子设备之间需要交换的数据量提升至前所未有的水平。在这些最新的电视上,体育迷们可以欢欣鼓舞地体验到众多优异性能,如176°的超广视界、1200:1的超高对比度以及 450 尼特的亮度——足以使最阴暗的洞穴通透明亮。

  不过,对于开发这些电视或连接至这些电视的电子产品的设计工程师来说,最新特性需要非常高的带宽。例如,一部具备800万像素的四声道 4kx2k 高清电视(可为家庭提供数字影院效果)需要的带宽是当前顶级电视和显示器在理想工作状态下的4倍,这意味着在机顶盒与高清电视之间存在巨大的数据吞吐量。
  对更高带宽的需求并不单来自消费产品市场,为了满足MRI和CT 扫描、命令与控制、菊花链显示、电子公告牌与 DNA 3D渲染、航空器、天气以及人体构造等众多领域的显示需要,广播设备、数字显示、科研以及医疗市场也在不断加大对带宽的要求。
  为了在控制成本的同时还能有助于满足这种带宽需求,视频电子标准协会(VESA)于2007 年向市场推出了DisplayPort。如今,VESA DisplayPort 1.1a 已能够在单根线缆内支持多达 4 个通道且每通道最高2.7Gbit/s的数据率,而 DisplayPort 1.2 又将支持的数据数率翻番,达到 5.4Gb/s(足以在单显示器应用中支持 3840 × 2400 像素 (60Hz),或 4 台显示器应用中的 1920×1200 像素,或 2560×1600 像素的 3D 显示 (120Hz))。DisplayPort 可同时支持两种嵌入式显示,如笔记本电脑的显示器,以及视频“源端”设备(机顶盒、DVD 播放机、PC 图形卡以及笔记本电脑)和独立显示设备(HDMI 与 DisplayPort 标准文档中所称的“宿端”设备)之间的盒至盒连接 (box-to-box connection)。
  而赛灵思 (Xilinx) 推出了名为 Xilinx LogiCORE DisplayPort v1.1(v1.2 将在 IDS 12.1 中配套提供)的灵活可编程 VESA DisplayPort v.1.1a 解决方案。在用户展开设计之前,建议先了解与该标准的部分关键功能有关的背景信息,如 Policy Maker,以及如何使用Xilinx即将推出的XAPP“使用 MicroBlaze 嵌入式系统实施 DisplayPort Source Policy Maker Controller System参考设计”在东京电子设备 (TED) 提供的 Spartan-6 消费类视频套件()上完成实施工作。
 Policy Maker:关键性差异
  在显示市场上,VESA通过 DisplayPort引领着从VGA、DVI以及HDMI等协议成功升级至高速串行收发器、基于包的层架构协议。与并行协议不同,串行分组协议在实现和维持连接或链路方面要多一层复杂性。在VESA DisplayPort 1.1a规范中,控制功能被划分为Link Policy Maker和Stream Policy Maker。Link Policy Maker可管理链路,并负责保持链路同步。其任务包括发现链路、对链路进行初始化和维护。Stream Policy Maker可管理传输初始化,并通过底层硬件对行动序列施加控制来维护同步流。
  Policy Maker 的上述要素需根据特定的实施来决定,而且可在操作系统、软件驱动程序、固件或者FPGA逻辑中进行配置。为简化使用,许多商用DisplayPort IC将Link和Stream Policy Maker对设计人员隐藏。若用户显示要求与套装的DisplayPort ASSP相匹配,其价格和易用性无可争辩。但是,希望产品在竞争中脱颖而出的设计人员倾向于采用 FPGA。
  Source Policy Maker参考设计
  DisplayPort Source Policy Maker Controller System参考设计采用赛灵思MicroBlaze 嵌入式系统来实施与商用套装DisplayPort芯片类似的功能,且具备可进行源代码定制的额外优势。通过使用该参考设计的应用手册,用户不必对Policy Maker进行详细了解即可顺利启动设计工作,仅需简单地将范例设计连接起来。
  除了上述源代码设计之外,DisplayPort的传输(Tx)或源端内核也配套提供了用于实现有限状态机(FSM)控制器的额外范例设计。
  在显示市场上,VESA 通过 DisplayPort 引领着从 VGA、DVI 以及 HDMI 等协议成功升级至高速串行收发器、基于包的层架构协议。
  DisplayPort Tx FSM 控制器范例设计(顶级文件名 dport_tx_fsm_cntrl)配套提供 DisplayPort LogiCORE 源端设计范例。此概念验证设计内含基于 RTL 的有限状态机,以实施可演示正确启动流程的简单 Policy Maker。dport_tx_fsm_cntrl 设计范例的优势在于可以显著缩短仿真时间。
  Source Policy Maker Controller System参考设计采用MicroBlaze 嵌入式系统 XAPP,其顶级 ISE项目名称为“dport_source_ref_design.xise”。它使用户能够根据自己需要对 Source Policy Maker Controller 的源代码进行修改。此外,还能够与LogicCORE v1.2 (IDS 12.1) 和 Spartan-6 TED 消费类视频套件协同运行。
  上述两种范例设计均包含可实现内核设置及链路和流维护的基本流程。
  功能概述
  源端、宿端/视频规范都会采用 Policy Maker,但在 DisplayPort LogiCORE 中,赛灵思对它们进行了差别实施。与源(发送)端的 Policy Maker 功能相比,宿(接收)端的 Policy Maker 功能要简单得多。赛灵思在 LogiCORE 内实施了大部分宿端 Policy Maker 功能。基于 RTL 的宿端控制器可提供剩余部分的功能。由于源端 Policy Maker 的功能复杂得多,因而可采用源代码参考设计的方式提供。
  让我们来深入了解源端 Policy Maker,其使设计人员能够最大限度地提高功能灵活性与实施灵活性。顶级范例设计包含内核的两个高级组件示例:XAPP 使用 MicroBlaze 嵌入式系统实施 DisplayPort Source Policy Maker Controller System参考设计;以及 DisplayPort 内核源端(发送)设计。赛灵思将内核的实施分成原子链路功能,分别称为主链路、二级通道以及 AUX 通道协议。主链路可实现主视频流的交付。二级通道可在消隐期内将音频信息的交付集成到主链路中。赛灵思将在未来的内核中提供二级通道。同时,AUX 通道可为宿端通信通道建立专用源端(见图 2)。
  赛灵思为用户数据接口新增了线路缓存器,使用户能够在 FPGA(见图 2、3 和 4)中便捷实施范例设计。图 3 中宿端的 Policy Maker 与 Device Controller 都是 CORE GeneratorTM 所提供宿端设计范例的组成部分。

  MicroBlaze 处理器发挥核心作用
  赛灵思推出的Source Policy Maker Controller可与内核配合使用,这样其功能在很大程度上和ASSP DisplayPort源端设备一样。建议您使用MicroBlaze嵌入式或外部处理器来正确初始化和维持该链路。XAPP包含的Policy Maker参考设计预配置版本在FPGA内的 MicroBlaze 处理器中实施,可帮助用户立刻将设计方案转换成硬件。正式供货时的参考设计将包含设计人员可修改的源代码。
Source Policy Maker Controller 设计的“逻辑”部分位于 MicroBlaze 处理器之上,并使用 I2C 命令来控制链路、数据流以及配置空间。该 C 语言代码可实施 Policy Maker 的指令控制、高级示例文件以及嵌入式开发套件 (EDK)。同时赛灵思还提供软件开发套件 (SDK) 项目文件,可为设计人员最大限度地提高实施灵活性。此外,赛灵思还可为使用现有控制平台处理器的应用提供 C 语言源代码。设计人员可将该源代码添加至 FPGA 内外的现有控制软件中。根据许可证协议,只要代码能够同内核配合使用,控制器即可在FPGA外部实施(即在外部处理器中实施)。
  设计人员可使用支持赛灵思 Platform Studio (EDK) 的嵌入式硬件设计套件或具有 SDK 的嵌入式软件设计套件,对 XAPP 设计进行修改。通常情况下,FPGA 设计人员使用 EDK,而软件开发人员则使用 SDK。EDK 流会生成一个中间网络文件 (NGC),您可以在实施设计之前,将其整合在ISE项目中。NGC 文件包含构成 BRAM 初始化一部分的 MicroBlaze 代码。
  快速转换
  如果用户修改过软件,EDK 流通常会占用较长的时间。不过,用户一旦生成了网络列表,就不再需要 EDK 或者 SDK 了。SDK 流可修改 FPGA 比特流,因此仅需更新 BRAM 中的 MicroBlaze 代码内容。该 SDK 流能够为软件修改提供更快的转换时间,但在这种情况下,用户必须每生成一个比特流就使用一次 SDK。
  在 DisplayPort 中,VESA 为系统增添了智能性,不但能在源端设备(如机顶盒、DVD 播放器或 PC 图形卡)与宿端设备(如显示监控器)之间进行功能协调,而且还可优化通信参数。
  扩展显示识别
  DisplayPort 一个特别重要的特性是,能够通过 VESA 的增强显示识别数据 (EDID) 结构与不同的设备进行接口相连。EDID 并不是什么新事物。实际上多年以来设计人员一直在使用各种视频接口读取 EDID 的宿端设备参数,从而与设备进行接口连接。不过这些早期的 EDID 及相关接口技术通常不包含高级可配置通信通道。如今借助DisplayPort,VESA为系统增添了智能性,不但能在源端(如机顶盒、DVD 播放器或 PC 图形卡)与宿端设备(如显示监控器)之间进行功能协调,而且还可优化通信参数。DisplayPort v1.1a 可协调的变量包括通道数量(1、2 或者 4)、每信道数据速率(1.62 或 2.7Gb/s)、电压摆幅(0.2、0.6、0.8、1.2 V)、4 个级别的通道预加重以及链路时钟向下扩散。由 CORE Generator 生成,并与 LogiCORE 一道提供的接收宿端范例设计可提供范例 EDID(图 3),以便满足 EDID 源端设备的读取需求,确保用户的最佳视觉体验。
  宿端范例设计在 FPGA 内部的 BRAM 中实施了 EDID 数据结构。DisplayPort 的源代码可通过 AUX 通道实现 I2C 协议。图 3 和图 4 显示了连接至源端的 DisplayPort 宿端的方框图。宿端的 Link 与 Stream Policy Maker属于宿端内核的组成部分,不过源端的Link Policy Maker 具有更高的复杂性,将作为源代码随参考设计提供。EDID通过I2C接口与接受宿端进行接口连接。
  I2C 协议非常适合针对 EDID 数据结构的连接,并常常用于这种类型的应用。I2C 控制器负责定位与管理在 EDID 中发现的数据,并通过串行接口与 I2C 接口协议(通过 AUX 通道)将数据传输至宿端内核。在工作模式下,用户无需知晓 EDID 是否正被访问。用户可通过检测 I2C 总线来监控 ROM 的内容。在调试模式下,用户能够修改 I2C 控制器,覆盖 EDID ROM 提供的 3 位内容。I2C 提供控制信号,在与适当的开集输出相连时,可提供 I2C 主接口。宿端内含名为“DisplayPort 配置数据(DPCD)”的数据结构,可以存储配置数据并作为宿端与源端都可读写的通信邮箱使用。源端一般使用跨 AUX 通道的 DPCD 内容(图 3 和图 4)。
  结语
  采用 MicroBlaze 的赛灵思 Source Policy Maker Controller 系统参考设计经过精心设计,可充分发挥DisplayPort的所有优势,向市场推出功能丰富的显示产品。
  参考文献:
  [1]Xilinx IP Center – DisplayPort LogiCORE[R/OL]:http://www.xilinx.com/products/ipcenter/EF-DIDISPLAYPORT.htm
  [2]Quantum Data 882E Video Test Instruments[R/OL],http://www.quantumdata.com/pdf/882E_DP_DS_RevI.pdf
  [3]VESA DisplayPort Standard[S]. v1.1a, 2008-1
  [4]Philips Semiconductors.I2S Bus特点.1996 (更多I2S:http://www.nxp.com/acrobat_download/various/I2SBUS.pdf )
  [5]UG196 and UG 198.Virtex-5 FPGA GTP Transceiver User Guides
  [6]UG386.Spartan-6 FPGA GTP TransceiverUser Guide
返回列表