[学习笔记]

AC781X系列之PWM学习笔记

[复制链接]
1546|10
手机看帖
扫描二维码
随时随地手机跟帖
AutochipsMCU|  楼主 | 2019-7-16 17:57 | 显示全部楼层 |阅读模式
本帖最后由 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模块的配置。
1563270586661.png
备注:
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

更多模块例程详见官网
http://www.autochips.com/cn/MCU/
1563268891687.png

pwm_sample.rar

132.04 KB

使用特权

评论回复

相关帖子

TechHolder| | 2019-7-16 19:45 | 显示全部楼层
电机驱动必备

使用特权

评论回复
RunningX| | 2019-7-17 14:38 | 显示全部楼层
PWM2为高级PWM,支持死区插入,专为电机驱动设计

使用特权

评论回复
zjsmilezzl| | 2019-11-26 16:32 | 显示全部楼层
请问,有没有正交编码模式的demo?

使用特权

评论回复
RunningX| | 2019-11-26 17:00 | 显示全部楼层
本帖最后由 RunningX 于 2019-11-26 17:01 编辑
zjsmilezzl 发表于 2019-11-26 16:32
请问,有没有正交编码模式的demo?

可以在官网下载motorapp(红圈的这个):http://www.autochips.com/cn/motor/index_48.aspx motorapp.PNG
打开该工程后,可以找到相关的配置代码:
编码器配置.PNG
脉冲计数的读取:
脉冲计数.PNG




使用特权

评论回复
zjsmilezzl| | 2019-11-28 14:34 | 显示全部楼层
RunningX 发表于 2019-11-26 17:00
可以在官网下载motorapp(红圈的这个):http://www.autochips.com/cn/motor/index_48.aspx
打开该工程后 ...

谢谢!我找找看看。

使用特权

评论回复
zjsmilezzl| | 2019-11-28 15:04 | 显示全部楼层
RunningX 发表于 2019-11-26 17:00
可以在官网下载motorapp(红圈的这个):http://www.autochips.com/cn/motor/index_48.aspx
打开该工程后 ...

请教一下,这部分代码貌似是软解码方式?这款芯片能支持到多少速度、多少RPM的情况下可以使用?

使用特权

评论回复
RunningX| | 2019-11-28 15:17 | 显示全部楼层
zjsmilezzl 发表于 2019-11-28 15:04
请教一下,这部分代码貌似是软解码方式?这款芯片能支持到多少速度、多少RPM的情况下可以使用? ...

脉冲计数是可以通过寄存器的值读取的,你指的软解码是?具体能支持到多高转速,这是一个跟电机本身强相关的问题,不仅仅受限于芯片本身

使用特权

评论回复
感谢分享

使用特权

评论回复
zhuotuzi| | 2020-3-10 20:54 | 显示全部楼层
非常赞。

使用特权

评论回复
zhujun615| | 2020-3-11 08:47 | 显示全部楼层
谢谢分享!!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

认证:合肥杰发科技有限公司
简介:四维图新全资子公司 全球多地布局;专注于汽车电子芯片及相关系统的研发与设计 车规级芯片覆盖整车;客户遍及海内外 全球超过8000万辆车搭载杰发科技芯片。

59

主题

268

帖子

7

粉丝