MICROCHIP PWM User Manual

15 章 电机控制 PWM
目录
本章包括下列主题:
15.1 简介 ............................................................................................................................. 15-2
15.3 PWM 时基 ................................................................................................................. 15-16
15.4 PWM 占空比比较单元 ............................................................................................... 15-20
15.5 互补 PWM 输出模式 .................................................................................................. 15-26
15.6 死区时间控制 ............................................................................................................15-27
15.7 独立 PWM 输出模式 .................................................................................................. 15-30
15.8 PWM 输出改写 .......................................................................................................... 15-31
15.9 PWM 输出和极性控制 ............................................................................................... 15-34
15.10 PWM 故障引脚 .......................................................................................................... 15-34
15.1 1 PWM 更新锁定 .......................................................................................................... 15-37
15.12 PWM 特殊事件触发器 ............................................................................................... 15-38
15.13 器件低功耗模式下的工作 ..........................................................................................15-38
15.14 用于器件仿真的特殊功能 ..........................................................................................15-39
15.15 相关应用笔记 ............................................................................................................15-42
15.16 版本历史 ....................................................................................................................15-43
© 2005 Microchip Technology Inc. DS70062D_CN 15-1
15
电机控制
PWM
dsPIC30F 系列参考手册

15.1 简介

电机控制 PWM MCPWM)模块简化了产生多种同步脉宽调制输出的任务。特别是它还能支持 以下电源和电机控制应用:
三相交流感应电机 (AC Induction Motor, ACIM)
开关磁阻 (Switched Reluctance, SR)电机
直流无刷 (Brushless DC, BLDC)电机
不间断电源 (UPS) PWM 模块具有如下特性:
专用时基支持 T
每个 PWM 发生器都有两个输出引脚
每个配对输出引脚均可互补或独立工作
用于互补模式的硬件死区时间发生器
可由器件配置位设置输出引脚极性
多种输出模式:
- 边沿对齐模式
- 中心对齐模式
- 带双更新的中心对齐模式
- 单事件模式
手动改写用于 PWM 输出引脚的寄存器
占空比更新可配置为立即更新或与 PWM 同步
有可编程功能的硬件故障输入引脚
用于同步 A/D 转换的特殊事件触发器
每个与 PWM 相关的输出引脚都可以被单独使能
CY/2 PWM 边沿精度

15.1.1 不同 MCPWM 模块

根据所选的 dsPIC30F 器件的不同有两种 MCPWM 模块。一种是 8 输出模块,它通常见于 64 引 脚或以上的器件上。还有一种是 6 输出的 MCPWM 模块,它通常见于引脚数小于 64 的较小器件 上。给定的 dsPIC30F 器件也可能具有一个以上的 MCPWM 模块。
如需更多详细信息,参见特定器件数据手册。
15-1 功能部件总结:6 输出 MCPWM 8 输出 MCPWM 的对比
I/O 引脚 PWM 发生器
故障输入引脚 死区时间发生器
6 输出的 MCPWM 模块可用于单相或 3 相电源的应用,而 8 输出的 MCPWM 能支持 4 相电机应 用。表 15-1 提供了 6 输出和 8 输出的 MCPWM 模块的功能部件总结。两种模块都支持多种单相 负载。8 输出 MCPWM 还为应用中提供了更高的灵活性,因为它支持两个故障引脚和两个可编程 死区时间。在随后的各节中将更详细的讨论这些功能。
15-1 所示为 MCPWM 模块的简化框图。
功能部件
6 输出 MCPWM 模块 8 输出 MCPWM 模块
68 34 12
12
DS70062D_CN 15-2 © 2005 Microchip Technology Inc.
15-1 MCPWM 框图
15 章 电机控制 PWM
16 位数据总线
PTCON
PWMCON1
PWMCON2
DTCON1
DTCON2
FLTACON
FLTBCON
OVDCON
PWM 时基控制
PWM 使能和模式 SFR
死区时间控制 SFR
故障引脚控制 SFR
PWM 手动控制
PWM 发生器 1
PDC1
PWM1 占空比寄存器
比较器
通道
1
死区时间 发生器和
改写逻辑
PWM1H
PWM1L
PTMR
比较器
PTMR 周期寄存器
PTPER
比较器
SEVTCMP
1: 没有详细显示 PWM 发生器 23 4 的细节。
26 输出 MCPWM 模块中没有虚线中的逻辑电路。
PWM 发生器 2
PWM 发生器 3
PWM 发生器 4
特殊事件 后分频器
通道 2
死区时间 发生器和 改写逻辑
通道 3
死区时间 发生器和
改写逻辑
通道 4
死区时间 发生器和
改写逻辑
用于 A/D 转换器的特殊事件触发器
PWM2H
PWM2L
PWM3H
PWM3L
PWM4H
PWM4L
FLTA
FLTB
15
电机控制
PWM
© 2005 Microchip Technology Inc.. DS70062D_CN 第 15-3 页
dsPIC30F 系列参考手册

15.2 控制寄存器

以下寄存器控制 MCPWM 模块的工作:
• PTCON:PWM时基控制寄存器
• PTMR:PWM 时基寄存器
• PTPER:PWM时基周期寄存器
• SEVTCMP:PWM 特殊事件比较寄存器
• PWMCON1PWM 控制寄存器 1
• PWMCON2PWM 控制寄存器 2
• DTCON1:死区时间控制寄存器 1
• DTCON2:死区时间控制寄存器 2
• FLTACON:故障 A 控制寄存器
• FLTBCON:故障 B 控制寄存器
• PDC1:PWM占空比寄存器 1
• PDC2:PWM占空比寄存器 2
• PDC3:PWM占空比寄存器 3
• PDC4:PWM占空比寄存器 4
此外,还有三个与 MCPWM 模块相关的器件配置位以设置初始复位状态I/O 引脚的极性。这些 配置位位于 FBORPOR 器件配置寄存器中。更多详情请24 器件配置”。
DS70062D_CN 15-4 © 2005 Microchip Technology Inc.
15 章 电机控制 PWM
寄存器 15-1 PTCONPWM 时基控制寄存器
节:
R/W-0 U-0 R/W-0 U-0 U-0 U-0 U-0 U-0
PTEN
bit 15 bit 8
bit 15 PTENPWM 时基定时器使能位
bit 14 bit 13 PTSIDL:空模式 PWM 时基停止
bit 12-8 bit 7-4 PTOPS<3:0>PWM 时基输出后分频比选
节:
bit 7 bit 0
1 = PWM 时基开 0 = PWM 时基关
用:0
1 = PWM 时基在 CPU 模式停止 0 = PWM 时基在 CPU 模式运行
用:0
1111 = 1:16 后分频
PTSIDL
R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0
PTOPS<3:0> PTCKPS<1:0> PTMOD<1:0>
0001 = 1:2 后分频 0000 = 1:1 后分频
bit 3-2 PTCKPS<1:0>PWM 时基输入时钟预分频比选
11 = PWM 时基输入时周期为 64 T 10 = PWM 时基输入时周期为 16 TCY 1:16 分频) 01 = PWM 时基输入时周期为 4 T 00 = PWM 时基输入时周期为 1 TCY 1:1 分频)
bit 1-0 PTMOD<1:0>PWM 时基模式选
11 = PWM 时基工作在带双 PWM 更新中断的连续向/ 下模式 10 = PWM 时基工作在连续向/ 数模式 01 = PWM 时基工作在单事件模式 00 = PWM 时基工作在运行模式
图注:
R = W = 可写位 U = 用位,作 0
-n = 上电复位时的 1 = 置位 0 = 清零 x = 未知
CY (1:64 分频)
CY (1:4 分频)
15
© 2005 Microchip Technology Inc.. DS70062D_CN 15-5
电机控制
PWM
dsPIC30F 系列参考手册
寄存器 15-2 PTMRPWM 时基寄存器
节:
R-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0
PTDIR PTMR <14:8>
bit 15 bit 8
节:
R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0
PTMR <7:0>
bit 7 bit 0
bit 15 PTDIRPWM 时基方向状态位(只读
1 = PWM 时基 0 = PWM 时基
bit 14-0 PTMR<14:0>:PWM 时基寄存器
图注:
R = W = 可写位 U = 用位,作 0
-n = 上电复位时的 1 = 置位 0 = 清零 x = 未知
寄存器 15-3 PTPERPWM 时基周期寄存器
节:
U-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0
bit 15 bit 8
节:
R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0
bit 7 bit 0
bit 15 bit 14-0 PTPER<14:0>PWM 时基周期
用:0
图注:
R = W = 可写位 U = 用位,作 0
-n = 上电复位时的 1 = 置位 0 = 清零 x = 未知
PTPER<14:8>
PTPER<7:0>
DS70062D_CN 15-6 © 2005 Microchip Technology Inc.
15 章 电机控制 PWM
寄存器 15-4 SEVTCMP:特殊事件比较寄存器
节:
R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0
SEVTDIR SEVTCMP<14:8>
bit 15 bit 8
节:
R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0
SEVTCMP<7:0>
bit 7 bit 0
bit 15 SEVTDIR:特殊事件触发器时基方向
1 = PWM 时基数时触发特殊事件。 0 = PWM 时基数时触发特殊事件。
bit 14-0 SEVTCMP<14:0>:特殊事件比较
1SEVTDIR PTDIR PTMR<15>)比较以产生特殊事件触发信
2SEVTCMP<14:0> PTMR<14:0> 比较以产生特殊事件触发信
图注:
R = W = 可写位 U = 用位,作 0
-n = 上电复位时的 1 = 置位 0 = 清零 x = 未知
寄存器 15-5 PWMCON1PWM 控制寄存器 1
节:
U-0 U-0 U-0 U-0 R/W-0 R/W-0 R/W-0 R/W-0
bit 15 bit 8
节:
R/W-1 R/W-1 R/W-1 R/W-1 R/W-1 R/W-1 R/W-1 R/W-1
PEN4H PEN3H PEN2H PEN1H PEN4L PEN3L PEN2L PEN1L
bit 7 bit 0
(1)
(2)
PMOD4 PMOD3 PMOD2 PMOD1
bit 15-12 bit 11-8 PMOD4:PMOD1PWM 配对 I/O 引脚模式位
bit 7-4
bit 3-0 PEN4L-PEN1LPWMxL I/O 使能位
© 2005 Microchip Technology Inc.. DS70062D_CN 第 15-7 页
用:作 0
1 = PWM 配对 I/O 引脚于独立输出模式 0 = PWM 配对 I/O 引脚于互补输出模式
PEN4H-PEN1HPWMxH I/O 使能位
1 = PWMxH 引脚使能为 PWM 输出 0 = PWMxH 引脚禁止I/O 引脚为通用 I/O
1 = PWMxL 引脚使能为 PWM 输出 0 = PWMxL 引脚禁止I/O 引脚为通用 I/O
1PENxH PENxL 位的复位状态取决于在器件配置寄存器 FBORPOR 中的
器件配置位 PWM/PIN
图注:
R = W = 可写位 U = 用位,作 0
-n = 上电复位时的 1 = 置位 0 = 清零 x = 未知
(1)
(1)
15
电机控制
PWM
dsPIC30F 系列参考手册
寄存器 15-6 PWMCON2PWM 控制寄存器 2
节:
U-0 U-0 U-0 U-0 R/W-0 R/W-0 R/W-0 R/W-0
bit 15 bit 8
节:
U-0 U-0 U-0 U-0 U-0 R/W-0 R/W-0 R/W-0
bit 7 bit 0
SEVOPS<3:0>
IUE OSYNC UDIS
bit 15-12 bit 11-8 SEVOPS<3:0>PWM 特殊事件触发器输出后分频比选
bit 7-3 bit 2 IUE:立即更新使能位
bit 1 OSYNC:输出改写同步位
bit 0 UDISPWM 更新禁止
用:作 0
1111 = 1:16 后分频
0001 = 1:2 后分频 0000 = 1:1 后分频
用:0
1 = 立即更新有PDC 寄存器 0 = 对有PDC 寄存器的更新与 PWM 时基同步
1 = 设置 OVDCON 寄存器,使输出改写与 PWM 时基同步 0 = 设置 OVDCON 寄存器,使输出改写在下一个 T
1 = 禁止从占空比和周期缓冲寄存器更新 0 = 使能占空比和周期缓冲寄存器更新
1IUE 位在 dsPIC30F6010 器件中用。
图注:
R = W = 可写位 U = 用位,作 0
-n = 上电复位时的 1 = 置位 0 = 清零 x = 未知
(1)
CY 边沿发生
DS70062D_CN 15-8 © 2005 Microchip Technology Inc.
15 章 电机控制 PWM
寄存器 15-7 DTCON1:死区时间控制寄存器 1
节:
R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0
DTBPS<1:0> DTB<5:0>
bit 15 bit 8
节:
R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0
DTAPS<1:0> DTA<5:0>
bit 7 bit 0
bit 15-14 DTBPS<1:0>:死区时间单元 B 分频比选
11 = 死区时间单元 B 的时周期为 8 T 10 = 死区时间单元 B 的时周期为 4 TCY 01 = 死区时间单元 B 的时周期为 2 TCY 00 = 死区时间单元 B 的时周期为 TCY
bit 13-8 DTB<5:0>:死区时间单元 B 的无符号 6 位死区时间 bit 7-6 DTAPS<1:0>:死区时间单元 A 分频比选
11 = 死区时间单元 A 的时周期为 8 T 10 = 死区时间单元 A 的时周期为 4 TCY 01 = 死区时间单元 A 的时周期为 2 TCY 00 = 死区时间单元 A 的时周期为 TCY
bit 5-0 DTA<5:0>:死区时间单元 A 的无符号 6 位死区时间
CY
CY
图注:
R = W = 可写位 U = 用位,作 0
-n = 上电复位时的 1 = 置位 0 = 清零 x = 未知
15
© 2005 Microchip Technology Inc.. DS70062D_CN 15-9
电机控制
PWM
dsPIC30F 系列参考手册
寄存器 15-8 DTCON2:死区时间控制寄存器 2
节:
U-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0
bit 15 bit 8
节:
R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0
DTS4A DTS4I DTS3A DTS3I DTS2A DTS2I DTS1A DTS1I
bit 7 bit 0
bit 15-8 bit 7 DTS4APWM4 号变为有的死区时间选
bit 6 DTS4IPWM4 号变为无的死区时间选
bit 5 DTS3APWM3 号变为有的死区时间选
bit 4 DTS3IPWM3 号变为无的死区时间选
bit 3
bit 2 DTS2IPWM2 号变为无的死区时间选
bit 1 DTS1APWM1 号变为有的死区时间选
bit 0 DTS1IPWM1 号变为无的死区时间选
用:作 0
1 = 由单元 B 提供死区时间 0 = 由单元 A 提供死区时间
1 = 由单元 B 提供死区时间 0 = 由单元 A 提供死区时间
1 = 由单元 B 提供死区时间 0 = 由单元 A 提供死区时间
1 = 由单元 B 提供死区时间 0 = 由单元 A 提供死区时间
DTS2APWM2 号变为有的死区时间选
1 = 由单元 B 提供死区时间 0 = 由单元 A 提供死区时间
1 = 由单元 B 提供死区时间 0 = 由单元 A 提供死区时间
1 = 由单元 B 提供死区时间 0 = 由单元 A 提供死区时间
1 = 由单元 B 提供死区时间 0 = 由单元 A 提供死区时间
图注:
R = W = 可写位 U = 用位,作 0
-n = 上电复位时的 1 = 置位
DS70062D_CN 15-10 © 2005 Microchip Technology Inc.
0 = 清零 x = 未知
15 章 电机控制 PWM
寄存器 15-9 FLTACON:故障 A 控制寄存器
节:
R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0
FAOV4H FAOV4L FAOV3H FAOV3L FAOV2H FAOV2L FAOV1H FAOV1L
bit 15 bit 8
节:
R/W-0 U-0 U-0 U-0 R/W-0 R/W-0 R/W-0 R/W-0
FLTAM
bit 7 bit 0
bit 15-8 FAOV4H-FAOV1L:故障输入 A PWM 改写
1 = PWM 输出引脚在发生外部故障输入事件时动为有 0 = PWM 输出引脚在发生外部故障输入事件时动为无
bit 7 FLTAM:故障 A 模式位
1 = 个周期模式中,故障 A 输入引脚作用 0 = 故障 A 输入引脚将所有控制引脚锁存在 FLTACON<15:8> 中编程的状态
bit 6-4 bit 3 FAEN4:故障输入 A 使能位
bit 2 FAEN3:故障输入 A 使能位
bit 1 FAEN2:故障输入 A 使能位
bit 0 FAEN1:故障输入 A 使能位
用:作 0
1 = PWM4H/PWM4L 这对引脚由故障输入 A 控制 0 = PWM4H/PWM4L 这对引脚不由故障输入 A 控制
1 = PWM3H/PWM3L 这对引脚由故障输入 A 控制 0 = PWM3H/PWM3L 这对引脚不由故障输入 A 控制
1 = PWM2H/PWM2L 这对引脚由故障输入 A 控制 0 = PWM2H/PWM2L 这对引脚不由故障输入 A 控制
1 = PWM1H/PWM1L 这对引脚由故障输入 A 控制 0 = PWM1H/PWM1L 这对引脚不由故障输入 A 控制
FAEN4 FAEN3 FAEN2 FAEN1
图注:
R = W = 可写位 U = 用位,作 0
-n = 上电复位时的 1 = 置位 0 = 清零 x = 未知
15
电机控制
PWM
© 2005 Microchip Technology Inc.. DS70062D_CN 第 15-11 页
dsPIC30F 系列参考手册
寄存器 15-10 FLTBCON:故障 B 控制寄存器
节:
R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0
FBOV4H FBOV4L FBOV3H FBOV3L FBOV2H FBOV2L FBOV1H FBOV1L
bit 15 bit 8
节:
R/W-0 U-0 U-0 U-0 R/W-0 R/W-0 R/W-0 R/W-0
FLTBM
bit 7 bit 0
bit 15-8 FBOV4H:FBOV1L:故障输入 B PWM 改写
1 = PWM 输出引脚在发生外部故障输入事件时动为有 0 = PWM 输出引脚在发生外部故障输入事件时动为无
bit 7 FLTBM:故障 B 模式位
1 = 个周期模式中,故障 B 输入引脚作用 0 = 故障 B 输入引脚将所有控制引脚锁存为在 FLTBCON<15:8>中编程的状态
bit 6-4 bit 3 FAEN4:故障输入 B 使能位
用:作 0
(1)
1 = PWM4H/PWM4L 这对引脚由故障输入 B 控制 0 = PWM4H/PWM4L 这对引脚不由故障输入 B 控制
bit 2 FAEN3:故障输入 B 使能位
(1)
1 = PWM3H/PWM3L 这对引脚由故障输入 B 控制 0 = PWM3H/PWM3L 这对引脚不由故障输入 B 控制
bit 1 FAEN2:故障输入 B 使能位
(1)
1 = PWM2H/PWM2L 这对引脚由故障输入 B 控制 0 = PWM2H/PWM2L 这对引脚不由故障输入 B 控制
bit 0 FAEN1:故障输入 B 使能位
(1)
1 = PWM1H/PWM1L 这对引脚由故障输入 B 控制 0 = PWM1H/PWM1L 这对引脚不由故障输入 B 控制
1:如同时使能的,故障引脚 A 优先级高于故障引脚 B
FBEN4 FBEN3 FBEN2 FBEN1
图注:
R = W = 可写位 U = 用位,作 0
-n = 上电复位时的 1 = 置位 0 = 清零 x = 未知
DS70062D_CN 15-12 © 2005 Microchip Technology Inc.
15 章 电机控制 PWM
寄存器 15-11 OVDCON:改写控制寄存器
节:
R/W-1 R/W-1 R/W-1 R/W-1 R/W-1 R/W-1 R/W-1 R/W-1
POVD4H POVD4L POVD3H POVD3L POVD2H POVD2L POVD1H POVD1L
bit 15 bit 8
节:
R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0
POUT4H POUT4L POUT3H POUT3L POUT2H POUT2L POUT1H POUT1L
bit 7 bit 0
bit 15-8 POVD4H-POVD1L:PWM 输出改写位
1 = PWMxx I/O 引脚上的输出由 PWM 发生器控制 0 = PWMxx I/O 引脚上的输出由相应的 POUTxx 位中的控制
bit 7-0 POUT4H-POUT1LPWM 手动输出位
1 = 在相应的 POVDxx 位被清零PWMxx I/O 引脚动为有 0 = 在相应的 POVDxx 位被清零PWMxx I/O 引脚动为无
图注:
R = W = 可写位 U = 用位,作 0
-n = 上电复位时的 1 = 置位 0 = 清零 x = 未知
寄存器 15-12 PDC1PWM 占空比寄存器 1
节:
R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0
PWM 占空比 1 的 15-8
bit 15 bit 8
节:
R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0
PWM 占空比 1 的 7-0
bit 7 bit 0
bit 15-0 PDC1<15:0> PWM占空比 1
图注:
R = W = 可写位 U = 用位,作 0
-n = 上电复位时的 1 = 置位 0 = 清零 x = 未知
15
电机控制
PWM
© 2005 Microchip Technology Inc.. DS70062D_CN 第 15-13 页
dsPIC30F 系列参考手册
寄存器 15-13 PDC2PWM 占空比寄存器 2
节:
R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0
PWM 占空比 2 的 15-8
bit 15 bit 8
节:
R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0
PWM 占空比 2 的 7-0
bit 7 bit 0
bit 15-0 PDC2<15:0>PWM 占空比寄存器 2
图注:
R = W = 可写位 U = 用位,作 0
-n = 上电复位时的 1 = 置位 0 = 清零 x = 未知
寄存器 15-14 PDC3PWM 占空比寄存器 3
节:
R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0
PWM 占空比 3 的 15-8
bit 15 bit 8
节:
R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0
PWM 占空比 3 的 7-0
bit 7 bit 0
bit 15-0 PDC3<15:0>PWM 占空比寄存器 3
图注:
R = W = 可写位 U = 用位,作 0
-n = 上电复位时的 1 = 置位 0 = 清零 x = 未知
DS70062D_CN 15-14 © 2005 Microchip Technology Inc.
Loading...
+ 30 hidden pages