RK3568平台 PWM Backlight控制背光亮度

一.PWM基本概念

以单片机为例,我们知道,单片机的IO口输出的是数字信号,IO口只能输出高电平和低电平。

假设高电平为5V 低电平则为0V 那么我们要输出不同的模拟电压,就要用到PWM,通过改变IO口输出的方波的占空比从而获得使用数字信号模拟成的模拟电压信号。

我们知道,电压是以一种连接1或断开0的重复脉冲序列被夹到模拟负载上去的(例如LED灯,直流电机等),连接即是直流供电输出,断开即是直流供电断开。通过对连接和断开时间的控制,理论上来讲,可以输出任意不大于最大电压值(即0~5V之间任意大小)的模拟电压。

比方说 占空比为50% 那就是高电平时间一半,低电平时间一半,在一定的频率下,就可以得到模拟的2.5V输出电压 那么75%的占空比 得到的电压就是3.75V。

二.硬件原理图

三.DTS分析

backlight: backlight {
		status = "disabled";
		compatible = "pwm-backlight";
		pwms = <&pwm0 0 25000 0>;
		brightness-levels = <
			  0   1   2   3   4   5   6   7
			  8   9  10  11  12  13  14  15
			 16  17  18  19  20  21  22  23
			 24  25  26  27  28  29  30  31
			 32  33  34  35  36  37  38  39
			 40  41  42  43  44  45  46  47
			 48  49  50  51  52  53  54  55
			 56  57  58  59  60  61  62  63
			 64  65  66  67  68  69  70  71
			 72  73  74  75  76  77  78  79
			 80  81  82  83  84  85  86  87
			 88  89  90  91  92  93  94  95
			 96  97  98  99 100 101 102 103
			104 105 106 107 108 109 110 111
			112 113 114 115 116 117 118 119
			120 121 122 123 124 125 126 127
			128 129 130 131 132 133 134 135
			136 137 138 139 140 141 142 143
			144 145 146 147 148 149 150 151
			152 153 154 155 156 157 158 159
			160 161 162 163 164 165 166 167
			168 169 170 171 172 173 174 175
			176 177 178 179 180 181 182 183
			184 185 186 187 188 189 190 191
			192 193 194 195 196 197 198 199
			200 201 202 203 204 205 206 207
			208 209 210 211 212 213 214 215
			216 217 218 219 220 221 222 223
			224 225 226 227 228 229 230 231
			232 233 234 235 236 237 238 239
			240 241 242 243 244 245 246 247
			248 249 250 251 252 253 254 255>;
		default-brightness-level = <200>;
	};

pwms = <&pwm0 0 25000 0>;
第二个参数“0”表示 index 为 0,因为 pwm0 下面只有 1 个 pwm,所以我们的平台下
面都是填 0;第三个参数“25000”表示周期为 25000ns,所以频率就是 40k,其他频
率配置类似;最后一个参数“0”表示极性,分为正极性和负极性,0 表示正极性。

brightness-levels数组
brightness-levels 数组,我们一般以值 255 为一个 scale,所以一般定义
brightness-levels 为一 256 个元素的数组;当 pwm 设置为正极性时,从 0到255 表示
背光为正极,占空比从 0%100%变化,2550 位负极性,占空比从 100%0%变化;
当 pwm 设置为负极性时,则相反。必须要保证256个元素。

default-brightness-level
表示默认的背光,它存在于开机时候背光初始化到安卓用户
设置下来新的背光这段时间,default-brightness-level = <200>表示为第 200 个元素
的背光亮度。

enable-gpios
表示背光使能脚,这个根据电路原理图配置即可;有的硬件没有这个背光
使能脚,那么将这个配置删除,背光驱动通过配置 brightness-levels 数组的第 0 个元素
将显示调黑。

四.pwm背光子系统

待更新。。。。

 

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

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

相关文章

【小沐学Unity3d】3ds Max 减面工具汇总

文章目录 1、简介2、“优化”修改器3、“专业优化”修改器4、“多分辨率”修改器5、Polygon Cruncher5.1 工具简介5.2 下载安装5.3 使用测试 6、Simplyon6.1 工具简介6.2 下载安装6.3 使用测试 7、FAQ7.1 在3dmax里面显示点数和面数 结语 1、简介 有几个 3ds Max 修改器可帮助您…

C#上位机与欧姆龙PLC的通信03----创建项目工程

1、创建仿真PLC 这是一款CP1H-X40DR-A的PLC&#xff0c;呆会后面创建工程的时候需要与这个类型的PLC类型一致&#xff0c;否则程序下载不到PLC上。 2、创建虚拟串口 首先安装&#xff0c;这个用来创建虚拟串口来模拟真实的串口&#xff0c;也就是上位机上有那种COM口&#xf…

map|动态规划|单调栈|LeetCode975:奇偶跳

作者推荐 【贪心算法】【中位贪心】.执行操作使频率分数最大 涉及知识点 单调栈 动态规划 map 题目 给定一个整数数组 A&#xff0c;你可以从某一起始索引出发&#xff0c;跳跃一定次数。在你跳跃的过程中&#xff0c;第 1、3、5… 次跳跃称为奇数跳跃&#xff0c;而第 2、…

文件传输软件SecureFX mac支持多种协议

SecureFX mac是一款文件传输客户端&#xff0c;可在 Mac 操作系统上使用。它由 VanDyke Software 公司开发&#xff0c;旨在为用户提供安全、可靠、高效的文件传输服务。 SecureFX 支持多种协议&#xff0c;包括 SFTP、SCP、FTP、FTP over SSL/TLS 和 HTTP/S。它使用强大的加密…

Android 13 - Media框架(24)- OMXNodeInstance(一)

为了了解 ACodec 是如何与 OpenMAX 组件进行 buffer 流转的&#xff0c;我们有必要先来学习 OMXNodeInstance&#xff0c;在前面的章节中&#xff0c;我们已经了解了 media.codec 进程包含的内容&#xff0c;以及 OpenMAX 框架中的一些内容。这一节我们将来学习 OMXNode 与 med…

泛微OA C# 调用 WebAPI功能实现

泛微OA C# 调用 WebAPI功能实现 OA 在线文档地址1. 创建流程字段参数 mainData 简单说明字段表明细表2. 接口封装2.1 接口初始化2.2 接口注册2.3 获取Token2.4 拼装 Headers2.5 常用工作流方法2.5.1 创建2.5.2 删除2.5.3 撤回2.5.4 退回3. 接口调用OA 在线文档地址 Token认证 …

Qt前端技术:2.QSS

border-style&#xff1a;后边是两个参数的话第一个参数改变上下的style 第二个参数改变左右的style 如果后边是三个参数的话第一个参数改变上边的style第二个参数改变左右的style&#xff0c;第三个参数改变的下边的style 如果后边是四个参数的话对应的顺序为上&#xff0c;右…

ros2机器人常规控制流程

The joint_state_publisher reads the robot_description parameter from the parameter server, finds all of the non-fixed joints and publishes a JointState message with all those joints defined.也就是说如果我们不需要控制机器人运动&#xff0c;只需要一个节点就可…

HarmonyOS概述

HarmonyOS概述 HarmonyOS系统架构 内核层—系统服务层—框架层—应用层 内核层&#xff1a; 内核子系统: HarmonyOS采用多内核设计&#xff0c;支持针对不同资源受限设备 &#xff0c;选用适合的OS内核&#xff0c;为上层提供基础操作系统能力。驱动子系统: 硬件驱动框架(H…

AI百模大战:引领行业变革与开启人才黄金时代

&#x1f34e;个人博客&#xff1a;个人主页 &#x1f3c6;个人专栏&#xff1a;Linux学习 ⛳️ 功不唐捐&#xff0c;玉汝于成 目录 前言 技术进步&#xff1a;AI的飞速发展 1. 深度学习的多领域应用 2. 自然语言处理的语境理解提升 3. 计算机视觉的实时处理能力提高 4…

清风数学建模学习笔记-斯皮尔曼相关系数

内容&#xff1a;斯皮尔曼相关系数 一.原理&#xff1a; 二.算法&#xff1a; 1.MATLAB: 2.SPSS&#xff1a; 分析-相关-双变量相关-勾选标注显著性相关性 3. 相关性系数的选择&#xff1a;

【vCenter Converter】安装 VMware vCenter Converter Standalone

目录 3.2 开始安装 (具体步骤) 关联博文参考资料 3.2 开始安装 (具体步骤) 点击安装程序后&#xff0c;进入安装导向。 终端用户协议。 接受终端用户协议。 指定安装位置。 指定安装类型&#xff0c;默认本地安装即可。 加入VMware用户体验计划。 准备安装。 安装中。 安装完成…

Open5GSUeRANSim2:对安装在同一个VM上的OPEN5GS和UERANSIM进行配置和抓取wireshark报文

参考链接&#xff1a; Configuring SCTP & NGAP with UERANSIM and Open5GS on a Single VM for the Open5GS & UERANSIM Series https://www.youtube.com/watch?vINgEX5L5fkE&listPLZqpS76PykwIoqMdUt6noAor7eJw83bbp&index5 Configuring RRC with UERANSI…

Python 运维(一):Python 包管理器 pip 的使用指南

大家好&#xff0c;我是水滴~~ 本文将介绍了 Python 的包管理器 pip 的基本使用、常用命令、帮助信息&#xff0c;以及一些常见问题。文章内容包含大量的示例代码&#xff0c;希望能够帮助新手同学快速入门。 《Python入门核心技术》专栏总目录・点这里 文章目录 1. 包管理器1…

Axure基础

软件&#xff1a; 简单交互动效 动态面板 显示和隐藏 表单元件 表格设计 内联框架 导航菜单 元件交互样式 滚动屏幕与弹幕

JAVA线上事故:递归导致的OOM

最近因为人员离职&#xff0c;接手一个项目&#xff0c;是xxljob的客户端&#xff0c;部署在k8s上&#xff0c;在排查线上工单时&#xff0c;发现了一个问题&#xff1a; 在管理界面上&#xff0c;我惊讶的发现&#xff0c;三个月的时间&#xff0c;2个Pod&#xff0c;每个都重…

代码随想录-刷题第三十三天

122. 买卖股票的最佳时机II 题目链接&#xff1a;122. 买卖股票的最佳时机 II 思路&#xff1a;题目中利润是可以分解的。 加入第0天买入&#xff0c;第三天卖出&#xff0c;利润为price[3] - price[0]。其利润可以分解成(prices[3] - prices[2]) (prices[2] - prices[1]) …

Github 2023-12-21 开源项目日报 Top10

根据Github Trendings的统计&#xff0c;今日(2023-12-21统计)共有10个项目上榜。根据开发语言中项目的数量&#xff0c;汇总情况如下&#xff1a; 开发语言项目数量Python项目4Go项目1Jupyter Notebook项目1C#项目1Solidity项目1TypeScript项目1C项目1CSS项目1 GPT-Engineer…

【Linux C | 文件I/O】文件的打开关闭 | open、creat、colse 函数

&#x1f601;博客主页&#x1f601;&#xff1a;&#x1f680;https://blog.csdn.net/wkd_007&#x1f680; &#x1f911;博客内容&#x1f911;&#xff1a;&#x1f36d;嵌入式开发、Linux、C语言、C、数据结构、音视频&#x1f36d; &#x1f923;本文内容&#x1f923;&a…

PHP开发日志——循环和条件语句嵌套不同,效率不同(循环内加入条件语句,条件语句判断后加入循环,array_map函数中加入条件语句)

十多年前开发框架时&#xff0c;为了效率不断试过各种代码写法&#xff0c;今天又遇到了&#xff0c;想想php8时代会不会有所变化&#xff0c;结果其实也还是和当年一样&#xff0c;但当年没写博客&#xff0c;但现在可以把数据记录下来了。 项目基本情况是一个考试系统调用题库…