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 注意事项和警告信息

初始化例程

VC-707 执行的初始化例程包括以下基本步骤:

  1. 向 DLPC910 控制器发出复位 (ctrl_rstz)。
  2. 确认 DLPC910 已配置 (ecp2_finished)。
  3. 确保 Apps FPGA DLP PLL 已锁定 (dclk_ap/n)。
  4. 采集选定的 DLPC910 接口时钟速度 (dmd_speed_sel)。
  5. 根据从 dmd_speed_sel 中读取的值选择 400MHz 或 480MHz 时钟。
  6. 对 AMD/Xilinx oserdes 输出基元进行复位。
  7. 确保 DLPC910 开始初始化 (init_active)。
  8. 开启 DLPC910 训练模式。
  9. 释放复位到 DLPC910 (ctrl_rstz)。
  10. 等待训练完成 (init_active low)。
  11. 采集 DMD 类型 (dmd_type)。
  12. 对 Apps FPGA 控制逻辑进行复位(自动)。
  13. 运行。

成功完成初始化后,init-run-park 状态机进入运行状态。然后,可监测 USB GPIF 暂存寄存器、开关 SW1 APP RST 和 SW2 的位置 1。如果这些输入中的任何一个指示需要停止微镜,则发出 pwr_floatz,状态机等待这些输入返回到运行状态,然后再次运行初始化例程。

注: 若要对 DLPLCRC910EVM 上的 dmd_speed_sel 跳线进行更改,则需要重新运行初始化(按 SW1 APP RST 开关)。