打印

[学习笔记] AC781X系列之PWM学习笔记

[复制链接]
193|2
跳转到指定楼层
楼主
本帖最后由 AutochipsMCU 于 2019-7-16 18:01 编辑



PWM模块介绍

简介
PWM模块是一个双通道到六通道的定时器,支持输入捕获、输出比较和PWM信号的生成。PWM的计数功能是通过一个16位的计数器产生。AC781X最多可包含四个PWM模块,一个具有全功能的6通道PWM和3个基本功能的双通道PWM。每个PWM模块都可以使用独立的外部时钟作为时钟源输入。
备注:
AC781XXXGE系列共有12个PWM通道(一个6通道,3个两通道),总共四个PWM模块。
AC781XXXFE系列共有9个PWM通道(一个6通道PWM2,一个两通道PWM0,一个一通道PWM3_CH0)。
下表概述了PWM模块的配置。
备注:
PWM2有6通道,带死区插入和故障检测。主要用于控制PMSM/BLDC电机。

PWM特性
  • PWM 时钟源可选,时钟源可以是系统时钟、内部RC时钟或外部时钟;

  • 16位预分频器支持1,2,3至65535分频;

  • 16位计时器,支持向上,向上-向下两种计数方式;

  • 每个通道都可以配置为输入捕获,输出比较,边沿/中心对齐PWM模式;

  • 在输入捕获模式下,捕获可以发生在上升沿、下降沿或上升沿/下降沿;

  • 输入捕获模式下,可以为PWM2通道配置输入滤波器;

  • 在输出比较模式下, 可以在匹配时输出0,1或者输出反转;

  • PWM通道可以采用具有同等输出或者互补输出的成对工作方式,或作为独立通道输出信号;

  • PWM2死区插入可用于每一对互补通道;

  • 生成匹配触发器;

  • 软件控制PWM输出;

  • 对于故障控制最多有4个故障输入;
  • 每个通道的极性是可配置的;

  • 每个通道产生一个中断;

  • 当计数器溢出时,产生中断;

  • 当检测到故障条件时,产生中断;

  • 同步加载写缓冲PWM 寄存器;

  • 对关键寄存器写保护;

  • 用于脉冲和 周期宽度测量的双边沿捕获;

  • 正交编码器具有输入滤波器、 相对位置计数和位置计数中断,或外部事件位置计数捕获。



PWM模块功能
PWM模块主要的功能包括:输入捕获,输出比较,PWM输出。
PWM2具有增强型PWM功能,可用于PMSM/BLDC电机控制。
PWM模块的介绍详情请参考文档《ATC_AC781x_ReferenceManual_CH.pdf》 12.3章节。


例程介绍
为了使工程师更加容易上手Autochips MCU。我们特意整理了详细的模块例程。
pwm_sample例程通过设置PWM_SAMPLE_SELECT宏定义参数来编译对应例程。详情参考代码。
#define PWM_SAMPLE_CAPTURE_FREQ              1  //例程1:PWM1输出PWM,PWM2 CH0捕获频率
#define PWM_SAMPLE_CAPTURE_DUTY              2  //例程2:PWM1输出PWM,PWM2捕获频率后捕获占空比(针对频率不变,占空比变化应用场景)
#define PWM_SAMPLE_OUTPUT_COMPARE            3  //例程3:PWM0输出比较模式
#define PWM_SAMPLE_BLDC_CONTROL              4  //例程4:在电机demo板上用六步方波开环方式控制电机运行
#define PWM_PHASE_SHIFT_OUTPUT               5  //例程5:PWM2 CH0,CH1互补输出,PWM2 CH2,CH3互补输出。PWM2 CH2相对CH0移相180度
#define PWM_SAMPLE_SELECT                        PWM_SAMPLE_CAPTURE_FREQ

更多模块例程详见官网


pwm_sample.rar

132.04 KB, 下载次数: 3

使用特权

评论回复

相关资料

沙发
| 2019-7-16 19:45 | 只看该作者
电机驱动必备

使用特权

评论回复
板凳
| 2019-7-17 14:38 | 只看该作者
PWM2为高级PWM,支持死区插入,专为电机驱动设计

使用特权

评论回复
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

我要发帖 投诉建议 创建版块

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式

论坛热帖

在线客服 快速回复 返回顶部 返回列表