Monitor方案MT9800学习笔记(三) —— 点屏(V-by-One信号接口)

点屏

  • 1. 硬件准备
    • 1.1 屏
    • 1.2 屏线
    • 1.3 背光接口
  • 2. 软件配置
    • 2.1 新增屏驱
    • 2.2 屏参配置
    • 2.3 点屏
  • 3. LVDS信号接口点屏介绍

1. 硬件准备

1.1 屏

点屏前,要先确认其参数和功能,再选择匹配的主板。
这里以 Innolux 的 M280DGJ-L30 作为例子说明,先来看下规格参数
(实际以规格书为准)

在这里插入图片描述

想要将其点亮,主板需要符合其特性。
如“分辨率”、“工作频率”、“信号接口”和“驱屏电压”
主板VP98B91刚好符合,理论上可以将其正常驱动起来。

能正常驱动,距离“点亮”还有关键的一步“亮”。
一般情况,驱动一些功率不是特别高的背光系统,使用主板的背光电路驱动即可。

查看是否符合屏的“背光特征”
在这里插入图片描述

4串灯管,电流150mA,电压38V,最大功率没有超过当前主板背光功率规格,可以使用。

到这里,屏和主板就确定好了。


1.2 屏线

屏线作为二者之间信号传输的桥梁,同样需要与二者相匹配。
屏线需要符合屏的 “信号接口”:V-by-One 8 lane , 51 pins 端子

V-by-One简介

参考当前 主板规格书屏规格书,按照实际接口定义准备一条适配的屏线即可。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述


1.3 背光接口

确定主板背光接口的座子是否匹配

在这里插入图片描述
在这里插入图片描述


2. 软件配置

2.1 新增屏驱

参考现有屏驱PanelCMI28UltraHD,新建一个适配M280DGJ-L30的驱动配置

在这里插入图片描述

在这里插入图片描述

屏驱动参数文件:PanelNL_M280DGJ-L30.h
在这里插入图片描述


2.2 屏参配置

参考屏规格书,修改屏参数
在这里插入图片描述

#define PanelNumber         1800                //No use
#define PanelName           "INL M280DGJ L30"   //给Panel定义一个名字
#define PanelDither         10      //抖色,参考规格书
#define DITHER_COEFF        0x2D    //抖动系数,无参考,按照默认值填写
#define DITHER_METHOD       0x42    //抖动参数,无参考,按照默认值填写

在这里插入图片描述


//屏类型选择,以前旧的定义
#define PanelTTL            0
#define PanelTCON           0
#define PanelLVDS           0
#define PanelRSDS           0
#define PanelminiLVDS       0

#define ShortLineCheck      0       //No use
#define LVDS_TIMode         0       //选择数据格式(0: JEIDA标准, 0xff: VESA标准)
#define PanelDualPort       0xff    //LVDS通道设置(0: 单端口,0xff: 双端口)
//屏类型选择,新的定义
#define PANEL_TTL               0

#define PANEL_LVDS_1CH          0
#define PANEL_LVDS_2CH          0
#define PANEL_LVDS_4CH          0
#define PANEL_LVDS_8CH          0

#define PANEL_VBY1_1CH_8Bit     0
#define PANEL_VBY1_1CH_10Bit    0
#define PANEL_VBY1_2CH_8Bit     0
#define PANEL_VBY1_2CH_10Bit    0
#define PANEL_VBY1_4CH_8Bit     0
#define PANEL_VBY1_4CH_10Bit    0
#define PANEL_VBY1_8CH_8Bit     0
#define PANEL_VBY1_8CH_10Bit    1//根据规格书选择,当前配置1,其它(TTL,LVDS,EDP)默认配0
#define PANEL_VBY1()       ((PANEL_VBY1_1CH_8Bit)  ||  \
                            (PANEL_VBY1_1CH_10Bit) ||  \
                            (PANEL_VBY1_2CH_8Bit)  ||  \
                            (PANEL_VBY1_2CH_10Bit) ||  \
                            (PANEL_VBY1_4CH_8Bit)  ||  \
                            (PANEL_VBY1_4CH_10Bit) ||  \
                            (PANEL_VBY1_8CH_8Bit)  ||  \
                            (PANEL_VBY1_8CH_10Bit) )

#define PANEL_EDP               0

在这里插入图片描述


//面板输出格式
#define PANEL_OUTPUT_FMT_LR     0   //面板是否输出2个画面
#define PANEL_OUTPUT_FMT_4B     0   //面板是否输出4个画面

#define PanelSwapPort     0 //端口交换
#define PanelSwapOddML    0 //高低位奇极交换
#define PanelSwapEvenML   0 //高低位偶极交换
#define PanelSwapOddRB    0 //红蓝奇极交换
#define PanelSwapEvenRB   0 //红蓝偶极交换
#define PanelSwapMLSB     0 //高低位交换

在这里插入图片描述


//屏的时钟和极性, No use
#define PanelDClkDelay    8
#define PanelInvDE        0
#define PanelInvDClk      0
#define PanelInvHSync     0
#define PanelInvVSync     0
#define PANEL_SWAP_PN      		0xFF //PN信号交换
#define PANEL_SWAP_PN_LOCKN     0    //LOCKN信号交换

// 8 Lane的数据通道配置,顺序要匹配才能正常显示,否则数据不连贯,画面模糊
#define LVDS_CH_A_SWAP      LVDS_CH_A
#define LVDS_CH_B_SWAP      LVDS_CH_C
#define LVDS_CH_C_SWAP      LVDS_CH_B
#define LVDS_CH_D_SWAP      LVDS_CH_D
#define LVDS_CH_E_SWAP      LVDS_CH_E
#define LVDS_CH_F_SWAP      LVDS_CH_G
#define LVDS_CH_G_SWAP      LVDS_CH_F
#define LVDS_CH_H_SWAP      LVDS_CH_H

在这里插入图片描述


#define VBY1_SWPATH         //V-by-One默认定义
// 屏电流配置, No use
// driving current setting 0==>4mA, 1==>6mA, 2==>8mA ,3==>12mA
#define PanelDCLKCurrent        1 // Dclk current
#define PanelDECurrent          1 // DE signal current
#define PanelOddDataCurrent     1 // Odd data current
#define PanelEvenDataCurrent    1 // Even data current
// 开关机时序
#define PanelOnTiming0          2	// No use
#define PanelOnTiming1          150	// 通电时, 面板与数据之间的延时时间
#define PanelOnTiming2          500	// 通电时, 数据与背光之间的延时时间
#define PanelOffTiming1         120 // 断电时, 背光和数据之间的延时时间
#define PanelOffTiming2         40	// 断电时, 数据与面板之间的延时时间
#define PanelOffTiming0         0	// No use

在这里插入图片描述


// 信号输入时序配置
#define PanelHSyncWidth         20  //行同步信号的宽
#define PanelHSyncBackPorch     40  //行同步信号的后沿部分
#define PanelVSyncWidth         3   //场同步信号的宽
#define PanelVSyncBackPorch     30  //场同步信号的后沿部分

#define PanelHStart         (PanelHSyncWidth+PanelHSyncBackPorch) //行有效信号的起始位置
#define PanelVStart         (PanelVSyncWidth+PanelVSyncBackPorch) //场有效信号的起始位置

#define PanelWidth          3840    //分辨率,宽像素,(480x8=3840)
#define PanelHeight         2160    //分辨率,高像素

#define PanelHTotal         4400    //一行总数据,(550x8=4400)
#define PanelVTotal         2250    //一帧总行数

#define PanelMaxHTotal      4560    //HTotal最大值,(570x8=4560)
#define PanelMinHTotal      4240    //HTotal最小值,(530x8=4240)

#define PanelMaxVTotal      2790    //VTotal最大值
#define PanelMinVTotal      2200    //VTotal最小值

#define PanelDCLK           594     //时钟,(74.25x8=594)
#define PanelMaxDCLK        (80*8)  //最大时钟,(80x8)
#define PanelMinDCLK        (70*8)  //最小时钟,(70x8)

#define HV_OUTPUT_TYPE      HSRM_B  //No use

#define PanelVfreq          (600)    //默认场频率60Hz
#define PanelMaxVfreq       (600+25) //最高场频率62.5Hz
#define PanelMinVfreq       (600-25) //最低场频率57.5Hz

在这里插入图片描述


2.3 点屏

重新编译新添加的M280DGJ-L30驱动参数文件,按照 笔记(一) 的方式烧录好,提供一个 HDMI 或者 DP 信号,一般情况之下都可以正常显示画面。

  • 如果是画面一片漆黑,先确定背光是否亮了,再去排除硬件问题,最后再来看软件。
  • 如果是画面显示异常,需要根据现象调整屏参。

3. LVDS信号接口点屏介绍

Mstar的Monitor方案笔记(三)——点LVDS接口液晶屏

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

MybatisPlus <= 3.5.3.1 TenantPlugin 组件 存在 sql 注入漏洞(CVE-2023-25330)

漏洞描述 MyBatis-Plus TenantPlugin 是 MyBatis-Plus 的一个为多租户场景而设计的插件,可以在 SQL 中自动添加租户 ID 来实现数据隔离功能。 MyBatis-Plus TenantPlugin 3.5.3.1及之前版本由于 TenantHandler#getTenantId 方法在构造 SQL 表达式时默认情况下未对…

测试:腾讯云轻量4核8G12M服务器CPU流量带宽系统盘

腾讯云轻量4核8G12M应用服务器带宽,12M公网带宽下载速度峰值可达1536KB/秒,折合1.5M/s,每月2000GB月流量,折合每天66GB,系统盘为180GB SSD盘,地域节点可选上海、广州或北京,4核8G服务器网来详细…

pytorch进阶学习(三):在数据集数量不够时如何进行数据增强

对图片数据增强,可以对图片实现: 1. 尺寸放大缩小 2. 旋转(任意角度,如45,90,180,270) 3. 翻转(水平翻转,垂直翻转) 4. 明亮度改变(变…

花30分钟,我用ChatGPT写了一篇2000字文章(内附实操过程)

有了ChatGPT之后,于我来说,有两个十分明显的变化: 1. 人变的更懒 因为生活、工作中遇到大大小小的事情,都可以直接找ChatGPT来寻求答案。 2. 工作产出量更大 之前花一天,甚至更久才能写一篇原创内容,现…

【LeetCode】剑指 Offer 49. 丑数 p240 -- Java Version

题目链接:https://leetcode.cn/problems/chou-shu-lcof/ 1. 题目介绍(49. 丑数) 我们把只包含质因子 2、3 和 5 的数称作丑数(Ugly Number)。求按从小到大的顺序的第 n 个丑数。 质因数:质因子&#xff08…

JavaScript 基础入门速成上篇

JavaScript 嵌入页面的方式 1. 行间事件 <button onclick"alert(点击按钮)">按钮</button> 2. script标签 <script type"text/javascript">console.log(Hello javascript !) </script> 3. 外部引入 <script type"t…

IO流复习

目录字符集git pull origin master --allow-unrelated-historiesCTRL ALT T进行整块代码的操作&#xff08;会出现一个选项栏&#xff09;字符集的编码和解码操作IO流字节输入流和字节输出流文件拷贝资源释放的方式字符输入流和字符输出流缓冲流字节缓冲流的性能分析字符缓冲流…

算法题:图的表示形式与遍历框架

图的基本概念 在数据结构和算法上&#xff0c;图的数据表示一般使用邻接表和邻接矩阵的形式。 比如&#xff1a; 邻接表和邻接矩阵存储如下。邻接表是用vector[vector[i]] 存储每个节点指向的节点&#xff0c;邻接矩阵是用一个二维矩阵matrix[i][j]表示&#xff0c;如果第数据…

小米手机root后过软件检测

工具&#xff1a; https://wwp.lanzouf.com/b0cybm3ib 密码: 9hn8 视频讲解&#xff1a;隐藏root终极教程&#xff08;2022年&#xff09; 演示机型&#xff1a;小米10&#xff0c;安卓14&#xff0c;MIUI14.0.2 问题描述 安装magisk后使用病毒扫描发现支付环…

Flink (十) --------- 容错机制

目录一、 检查点&#xff08;Checkpoint&#xff09;1. 检查点的保存2. 从检查点恢复状态3. 检查点算法4. 检查点配置5. 保存点&#xff08;Savepoint&#xff09;二、状态一致性1. 一致性的概念和级别2. 端到端的状态一致性三、端到端精确一次&#xff08;end-to-end exactly-…

ActiveMQ使用(二):在JavaScript中使用mqtt.js

ActiveMQ使用(二):在JavaScript中使用mqtt.js 1. 环境准备 jQuery-1.10 下载地址:https://www.jsdelivr.com/package/npm/jquery-1.10.2?tabfilesmqtt.js 4.3.7: 下载地址:https://www.jsdelivr.com/package/npm/mqtt 2. 相关代码 <!DOCTYPE html> <html lang&q…

和开振学Spring boot 3.0之Spring MVC:④获取参数(上)

之前&#xff0c;我反复说过处理器封装了控制器&#xff0c;HandlerMapping的机制找到处理器后&#xff0c;通过处理器就能运行控制器&#xff0c;那么处理器增强了控制器什么功能呢&#xff1f; 我们用脑子想一下&#xff0c;要运行控制器之前&#xff0c;我们需要做什么&…

《Java8实战》第1章 Java 8、9、10 以及 11 的变化

如想了解 Oracle 公司对 JDK 的最新支持情况&#xff0c;请访问https://www.oracle.com/technetwork/java/java-se-supportroadmap.html。所有的示例代码均可见于图灵社区本书主页 http://ituring.com.cn/book/2659“随书下载”处。 1.1 为什么要关心 Java 的变化 Java8做的…

小程序的组件化开发

目录&#xff1a; 1 小程序组件化思想 2 自定义组件的过程 3 组件样式实现细节 4 组件使用过程通信 5 组件插槽定义使用 6 Component构造器 在小程序里面需要创建组件的话需要在最外层建component包&#xff0c;然后在使用新建component来创建类似page的4个文件&#xff…

Spark 简介与原理

目录标题1 Spark 简介与原理1.1 Spark与Hadoop的区别1.2 Spark的应用场景1.3 Spark的作业运行流程1.4 Spark 2.X与Spark 1.X的区别1 Spark 简介与原理 Spark 是一个大规模数据处理的统一分析引擎。 具有迅速、通用、易用、支持多种资源管理器的特点。 Spark生态系统: Spark SQL…

C++之AVL树

文章目录前言一、概念二、AVL树结点的定义三、AVL树的插入四、AVL树的旋转1.右单旋的情况以及具体操作抽象图h 0h 1h 2代码实现2.左单旋的情况以及具体操作抽象图代码实现3.右左双旋的情况以及具体操作抽象图h 0h 1h 23.左右双旋的情况以及具体操作抽象图5.总结6.完整实现…

stable-diffusion-webui浅叙

GitHub - AUTOMATIC1111/stable-diffusion-webui: Stable Diffusion web UI 使用Git下载&#xff1a; git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git 运行 webui-user.bat : git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.g…

Python每日一练(20230413)

目录 1. 最后一个单词的长度 ※ 2. 全排列 &#x1f31f;&#x1f31f; 3. 计数质数 ※ &#x1f31f; 每日一练刷题专栏 &#x1f31f; Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 专栏 Java每日一练 专栏 1. 最后一个单词的长度 给你一个字符串 s&…

sql server 入门教程

sql server 入门教程 1、创建数据库 1&#xff09;鼠标右键数据库选项&#xff0c;点击新建数据库 2&#xff09;命名数据库 根据自己业务情况取一个自定义数据库名字&#xff0c;比如&#xff1a;my_database 3&#xff09;查看数据库 如果添加没看到&#xff0c;那么可鼠…

知识图谱:Neo4j数据库的基本使用——创建张学良的关系谱

一、知识图谱及Neo4j数据库介绍 知识图谱&#xff08;Knowledge Graph&#xff09;是人工智能的重要分支技术&#xff0c;它在2012年由谷歌提出&#xff0c;是结构化的语义知识库&#xff0c;用于以符号形式描述物理世界中的概念及其相互关系&#xff0c;其基本组成单位是“实体…
最新文章