rk3568点亮LCD(lvds)
rk3568 Android11/12 适配 lvds 屏
LVDS(Low Voltage Differential Signal)即低电压差分信号。1994年由美国国家半导体(NS)公司为克服以TTL电平方式传输宽带高码率数据时功耗大、电磁干扰大等缺点而研制的一种数字视频信号传输方式。它是一种电平标准,广泛应用于液晶屏接口。
其中发送端是一个3.5mA的电流源,产生的3.5mA的电流通过差分线中的一路到接收端。由于接收端对于直流表现为高阻,电流通过接收端的100Ω的匹配电阻产生350mV的电压,同时电流经过差分线的另一路流回发送端。当发送端进行状态变化时,通过改变流经100Ω电阻的电流方向产生有效的’0’和’1’ 态。
它是电流驱动的,通过在接收端放置一个负载而得到电压,当电流正向流动,接收端输出为1,反之为0。
- LVDS是电流驱动模式 电压摆幅350mV,加载在100Ω电阻上;
- 传输速度快,推荐最大速率为655Mbps ,理论极限速率为1.923Gbps;
- LVDS不太适合较长距离的信号传送;
- LVDS接口只用于传输视频数据;
- LVDS接口主要将RGB TTL非平衡传输信号转换成LVDS平衡传输信号进行传输;
- LVDS不支持热插拔。
提示:rk3568 芯片设计只预留单lvds,双LVDS需要借助 mipi 或者HDMI 转换。
文章目录
- rk3568 Android11/12 适配 lvds 屏
- 圈重点 看想学
- 1. rk3568 适配 LVDS屏
- 2 LVDS 屏参调整
- Tips
- 总结
圈重点 看想学
a) rk3568 适配单LVDS屏
b) rk3568 调试过程异常情况
1. rk3568 适配 LVDS屏
- 核查原理图,适配LVDS硬件
确认屏端供电、复位、使能,只有VCC3V3_LCD。

- 确认 VCC3V3_LCD 控制信号 LVDS_ON 对应 GPIO3_D6。

- 确认背光,BL_EN 对应GPIO2_B1, PWM 信号使用 PWM4。

- 只因在图中多看一眼,发现不一样地方; PWM 和 BL_EN 均有反转三极管。

- 适配内核设备树
屏幕上电时许可在点亮屏幕慢慢调整,至于屏参则需要看屏幕规格书。
/ {vcc3v3_lcd0_n: vcc3v3-lcd0-n {gpio = <&gpio3 RK_PD6 GPIO_ACTIVE_LOW>;};backlight: backlight {pwms = <&pwm4 0 25000 1>;enable-gpios = <&gpio2 RK_PB1 GPIO_ACTIVE_LOW>;};panel {compatible = "simple-panel";backlight = <&backlight>;power-supply = <&vcc3v3_lcd0_n>;enable-delay-ms = <20>;prepare-delay-ms = <20>;unprepare-delay-ms = <20>;disable-delay-ms = <20>;bus-format = <MEDIA_BUS_FMT_RGB888_1X24>;width-mm = <217>;height-mm = <136>;display-timings {native-mode = <&timing0>;timing0: timing0 {clock-frequency = <68000000>;hactive = <800>;vactive = <1280>;hback-porch = <32>;hfront-porch = <16>;vback-porch = <4>;vfront-porch = <2>;hsync-len = <16>;vsync-len = <2>;hsync-active = <0>;vsync-active = <0>;de-active = <0>;pixelclk-active = <0>;};};ports {#address-cells = <1>;#size-cells = <0>;port@0 {reg = <0>;dual-lvds-even-pixels;panel_in_lvds: endpoint {remote-endpoint = <&lvds_out_panel>;};};};};
};&dsi0 {status = "disabled";
};&dsi0_in_vp0 {status = "disabled";
};&dsi0_in_vp1 {status = "disabled";
};&video_phy0 {status = "okay";
};&lvds {status = "okay";ports {port@1 {reg = <1>;lvds_out_panel: endpoint {remote-endpoint = <&panel_in_lvds>;};};};
};&lvds_in_vp1 {status = "okay";
};&lvds_in_vp2 {status = "disabled";
};&route_lvds {status = "okay";connect = <&vp1_out_lvds>;
};
2 LVDS 屏参调整
timing0中参数解释如下:
水平分辨率:hactive 垂直分辨率:vactive
水平前尖:hfront-porch(HFP) 垂直前尖:vfront-porch (VFP)
水平后尖:hback-porch(HBP) 垂直后尖:vback-porch (VBP)
水平消隐信号:hsync - len(HS) 垂直消隐信号:vsync - len (VS)
– clock-frequency = HFP(Hactive + HS + HBP) x VFP(Vactive + VS + VBP) x fps(帧频率)
– lane-rate = clk (时钟频率) x RGB(3) x BIT(6或8) / lane_num
lane_num 表示差分时钟通道数,RGB与BIT值根据 dsi,format 具体情况而定。
– dsi,format 表示RGB三原色位深大小,可用参数如下:
MEDIA_BUS_FMT_RGB888_1X24 表示8bit色深
MEDIA_BUS_FMT_RGB666_1X18 表示6bit色深
上图是行同步信号:HS 为 864 = hsync+hbp+hactive+hfp = 16+32+800+16,在DE 为高电平时,HS 为低电平的时候就是有效的数据,即屏的水平像素为800。在HS 为高电平时,DE 是低电平,此时不显示数据,作用是消隐,即hsync。然后 32 个像素HBP 参数,就是等待屏真实数据信号前的无效信号数据长度,如果此时出现真实像素数据,很可能会丢数据和出现杂波。多余32 个像素看似多与时则防止这种情况;同理还有16 像素的HFP。

上图是场同步信号,它与行同步信号相匹配,在DE 为高电平时里面会有1280 个行同步信号。按照当前屏幕 800x1280,看作每个数据包传输一个像素(pixel),800个水平方向像素传输完成需要一个行同步信号;水平行像素累积到1280则会需要产生一个场同步信号,确定这一帧图像传输完成。
人的视觉暂留效益,图像帧率达到30fps就会产生图像在一直运动的假象。
屏幕参数不对会出现闪屏和条纹。只需要对照规格书细微调整 前后肩,同步信号。
系统启动后可以查看屏参吗?查看VOP 属性确定相关数据。
# Android 查看 vop
cat /d/dri/0/summary
# linux 查看 vop
cat /sys/kernel/debug/dri/0/summary
Tips
- 开机过程屏幕无显示,休眠唤醒后显示正常
信号传输可排除,休眠唤醒时许也可排除;开机过程上电时许要核查 - 开机后一直黑屏,上电时许、信号均正常
可以去掉 logo 显示再次尝试,如果可正常看到 Android开机动画,很大概率时 VOP 不匹配。
&lvds_in_vp1 {status = "okay";
};&lvds_in_vp2 {status = "disabled";
};&route_lvds {status = "okay";connect = <&vp1_out_lvds>;
};
- 开机后黑屏,上电时许、信号异常
需要核查设备树,确保 dsi0关闭。
&video_phy0 {status = "okay";
};
硬件须要确认各路供电是否正常。
- 开机后背光不亮,要仔细核查背光;本文中有反转三极管,需要翻转PWM极性,和使能信号有效电平
backlight: backlight {pwms = <&pwm4 0 25000 1>;enable-gpios = <&gpio2 RK_PB1 GPIO_ACTIVE_LOW>;};
总结
活学活用,做个合格的搬运工。
相关文章:
rk3568点亮LCD(lvds)
rk3568 Android11/12 适配 lvds 屏 LVDS(Low Voltage Differential Signal)即低电压差分信号。1994年由美国国家半导体(NS)公司为克服以TTL电平方式传输宽带高码率数据时功耗大、电磁干扰大等缺点而研制的一种数字视频信号传输方…...
全终端办公电子邮件集成方案
面临挑战 应用场景复杂,经常需要在不同终端进行切换,多屏、跨屏及移动办公要求高; 业务系统较多,需要同时支持多种业务的开展,对第三方应用集成及协同办公要求高; 对邮件系统的稳定及高效性要求高&#x…...
再不转型为ChatGPT程序员,有遭受降维打击的危险
Open AI在演示GPT-4的时候,有这么一个场景:给一个界面草图,就可以生成网页代码。这个演示非常简单,如果界面原型比较复杂呢?像这样:ChatGPT能不能直接生成HTML, CSS,JavaScript代码,把这个网页给…...
maven使用教程
文章目录IDEA创建maven项目maven项目必有得目录结构项目构建关键字cleanvalidatecompiletestpackageverifyinstallsitedeploy命令使用方法方法一 在terminal终端执行方法二 在右侧得maven中双击依赖管理在pom.xml下 导包、scope的传递范围、打包方式依赖冲突声明优先原则就近原…...
Emlog底部显示当前在线人数
第一步:在模板文件里面创建“visitor.php”的文件吧下面代码入进去 code <?php//首先你要有读写文件的权限,首次访问肯不显示,正常情况刷新即可$online_log "slzxrs.dat"; //保存人数的文件到根目录,$timeout 30;//30秒内没…...
【java踩坑搞起】MybatisPlus封装的mapper不支持 join,那咋办
众所周知,Mybatis Plus 封装的 mapper 不支持 join,如果需要支持就必须自己去实现。但是对于大部分的业务场景来说,都需要多表 join,要不然就没必要采用关系型数据库了。 直到前几天,偶然碰到了这么一款叫做mybatis-p…...
【创造者】——什么是数学
吉姆罗恩在不经意间这样说过,要么你主宰生活,要么你被生活主宰。这不禁令我深思. 既然如此, 康德说过一句著名的话,既然我已经踏上这条道路,那么,任何东西都不应妨碍我沿着这条路走下去。带着这句话, 我们还要更加慎重…...
ROS系列——错误syntax error near unexpected token `$‘do\r‘‘
ROS系列——错误syntax error near unexpected token $do\r说明解决方法问题原因解决1.终端运行2.本文使用的方法,适用于代码行数较少其他方法,本质就是替换3.重新运行脚本说明 在运行.sh脚本时,报错: syntax error near unexpec…...
当星辰天合 SDS 遇见 Elastic
4 月 8 日,“Elastic 中国开发者大会 2023 ”在深圳举行,XSKY星辰天合对象存储产品总监邹博引代表星辰天合参加了此次大会,并做了主题为《SDS 与 Elasticsearch 的碰撞》的分享。“Elastic 中国开发者大会 2023 ”是由 Elastic、Elastic 中文…...
使用vue实现分页
使用vue实现分页的逻辑并不复杂,接收后端传输过来的数据,然后根据数据的总数和每一页的数据量就可以计算出一共可以分成几页 我编写了一个简单的前端页面用来查询数据,页面一共有几个逻辑 具体的效果可以看下面的演示 下面就来看一下具体的实…...
白银实时行情操作中的一些错误及其解决办法(下)
小编根据大师,网络上的高手以及自己的经验整理出的一些交易中典型的错误,投资者可以参考参考,有则改之无则加勉~续上文…… 问题三:长线获利的交易不容易坚持同时陷入盘整或亏损的交易(特别是大仓持有的品种ÿ…...
Linux系统之tomcat的安装方法
Linux系统之tomcat的安装方法一、tomcat介绍1.tomcat简介2.tomcat官网二、本次环境规划三、安装jdk1.下载jdk包2.安装jdk3.检查jdk版本四、安装tomcat1.下载tomcat2.解压tomcat软件包3.设置环境变量4.查看tomcat版本五、启动tomcat1.启动tomcat服务2.检查tomcat服务状态3.访问t…...
段式回文。
题目描述 你会得到一个字符串 text 。你应该把它分成 k 个子字符串 (subtext1, subtext2,…, subtextk) ,要求满足: subtexti 是 非空 字符串 所有子字符串的连接等于 text ( 即subtext1 subtext2 … subtextk text ) 对于所有 i 的有效…...
易点易动设备管理系统高效管理海量备品备件
纸质设备备品备件管理是企业运营中的重要环节,其管理效率和精度直接关系到企业的生产效率和经济效益。然而,传统的纸质管理方式存在诸多问题,如信息不透明、数据难以更新、易丢失等。为解决这些问题,易点易动设备管理系统应运而生…...
CMMI 3.0 究竟包含了哪些实践域?
CMMI 3.0中合计有31个实践域,涵盖了开发、服务、供应商管理、人员管理、安全、数据管理、远程交付等多个领域。本文把这31个实践域的核心内容用一句话进行了概括,以确保大家能够快速了解模型所涵盖的内容。CMMI 2.0有官方的中文版,里面有些翻…...
算法训练Day31: 455.分发饼干 376. 摆动序列 53. 最大子序和
文章目录分发饼干思路题解摆动序列题解最大子数组和分发饼干 CategoryDifficultyLikesDislikesContestSlugProblemIndexScorealgorithmsEasy (56.63%)6940--0 TagsCompanies 假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能…...
ASP.NET(AJAX+JSON)实现对象调用
客户端 代码如下: <% Page Language"C#" AutoEventWireup"true" CodeFile"ASP.NETA_JAX.aspx.cs" Inherits"_Default" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.…...
一次弄懂gzip模块启用和配置指令
接下来所学习的指令都来自ngx_http_gzip_module模块,该模块会在nginx安装的时候内置到nginx的安装环境中,也就是说我们可以直接使用这些指令。 1. gzip指令:该指令用于开启或者关闭gzip功能 注意只有该指令为打开状态,下面的指令才…...
猿辅导学员入选国家队,竞赛老师成为“最强辅助”
3月31日,国际数学奥林匹克竞赛(IMO)国家队名单正式出炉,猿辅导学员王淳稷、孙启傲分别以第一名和第二名的成绩位列其中,今年7月,他们将出征日本,代表中国参赛,为国争光。 自2020年以…...
Java面向对象
Java面向对象 静态 static static修饰静态成员变量 /**在线人数。注意:static修饰的成员变量:静态成员变量,只在内存中有一份,可以被共享*/ public static int onlineNumber 161;static静态成员方法 /**静态成员方法: 有stat…...
高效风扇控制完全指南:5步打造静音散热系统
高效风扇控制完全指南:5步打造静音散热系统 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/GitHub_Trending/fa/FanContro…...
FanControl终极指南:让你的Windows风扇控制变得智能又安静
FanControl终极指南:让你的Windows风扇控制变得智能又安静 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/GitHub_Trendin…...
告别3389端口暴露:零信任防火墙重塑RDP安全访问新范式
1. 传统RDP安全方案的致命短板 每次看到服务器日志里那些密密麻麻的暴力破解尝试记录,我的后颈都会发凉。作为从业十年的运维老兵,我见过太多因为3389端口暴露引发的安全事故。有个客户的数据库服务器,明明设置了16位复杂密码,还是…...
3分钟终极解决方案:Windows系统完美识别iPhone USB网络共享的完整免费指南
3分钟终极解决方案:Windows系统完美识别iPhone USB网络共享的完整免费指南 【免费下载链接】Apple-Mobile-Drivers-Installer Powershell script to easily install Apple USB and Mobile Device Ethernet (USB Tethering) drivers on Windows! 项目地址: https:/…...
基于多模态大模型的智能家居视觉分析:HA-LLMVision部署与应用
1. 项目概述:当智能家居遇上多模态大模型 最近在折腾智能家居的朋友,估计都绕不开一个核心痛点:家里的摄像头、传感器越来越多,但它们的“智商”似乎总差那么一口气。摄像头能告诉你“检测到移动”,但分不清是猫、是人…...
Python应用性能监控实战:New Relic APM代理原理与部署指南
1. 项目概述:一个现代应用性能的“听诊器”如果你正在用Python构建Web服务、后台任务或者任何需要7x24小时稳定运行的应用,那么“性能”和“可观测性”这两个词,一定是你日常工作中绕不开的焦点。当线上服务突然变慢,用户投诉接踵…...
10个UTF8-CPP最佳实践:让你的C++ Unicode处理更高效
10个UTF8-CPP最佳实践:让你的C Unicode处理更高效 【免费下载链接】utfcpp UTF-8 with C in a Portable Way 项目地址: https://gitcode.com/gh_mirrors/ut/utfcpp UTF8-CPP是一个轻量级的C库,提供了便捷的UTF-8编码和解码功能,帮助开…...
跨越系统边界:在Windows上体验Btrfs文件系统的5个关键优势
跨越系统边界:在Windows上体验Btrfs文件系统的5个关键优势 【免费下载链接】btrfs WinBtrfs - an open-source btrfs driver for Windows 项目地址: https://gitcode.com/gh_mirrors/bt/btrfs 当谈到高级文件系统时,Linux用户早已熟悉Btrfs的强大…...
Scroll Reverser深度解析:macOS输入设备独立滚动控制实现原理与技术架构
Scroll Reverser深度解析:macOS输入设备独立滚动控制实现原理与技术架构 【免费下载链接】Scroll-Reverser Per-device scrolling prefs on macOS. 项目地址: https://gitcode.com/gh_mirrors/sc/Scroll-Reverser Scroll Reverser是一款解决macOS系统滚动方向…...
PlantUML Editor:用代码思维重塑UML绘图的现代工具
PlantUML Editor:用代码思维重塑UML绘图的现代工具 【免费下载链接】plantuml-editor PlantUML online demo client 项目地址: https://gitcode.com/gh_mirrors/pl/plantuml-editor 你是否厌倦了传统拖拽式UML工具的繁琐操作?PlantUML Editor将彻…...
