【启明智显技术分享】model4应用OPENWRT系统开发,调节RGB屏时花屏怎么解决

news/2024/9/19 14:41:26 标签: MODEL4, 工业HMI, HMI芯片, openwrt, LINUX

在利用Model 4进行OPENWRT系统开发时,遇到RGB屏幕花屏问题是一个常见的挑战。Model 4作为一款功能强大的HMI芯片SOC,支持多种接口和强大的多媒体处理能力,包括RGB、MIPI、LVDS、SPI等显示接口,RJ45网络接口,8路串口,以及H.264解码能力,支持1080P视频解码。然而,在调节RGB屏幕时,花屏问题可能会阻碍项目的顺利进行。以下小编整理了RGB调屏方法以及针对花屏情况做了问题整理。
在这里插入图片描述

一、model4应用OPENWRT系统开发,RGB屏调试配置

相比MIPI屏的调试,RGB屏的调试相对简单,只需要把规格书中所描述的时序和规格参数加入相应的配置文件即可,不需要额外的驱动程序。

  • 内核配置

驱动源码目录:linux-5.10/drivers/video/fbdev/zx/panel/

  • DTS参数配置

这些参数主要在文件xxx-board.dts中,功能参数的设置必须和硬件原理图相匹配

首先设置显示模块数据通路关系,RGB屏幕数据通路如下:

&fb0 {
        port {
                fb0_out: endpoint {
                        remote-endpoint = <&de0_in>;
                };
        };
};

&de0 {
        status = "okay";
        port@0 {
                reg = <0>;
                de0_in: endpoint {
                        remote-endpoint = <&fb0_out>;
                };
        };

        port@1 {
                reg = <1>;
                de0_out: endpoint {
                        remote-endpoint = <&rgb0_in>;
                };
        };
};

&rgb0 {
        status = "okay";
        port@0 {
                reg = <0>;
                rgb0_in: endpoint {
                        remote-endpoint = <&de0_out>;
                };
        };

        port@1 {
                reg = <1>;
                rgb0_out: endpoint {
                        remote-endpoint = <&panel_rgb_in>;
                };
        };
};

在上述例子中,board.dts通过port和status结点,定义了一条数据通道。

fb       |      de    |     |     rgb    |     panel
port  --> port0   port1 -->  port0   port1 -->  port

如果board.dts中没有正确定义一条数据通道,显示驱动可能无法完成初始化。

设置屏幕参数

panel_rgb {
        compatible = "zx,aic-general-rgb-panel";
        enable-gpios = <&gpio_a 4 GPIO_ACTIVE_HIGH>;
        rgb-mode = <PRGB>;
        interface-format = <PRGB_24BIT>;
        clock-phase = <DEGREE_90>;
        data-order = <RGB>;
        data-mirror;
        status = "okay";

        port {
                panel_rgb_in: endpoint {
                        remote-endpoint = <&rgb0_out>;
                };
        };

        display-timings {
                native-mode = <&timing0>;
                timing0: 800x480 {
                        clock-frequency = <30000000>;
                        hactive = <800>;
                        vactive = <480>;
                        hback-porch = <88>;
                        hfront-porch = <40>;
                        hsync-len = <48>;
                        vback-porch = <32>;
                        vfront-porch = <13>;
                        vsync-len = <3>;
                        de-active = <1>;
                        pixelclk-active = <1>;
                };
        };
};

其中类似 enable-gpios 控制引脚需要根据实际显示屏的需要增加或减少,驱动中做相应修改, rgb-mode interface-format 需要从规格书中获取, data-order data-mirror 需要根据板级走线的顺序设置相关参数。 clock-phase 需要根据最终实际的显示效果做相应调整。

其中参数 display-timings 需要从屏幕规格书中或供应商处获取,例如规格书会有如下信息:
在这里插入图片描述

二、RGB调屏过程中会出现的现象

  • 现象一:黑屏

1、检查背光是否已亮

2、排除1后确定屏规格书是SYNC模式还是DE模式,检查硬件电路相关控制信号是否按照屏规格书要求完成上下拉

3、排除1、2后,测量pixelclk是否符合屏规格要求,pixelclk计算公式vactivehactive60/(0.8),其中系数60为帧率,系数0.8为消隐区系数

  • 现象二:花屏

1、调整pixelclk频率

2、调整pixelclk相位

3、调整消隐区参数,主要是行方向消隐区
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 现象三:起始位置错误

1、调整pixelclk频率

2、调整pixelclk相位

3、调整消隐区参数,主要是行方向消隐区

  • 现象四:闪烁

1、增大pixelclk频率,提高帧率

MODEL4_149">三、MODEL4参数介绍

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


http://www.niftyadmin.cn/n/5665720.html

相关文章

GEE 教程:利用sentinel-5p数据进行长时序CO一氧化碳的监测分析并结合夜间灯光数据分析

目录 简介 数据 哨兵5号 NOAA/VIIRS/DNB/MONTHLY_V1/VCMCF 函数 ui.Chart.image.series(imageCollection, region, reducer, scale, xProperty) Arguments: Returns: ui.Chart 代码 结果 简介 利用sentinel-5p数据进行长时序CO一氧化碳的监测分析并结合夜间灯光数据…

视频美颜SDK与直播美颜工具的实现原理与优化方案

本篇文章&#xff0c;小编将为大家详细讲解视频美颜SDK的实现原理&#xff0c;并提出优化方案。 一、视频美颜SDK的实现原理 1.图像采集与处理 2.人脸识别与关键点检测 3.美颜滤镜与特效处理 4.实时性与低延迟 二、直播美颜工具的实现原理 直播美颜工具与视频美颜SDK的…

Docker 镜像制作(Dockerfile)

1 Dockerfile 概念 Dockerfile 是什么&#xff1f; 镜像的定制实际上就是定制每一层所添加的配置、文件。如果我们可以把每一层修改、安装、构建、操作的命令都写入一个脚本&#xff0c;用这个脚本来构建、定制镜像,这个脚本就是 Dockerfile。 Dockerfile 是一个文本文件&a…

数据库———事务及bug的解决

阿华代码&#xff0c;不是逆风&#xff0c;就是我疯&#xff0c;你们的点赞收藏是我前进最大的动力&#xff01;&#xff01;希望本文内容能帮到你&#xff01; 目录 一&#xff1a;事务 1&#xff1a;场景引入 2&#xff1a;“回滚” 3&#xff1a;恢复机制&#xff08;un…

[Linux]进程控制详解

1.创建进程 进程调用fork,当控制转移到内核中的fork代码后&#xff0c;内核做&#xff1a; ● 分配新的内存块和内核数据结构给子进程 ● 将父进程部分数据结构内容拷贝至子进程 ● 添加子进程到系统进程列表当中 ● fork返回&#xff0c;开始调度器调度 这个前面提到过&#…

pybind11 学习笔记

pybind11 学习笔记 0. 一个例子1. 官方文档1.1 Installing the Library1.1.1 Include as A Submodule1.1.2 Include with PyPI1.1.3 Include with Conda-forge 1.2 First Steps1.2.1 Separate Files1.2.2 PYBIND11_MODULE() 宏1.2.3 example.cpython-38-x86_64-linux-gnu.so 的…

JAVA-集合相关

HashMap如何解决哈希冲突的&#xff1f; 计算hash值&#xff0c;基于hashCode计算冲突之后&#xff0c;先是使用链式寻址法当链表长度大于8&#xff0c;且hash表的容量大于60的时候&#xff0c;再添加元素则转化成红黑树 为什么计算hash值是&#xff0c;是将hash地址的值右移1…

Vue+nodejs+express汽车配件商城销售管理系统 i9cgz

目录 技术栈具体实现截图系统设计思路技术可行性nodejs类核心代码部分展示可行性论证研究方法解决的思路Express框架介绍源码获取/联系我 技术栈 该系统将采用B/S结构模式&#xff0c;开发软件有很多种可以用&#xff0c;本次开发用到的软件是vscode&#xff0c;用到的数据库是…