Atlas 200I Pro RC模式PWM调测参考
收藏回复举报
Atlas 200I Pro RC模式PWM调测参考
发表于2026-03-11 19:52:50
0 查看

       PWM(Pulse Width Modulation)模块是一个用户可编程的PWM控制器,在AI-P 加速模块中,可以利用GPIO管脚复用功能,配置GPIO端口复用为PWM模式,通过控制PWM的方波脉冲信号的占空比可以控制风扇的转速。

      可使用PWM为PWM0和PWM1,PWM3和4已配置成上电管脚,不可使用。

1 PWM1 调测参考

1.1 寄存器描述 AI-P 加速模块提供了PWM1管脚复用控制寄存器,描述如下。

管脚名称

信号名称定义

MUX Base Address

Offset Address

Reset Value

复用关系

PWM1

GPIO185/PWM1

0x84020000(主片)

0x808402000(从片)

0xC4

0x00000001

Bits[31:3]:预留

Bits[2:0]:

000:pad_pwm1;

001:pad_gpio185;

010:pad_sda11;

100:pad_probe_b8;

111:pad_probe_b8;

其它:保留

主片PWM寄存器基地址为0x0084000000,从片PWM寄存器基地址为0x8084000000,寄存器偏移部分描述如下表。

寄存器名称

描述

偏移地址

宽度

默认值

字段名称

字段范围

字段属性

字段默认值

字段释义

PWM_PRD1

1通道脉冲周期寄存器

0x14

32

0x0FFFFFFF

reserved

31:28

-

0x0

保留

pwm_prd1

27:0

RW

0xFFFFFFF

1通道输出PWM信号的周期

CH1_PWL

1通道脉冲低电平起始寄存器

0x18

32

0x00000000

reserved

31:28

-

0x0

保留

ch1_pwl

27:0

RW

0x0000000

1通道PWM信号脉冲低电平开始时刻

CH1_PWH

1通道脉冲高电平起始寄存器

0x1C

32

0x00000000

reserved

31:28

-

0x0

保留

ch1_pwh

27:0

RW

0x0000000

1通道PWM信号脉冲高电平开始时刻

MEASURE_TIME

风扇测量时间窗大小

0x0108

32

0x0000

reserved

31:14

RW

0x00

保留

set_cnt500ms

13:0

RW

0x00

风扇测量时间窗大小,表示有多少个8KHz时钟

1.2 调测参考

PWM寄存器管脚复用配置

PWM1管脚与GPIO管脚复用,使用PWM1管脚时,需配置复用关系:配置寄存器IOMUX(主片基地址为0x84020000,从片基地址为0x8084020000,偏移地址为0xC4)为0,配置管脚功能为PWM1。

PWM寄存器配置

通过配置PWM1寄存器可实现管脚外接风扇的转速读写控制,以PWM1的1通道为例具体配置步骤如下。

1.2.1_配置寄存器MEASURE_TIME(偏移地址为0x108,Bit[13-0]),配置风扇测量时间窗大小。

1.2.2_配置寄存器PWM_PRD1(偏移地址为0x14,Bit[27-0]),设置脉冲周期。

1.2.3_配置寄存器CH1_PWL (偏移地址为0x18,Bit[27-0]),设置低电平开始时刻。

1.2.4_配置寄存器CH1_PWH(偏移地址为0x1C,Bit[27-0]),设置高电平开始时刻,即设置PWM占空比(风扇转速百分比)。

1.2.5_查询寄存器CH1_PWH(偏移地址为0x1C,Bit[27-0]),查询高电平开始时刻,可查询PWM占空比(风扇转速百分比)。

1.3 案例参考

1.3.1_设置PWM1管脚复用关系为pad_pwm1。

./devmem 0x00840200C4 32 0

1.3.2_设置PWM风扇测量时间窗大小为250ms。

./devmem 0x0084000108 32 2000

1.3.3_设置PWM脉冲周期为10000。

./devmem 0x0084000014 32 10000

1.3.4_设置PWM低电平开始时刻。

./devmem 0x0084000018 32 0

1.3.5_设置PWM高电平开始时刻,即可设置PWM占空比(风扇转速百分比),此处以PWM占空比为45%举例。

./devmem 0x008400001C 32 4500

1.3.6_查询PWM占空比(风扇转速百分比)。

./devmem 0x008400001C

此处可查询到PWM占空比为45%。

2 PWM2 调测参考

2.1 寄存器描述 AI-P 加速模块提供了PWM2管脚复用控制寄存器,描述如下。

管脚名称

信号名称定义

MUX Base Address

Offset Address

Reset Value

复用关系

PWM2

GPIO186/PWM2

0x84020000(主片)

0x808402000(从片)

0xC8

0x00000001

Bits[31:3]:预留

Bits[2:0]:

000:pad_pwm2;

001:pad_gpio186;

011:pad_boot_cfg2;

100:pad_probe_b9;

101:pad_probe_b9;

其它:保留。 

主片PWM寄存器基地址为0x0084000000,从片PWM寄存器基地址为0x8084000000,寄存器偏移部分描述如下表。

寄存器名称

描述

偏移地址

宽度

默认值

字段名称

字段范围

字段属性

字段默认值

字段释义

PWM_PRD2

2通道脉冲周期寄存器

0x20

32

0x0FFFFFFF

reserved

31:28

-

0x0

保留

pwm_prd2

27:0

RW

0xFFFFFFF

2通道输出PWM信号的周期

CH2_PWL

2通道脉冲低电平起始寄存器

0x24

32

0x00000000

reserved

31:28

-

0x0

保留

ch2_pwl

27:0

RW

0x0000000

2通道PWM信号脉冲低电平开始时刻

CH2_PWH

2通道脉冲高电平起始寄存器

0x28

32

0x00000000

reserved

31:28

-

0x0

保留

ch2_pwh

27:0

RW

0x0000000

2通道PWM信号脉冲高电平开始时刻

MEASURE_TIME

风扇测量时间窗大小

0x0108

32

0x0000

reserved

31:14

RW

0x00

保留

set_cnt500ms

13:0

RW

0x00

风扇测量时间窗大小,表示有多少个8KHz时钟

2.2 调测参考

PWM寄存器管脚复用配置

PWM2管脚与GPIO管脚复用,使用PWM2管脚时,需配置复用关系:配置寄存器IOMUX(主片基地址为0x84020000,从片基地址为0x8084020000,偏移地址为0xC8)为0,配置管脚功能为PWM2。

PWM寄存器配置

通过配置PWM2寄存器可实现管脚外接风扇的转速读写控制,以PWM2的2通道为例具体配置步骤如下。

2.2.1_配置寄存器MEASURE_TIME(偏移地址为0x108,Bit[13-0]),配置风扇测量时间窗大小。

2.2.2_配置寄存器PWM_PRD2(偏移地址为0x20,Bit[27-0]),设置脉冲周期。

2.2.3_配置寄存器CH2_PWL (偏移地址为0x24,Bit[27-0]),设置低电平开始时刻。

2.2.4_配置寄存器CH2_PWH(偏移地址为0x28,Bit[27-0]),设置高电平开始时刻,即设置PWM占空比(风扇转速百分比)。

2.2.5_查询寄存器CH2_PWH(偏移地址为0x28,Bit[27-0]),查询高电平开始时刻,可查询PWM占空比(风扇转速百分比)。

2.3 案例参考

2.3.1_设置PWM2管脚复用关系为pad_pwm2。

./devmem 0x00840200C8 32 0

2.3.2_设置PWM风扇测量时间窗大小为250ms。

./devmem 0x0084000108 32 2000

2.3.3_设置PWM脉冲周期为10000。

./devmem 0x0084000020 32 10000

2.3.4_设置PWM低电平开始时刻。

./devmem 0x0084000024 32 0

2.3.5_设置PWM高电平开始时刻,即可设置PWM占空比(风扇转速百分比),此处以PWM占空比为45%举例。

./devmem 0x0084000028 32 4500

2.3.6_查询PWM占空比(风扇转速百分比)。

./devmem 0x0084000028

此处可查询到PWM占空比为45%。

本帖最后由 匿名用户 于 2026/03/18 09:37:38 编辑

我要发帖子