Edit online

参数配置

3 Mar 2025
Read time: 3 minute(s)

驱动配置

  1. Luban-Lite 根目录下执行 scons --menuconfig,进入 menuconfig 的功能配置界面。

  2. 选择需要的 pwm/epwm 通道。以下以打开 PWM3 作为示例:
    Board options  --->
        [ ] Using PWM0
        [ ] Using PWM1
        [ ] Using PWM2
        [*] Using PWM3
        Using EPWM --->
            [ ] Using EPWM0
            [ ] Using EPWM1
            [ ] Using EPWM2
            [ ] Using EPWM3
            [ ] Using EPWM4
            [ ] Using EPWM5
    提示:

    为了简化使用,打开 Using PWMx/EPWMx 会自动打开 RT-Thread 的 PWM 设备驱动框架。

  3. 在 menuconfig 界面中打开 RT-Thread 的 PWM 设备驱动框架。 使用 RT-Thread 内核的时,PWM/EPWM 驱动需要依赖 RT-Thread 的 PWM 设备驱动框架。

PWM 自定义参数

PWM 驱动在 drv_pwm.c 中提供了一个接口 aic_pwm_default_action() 来配置 PWM 各通道的行为参数(EPWM 驱动的接口是 drv_pwm.c 中的 aic_epwm_default_action() )。

如果因为板级硬件设计的差异,和实际应用场景不同,可以对这些参数进行调整。参数的定义如下表:

1.

参数名称

类型

取值范围

功能说明

mode

enum

up/down/up-down-count

配置增减模式

default-level

正整数

[0, 1]

默认/初始电平

action0

数据结构

配置 CAD、CAU 等行为

多个关键时点的触发行为

action1

数据结构

配置 CAD、CAU 等行为

多个关键时点的触发行为

表中 action0 和 action1 会涉及 4 种行为类型,定义如下:

2. Action 类型及其行为

Action 类型

行为描述

PWM_ACT_NONE/EPWM_ACT_NONE

不做任何变化,保持之前的输出电平

PWM_ACT_LOW/EPWM_ACT_LOW

跳变为 0 电平

PWM_ACT_HIGH/EPWM_ACT_HIGH

跳变为 1 电平

PWM_ACT_INVERSE/EPWM_ACT_INVERSE

跳变为反向的电平,比如从 0 跳变为 1

以下是一些典型的参数组合,可参考:

3. 典型参数组合

Mode

CBD

CBU

CAD

CAU

PRD

ZRO

Def level

本 SoC 测试结果

Up count

-

-

-

high

low

-

1

负占空比

-

-

-

low

high

-

0

正占空比(默认)

-

-

-

high

-

high

1

负占空比

-

-

-

low

-

low

0

正占空比

Down count

-

-

high

-

low

-

0

正占空比

-

-

low

-

high

-

1

负占空比

-

-

high

-

-

low

0

正占空比

-

-

low

-

-

high

1

负占空比

Up-Down count

-

-

high

low

low

high

0

正占空比

-

-

low

high

high

low

1

负占空比

其中,“正占空比”和“负占空比” 的意思是指当通过 Backlight 节点设置背光亮度时,得到的占空比结果是正向、还是反向的。

时钟配置

PWM 模块涉及时钟的衍生关系:


pwm_clk_tree

1. PWM 模块的时钟衍生关系图

EWM 模块涉及时钟的衍生关系:


epwm_clk_tree

2. EPWM 模块的时钟衍生关系图
注:
容易混淆的 sysclk:
  • PWM 驱动中,按照惯例将父时钟称作 sysclk,即上图的 PLL INT1。

  • PWM 硬件 spec 中,将上图中的 PWM Clk 称作 sysclk