ZHCUB50 june   2023

 

  1.   1
  2.   DLPC910 Apps FPGA 用户指南
  3.   商标
  4. 1引言
    1. 1.1 欢迎
  5. 2概述
    1. 2.1 用途
    2. 2.2 Apps FPGA 硬件目标
  6. 3接口
    1. 3.1  连接 DLPC910 的 LVDS 高速数据接口
      1. 3.1.1 DLP9000X 和 DLP9000XUV
      2. 3.1.2 DLP6500
    2. 3.2  输出至 DLPC910 的数据加载控制信号
    3. 3.3  DLPC910 的 DMD 复位和块清除信号
    4. 3.4  DLPC910 初始化和控制器复位信号
    5. 3.5  Apps FPGA 复位信号 - apps_resetz
    6. 3.6  DLPC910 状态信息信号
    7. 3.7  USB GPIF(接口)
      1. 3.7.1 Apps FPGA 寄存器地址读取/写入事务
        1. 3.7.1.1 Apps FPGA 寄存器地址事务
        2. 3.7.1.2 Apps FPGA 寄存器数据写入事务
        3. 3.7.1.3 Apps FPGA 寄存器数据读取事务
      2. 3.7.2 FIFO 写入事务
    8. 3.8  DLPLCRC910EVM DIP 开关 (SW2)
    9. 3.9  VC-707 DIP 开关 (SW2)
    10. 3.10 VC-707 按钮开关
    11. 3.11 VC-707 状态 LED
    12. 3.12 DLPLCRC910EVM Apps FPGA 测试点
  7. 4操作
    1. 4.1 初始化
      1. 4.1.1 初始化提示
      2. 4.1.2 初始化例程
      3. 4.1.3 GPIO 状态 LED
      4. 4.1.4 错误
    2. 4.2 测试图形发生器 (TPG) 和应用加载程序 - DLP 控制
      1. 4.2.1 测试图形发生器 (TPG)
      2. 4.2.2 DMD 数据缓冲区
      3. 4.2.3 DMD 加载状态机
      4. 4.2.4 DMD 复位状态机
      5. 4.2.5 DMD 加载参数
      6. 4.2.6 同步脉冲
    3. 4.3 用户 DLP 控制
      1. 4.3.1 DLP6500(1920 × 1080)用户图像显示示例(全局)
      2. 4.3.2 DLP9000X(2560 × 1600)用户图像显示示例(全局)
      3. 4.3.3 Load4 - 与 DLP6500 DMD 一起使用
      4. 4.3.4 USB GPIF FIFO 数据写入
      5. 4.3.5 外部触发
    4. 4.4 USB GPIF(运行)
    5. 4.5 时钟和复位
      1. 4.5.1 参考时钟
      2. 4.5.2 Clk50 和 Clk100
      3. 4.5.3 DLP 时钟
      4. 4.5.4 USB GPIF 时钟
      5. 4.5.5 逻辑复位
      6. 4.5.6 时钟域交叉 (CDC)
    6. 4.6 开关去抖
  8. 5USB GPIF 寄存器
    1. 5.1 寄存器定义
      1. 5.1.1  状态 (0x000C)
      2. 5.1.2  数据加载控制 (0x0010)
      3. 5.1.3  测试图形控制 (0x0014)
      4. 5.1.4  测试行地址 (0x0018) - [未使用]
      5. 5.1.5  加载程序复位类型 (0x001C)
      6. 5.1.6  类型和版本 (0x0020)
      7. 5.1.7  用户图像缓冲区写入设置 (0x0024)
      8. 5.1.8  USB GPIF FIFO 读取突发大小 (0x0028) - [已淘汰]
      9. 5.1.9  用户行命令寄存器 (0x002C)
      10. 5.1.10 用户块命令寄存器 (0x0030)
      11. 5.1.11 加载程序行控制 (0x0034)
      12. 5.1.12 加载程序加载间隔 (0x0038)
      13. 5.1.13 加载程序曝光时间 (0x003C)
      14. 5.1.14 地址写入 (0x003F) - [未使用]
      15. 5.1.15 加载程序控制 (0x0040)
      16. 5.1.16 Park [PWR_FLOAT] (0x0044)
      17. 5.1.17 外部触发状态 (0x0048)
      18. 5.1.18 FPGA 编译日期 (0x0080)
      19. 5.1.19 主要 - 次要版本 (0x0084)
      20. 5.1.20 固定值 FPGA 标识符 (0x0088)
      21. 5.1.21 测试寄存器 (0x008C)
  9. 6FPGA 配置
  10. 7Apps FPGA 源文件和编译
    1. 7.1 设计工具
    2. 7.2 源文件
      1. 7.2.1 主要 VHDL 和 IP 模块
      2. 7.2.2 具有多个实例的模块
      3. 7.2.3 VHDL 软件包
      4. 7.2.4 Vivado 限制条件
      5. 7.2.5 存储器 IP 初始化文件
        1. 7.2.5.1 查找表
    3. 7.3 构建 Apps FPGA 代码
      1. 7.3.1 源代码
        1. 7.3.1.1 源文件夹
      2. 7.3.2 创建 Vivado 工程
      3. 7.3.3 编译设计
      4. 7.3.4 仿真
        1. 7.3.4.1 测试台
        2. 7.3.4.2 模块仿真步骤
  11. 8德州仪器 (TI) 相关文档
  12. 9附录
    1. 9.1 缩略语和首字母缩写词
    2. 9.2 注意事项和警告信息

DLP 时钟

对于内部 DLP 控制逻辑,Apps FPGA 使用的时钟频率是 DLPC910 高速接口时钟频率的 1/4。该时钟在 VHDL 代码中被命名为 clkd

DLPC910 高速接口是一个双倍数据速率 (DDR) 接口,可实现 8:1 的高速与内部时钟比。这样,Apps FPGA 就可以使用 AMD - Xilinx OSERDESE2 DDR 基元进行数据控制输出。对于每个 Apps FPGA 内部时钟上升沿,8 个数据位会加载到 OSERDESE2 基元中,以便以高速 DDR 时钟速率移出。

Apps FPGA 需要支持两种不同的高速接口时钟频率,即 400MHz 和 480MHz。使用单独的 PLL (AMD/Xilinx IP),以便创建精确的时钟频率。一个 PLL 生成 100MHz/400MHz 时钟,另一个 PLL 生成 120MHz/480MHz 时钟。两个 PLL 均使用 200MHz sysclk_p/n 作为其参考时钟,并且两个 PLL 都连续运行。

时钟多路复用器基元用于创建 clkdclkd4xclkd4xclkd 相位对齐,供 OSERDESE2 基元使用)。通过单个时钟多路复用器选择 100MHz 或 120MHz 时钟来创建 clkd。通过另一个时钟多路复用器选择 400MHz 或 480MHz 时钟来创建 clkd4x。初始化期间,由 init-run-park 状态机执行一次时钟选择。选择时钟后,init-run-park 状态机向 OSERDESE2 基元和 Apps FPGA 逻辑发出复位。