首页 最新 热门 推荐

  • 首页
  • 最新
  • 热门
  • 推荐

FPGA实现LVDS视频输出,纯verilog代码驱动,提供2套工程源码和技术支持

  • 25-03-04 14:22
  • 3513
  • 6123
blog.csdn.net

目录

  • 1、前言
    • 免责声明
  • 2、目前我这里已有的图像处理方案
  • 3、本 LVDS 方案的特点
  • 4、详细设计方案
    • 设计原理框图
    • 彩条视频
    • 奇偶场分离
    • 并串转换
    • LVDS驱动
  • 5、vivado工程1:单路8bit LVDS
  • 6、vivado工程2:双路8bit LVDS
  • 7、工程移植说明
    • vivado版本不一致处理
    • FPGA型号不一致处理
    • 其他注意事项
  • 8、上板调试验证
  • 9、福利:工程代码的获取

FPGA实现LVDS视频输出,纯verilog代码驱动,提供2套工程源码和技术支持

1、前言

LVDS协议作为中等速率的差分信号,在笔记本电脑和手机等消费电子领域应用广泛,FPGA实现LVDS视频协议也有广泛应用,一般在军工和医疗领域,LVDS视频相比RGB并行视频传输而言,图像质量和IO数量都有优势,对于做FPGA图像领域的工程师而言,LVDS是迈不过的坎儿,是必须掌握的技能;

本设计基于Xilinx的 Kintex7 开发板,用verilog写了一个彩条作为视频源,利用Xilinx的OSERDESE2源语实现差分LVDS的产生,将并行的GRB888视频转换为差分LVDS视频输出显示器;提供2套vivado2019.1版本的工程,第一套工程的视频分辨率为1024600,单路8位LVDS输出;第二套工程的视频分辨率为19201080,双路8位LVDS输出;工程代码编译通过后上板调试验证,可直接项目移植,适用于在校学生做毕业设计、研究生项目开发,也适用于在职工程师做项目开发,可应用于医疗、军工等行业的数字成像和图像传输领域;
提供完整的、跑通的工程源码和技术支持;
工程源码和技术支持的获取方式放在了文章末尾,请耐心看到最后;

免责声明

本工程及其源码即有自己写的一部分,也有网络公开渠道获取的一部分(包括CSDN、Xilinx官网、Altera官网等等),若大佬们觉得有所冒犯,请私信批评教育;基于此,本工程及其源码仅限于读者或粉丝个人学习和研究,禁止用于商业用途,若由于读者或粉丝自身原因用于商业用途所导致的法律问题,与本博客及博主无关,请谨慎使用。。。

2、目前我这里已有的图像处理方案

目前我这里已有的图像处理方案有很多,包括图像缩放、图像拼接、图像旋转、图像识别跟踪、图像去雾等等,所有工程均在自己的板子上跑通验证过,保证代码的可靠性,对图像处理感兴趣或有项目需求的兄弟可以参考我的图像处理专栏,里面包含了上述工程源码的详细设计方案和验证视频演示:直接点击前往

3、本 LVDS 方案的特点

1:纯verilog代码实现,利用Xilinx的OSERDESE2源语实现差分LVDS的产生,所以目前该源码只适用于Xilinx系列FPGA;
2:代码中文注释详细,若你打开注释乱码,请用NotePad++打开即可;
3:提供2套方案,单路8位LVDS和双路8位LVDS,实用性广泛;

4、详细设计方案

提供2套vivado2019.1版本的工程,第一套工程的视频分辨率为1024600,单路8位LVDS输出;第二套工程的视频分辨率为19201080,双路8位LVDS输出;

设计原理框图

第一套工程设计原理框图如下:
在这里插入图片描述
第二套工程设计原理框图如下:
在这里插入图片描述

彩条视频

用verilog写了一个彩条作为视频源,工程一的彩条分辨率为1024600;工程二的彩条分辨率为19201080;彩条本身很简单,这里不再赘述;

奇偶场分离

奇偶场分离模块在工程二中才有,双路的LVDS将视频分为奇偶场发送,奇偶场是模拟视频中的概念,对于入门较晚的兄弟而言比较陌生,这块可以在CSDN或知乎等平台搜索学习一下;奇偶场分离模块就是将1920*1080@60Hz的视频分为奇场和偶场偶;

并串转换

并串转换模块是把并行数据转成7bit的lvds 串行数据,怎么组合成串行,具体要看屏的规格书,如果不是用来点屏,用来做通信或者链接工业相机的,也可以更改这里调整他们的相对位置;

LVDS驱动

利用Xilinx的OSERDESE2源语实现差分LVDS的产生,这个就是调用源语,也没啥好说的,具体看代码;

5、vivado工程1:单路8bit LVDS

开发板FPGA型号:xc7k325tffg676-2;
开发环境:Vivado2019.1;
输入:verilog实现的彩条;
输出:单路8bit LVDS;
应用:FPGA实现LVDS视频输出;
工程代码架构如下:
在这里插入图片描述
综合编译完成后的FPGA资源消耗和功耗预估如下:
在这里插入图片描述

6、vivado工程2:双路8bit LVDS

开发板FPGA型号:xc7k325tffg676-2;
开发环境:Vivado2019.1;
输入:verilog实现的彩条;
输出:双路8bit LVDS;
应用:FPGA实现LVDS视频输出;
工程代码架构如下:
在这里插入图片描述
综合编译完成后的FPGA资源消耗和功耗预估如下:
在这里插入图片描述

7、工程移植说明

vivado版本不一致处理

1:如果你的vivado版本与本工程vivado版本一致,则直接打开工程;
2:如果你的vivado版本低于本工程vivado版本,则需要打开工程后,点击文件–>另存为;但此方法并不保险,最保险的方法是将你的vivado版本升级到本工程vivado的版本或者更高版本;
在这里插入图片描述
3:如果你的vivado版本高于本工程vivado版本,解决如下:
在这里插入图片描述
打开工程后会发现IP都被锁住了,如下:
在这里插入图片描述
此时需要升级IP,操作如下:
在这里插入图片描述
在这里插入图片描述

FPGA型号不一致处理

如果你的FPGA型号与我的不一致,则需要更改FPGA型号,操作如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
更改FPGA型号后还需要升级IP,升级IP的方法前面已经讲述了;

其他注意事项

1:由于每个板子的DDR不一定完全一样,所以MIG IP需要根据你自己的原理图进行配置,甚至可以直接删掉我这里原工程的MIG并重新添加IP,重新配置;
2:根据你自己的原理图修改引脚约束,在xdc文件中修改即可;
3:纯FPGA移植到Zynq需要在工程中添加zynq软核;

8、上板调试验证

工程1的1024600输出单通道8bit LVDS屏输出演示,输出如下:
在这里插入图片描述
工程2的1920
1080输出双通道8bit LVDS屏输出演示,输出如下:
在这里插入图片描述

9、福利:工程代码的获取

福利:工程代码的获取
代码太大,无法邮箱发送,以某度网盘链接方式发送,
资料获取方式:私,或者文章末尾的V名片。
网盘资料如下:
在这里插入图片描述

源码技术支持加我微信哦
微信名片
注:本文转载自blog.csdn.net的9527华安的文章"https://blog.csdn.net/qq_41667729/article/details/134108098"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接
复制链接
相关推荐
发表评论
登录后才能发表评论和回复 注册

/ 登录

评论记录:

未查询到任何数据!
回复评论:

分类栏目

后端 (14832) 前端 (14280) 移动开发 (3760) 编程语言 (3851) Java (3904) Python (3298) 人工智能 (10119) AIGC (2810) 大数据 (3499) 数据库 (3945) 数据结构与算法 (3757) 音视频 (2669) 云原生 (3145) 云平台 (2965) 前沿技术 (2993) 开源 (2160) 小程序 (2860) 运维 (2533) 服务器 (2698) 操作系统 (2325) 硬件开发 (2492) 嵌入式 (2955) 微软技术 (2769) 软件工程 (2056) 测试 (2865) 网络空间安全 (2948) 网络与通信 (2797) 用户体验设计 (2592) 学习和成长 (2593) 搜索 (2744) 开发工具 (7108) 游戏 (2829) HarmonyOS (2935) 区块链 (2782) 数学 (3112) 3C硬件 (2759) 资讯 (2909) Android (4709) iOS (1850) 代码人生 (3043) 阅读 (2841)

热门文章

101
推荐
关于我们 隐私政策 免责声明 联系我们
Copyright © 2020-2025 蚁人论坛 (iYenn.com) All Rights Reserved.
Scroll to Top