KDocs 研发资料库
  • 视频技术应用资料与文档入口汇总
  • Window下使用Makefile编译代码教程
  • AC52系列PWM使用说明文档
  • AC57系列PWM使用说明文档
  • 52 系列_串口外设的使用说明
  • 57 系列_串口外设的使用说明
  • AC52系列SPI使用说明文档
  • AC57系列SPI使用说明文档
  • AC52系列外部中断使用说明文档
  • AC57系列外部中断使用说明文档
  • AC54&56外部中断使用说明文档
  • AC52 红外捕获中断demo使用说明文档
  • 视频系列SDK汇总及获取方法
  • AC52系列软件典型问题整理文档获取
  • AC791N开发-入门到进阶开发指导文档(完善ing)
  • AC792N开发-入门到进阶开发指导文档(完善ing)
  • 792 littlefs文件系统配置
  • 792N系列 U盘单备份升级说明
  • 792x串口uart升级说明参考

AC52系列PWM使用说明文档

📎 原始文档:https://www.kdocs.cn/l/cfmKdlePXFeL

AC52系列PWM使用说明文档

目录
TOC \o "1-2" \h \u  HYPERLINK \l _Toc31362 一、定时器PWM配置方式  PAGEREF _Toc31362 \h 1
 HYPERLINK \l _Toc26740 二、硬件PWM配置方式  PAGEREF _Toc26740 \h 3
 HYPERLINK \l _Toc20128 1、硬件PWM单路输出  PAGEREF _Toc20128 \h 4
 HYPERLINK \l _Toc24191 2、硬件PWM多路输出  PAGEREF _Toc24191 \h 6


AC52系列有两种输出PWM的方式,分别是定时器方式和硬件PWM方式。其中定时器方式输出PWM可以映射到任意普通IO,而硬件PWM方式需要在固定的具有PWM功能的IO引脚上才能输出。

一、定时器PWM配置方式

定时器PWM方式是通过配置定时器计数产生PWM再映射到IO引脚进行输出。使用该方式需要注意的是:这个定时器在SDK其它地方是没有被占用到,在公版SDK中,定时器3默认是没有被占用到,下面是以定时器3为例子的相关配置。(注:AC52系列的寄存器详细说明文档可以查看《AC521N用户手册》)。
(1)通过对IOMC1寄存器中的OUT_CH3S[23:20]进行配置可以将channel3(其它channel配置也类似)选择为TMR3_PWM_OUT输出,如下:
image

image

image

(2)设置PWM输出的引脚,下面是以映射到PG6引脚为例,如果需要映射到其它引脚,只需要修改成对应的引脚即可。
image

(3)频率与占空比设置,相关寄存器配置代码及寄存器说明如下:
image

其中PWM频率是在定时器3控制寄存器T3_CON中的PSET1-0[5:4]这两位进行分频系数的设置,MODE1-0[1:0]工作模式选择,这里需要选择定时/计数模式
image

image

image

T3_PRD为定时器3的周期寄存器,具体如下:
image

T3_PWM寄存器决定PWM输出的占空比,说明如下:
image

T3_CNT为定时器3计数寄存器,初始化时需要置0。
(4)PWM占空比的设置,在跑了pwm_init函数之后就可以调用如下pwm_duty_cycle函数去设置PWM的占空比
image

完整的PWM初始化和占空比设置函数在下面文件中
 EMBED Package 
image 

  1. 硬件PWM配置方式 硬件PWM输出有固定的引脚,一共有三组,每组有6个通道。具体的引脚如下:
    image

这三组PWM在SDK中的pwm.h文件下有对应的宏定义
image

1、硬件PWM单路输出

该方式通过PWM硬件模块去给对应的引脚输出PWM,在使用硬件PWM时,需要对应的引脚具备PWM输出的功能。下面是以A组的通道0(PA6引脚)为例:
(1)app_config.h中打开PWM使用的宏,如下:
image

  1. 板级文件中需要确认输出的PWM引脚端口设置,PA6引脚对应的是PWM_PORTA,如下: image

image

image

(3)使用时先调用pwm_ch0_init函数对PWM模块进行初始化后会输出默认设置的频率和占空比,再调用pwm_ch0_ctrl函数可动态设置PWM的占空比,pwm_ch0_freq_ctrl函数可以动态设置PWM的频率。相关函数的实现如下:
image

image

image

硬件PWM单路输出的函数定义在下面文件中
 EMBED Package 
image 

2、硬件PWM多路输出

使用硬件PWM模块同时输出多路PWM,这个和硬件PWM单路输出的配置类似,且每路PWM都可以单独控制频率和占空比。下面是以A组(PWM_PORTA)的CH0到CH3这4个通道同时输出PWM为例,只需要在上面的硬件PWM单路输出的基础上修改初始化函数即可多路同时输出pwm,下面是初始化及频率和占空比的设置函数
image

image

image

image

使用时先调用pwm_mult_output_init函数对PWM模块进行初始化,需要修改占空比可以通过pwm_ctrl函数去动态设置占空比,pwm_freq_ctrl函数可以动态设置PWM的频率。硬件PWM多路输出的相关函数定义在下面文件中:
 EMBED Package 
image 

杰理科技
2023年03月01日

Prev
Window下使用Makefile编译代码教程
Next
AC57系列PWM使用说明文档