当前位置: 首页 > news >正文

基于FPGA实现LVDS_7to1接口显示屏显示

基于FPGA实现LVDS_7to1接口显示屏显示

    • 前言
    • 原理
      • LCD显示屏时序
      • OSERDESE3
      • OBUFDS
      • RAM32X1D
    • 系统框图
    • 系统时序
    • 测试结果
    • 参考资料

前言

本设计说明了如何使用 Xilinx Ultralscale FPGA实现 LVDS 7:1 发送功能,本实验用的 FPGA 型号为 KU5P,LVDS外设为 LCD显示屏。

原理

LCD显示屏时序

  • LCD显示屏型号为:TL068HWXH12CT-B1596A

  • 接口时序

    • VS和HS均为低有效

OSERDESE3

  • OSERDESE3是 UltraScale 器件中的并转串转换器(4-bit 或 8-bit)。
  • 它主要用于源同步接口(如高速数据传输)或从旧系列(如 7 系列)迁移的设计。
  • 如果需要其他转换比(非 4/8),官方建议改用ODDRE1原语或在内部逻辑中实现Gearbox。


OBUFDS

RAM32X1D

用 RAM32X1D 原语实现FIFO功能。

系统框图

OSERDESE3 的 CLK 与 CLKDIV 端口之间的偏斜过大,可能导致发送数据错位。为了最大程度地减少偏斜,本设计中 CLK 与 CLKDIV 来源于同一个 MMCM/PLL 时钟输出,如图上图所示。

为了进一步减少偏斜,必须使用CLOCK_DELAY_GROUP约束。以下是 XDC 约束示例。必须使用正确的层次化实例名称。如果使用了多个tx_clkgen_7to1模块,每个模块的约束必须具有唯一的名称(例如ioclockGroup_tx):

set_property CLOCK_DELAY_GROUP ioclockGroup_tx [get_nets -of [get_pins bg_txdiv2/O]] set_property CLOCK_DELAY_GROUP ioclockGroup_tx [get_nets -of [get_pins bg_txdiv4/O]]

发送器内的某些路径不需要进行时序分析,应将其标记为伪路径(false path)以实现时序收敛。以下是 XDC 约束示例。必须使用正确的层次化实例名称:

set_false_path -to [get_pins {u_lvds_tx_7to1/tx_enable_sync_reg[*]/CLR}] set_false_path -to [get_pins {u_lvds_tx_7to1/txc_piso/tx_data_reg[*]/D}] set_false_path -to [get_pins {u_lvds_tx_7to1/txc_piso/rd_last_reg[*]/D}] set_false_path -to [get_pins {u_lvds_tx_7to1/txd[*].piso/tx_data_reg[*]/D}] set_false_path -to [get_pins {u_lvds_tx_7to1/txd[*].piso/rd_last_reg[*]/D}]

系统时序

测试结果

测试视频为下移斜方格显示视频。

基于FPGA实现LVDS_7to1接口显示屏显示

参考资料

  • ug953-vivado-7series-libraries

  • ug571-ultrascale-selectio

博客导航目录

http://www.jsqmd.com/news/1092551/

相关文章:

  • Google限制Meta使用Gemini模型 凸显AI授权竞争白热化
  • openEuler双桌面环境实战:从ukui到dde的安装与多模式切换指南
  • 报社登报声明一般多少钱?办理登报声明的流程怎么走?
  • BiliTools:一款让你高效管理B站资源的跨平台工具箱
  • NoFences:你的Windows桌面需要一场空间革命吗?
  • 2026 年全球首个自动驾驶法规获批,终结标准割裂,中国深度参与重塑产业格局
  • 【计算机毕业设计案例】基于 Spring Boot+Vue 的电影售票系统设计与实现 前后端分离架构下影院在线购票管理平台(程序+文档+讲解+定制)
  • 抓“静电”痕:ESD失效分析技术实战
  • 到底 TMD 用哪个: npm, pnpm, Yarn, Bun, Deno? 傻瓜, 当然用 npm 啦
  • 为什么需要一个“闭环“
  • 2026年数据安全评估师认证:五位一体技术体系深度解析
  • 如何用BiliTools轻松管理你的B站数字资产?3大核心功能深度解析
  • 使用第三方 API 时保留 Codex 远程操作和官方插件:CC Switch 配置攻略
  • 从零搭建HTTPS双向认证:Nginx+Spring Boot实战与证书管理
  • C# 与 OpenTK:从入门到实战,构建你的第一个3D图形应用
  • 3大实用场景+40+模板:Dify工作流宝库让AI应用开发像搭积木一样简单
  • 当 Alpha 开始影响价格:SEER 如何用符号回归拆出非线性市场冲击
  • PyTorch 实战联邦学习FedAvg:从零构建到隐私保护模型聚合
  • 如何高效管理演示时间:智能PPT计时器的完整指南
  • Git 快速上手指南:半小时掌握日常开发必备命令
  • RSA非对称加密在登录模块的实战应用:从原理到前后端完整实现
  • H3C IPv6实战:从手工配置到无状态自动获取
  • 如何在Windows上为所有游戏添加Steam控制器全局支持?GlosSI完整指南
  • Caffeine是否为分布式缓存
  • nlohmann/json:现代C++ JSON处理的终极完整指南
  • 如何下载Java 26 的下载入口:
  • LitCAD:C开发的免费开源二维CAD软件完整入门指南
  • 破解Unity手游黑盒:Il2CppDumper如何让IL2CPP逆向分析不再神秘
  • WorkshopDL:终极Steam创意工坊下载器 - 轻松获取海量游戏模组
  • 番茄小说下载器:三步完成小说永久保存的终极解决方案