7.6.2. 参数配置

7.6.2.1. 驱动配置

在 ZX-RTT 根目录下执行 scons --menuconfig,进入menuconfig的功能配置界面,按如下选择(配置只打开了PWM3,作为示例):

Board options  --->
    [ ] Using PWM0
    [ ] Using PWM1
    [ ] Using PWM2
    [*] Using PWM3

当使用 RT-Thread 内核的时候,PWM 驱动需要依赖RT-Thread的 PWM 设备驱动框架,也是在menuconfig界面中打开:

Rt-Thread options  --->
    RT-Thread Components  --->
        Device Drivers  --->
            [*]  Using PWM device drivers

小技巧

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

7.6.2.2. PWM 自定义参数

PWM 驱动在drv_pwm.c中提供了一个接口 aic_pwm_default_action() 来配置PWM各通道的行为参数,一般情况下客户不需要修改。 如果因为板级硬件设计的差异,可以对这些参数进行调整。参数的定义如下表:

参数名称

类型

取值范围

功能说明

mode

enum

up/down/up-down-count

配置增减模式

default-level

正整数

[0, 1]

默认/初始电平

action0

数据结构

配置CAD、CAU等行为

多个关键时点的触发行为

action1

数据结构

配置CAD、CAU等行为

多个关键时点的触发行为

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

Action类型

行为描述

PWM_ACT_NONE

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

PWM_ACT_LOW

跳变为0电平

PWM_ACT_HIGH

跳变为1电平

PWM_ACT_INVERSE

跳变为反向的电平,比如原本是0则跳变为1

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

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 节点设置背光亮度时,得到的占空比结果是正向、还是反向的。

7.6.2.3. 时钟配置

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

../../../_images/pwm_clk_tree.png

图 7.9 PWM 模块的时钟衍生关系图

其中:

  1. PLL_INT1时钟是 M4和M3 中的设计,D12x 中PWM Clk的父时钟是固定的24MHz。

  2. 前3个时钟在PWM 驱动中已经配置好,最后的 PWM Frequency由使用时的cycle参数决定。

备注

容易混淆的sysclk:

  1. PWM驱动中,按照惯例将父时钟称作 sysclk,即上图的PLL INT1;

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