Backlight二三事(1)——pwm频率适配

本文介绍了背光控制芯片EMD2055,该芯片支持高达11W的LED负载,并具备低静态电流、过电压保护和PWM调光功能,调光频率范围为100Hz到100kHz。通过PWM接口如pwm0以25kHz设置背光亮度,并确保工作在推荐频率范围内以保证正常运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

背光芯片

背光控制芯片使用EMD2055。

芯片手册
http://www.micro-bridge.com/news/news.asp?id=1638

Features

Up to 11 WLEDs supports
Low Quiescent Current: 120 μA
Over Voltage Protection: 36.5V
Inherently Matched LED Current
Shutdown Current < 1μA
Reference Voltage 0.24V
PWM Dimming Control (100Hz~100kHz)
Internal Soft Start and Compensation
1.5A Internal power MOSFET Switch
Low Profile SOT-23-6 and TDFN-8L Packages

在这里插入图片描述
由芯片特性可知,PWM的频率需要控制在100Hz~100kHz,不在此范围的频率可能会导致工作异常。

PWM设置

设置backlight使用pwm0接口,25kHz。

        dsi_backlight: dsi_backlight {
                status = "disabled";
                compatible = "pwm-backlight";
                pwms = <&pwm0 0 25000 0>;
                brightness-threshold;
        };
### 配置 STM32F407 和 OLED 的方法 在 STM32CubeMX 中配置 STM32F407 微控制器以驱动 OLED 显示屏的过程涉及多个方面,包括硬件连接、外设初始化以及软件实现。以下是详细的说明: #### 硬件连接 为了使 STM32F407 正确控制 OLED 屏幕,需按照以下方式设置 GPIO 引脚: - **SCL (Serial Clock)**: 连接到指定的 SPI 或 I2C SCL/GPIO 引脚。 - **SDA (Serial Data)**: 对应于 SPI MOSI/I2C SDA 或 GPIO 引脚。 - **RESET**: 可选,用于重置显示屏。 - **DC (Data/Command)**: 控制数据或命令模式的选择。 - **CS (Chip Select)**: 片选信号。 - **BLK (Backlight Control)**: 如果屏幕支持背光调节,则可接至 PWM 输出。 这些具体引脚可以根据实际使用的开发板布局调整[^1]。 #### 使用 STM32CubeMX 初始化外设 启动 STM32CubeMX 后,执行如下操作来适配 OLED 所需的功能模块: 1. 设置系统核心频率到推荐范围(通常为 168 MHz),并启用 HSE 振荡器作为主时钟源。 2. 配置 SPI 接口或者 I2C 协议栈以便通信传输图像帧缓冲区的数据流给外部设备。 3. 定义上述提到的所有必要GPIO端子功能分配,并确保它们处于正确的AF复用状态之下工作正常。 #### 软件部分——示例代码片段 这里提供一段基于 HAL 库编写的基础函数用来发送指令和像素值至 ST77XX 类型彩色 TFT LCDs 上显示图形对象的一个简单例子: ```c #include "stm32f4xx_hal.h" #define OLED_CMD 0 #define OLED_DATA 1 void OLEDSend(uint8_t dc, uint8_t data){ HAL_GPIO_WritePin(DC_PORT, DC_PIN, (dc ? GPIO_PIN_SET : GPIO_PIN_RESET)); HAL_SPI_Transmit(&hspi1, &data, 1, HAL_MAX_DELAY); } // 发送命令 void OLEDWriteCmd(uint8_t cmd){ OLEDSend(OLED_CMD, cmd); } // 发送数据 void OLEDWriteData(uint8_t dat){ OLEDSend(OLED_DATA, dat); } ``` 此段程序展示了如何通过定义 `OLEDSend` 函数切换命令与数据写入模式,并分别封装成两个独立调用接口供后续高级应用层逻辑调用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值