display timing值的计算与修改

这篇具有很好参考价值的文章主要介绍了display timing值的计算与修改。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、值的意义

下面是一组参考的timing设置:

/ {
	fragment {
		target-path = "/";
		__overlay__ {
			lcds {
				xxxxxx: xxxxxx { // 这里的xx表示LCD节点名,必须和kernel中的lcd DTS节点名称保持一致,
				// 否则kernel无法匹配到正确的LCD驱动

					qcom,dsi-work-mode = <1>; /* burst mode */ // lcd 传输图像采用DSI模式,后面的数值表示支持和的模式
					//qcom,dsi-work-mode = <2>; /* sync pulse mode */
					//qcom,dsi-work-mode = <3>; /* sync event mode */
					qcom,dsi-lane-number = <4>; // LCD在接收video数据传输时的data lane总条数
					qcom,dsi-color-format = "rgb888"; // 配置bpp的位数,当前是24位
					qcom,dpi-clk-div = <6>;  // LCD分频系数

					qcom,phy-bit-clock = <1188000>;	/* kbps */ // high speed模式下数据传输时,clock lane的传输速率,即物理时钟
					qcom,phy-escape-clock = <20000>;/* kHz */ // low power模式下数据传输的速率

					qcom,power-gpio-delay = <20>;/* ms */
					qcom,video-lp-cmd-enable = <1>; // 采用6分频模式下面两个必须要添加
					qcom,hporch-lp-disable = <1>;

					qcom,width-mm = <68>;
					qcom,height-mm = <152>;

					qcom,esd-check-enable = <0>;
					qcom,esd-check-mode = <0>;
					qcom,esd-check-period = <2000>;
					qcom,esd-check-regs = <0xA>;
					qcom,esd-return-code = <0x9c>;

					qcom,reset-on-sequence = <1 5>, <0 5>, <1 20>;
					qcom,reset-off-sequence = <0 5>;

					qcom,use-dcs-write;
					qcom,initial-command = [
						];

					qcom,sleep-in-command = [
						];

					qcom,sleep-out-command = [
						];

					display-timings {
						native-mode = <&xxxxxx>;

						xxxxxx: timing0 {
							clock-frequency = <198000000>; // pixel clock,单位Hz
							hactive = <1920>;
							vactive = <2880>;
							hback-porch = <80>;
							hfront-porch = <120>;
							vback-porch = <56>;
							vfront-porch = <40>;
							hsync-len = <80>;
							vsync-len = <24>;
						};
					};
				};
			};
		};
	};
};

这里面主要有几个值需要注意:像素之中pixel clock,也就是timing中的clock-frequency,该值是通过下面h和v开头的参数计算出来的,hactive、vactive这些参数可以通过屏的参考手册找到。通常适配一款屏幕这些参数需要做相应的调整。

二、计算公式

2.1 像素时钟计算

pixel-clock = h * v * fps
按照上面给出的参数做如下计算:
h = hactive + hback-porch + hfront-porch + hsync-len = 1920 + 80 + 120 + 80 = 2200
v = vactive + vbach-porch + vfront-porch + vsync-len = 2880 + 56 + 40 + 24 = 3000
fps假设是30帧,则计算如下:
pixel-clock = 2200 * 3000 * 30 = 198 000 000(Hz)

2.2 物理时钟

通过像素时钟计算出前面的phy-bit-clock,这里计算出来的是每一lane的传输速率应该是多少
phy-bit-clock = 位时钟 / MIPI lane数
位时钟 = pixel-clock * 每像素位数
前面的配置可以看到每像素的配置是RGB888,也就是24位,因此这里计算如下:
位时钟 = 198 000 000 * 24 = 4752 000 000;
phy-bit-clock = 4752 000 000 / 4 = 1188 000 000(Hz) = 1188 000(Kbps)

三、多屏扩展

如果外部同时支持多个屏幕,如两个屏幕,此时h和v的那些参数不能直接按照屏的手册来填写,而需要考虑两个屏幕在输出的时候是如何进行拼接的, 假设是两个1920 x 720分辨率的屏幕,有如下两种拼接方式:
像素时钟计算,display,android,音视频
从SOC中给出图片数据的时候可以横向拼接也可以纵向拼接,如果横向拼接则所有h相关的参数都应该*2,如果是纵向拼接则所有v相关的参数都要*2。
例:
屏给的参考hback-porch是40,则横向拼接的时候就需要改成80,纵向拼接不需要修改该参数,vback-porch是28则纵向拼接需要改成56,横向拼接不需要修改该参数文章来源地址https://www.toymoban.com/news/detail-679442.html

到了这里,关于display timing值的计算与修改的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Qt音视频开发37-识别鼠标按下像素坐标

    在和视频交互过程中,用户一般需要在显示视频的通道上点击对应的区域,弹出对应的操作按钮,将当前点击的区域或者绘制的多边形区域坐标或者坐标点集合,发送出去,通知其他设备进行处理。比如识别到很多人脸,用户单击某个人脸后指定对该人脸进行详细的信息查询

    2023年04月16日
    浏览(47)
  • Qt/C++音视频开发37-识别鼠标按下像素坐标

    在和视频交互过程中,用户一般需要在显示视频的通道上点击对应的区域,弹出对应的操作按钮,将当前点击的区域或者绘制的多边形区域坐标或者坐标点集合,发送出去,通知其他设备进行处理。比如识别到很多人脸,用户单击某个人脸后指定对该人脸进行详细的信息查询

    2024年02月11日
    浏览(48)
  • 音视频——码率、帧率越高越清晰?分辨率、像素、dpi的关系

    本期我介绍一下视频的一些基础概念,如帧率、码率、分辨率、像素、dpi、视频帧、I帧、P帧、gop等。我i初步学习音视频,给这些专业词汇进行扫盲 会解释多少码率是清晰的,是否帧率越高越流畅等问题。 这些概念是比较杂乱的,我们按这样的顺序介绍: 1、单个视频帧的概

    2024年02月13日
    浏览(54)
  • 【时钟】分布式时钟HLC|Logical Time|Vector Clock|True Time

    目录 简略 详细 附录 1 分布式系统不能使用NTP的原因 分布式系统中不同于单机系统不能使用NTP(网络时间协议(Network Time Protocol))来获取时间,所以我们需要一个特别的方式来获取分布式系统中的时间,mvcc也是使用time保证读写相互不影响 Logical Time       使用 接收到的消息

    2024年02月03日
    浏览(32)
  • android display 杂谈(三)WMS

    用来记录学习wms,后续会一点一点更新。。。。。。 代码:android14 WMS是在SystemServer进程中启动的 在SystemServer中的main方法中,调用run方法。 android14中,在startOtherServices中启动WindowManagerService 该代码执行了WMS的main方法,会在内部创建一个WMS。其中有一个参数inputManager也是在

    2024年02月05日
    浏览(42)
  • Android Display架构分析,黑屏,系统架构

    (642条消息) Android Display架构分析_lin-0410的博客-CSDN博客 (644条消息) Android系统架构_橙子19911016的博客-CSDN博客 1 Android 系统架构 Android 是谷歌开发的一款基于 Linux 内核的操作系统。系统架构分为五层,从下到上依次是Linux内核层、硬件抽象层、系统运行库层、应用框架层和应用

    2023年04月26日
    浏览(43)
  • OpenCV 入门教程:像素访问和修改

    在图像处理和计算机视觉领域,像素级操作是非常重要和常见的任务之一。通过像素访问和修改,我们可以直接操作图像的像素值,实现各种图像处理和分析操作。在本文中,我们将以像素访问和修改为中心,为你介绍使用 OpenCV 进行像素级操作的基本步骤和实例。 😃😄 ❤

    2024年02月13日
    浏览(58)
  • C#图像处理-使用OpenCVSharp读取或修改图像像素值

    图像处理是计算机视觉领域的重要应用之一,而OpenCV是一个强大且广泛使用的开源计算机视觉库。在C#中,我们可以通过OpenCVSharp库来实现图像处理的各种功能,包括读取和修改图像像素值。本文将介绍如何使用OpenCVSharp来读取和修改图像像素值,并提供相应的源代码。 首先,

    2024年04月28日
    浏览(82)
  • WebRTC音视频通话-新增或修改SDP中的码率Bitrate限制

    WebRTC音视频通话-新增或修改SDP中的码率Bitrate限制参数 之前搭建ossrs服务,可以查看:https://blog.csdn.net/gloryFlow/article/details/132257196 之前实现iOS端调用ossrs音视频通话,可以查看:https://blog.csdn.net/gloryFlow/article/details/132262724 之前WebRTC音视频通话高分辨率不显示画面问题,可以查

    2024年02月13日
    浏览(46)
  • RTC time和Local time区别以及Linux 设置时区和修改时间

    以上修改的是系统时间,由操作系统控制。 还有一个硬件时间。使用hwclock --systohc可以将系统时间同步到硬件时间。 整个地球分为二十四时区,每个时区都有自己的本地时间。在国际无线电通信场合,为了统一起见,使用一个统一的时间,称为通用协调时(UTC, Universal Time Co

    2024年02月12日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包