全志A133 android10 LVDS幅值调节
一,问题现象
系统使用LVDS接口屏幕,进入系统有些界面会闪,图像抖动;
二,解决办法:
1.调试
调节LCD0的LVDS电压幅度,寄存器地址是0x06511220(具体是在User Manual中的LCD LVDS Analog Register 0),bit19:bit17控制差模电压大小,bit10:bit8控制共模电压大小。
kernel调试命令:
echo 0x06511220 >/sys/class/sunxi_dump/dump&&cat /sys/class/sunxi_dump/dump
echo 0x06511220 0xc1fe0320 > /sys/class/sunxi_dump/write
2.代码固化
参考如下,uboot和kernel都需要修改,然后读取寄存器检查是否设置成功。
diff --git a/longan/kernel/linux-4.9/drivers/video/fbdev/sunxi/disp2/disp/de/lowlevel_v2x/de_lcd.c b/longan/kernel/linux-4.9/drivers/video/fbdev/sunxi/disp2/disp/de/lowlevel_v2x/de_lcd.c
index a8335b8072..493e654c64 100644
--- a/longan/kernel/linux-4.9/drivers/video/fbdev/sunxi/disp2/disp/de/lowlevel_v2x/de_lcd.c
+++ b/longan/kernel/linux-4.9/drivers/video/fbdev/sunxi/disp2/disp/de/lowlevel_v2x/de_lcd.c
@@ -380,10 +380,10 @@ s32 lvds_open(u32 sel, struct disp_panel_para *panel)if (sel == 0)lvds_combphy_open(sel, panel);
#endif
- lcd_dev[sel]->tcon0_lvds_ana[0].bits.c = 2;
+ lcd_dev[sel]->tcon0_lvds_ana[0].bits.c = 3;lcd_dev[sel]->tcon0_lvds_ana[0].bits.v = 3;lcd_dev[sel]->tcon0_lvds_ana[0].bits.pd = 2;
- lcd_dev[sel]->tcon0_lvds_ana[1].bits.c = 2;
+ lcd_dev[sel]->tcon0_lvds_ana[1].bits.c = 3;lcd_dev[sel]->tcon0_lvds_ana[1].bits.v = 3;lcd_dev[sel]->tcon0_lvds_ana[1].bits.pd = 2;
@@ -414,10 +414,10 @@ s32 lvds_open(u32 sel, struct disp_panel_para *panel)if (sel == 0)lvds_combphy_open(sel, panel);
#endif
- lcd_dev[sel]->tcon0_lvds_ana[0].bits.c = 2;
+ lcd_dev[sel]->tcon0_lvds_ana[0].bits.c = 3;lcd_dev[sel]->tcon0_lvds_ana[0].bits.v = 3;lcd_dev[sel]->tcon0_lvds_ana[0].bits.pd = 2;
- lcd_dev[sel]->tcon0_lvds_ana[1].bits.c = 2;
+ lcd_dev[sel]->tcon0_lvds_ana[1].bits.c = 3;lcd_dev[sel]->tcon0_lvds_ana[1].bits.v = 3;lcd_dev[sel]->tcon0_lvds_ana[1].bits.pd = 2;@@ -445,6 +445,7 @@ s32 lvds_open(u32 sel, struct disp_panel_para *panel)
#if defined(SUPPORT_COMBO_DPHY)if (sel == 0) {lvds_combphy_open(sel, panel);
+ lcd_dev[sel]->tcon0_lvds_ana[0].bits.c = 3;} else {lcd_dev[sel]->tcon0_lvds_ana[0].bits.c = 2;lcd_dev[sel]->tcon0_lvds_ana[0].bits.v = 3;
@@ -467,7 +468,7 @@ s32 lvds_open(u32 sel, struct disp_panel_para *panel)}
#else{
- lcd_dev[sel]->tcon0_lvds_ana[sel].bits.c = 2;
+ lcd_dev[sel]->tcon0_lvds_ana[sel].bits.c = 3;lcd_dev[sel]->tcon0_lvds_ana[sel].bits.v = 3;lcd_dev[sel]->tcon0_lvds_ana[sel].bits.pd = 2;
3. 检查
读取寄存器检查值是否为所设值
echo 0x06511220 >/sys/class/sunxi_dump/dump&&cat /sys/class/sunxi_dump/dump
相关文章:
全志A133 android10 LVDS幅值调节
一,问题现象 系统使用LVDS接口屏幕,进入系统有些界面会闪,图像抖动; 二,解决办法: 1.调试 调节LCD0的LVDS电压幅度,寄存器地址是0x06511220(具体是在User Manual中的LCD LVDS Ana…...
弃用 RestTemplate,来了解一下官方推荐的 WebClient !
在 Spring Framework 5.0 及更高版本中,RestTemplate 已被弃用,取而代之的是较新的 WebClient。这意味着虽然 RestTemplate 仍然可用,但鼓励 Spring 开发人员迁移到新项目的 WebClient。 WebClient 优于 RestTemplate 的原因有几个ÿ…...
西圣、倍思、品胜电容笔孰强孰弱?多维度对比测评三款平替电容笔
在近年来,平替电容笔以其亲民的价格和优质的性能变现,成为市场上备受追捧的选择。然而,某些品牌为了吸引消费者,降低价格的同时常采用劣质材料,结果握笔体验差,书写效果糟糕,甚至在长时间使用后…...
VS2022配置调试Qt源代码
需要保证源代码和项目使用的版本匹配,符号需要注意是64位还是32位,并且用msvc。 1. 设置源代码路径 2. 设置调试PDB路径 这里最好把4个地方都加进去,防止某些不常用PDB被漏掉。 D:\Qt\5.15.2\msvc2019_64\bin D:\Qt\5.15.2\msvc2019_64\lib…...
Python 的 Pygame 库来开发一个游戏
import pygame import random# 初始化 Pygame pygame.init()# 设置屏幕大小 screen_width 800 screen_height 600 screen pygame.display.set_mode((screen_width, screen_height))# 设置标题 pygame.display.set_caption("飞机大战")# 加载图片 player_img pyga…...
diffusion model 学习笔记
条件引导的 diffusion 对于无条件的DDPM 而言 p ( x t ∣ x 0 ) ∼ N ( α t ˉ x 0 , 1 − α t ˉ ⋅ I ) p(x_t | x_0) \sim \mathcal{N}( \sqrt{\bar{\alpha_t}} x_0, 1-\bar{\alpha_t} \cdot \mathrm{I} ) p(xt∣x0)∼N(αtˉ x0,1−αtˉ⋅I) 可以得到…...
【C++题解】1967. 输出字符的ascii码
欢迎关注本专栏《C从零基础到信奥赛入门级(CSP-J)》 问题:1967. 输出字符的ascii码 类型:字符串、字符型 题目描述: 从键盘读入一个字符,请计算并输出该字符的 ascii 码。 比如:字符 ‘A’ …...
Java入门9——类和对象+this+构造方法
终于终于,我们开启了Java的大门!类和对象才是Java梦开始的地方,让我们一起来学习吧! 一、类和对象 通常来讲,一个Java文件里面写一个类,那么类是什么呢? 类,字面意思,就…...
Django目录结构最佳实践
Django项目目录结构 项目目录结构配置文件引用修改创建自定义子应用方法修改自定义注册目录从apps目录开始 项目目录结构 └── backend # 后端项目目录(项目名称)├── __init__.py├── logs # 项目日志目录├── manage.py #…...
npm run dev 报错PS ‘vite‘ 不是内部或外部命令,也不是可运行的程序或批处理文件。
报错场景: 使用npm run dev命令启动项目,报错 PS D:\vuecode\ying-mei> npm run dev > ying-mei0.0.0 dev > vite vite 不是内部或外部命令,也不是可运行的程序 或批处理文件。 原因: 缺失依赖,因为新建的项…...
后端:Spring、Spring Boot-实例化Bean依赖注入(DI)
文章目录 1. 实例化Bean2. 使用FactoryBean3. 依赖注入(DI)3.1 AutoWired 属性注入(查找顺序:先类型,后名字)3.2 AutoWired 在构造函数&参数上的使用3.3 Inject和Resource 进行依赖注入3.4 Value 进行注入 1. 实例化Bean 默认使用无参构造函数&…...
C++ 数据结构 静态顺序表、动态顺序表。
静态顺序表(Static Array List)是一种线性数据结构,通常用数组实现。它具有固定的大小,并在编译时分配内存。以下是静态顺序表的一些基本概念和实现示例。 静态顺序表基本概念 固定大小:静态顺序表的大小在创建时定义…...
QML旋转选择器组件Tumbler
1. 介绍 Tumbler是一个用于创建旋转选择器的组件。它提供了一种直观的方式来让用户从一组选项中进行选择,类似于转盘式数字密码锁。网上找的类似网图如下: 在QML里,这种组件一共有两个版本,分别在QtQuick.Extras 1.4(旧)和QtQuic…...
在工作中常用到的 Linux 命令总结
引言 我之前找工作面试的时候。几乎每次面试几乎都会问到 Linux 常用命令,会问一些命令的应用场景。目的是考察我们是否在实际开发中经常用、用得熟练。今天我就来系统地总结一下开发过程中最常用的 Linux 命令,算是一个复习总结。 基本操作 文件管理…...
反射、枚举和lambda表达式
文章目录 一、反射1.1 什么是反射1.2 反射相关的类1.3 示例获取Class对象通过反射去创建对象调用带两个参数且私有的构造方法获取私有属性反射私有方法 二、枚举2.1 什么是枚举以及其优缺点2.2 如何使用枚举组织常量的基本方法枚举类的其他方法示例枚举能否通过反射拿到实例对象…...
Stable Diffusion Web UI 1.9.4常用插件扩展-WD14-tagger
Stable Diffusion Web UI 1.9.4 运行在 WSL 中的 Docker 容器中 tagger 插件的作用是,上传一张图片,反推这张图片可能的提示词。 使用场景就是,想要得到类似的图片内容时使用。 WD14-tagger 安装 Stable Diffusion WebUI WD14-tagger GitH…...
java 第19天 Lambda、jdk8.0新方法、Optional
一.Lambda表达式 前提是:参数是函数式接口才可以书写Lambda表达式 函数式接口条件: 1.接口 2.只有一个抽象方法 lambda表达式又称为匿名函数,允许匿名函数以参数的形式传入方法,简化代码 lambda表达式分为两部分()->{} …...
江协科技STM32学习- P31 I2C通信协议
🚀write in front🚀 🔎大家好,我是黄桃罐头,希望你看完之后,能对你有所帮助,不足请指正!共同学习交流 🎁欢迎各位→点赞👍 收藏⭐️ 留言📝…...
6、liunx目录的功能
一、目录简介 Linux主要树结构目录包括:/、/root、/home、/usr、/bin、/tmp、/sbin、/proc、/boot 【Linux系统中常见目录功能如下】 / 根目录;/bin 存放必要的命令;(普通用户) /boot 存放内核以及启动所需的文件&…...
挑战Java面试题复习第5天,无人扶我青云志
挑战第 5 天 java反射List Set Map 区别Object 常用方法 java反射 定义: 运行时动态获取类信息和调用方法的特性。 应用场景: JDBC数据库连接。框架如Hibernate和Struts等。 实现方式: 通过四种方法获取Class对象: Class.fo…...
3.3.1_1 检错编码(奇偶校验码)
从这节课开始,我们会探讨数据链路层的差错控制功能,差错控制功能的主要目标是要发现并且解决一个帧内部的位错误,我们需要使用特殊的编码技术去发现帧内部的位错误,当我们发现位错误之后,通常来说有两种解决方案。第一…...
实现弹窗随键盘上移居中
实现弹窗随键盘上移的核心思路 在Android中,可以通过监听键盘的显示和隐藏事件,动态调整弹窗的位置。关键点在于获取键盘高度,并计算剩余屏幕空间以重新定位弹窗。 // 在Activity或Fragment中设置键盘监听 val rootView findViewById<V…...
Rapidio门铃消息FIFO溢出机制
关于RapidIO门铃消息FIFO的溢出机制及其与中断抖动的关系,以下是深入解析: 门铃FIFO溢出的本质 在RapidIO系统中,门铃消息FIFO是硬件控制器内部的缓冲区,用于临时存储接收到的门铃消息(Doorbell Message)。…...
Mac下Android Studio扫描根目录卡死问题记录
环境信息 操作系统: macOS 15.5 (Apple M2芯片)Android Studio版本: Meerkat Feature Drop | 2024.3.2 Patch 1 (Build #AI-243.26053.27.2432.13536105, 2025年5月22日构建) 问题现象 在项目开发过程中,提示一个依赖外部头文件的cpp源文件需要同步,点…...
以光量子为例,详解量子获取方式
光量子技术获取量子比特可在室温下进行。该方式有望通过与名为硅光子学(silicon photonics)的光波导(optical waveguide)芯片制造技术和光纤等光通信技术相结合来实现量子计算机。量子力学中,光既是波又是粒子。光子本…...
springboot整合VUE之在线教育管理系统简介
可以学习到的技能 学会常用技术栈的使用 独立开发项目 学会前端的开发流程 学会后端的开发流程 学会数据库的设计 学会前后端接口调用方式 学会多模块之间的关联 学会数据的处理 适用人群 在校学生,小白用户,想学习知识的 有点基础,想要通过项…...
Chrome 浏览器前端与客户端双向通信实战
Chrome 前端(即页面 JS / Web UI)与客户端(C 后端)的交互机制,是 Chromium 架构中非常核心的一环。下面我将按常见场景,从通道、流程、技术栈几个角度做一套完整的分析,特别适合你这种在分析和改…...
永磁同步电机无速度算法--基于卡尔曼滤波器的滑模观测器
一、原理介绍 传统滑模观测器采用如下结构: 传统SMO中LPF会带来相位延迟和幅值衰减,并且需要额外的相位补偿。 采用扩展卡尔曼滤波器代替常用低通滤波器(LPF),可以去除高次谐波,并且不用相位补偿就可以获得一个误差较小的转子位…...
消息队列系统设计与实践全解析
文章目录 🚀 消息队列系统设计与实践全解析🔍 一、消息队列选型1.1 业务场景匹配矩阵1.2 吞吐量/延迟/可靠性权衡💡 权衡决策框架 1.3 运维复杂度评估🔧 运维成本降低策略 🏗️ 二、典型架构设计2.1 分布式事务最终一致…...
DAY 26 函数专题1
函数定义与参数知识点回顾:1. 函数的定义2. 变量作用域:局部变量和全局变量3. 函数的参数类型:位置参数、默认参数、不定参数4. 传递参数的手段:关键词参数5 题目1:计算圆的面积 任务: 编写一…...
