微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 采用FPGA实现 DisplayPort

采用FPGA实现 DisplayPort

时间:09-24 来源:互联网 点击:

通过 AMBA?APB 端口或采用AMBA 至 PLB 桥的 32 位 PLBv46 总线连接至处理器接口。赛灵思在 BlockRAM 中存储了用户可修改的指令集。赛灵思用来调训 (train) 该链路的 C++代码不但是采用 GNU C++ 编译器编译的,并且还在采用赛灵思 EDK PlatformStudio 处理器设计套件的 FPGA 内部实施的软 MicroBlaze 处理器上进行了全面测试。参考设计包含完整的赛灵思 SDK项目。范例测试台可将一个 135MHz的时钟连接至 VID 时钟,并将一个100MHz 的时钟连接至 APB 时钟。赛灵思对所有输入是否连接正确进行检查。此外,顶级模块还提供复位功能。

  扩展显示识别

  DisplayPort 一个特别重要的特性是,能够通过 VESA 的增强显示识别2010年 夏季刊37手把手课堂:FPGA 101数据 (EDID) 结构与不同的设备进行接口相连。EDID 并不是什么新事物。实际上多年以来设计人员一直在使用各种视频接口读取 EDID 的宿端设备参数,从而与设备进行接口连接。不过这些早期的 EDID 及相关接口 技术通常不包含高级可配置通信通道。如今借助 DisplayPort,VESA 为系统增添了智能性,不但能在源端(如机顶盒、DVD 播放器或 PC 图形卡)与宿端设备(如显示.)之间进行功能协调,而且还可优化通信参数。DisplayPort v1.1a 可协调的变量包括通道数量(1、2 或者 4)、每信道数据速率(1.62 或 2.7Gbps)、电压摆幅(0.2、0.6、0.8、1.2 V)、4 个级别的通道预加重以及链路时钟向下扩散。

  由 CORE Generator 生成,并与LogiCORE 一道提供的接收宿端范例设计可提供范例 EDID(见图 3),以便满足 EDID 源端设备的读取需求,确保用户的最佳视觉体验。


图3 DisplayPort 接收高级方框图

  宿端范例设计在 FPGA 内部的BRAM 中实施了 EDID 数据结构。DisplayPort 的源代码可通过 AUX 通道实现 I2C 协议。图 3 和图 4 显示了连接至源端的 DisplayPort 宿端的方框图。宿端的 Link 与 Stream Policy Maker属于宿端内核的组成部分,不过源端的 LinkPolicy Maker 具有更高的复杂性,将作为源代码随参考设计提供。EDID 通过I2C 接口与接受宿端进行接口连接。

  I2C 协议非常适合针对 EDID 数据结构的连接,并常常用于这种类型的应用。I2C 控制器负责定位与管理在EDID 中发现的数据,并通过串行接口与 I2C 接口协议(通过 AUX 通道)将数据传输至宿端内核。在工作模式下,用户无需知晓 EDID 是否正被访问。用户可通过检测 I2C 总线来监控 ROM 的内容。在调试模式下,用户能够修改I2C 控制器,覆盖 EDID ROM 提供的 3位内容。I2C 提供控制信号,在与适当的开集输出相连时,可提供 I2C 主接口。

  宿端内含名为“DisplayPort 配置数据(DPCD)”的数据结构,可以存储配置数据并作为宿端与源端都可读写的通信邮箱使用。源端一般使用跨 AUX 通道的 DPCD 内容(参见图 3 和图 4)。


图4 VESA DisplayPort v1.1a 主链路

  Policy Maker 链路调训

  在 DisplayPort 链路上建立通信的过程称为“链路调训”。在链路调训的过程中,内核在通信启动时将着力于最大限度降低错误的同时,优化链路速度与功耗。如果在数据传输中出现问题,内核将自动重复链路调训,以适应不断变化的条件。源端与宿端信息包之间的通信通过双向半双工 1Mbps AUX 通道进行。视频与音频数据通过主链路信道(1、2 或 4)进行传输,其是从源端到宿端的高速千兆位级收发器通道。

  内核的链路调训工作分两步执行:时钟恢复、信道均衡;符号锁定(symbol lock)、信道间对准。步骤一,接收器的 PLL 锁定至进入的信号,并恢复链路时钟。步骤二,系统对通道均衡与信道间对准进行优化。

  下面是源端与宿端的 PolicyMakers 的典型工作顺序:

  1. Tx Link Policy Maker 可监控热拔插检测情况,如果检测到有热拔插,则向 Stream Source Policy Maker 发送通知。Stream Source Policy Maker 通过 AUC 通道读取宿端 EDID;

  2. Tx Link Policy Maker 通过AUX 通道读取来自宿端的 DisplayPort配置数据。根据源端与宿端的功能配置情况,它可为宿端 DPCD 的链路配置字段编写配置参数,并通过写入到宿端 DPCD 的“TRAINING_PATTERN_SET”字节启动链路调训,随即对调训模式的发送进行初始化;

  3. Tx Link Policy Maker 根据来自 Rx Link Policy Maker 的反馈,通过调节电压摆幅以及在必要时调节比特率,来控制时钟恢复顺序。一旦内核完成时钟恢复,链路调训就进入通道均衡阶段。在该阶段,如果调用 Rx LinkPolicy Maker,即对预加重进行调节。此外,接收器还将在本阶段完成符号锁定与信道间的对准;

4. 一旦内核通过链路调训(

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top