分辨率 时钟频率 lane速率计算

PCLK: pixel clock(像素频率) 计算方法如下:
以1920x1080p/60hz为例,total pixel:2200,total line:1125,filed rate:60Hz,那么:PCLK = 2200*1125*60 = 148.5MHz;
1280x720p/60hz为例,total pixel:1650,total line:750,filed rate:60Hz,那么:PCLK = 1650*751*60 = 74.25MHz;
3840x2160p/60hz YCC444为例,total pixel:4400,total line:2250,filed rate:60Hz,那么:PCLK = 4400*2250*60 = 594MHz;

1920x1080p/60hz:total pixel:2200,total line:1125,filed rate:60Hz. PCLK = 2200 * 1125 * 60 = 148.5MHz;
148.5MHz X 3 =445.5Mhz
148.5MHz X 4 =594Mhz
148.5MHz X 5 =742.5Mhz
148.5MHz X 6 = 891Mhz

PS:分辨率的实际的宽度和高度的像素:

real width pixel:width/0.872727272727273 

real height pixel:height/0.96

比如:

1920*1080

real width pixel:1920/0.872727272727273 = 2200

real height pixel:1080/0.96 = 1125

举例:hdmi

HDMI TDMS

英文全称:H-High,D-Definition,M-Multimedia,I-Interface;高清晰度多媒体接口。

主要组成:4对TMDS差分对+DDC(I²C)+HPD+CEC

信号介绍:

a.4对TMDS差分信号:1对时钟+3对数据;

TMDS通道0传输B信号,同时H信号和V信号也嵌入该通道

TMDS通道1传输G信号

TMDS通道2传输R信号,R和G通道的多余位置用来传输音频信号

b.CEC:消费电子控制通道,通过这条通道可以控制设备(不过我们公司目前没有开发这功能)

c.DDC:就是I²C信号,主要是获取显示器的基本信息(比如EDID信息)

d.HPD:热插拔信号,该信号比较重要,当HPD引脚大于2V,TMDS才会输出。因此,如果屏幕没有显示,首先要测量该信号!!!

HDMI传输原理和DVI相同,由Silicon Image公司发明的TMDS(Time Minimized Differential Signal)最小化传输差分信号传输技术
每个数据通道都通过编码算法(异或、异或非等),将8位数据转换成10位数据,前8为数据由原始信号经运算后获得,第9位指示运算的方式,第10位用来对应直流平衡。通过这种算法,会使得数据的传输和恢复更加可靠。

HDMI

1.传输最小化

第一步:将8位并行RED数据发送到TMDS Tx。
第二步:并/串转换.
第三步:进行最小化传输处理,加上第9位,即编码过程。第9位数据称为编码位。

2、直流平衡(DC-balanced):在编码过程中,保证信道的直流偏移为零。方法是在原来的第9位数据后面加上1位,使得TMDS发送的“0”、“1”数量保持基本一致。这样,传输的数据趋于直流平衡,使信号对传输线的电磁干扰减少,提高信号传输的可靠性。

3、差分信号:利用两引脚间电压差来传送信号。

二 HDMI与分辨率

PCLK:像素时钟
以1920x1080p/60hz为例:1920108060=124.4MHz
以1280x720p/60hz为例:128072060=55.3MHz

带宽:1s内传输的数据量(bit)

4K频率需要的带宽:选最常用的3840x2160分辨率,色深的话常用的是8位,RGB三色就是24bit,目标是60Hz刷新率(60fps)→→→ 3840*2160*24bit*60fps=11.94Gbps

HDMI1.4像素时钟高达340MHz,即最大带宽是:
              →→→ 340MHz*10bit(10bit编码)*3(3个数据通道)=10.2Gbps

但是由于HDMI采用的是8bit/10bit编码方式,实际效率是理论值的80%,所以10.2Gbps能传输的最大视频带宽是10.2*0.8=8.1Gbps

HDMI 各个版本对比

HDMI type 类型

HDMI SINK 工作流程

例如像TV这种就是HDMI的接收端,那么HDMI接收端需要做些什么东西。

HDMI可以接收到的有三个通道的TMDS Data,TMDS Clock,可以设置Hotplug,还有DCC传输用的I2C引脚。上面已经讲了TMDS Data,与设置Hotplug,接下来分析TMDS Clock。

TMDS Clock 就是Pixel Clock,即一个像素点所用的时钟频率。TMDS Clock通过clk 引脚传输到接收端,但是接收端并不清楚发送端发过来的TMDS Clock 频率为多少,因此需要通过Phy(PHY是模拟数字转换部分,不同于ADC,PHY是不知道采样频率的,需要自己锁频、锁相,侦测确切的输入频率)来进行锁相得到。但是由于HDMI频宽太宽(480P@60Hz为25.2MHz,1080P@60Hz为162MHz,甚至还有高达340MHz的),一般VCO(压控振荡器,通过电压控制产生的频率)无法覆盖这么大的范围,因此需要分频带来设置Phy:

先侦测输入频率落在哪个频带,然后根据不同频带做不同设置。

用TV产生的晶振来数count,数得count后就知道TDMS Clock了

f crystal =count×f TMDS fcrystal=count×fTMDS f_{crystal} = {count}\times{f_{TMDS}} ??

或者用1024个TMDS Clock来数晶振个数

1024×f TMDS =count×f crystal 1024×fTMDS=count×fcrystal {1024}\times{f_{TMDS}} = {count}\times{f_{crystal}} ??

由于视频信号从RGB个8bit通过TMDS编码后变成了10bit,然后又串行化,所以实际用于接收TMDS Data所用的时钟应该为:

f ReceiveClock =10×f TMDS fReceiveClock=10×fTMDS f_{ReceiveClock} = {10}\times{f_{TMDS}}

另外ReceiveClock也可以不用直接采用上面的乘法,而是采用TMDSClock为参考、硬件锁相的方法来得到。

得到ReceiveClock后就可以去设置频率PLL,然后对三个通道进行采样得到TMDS Data。

Timming Detect

在Sink端还有需要进行Timming Detect,因为如果设备可以支持(如chroma),HDMI可以自由更换Timming,而当Timming更换了之后,Sink需要重新设定Phy。因此,通过侦测频率的改变来检测是否更换了Timing是必要的。一般会有一个中断服务(或循环)线程来侦测频率的改变,一旦频率改变后,该进程会通知重新设定Phy,保证HDMI的正确运行

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

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

相关文章

ATF(TF-A)安全通告TF-V11——恶意的SDEI SMC可能导致越界内存读取(CVE-2023-49100)

目录 一、ATF(TF-A)安全通告TFV-11 (CVE-2023-49100) 二、透过事务看本质SDEI是干啥的呢? 三、CVE-2023-49100 1、GICv2 systems 2、GICv3 systems 四、漏洞修复 一、ATF(TF-A)安全通告TFV-11 (CVE-2023-49100) Title 恶意的SDEI SMC可能导致越界内存读取&am…

Spring Security架构

文章目录 过滤器回顾DelegatingFilterProxyFilterChainProxySecurityFilterChainSecurity Filters打印Security Filters将自定义过滤器添加到过滤器链 Handling Security ExceptionsSaving Requests Between AuthenticationRequestCachePrevent the Request From Being Saved R…

《游戏-01_3D-开发》之—人物动画控制器

创建变量, 创建线, 连接, 选中线会变为蓝色,新增变量, 设置线, 双击子层进入子层, 创建变量, 双击SkillPanel 拖拽好之后返回上一层, 依次连接, 设置线&#…

[Tomcat] [从安装到关闭] MAC部署方式

安装Tomcat 官网下载:Apache Tomcat - Apache Tomcat 9 Software Downloads 配置Tomcat 1、输入cd空格,打开Tomca目录,把bin文件夹直接拖拉到终端 2、授权bin目录下的所有操作:终端输入[sudo chmod 755 *.sh],回车 …

【GitHub项目推荐--不错的 Go 学习项目】【转载】

开源实时性能分析平台 Pyroscope 是基于 Go 的开源实时性能分析平台,在源码中添加几行代码 pyroscope 就能帮你找出源代码中的性能问题和瓶颈、CPU 利用率过高的原因,调用树展示帮助你理解程序,支持 Go、Python、Ruby 语言。 Pyroscope 可以…

k8s的图形化工具---rancher

rancher是一个开源的企业级多集群的k8s管理平台。 rancher和k8s的区别:都是为了容器的调度和编排系统。但是rancher不仅可以调度还可以管理整个k8s集群。 rancher自带监控(普罗米修斯) 实验部署 master01 20.0.0.32 node01 20.0.0.34 node02 20.0.0.35 test …

【Java Kubernates】Java调用kubernates提交Yaml到SparkOperator

背景 目前查询框架使用的是trino,但是trino也有其局限性,需要准备一个备用的查询框架。考虑使用spark,spark operator也已经部署到k8s,现在需要定向提交spark sql到k8s的sparkoperator上,使用k8s资源执行sql。 对比 …

linux安装docker--更具官网教程

1.访问https://docs.docker.com/ 2.进入download 3输入cento 或者直接访问地址Install Docker Engine on CentOS | Docker Docs 4一步一步根据官网命令走 2安装 3 4 方式一: service docker start(开启) service docker status&#xff08…

使用PowerShell命令行,批量修改文件编码

目录 ■前言 ■PowerShell命令 ■效果 ■前言 今天统计修改代码量,使用工具时,发现有些代码无法统计。 原因时UTF-8中有某些特殊字符,工具不能识别。 但是,如果把代码转换为SJIS格式,就能正常统计了。 因此&…

听筒及麦克风电路时序分析

打电话的时候。当没有免提的时候,用的是mic1,麦克风1居然是在J7尾插座子上,所以要把手机的下面贴近嘴巴。mic1的信号给到音频编解码u21,u21通过i2s线给cpu, 然后给基带cpu,然后通过射频发射出去。当要听声音的时候,射频…

【数学建模】插值与拟合

文章目录 插值插值方法用Python解决插值问题 拟合最小二乘拟合数据拟合的Python实现 适用情况 处理由试验、测量得到的大量数据或一些过于复杂而不便于计算的函数表达式时,构造一个简单函数作为要考察数据或复杂函数的近似 定义 给定一组数据,需要确定满…

【软件测试】学习笔记-性能测试场景的分类

性能测试场景的重要程度类似于业务测试的 case,case 是你进行业务测试的指引,case 是否完善也直接决定了测试的覆盖率。同理,场景是传递执行性能测试的步骤和目的,关于这两点是你一定要清楚的。 首先认识下最重要的三个性能场景&…

Java项目:12 Springboot的垃圾回收管理系统

作者主页:舒克日记 简介:Java领域优质创作者、Java项目、学习资料、技术互助 文中获取源码 1.介绍 垃圾分类查询管理系统,对不懂的垃圾进行查询进行分类并可以预约上门回收垃圾。 让用户自己分类垃圾, 按国家标准自己分类&#x…

解读IP风险画像标签:深度洞察网络安全

在当今数字化的世界中,网络安全成为企业和个人关注的焦点。IP风险画像标签作为网络安全的利器,扮演着深度洞察网络风险的角色。本文将深入解读IP风险画像标签,揭示其在网络安全领域的重要性和功能。 1. IP风险画像标签是什么? I…

Jmeter-解析返回参数-解析并操作json

工作中经常会遇到JSON字符串,接口的入参和返回参数也多数是JSON格式,自动化项目中常需要写脚本处理返回结果,本文总结java或jmeter的beanshell脚本中对于json的常用操作 json字符串的格式 简单的JSON字符串:{“key”:“value”,“…

【服务器数据恢复】EqualLogic存储磁盘坏道导致存储不可用的数据恢复案例

服务器数据恢复环境&故障: 某公司IT部门一台某品牌EqualLogic PS6100系列存储在运行过程中突然崩溃。 服务器管理员对故障服务器存储进行初步检查,经过检测发现导致该服务器存储无法正常工作的原因是该存储中raid5磁盘阵列内有2块硬盘出现故障离线&a…

数字图像处理(实践篇)二十七 Python-OpenCV 滑动条的使用

目录 1 涉及的函数 2 实践 1 涉及的函数 ⒈ setWindowProperty()用于设置GUI应用程序的属性 cv2.setWindowProperty(windowsName, prop_id, prop_value) 参数: ①

UI 自动化测试框架:PO 模式+数据驱动

1. PO 设计模式简介 什么是 PO 模式? PO(PageObject)设计模式将某个页面的所有元素对象定位和对元素对象的操作封装成一个 Page 类,并以页面为单位来写测试用例,实现页面对象和测试用例的分离。 PO 模式的设计思想与…

Nodejs--Linux环境安装及配置

一、下载安装包 (1)通过命令uname -a 查看Linux系统版本。 (2)打开官网下载地址: https://www.nodejs.com.cn/ 选择对应的版本下载安装包。 (3)将下载好的安装包传到Linux对应目录进行解压。…

想要透明拼接屏展现更加效果,视频源是技术活,尤其作为直播背景

随着科技的飞速发展,视频制作和显示技术也在不断进步。透明拼接屏视频作为一种新型的视频形式,在许多场合都得到了广泛的应用。尼伽小编将深入探讨透明拼接屏视频的制作过程、要求、清晰度,以及目前常作为直播背景的优势。 一、透明拼接屏视频…