7.8.4. 测试指南¶
7.8.4.1. 测试环境¶
7.8.4.1.1. 硬件¶
开发板
示波器,用于观察输出PWM信号的波形
7.8.4.1.2. 软件¶
PC端的串口终端软件,用于PC和开发板进行串口通信
RT-Thread 系统自带的
pwm
命令行工具
7.8.4.1.3. 软件配置¶
当打开 RT-Thread 系统的 PWM设备驱动框架,就会在启动时注册生成 pwm
命令。
7.8.4.2. 动态配置 PWM¶
使用 pwm
命令来配置某一通道的步骤:(以通道3为例)
使用 probe 参数,选择一个 PWM 设备(PWM/EPWM),其中
pwm
命令只支持 probe 一个设备。使用 set 参数,设置通道3的周期、占空比
enable 通道3
运行期间也可以动态 set 通道3的周期、占空比
aic /> pwm
Usage:
pwm probe <device name> - probe pwm by name
pwm enable <channel> - enable pwm channel
pwm disable <channel> - disable pwm channel
pwm get <channel> - get pwm channel info
pwm set_pul <channel> <irq_mode> <period> <pulse> <pulse cnt> - set pwm pulse
pwm set <channel> <period> <pulse> - set pwm channel info
aic /> pwm probe pwm
probe pwm success
aic /> pwm set 3 1000000 600000
pwm info set on pwm at channel 3
aic /> pwm enable 3
pwm channel 3 is enabled success
aic />
aic /> pwm set 3 1000000 100000
pwm info set on pwm at channel 3
aic /> pwm set 3 1000000 900000
pwm info set on pwm at channel 3
在修改通道3的参数时,需要借助示波器来观察确认输出的方波信号是否符合预期。
指定数目脉冲输出
aic /> pwm set_pul 3 0 1000000 500000 5
pwm pul set on pwm at channel 3
aic /> [I] aic_pwm_irq()198
isr cnt:5,disabled the pwm3 interrupt now.
aic /> pwm set_pul 3 0 1000000 500000 5
pwm pul set on pwm at channel 3
aic /> [I] aic_pwm_irq()198
isr cnt:5,disabled the pwm3 interrupt now.
脉冲输出的方向与action配置有关,同时指定脉冲数目输出依赖中断,中断模式需要与action配置相对应。
其中irq_mode范围为0-3,依次为:
0: TBCTR=CMPA且计数器正在递增时触发事件
1: TBCTR=CMPA且计数器正在递减时触发事件
2: TBCTR=CMPB且计数器正在递增时触发事件
3: TBCTR=CMPB且计数器正在递减时触发事件
例如下面以通道3为例说明,使用 pwm_status
查看action配置。
aic /> pwm_status
In PWM V1.00:
Module Enable: 1, IRQ Enable: 0x8
Ch En Mode Tb-clk-rate Def CBD CBU CAD CAU PRD ZRO
0 0 Up 24000000 0 - - - - - -
- - - - - -
1 0 Up 24000000 0 - - - - - -
- - - - - -
2 0 Up 24000000 0 - - - - - -
- - - - - -
3 1 Up 24000000 0 - - - Low Hgh -
- - - Low Hgh -
通道3默认配置为CAU动作,所以此处irq_mode配置为0。同时由于CAU为Low,所以输出的脉冲方向为下降沿。