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

embedded/2024/11/13 9:20:55/

在利用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.ppmy.cn/embedded/113836.html

相关文章

系统架构设计师:软件架构的演化和维护

简简单单 Online zuozuo: 简简单单 Online zuozuo 简简单单 Online zuozuo 简简单单 Online zuozuo 简简单单 Online zuozuo :本心、输入输出、结果 简简单单 Online zuozuo : 文章目录 系统架构设计师:软件架构的演化和维护前言软件架构演化的重要性面向对象的软件架构演…

Python计算机视觉编程 第八章 图像内容分类

目录 K邻近分类法&#xff08;KNN&#xff09;用稠密SIFT作为图像特征 贝叶斯分类器支持向量机&#xff08;SVM&#xff09;使用LibSVM 光学字符识别&#xff08;OCR&#xff09;训练分类器选取特征多类支持向量机 K邻近分类法&#xff08;KNN&#xff09; 算法步骤&#xff1…

RK3568部署DOCKER启动服务器失败解决办法

按照上文的方法部署完DOCKER之后&#xff0c;启动服务异常&#xff0c;查阅网络相关资源&#xff0c;解决方案如下&#xff1a; 修改/源码/kernel/arch/arm64/configs/OK3568-C-linux_defconfig&#xff0c;在最后添加 CONFIG_MEMCGy CONFIG_VETHy CONFIG_BRIDGEy CONFIG_BRID…

学习笔记JVM篇(四)

垃圾回收器 说完垃圾回收算法接下来就需要对应的垃圾回收器去回垃圾回收器。接下来介绍几种垃圾回收器 1、Serial 串行回收器&#xff0c;是单线程版本&#xff0c;暂停所有的应用。在单CPU的情况下效率是很高的&#xff0c;因为不涉及线程的上下文切换。适用于小型程序和客…

nodejs桌面消息通知

node-notifier是一个跨平台的桌面消息通知包。 安装 # npm npm i node-notifier # yarn yarn add node-notifier 基本使用 const notifier require("node-notifier");// 基本通知 notifier.notify({title: "标题",message: "消息",sound: …

[数据集][目标检测]无人机飞鸟检测数据集VOC+YOLO格式6647张2类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;6647 标注数量(xml文件个数)&#xff1a;6647 标注数量(txt文件个数)&#xff1a;6647 标注…

nodejs 007:错误npm error Error: EPERM: operation not permitted, symlink

完整错误信息 npm error Error: EPERM: operation not permitted, symlink npm warn cleanup Failed to remove some directories [ npm warn cleanup [ npm warn cleanup C:\\Users\\kingchuxing\\Documents\\IPFS\\orbit-db-set-master\\node_modules\\ipfs-cli, npm…

[C++进阶[六]]list的相关接口模拟实现

1.前言 本章重点 在list模拟实现的过程中&#xff0c;主要是感受list的迭代器的相关实现&#xff0c;这是本节的重点和难点。 2.list接口的大致框架 list是一个双向循环链表&#xff0c;所以在实现list之前&#xff0c;要先构建一个节点类 template <class T> struct L…