GS2972(3G-SDI)视频输出驱动调试

news2025/4/4 9:39:30

GS2972视频输出调试

  • GS2972的硬件初始化
  • GS2972的驱动时序
  • GS2972的驱动RTL代码
  • GS2972输出彩条
  • GS2972驱动易出bug

GS2972的硬件初始化

GS2972是HD-SDI/3G-SDI视频、音频串化器。其使用非常简单,但是要想把该芯片驱动起来,真心不容易。需要了解相关视频标准、传输标准、显示标准,协议较多,版本较多,彻底了解并非一件简单的事情。笔者经过大量阅读,将驱动GS2972过程总结如下。后续,作者会陆续记录视频相关标准的学习。

GS2972的使用简单地说就是FPGA向GS2972写入行同步、场同步、数据使能,并根据SMPTE292标准写入数据流即可。对就这么简单,说起来容易,可是真正要操作起来,并非简单事情。

GS2972初始化为SMPTE模式,在SMPTE模式下芯片有两种视频数据组织形式,一种是芯片根据所给的视频数据自动检测并生成行场同步信号,还有一种是需要将写好的行场同步信号传给芯片。当DETECT_TRS位为高电平时,芯片从视频数据中检测生成行同步信号,场同步信号和数据使能信号。当DETECT_TRS位为低电平时需要通过H/H_SYNC、V/V_SYNC、F/DE管脚给芯片提供这三个信号。

我们本次使用20bit非复用模式。硬件引脚上下拉如下图所示(下表第一行)
在这里插入图片描述
DETECT_TRS信号和TIM_861信号,笔者经过阅读数据手册,总结如下:
在这里插入图片描述
本次视频传输,我们使用CEA-861时序驱动VSYNC 、SYNC 、DE信号控制显示器显示,输出1920*1080@50Hz视频信号。

GS2972的驱动时序

在这里插入图片描述
读者需要对这个时序彻底理解,脑子里必须有下面这幅图,否则,是理解不了上述时序的。
在这里插入图片描述
1.结合上下时序图可知,line1-line41为场消隐,line1122-line1125为场消隐,共45行场消隐。
2.在消隐期间data_enable为低,在有效像素期间,data_enalbe为高。
3.此处的行场同步并非,我理解的在行同步时,行同步拉高,在场同步时场同步拉高。而是拉高固定的时钟周期。

GS2972的驱动RTL代码

在这里插入图片描述

GS2972输出彩条

在输出彩条时需要将RGB888信号转换为YUV信号,输出4:2:2视频格式。转换有xilinx的IP也可以自己书写代码。
xilinx IP:RGB to YCbCr color space
自己写转换代码如下:
在这里插入图片描述

GS2972驱动易出bug

  1. 笔者在第一次驱动GS2972时,一开始搞不懂CEA-861驱动时序,折腾了好几天,最后阅读大量文章后才理解了。
  2. 写错驱动时序后,由于SDI是YUV视频格式,笔者直接将相机进来的视频Y=3’hff,Cb=3’b000,Cr=3’b000,显示满屏绿色。抓取了cea-861时序,确认与我书写时序一致,增加rgb2ycbcr转换模块。
  3. 笔者第一次写的rgb2ycbcr代码如下。
    assign img_y = de ? img_y1 : 8’d0;
    assign img_cb = de ? img_cb : 8’d0;
    assign img_cr = de ? img_cr : 8’d0;
    结果输出彩条闪一下就黑屏了。最后改为下面代码正常。
    assign img_y = img_y1 ;
    assign img_cb = img_cb ;
    assign img_cr = img_cr ;
    由此可以断定,无论是否数据有效,不能随意给YCbCr数据。正确的波形如下。
    在这里插入图片描述
    由此可以看到,在DE为低电平期间,YCbCr数据也不能随意给,笔者在DE为低电平期间给0,结果输出彩条时有时无。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/611652.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何打造微信私域?

现如今,微信已经从社交通讯软件,慢慢被默认为常规办公软件,工作沟通、业务洽谈、网络会议等都在微信上进行,完全变成职场首选的社交工具。 然而,由于微信平台的限制,很多企业在微信私域营销方面遇到了很多…

2023年最佳AI文案神器Top 8

无论你是否准备好,它们都已经来了。如果你知道如何使用它们,AI文案工具可以成为你的新朋友。 现在AI文案工具无处不在,眼花缭乱,从内容生成器到电子商务聊天机器人。原因很简单:AI可以节省大量时间和金钱。这是我们都喜…

2018 年一月联考逻辑真题

2018 年一月联考逻辑真题 三、逻辑推理:第 26-55 小题,每小题 2 分,共 60 分。下列每題给出的A.、 B.、C.、D.五个选项中,只有一项是符合试题要求的。请在答题卡上将所选项的字母涂黑。 真题(2018-26)-翻译…

5年软件测试工程师工作感悟,谁还能“点点点”一辈子呢?

经常都有人问我软件测试前景怎么样,每年也都帮助很多朋友做职业分析和学习规划,也很欣慰能够通过自己的努力帮到一些人进入到大厂。 2023年软件测试行业的发展现状以及未来的前景趋势 最近很多测试人在找工作的时候,明显的会发现功能测试很…

JAVA开发(神乎其神的区块链技术之数据上链)

这是我第二遍写关于区块链的博文,前一篇文章《神乎其神的区块链概念和技术》主要介绍区块链的由来和基本概念。因为博主最近在做一个区块链项目,所以有时候也遇到一些概念性的知识需要去理解,比如数据的上链。谈到数据上链,我们先…

【Linux】Nginx 优化与防盗链

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 Nginx 优化与防盗链 一、隐藏版本号方法一:修改配置文件方式方法二:修改源码文件,重新编译安装 二、修改用户与组三、缓存时间四、日志切割…

前端自动化测试基础概念与方案

测试的类型 常见的测试类型主要有以下几种: 单元测试:验证独立单元是否能正常工作集成测试:验证多个单元协同工作端到端测试:从用户角度以机器的方式在真实浏览器环境验证应用交互快照测试:验证程序的UI变化 单元测…

Bert+FGSM中文文本分类

我上一篇博客已经分别用BertFGSM和BertPGD实现了中文文本分类,这篇文章与我上一篇文章BertFGSM/PGD实现中文文本分类(Loss0.5L10.5L2)_Dr.sky_的博客-CSDN博客的不同之处在于主要在对抗训练函数和embedding添加扰动部分、模型定义部分、Loss函数传到部分…

消费全返系统开发模式,是一种怎样的营销工具?

消费返利其实就是通过将消费者的部分或全部消费金额折返的方式,来刺激消费者二次乃至多次购买,返利形式则多种多样,包括现金、礼品卡和奖励积分等。这种模式已经在市场上广泛应用,几乎所有行业包括零售、旅游和餐饮等都在用这种模…

第十三届山东省ICPC D题负重越野(贪心)

题目: Problem D. 负重越野 您正在参加一场团体越野比赛。您的队伍共有 n 名队员,其中第 i 名队员的速度为 vi,体重为 wi。 比赛允许每名队员独立行动,也允许一名队员背着另一名队员一起行动。当队员 i 背着队员 j 时&#xff0c…

【Java】一文搞懂生产者和消费者模型

阻塞队列的概念生产者消费者模式消息队列消息队列的作用 JDK中的阻塞队列实现阻塞队列实现生产者消费者模型 阻塞队列的概念 之前介绍过队列,是一种数据结构,先进先出FIFO。阻塞队列也满足队列的特性,不过有特殊之处: 入队元素时…

用好ChatGPT,还得加点“料”

前言 关于ChatGPT或者类似的产品,相信绝大数的小伙伴已经有自己资源进行使用了,虽然可以通过简单的对话方式能获取到相关的信息,但其实里面还是有一些讲究的,毕竟AI始终不是人类,要让它更好的理解我们组织的语言&…

使用Transformer模型进行计算机视觉任务的端对端对象检测

Transformer模型是google团队在2017在论文attention is all you need中提出的一个用于NLP领域的模型,但是随着VIT模型与Swin Transformer模型的发布,把Transformer模型成功应用到计算机视觉任务中。 上期图文,我们使用hugging face的transformers模型进行了VIT模型的对象分…

Nginx:Rewrite

Nginx:Rewrite 一、常用的Nginx 正则表达式二、location2.1 location 大致可以分为三类2.2 location 常用的匹配规则2.3 location 优先级2.4 实际网站使用中,至少有三个匹配规则定义 三、rewrite3.1 rewrite功能3.2 rewrite跳转实现3.3 rewrite 执行顺序…

【大作业之爬虫实战+数据分析与可视化处理上】——案例——如桃花来

目的任务: 目的任务 爬取租房网对应元素: 租房名 每月的价格 室内规格构造 房间大小 交通信息 保存数据到excel表格中 做数据清洗 数据可视化呈现 设计要求: 设计要求: 以类的方式书写,简洁明了。能够促进学生…

技术分享 | App常见bug解析

【摘要】 功能Bug内容显示错误前端页面展示的内容有误。这种错误的产生有两种可能1、前端代码写的文案错误2、接口返回值错误功能错误功能错误是在测试过程中最常见的类型之一,也就是产品的功能没有实现。比如图中的公众号登录不成功的问题。界面展示错乱产品界面上…

海睿思分享 | 摆脱数据质量低下困扰,这个方法简单有效!

2019年五月,某企业数据服务平台推送了运营花呗的蚂蚁小微小额贷款有限公司进入清算程序。 究其原因,该数据服务平台抓取了不真实且不完整的数据,导致生成的数据质量低,信息不真实、存在法律合规风险等情况。 由于支付宝和花呗的…

飞浆AI studio人工智能课程学习(4)-优质Prompt分享

文章目录 最具商业价值Prompt分享与颁奖02最具商业价值Prompt分享与颁奖-Top102最具商业价值Prompt分享与颁奖-Top202最具商业价值Prompt分享与颁奖-Top302最具商业价值Prompt分享与颁奖-Top402最具商业价值Prompt分享与颁奖-Top502最具商业价值Prompt分享与颁奖-Top602最具商业…

数字化艺术时代的新趋势:虚拟数字展厅的崛起

引言: 艺术与技术的融合正带领我们进入一个全新的数字化艺术时代。在这个时代中,虚拟数字展厅正在以惊人的速度崛起,并引领着展览的新趋势。 一.虚拟数字展厅的定义和特点 虚拟数字展厅是一种基于虚拟现实和全景技术的数字化艺术…

经典的设计模式——UML类图的一些规范

文章目录 一、类的表示二、接口的表示三、继承的表示四、接口实现的表示五、关联关系六、聚合关系七、合成关系八、依赖关系 一、类的表示 矩形框第一层表示名称,如果是抽象类,则用斜 体表示 第二层是属性 第三层是方法 号表示公有,-表示私有…