首页 > 应用与设计 > 工业应用 > C2837x入门指南 >

电机驱动

最新课程

热门课程

C2837x入门指南(十) — 控制类外设PWM CAP QEP(中)

接下来是死区模块 这个模块在F2837X这个系列有非常大的改进 死区模块从大框图上看 是AQ的输出 所以在生成需要的AQ波形后 需要加入死区 死区模块有输入选择 延时计数器 反向器和输出选择 组成 芯板还增加了S8 可以让S的输入进入上升沿和下降沿延时计数器 输入模块 S5可以选择AQ 输出PWMA和PWMB 如何输入死区模块 可以让PWMA输入S4 让PWMB输入S5 也可以是相反 当然 可以设置只有PWMA输入S4和S5 或者PWMB输入S4和S5 S8的功能是让S4的信号 可以同时输入上升沿和下降沿计数器 若设置为零 那就是S4输入上升沿延时 S5输入下降沿延时 然后是反向器 可以通过S2和S3选择是否反向 最后是输出模式 PWMA和PWMAQ输出可以通过这个模块 选择不经过死区直接输入 也可以通过死区寄存器后输出 S6和S7是新增功能 可以交换死区S1和S0的输出 最后要强调的是 第一模块的寄存器 计数器从原来的10位变成了14位 所以分辨率更高 有利于精度的控制 死区模块的寄存器 是设置寄存器 控制S0到S8的开关 以及两个延时寄存器的设置 设置寄存器可以设置延时 寄存器的输入时钟 是直接由PWM时钟输入还是二分频 然后就是S0到S8的开关位置 一直上升沿 下降沿延时寄存器的设置 这两个寄存器和DCTL寄存器 都是新增的引子寄存器 可以在下个周期的零点或周期点加载新的值 也可以选择改变后 立即加载 让设置更加灵活 然后是PWM chopper也就是PWM斩波模块 这个模块可以把PWM的功能再一次调制 主要来讲 这个模块的功能 使能一个高频载波 进一步调整死区模块输出的波形 可以应用于脉冲电压器的驱动模式 和电源控制系统 它的工作模式是 内部有一个计数器 以更高的频率工作 从图上看 可以通过设置CHPFREQ来控制PWMAB高电平的调制波形频率 chopper模块的寄存器只有一个PPCTL 这个模块主要用于设置 chopper的频率和占空比 同时 在前一张图片中 还可以设置在PWM屏蔽的一段时间内 不会斩波 通过OSWTH以及CHP模块的 使能 经过pwm Chopper以后 最后能决定PWM输出的模块是 TZ和DC模块 TZ是PWM的快速保护模块 主要用于外部电流 电压 或者系统出现异常时的紧急保护 而TZ的触发少不了DC模块的事件产生 外部事件先通过DC模块 产生相应的事件后 触发TZ模块工作 这一页的框图就是F2837X全新的TZ以及DC 模块的输出角 由于F2837X新增了INPUT X-bar 和ePWM x-bar 可以让触发PWM的TZ事件更加丰富 从图中看 TZ和DC模块 的触发事件与以往不同的是 不止是TZ角可以触发DC事件 然后触发TZ保护 而且可以通过x-bar的trip事件 来触发DC事件 而x-bar事件可以拓展到更多的外部事件 看看PWM x-bar的框图 Trip bar IN4到 IN12是x-bar的输出 用于输入到DC模块的触发事件 而其他外设比如CMPSSS PWM的同步输出 ADCSO信号 ADC的CBO事件 eCAP SD1 SD2的事件 以及DPL的input x-bar 是PWM e-bar的输入 外设和[听不清]产生的一个脉冲 机会触发PWMDC模块 进行进一步处理 这一页是PWM x-bar的寄存器框图 选择链接一个外设 链接到trip事件 需要两步 第一设置如下方[听不清]图中的具体坐标 然后使能对应的trip 让它可以在外部有事件 触发DC模块 进行工作 这一页是TZ模块的框图 从下面的框图中可以看到 TZ模块的本质是在DC模块 或者TZ引脚 或者TZ事件 比如TZ4 TZ5 TZ6 是系统TZ事件触发 TZ模块触发后 有两种模式 一种是one-shot 就是一旦外部条件触发后 就立即进入保护模式 并且不会自动恢复 只会在清楚标志位后 才会恢复PWM输出 另一种是cycle by cycle模式 这种模式下 TZ事件触发后 会在本周立即保护 但是每次 TZ等于零的时刻 都会检查事件是否被触发 如果还处于被触发状态 就会继续保护一个PWM保护周期 如果已经不处于保护状态 就会恢复PWM输出 同时TZ还可以触发CPU中断 自定义的处理 DC模块是PWM中比较特殊的一个部分 这个模块主要负责接收 外部信号 然后产生触发信号 去触发TZ或TB模块 还自带一个blank window 用于屏蔽高频部分的外部事件 让触发事件变得更加可靠 具体看看模块的框图 从输入端开始 输入端可以连接 TR TRIPIN1到TRIPIN15的input X8的触发 以及组合trip的触发 这其中包括比较器的匹配 外部[听不清]翻转等事件 并且可以加入传统的TZ角触发 这是在[听不清]中已经有 这些事件触发后的下一步 就是可以同时产生四种不同的事件 比如TZ1的高电平翻转 高电平可以触发DCAH TZ1的高电平翻转 可以触发DCAL的事件 然后事件进入比较寄存器 同时会被提前设置的blanking window滤波 最后输出的事件 DCEVT事件 可以设置PWM信号同步发出 TZ模块的触发 等等 以及后面介绍的ET模块的触发 最后产生PWM的中断 每一个DC事件 都可以设置为高触发或者低触发 如下面的图 并且可以设置组合触发 如图中第五条所示 举例来说 可以在一个外部事件的触发下 设置由高到低变化时DCL的触发 由低到高触发时 DCAh的触发 这一页是DC和TZ模块寄存器的列表 DCTRIP寄存器可以输入每个事件的input x-bar的 触发源 DCSEL主要用于设置每个事件的触发条件 比如刚才说的 电平跳变条件等等 这一页寄存器用于是否使能刚才提到的blanking window 就是数字滤波器 TZCTL可以设置各种条件下DC和TZ事件触发后 PWM的输出 TZSEL设置触发源是DC事件还是CBC 也就是cycle by cycle 还是one shot事件 这个寄存器主要用于设置TZ的中断使能 最后一个模块是PWM的ET模块 这个模块用于PWM事件以后 触发PWM的中断 可以接受TB模块 CD模块 以及DC模块的事件触发 如图所示 ET模块用于触发PWM中断 和 ADC SOC 假设当前技术模式是增减技术 那就是[听不清]等于0 compare A和B compareC和D的上升和下降处 一个周期点 都可以触发ADC的采样 或者PWM中断 也就是总共可以在一个周期内 选择10个点来控制 图中红色箭头代表事件匹配处 ET模块 主要由这五个寄存器组成 ETSEL使能[听不清]采样 以及中断的功能 SOCEN是使能触发PWM采样 而SOCSEL是选择匹配事件 IN enable与IN select是使能和选择中断和使能中断的功能 ETPS主要用于选择触发事件多少次才会触发一次ADC采样 或者中断 当然 c2000的PWM 除了可以最快 100兆赫兹的输入时钟 输出普通波形外 外有一个更高精度的高精度模式 增加PWM的分辨率 最小到150ps每格的功能 实现的原理是将PWM最小的计数 再细分256格 在F2837X系列产品中 这个功能进一步增强 可以输出高精度 带死区的成对的PWM波 死区寄存器在高精度模式下 可以拓展到22位 而普通的比较模块 周期寄存器和相位寄存器都可以拓展到24个精度 这样可以实现更高分辨率的控制要求

接下来是死区模块 这个模块在F2837X这个系列有非常大的改进

死区模块从大框图上看

是AQ的输出

所以在生成需要的AQ波形后

需要加入死区 死区模块有输入选择

延时计数器

反向器和输出选择

组成

芯板还增加了S8

可以让S的输入进入上升沿和下降沿延时计数器

输入模块 S5可以选择AQ

输出PWMA和PWMB

如何输入死区模块

可以让PWMA输入S4

让PWMB输入S5 也可以是相反

当然 可以设置只有PWMA输入S4和S5

或者PWMB输入S4和S5

S8的功能是让S4的信号

可以同时输入上升沿和下降沿计数器

若设置为零

那就是S4输入上升沿延时 S5输入下降沿延时

然后是反向器

可以通过S2和S3选择是否反向

最后是输出模式

PWMA和PWMAQ输出可以通过这个模块

选择不经过死区直接输入

也可以通过死区寄存器后输出

S6和S7是新增功能

可以交换死区S1和S0的输出

最后要强调的是 第一模块的寄存器

计数器从原来的10位变成了14位

所以分辨率更高

有利于精度的控制 死区模块的寄存器

是设置寄存器

控制S0到S8的开关 以及两个延时寄存器的设置

设置寄存器可以设置延时 寄存器的输入时钟

是直接由PWM时钟输入还是二分频

然后就是S0到S8的开关位置

一直上升沿 下降沿延时寄存器的设置

这两个寄存器和DCTL寄存器

都是新增的引子寄存器

可以在下个周期的零点或周期点加载新的值

也可以选择改变后 立即加载

让设置更加灵活

然后是PWM chopper也就是PWM斩波模块

这个模块可以把PWM的功能再一次调制

主要来讲 这个模块的功能

使能一个高频载波 进一步调整死区模块输出的波形

可以应用于脉冲电压器的驱动模式

和电源控制系统

它的工作模式是

内部有一个计数器 以更高的频率工作

从图上看 可以通过设置CHPFREQ来控制PWMAB高电平的调制波形频率

chopper模块的寄存器只有一个PPCTL

这个模块主要用于设置

chopper的频率和占空比

同时 在前一张图片中

还可以设置在PWM屏蔽的一段时间内

不会斩波

通过OSWTH以及CHP模块的

使能

经过pwm Chopper以后 最后能决定PWM输出的模块是

TZ和DC模块

TZ是PWM的快速保护模块

主要用于外部电流

电压 或者系统出现异常时的紧急保护

而TZ的触发少不了DC模块的事件产生

外部事件先通过DC模块

产生相应的事件后

触发TZ模块工作

这一页的框图就是F2837X全新的TZ以及DC

模块的输出角

由于F2837X新增了INPUT X-bar

和ePWM x-bar

可以让触发PWM的TZ事件更加丰富

从图中看 TZ和DC模块

的触发事件与以往不同的是

不止是TZ角可以触发DC事件

然后触发TZ保护

而且可以通过x-bar的trip事件

来触发DC事件

而x-bar事件可以拓展到更多的外部事件

看看PWM x-bar的框图

Trip bar IN4到 IN12是x-bar的输出

用于输入到DC模块的触发事件

而其他外设比如CMPSSS

PWM的同步输出

ADCSO信号 ADC的CBO事件

eCAP SD1 SD2的事件

以及DPL的input x-bar

是PWM e-bar的输入

外设和[听不清]产生的一个脉冲

机会触发PWMDC模块 进行进一步处理

这一页是PWM x-bar的寄存器框图

选择链接一个外设

链接到trip事件 需要两步

第一设置如下方[听不清]图中的具体坐标

然后使能对应的trip

让它可以在外部有事件

触发DC模块 进行工作

这一页是TZ模块的框图

从下面的框图中可以看到

TZ模块的本质是在DC模块

或者TZ引脚 或者TZ事件

比如TZ4 TZ5 TZ6 是系统TZ事件触发

TZ模块触发后 有两种模式

一种是one-shot 就是一旦外部条件触发后

就立即进入保护模式

并且不会自动恢复

只会在清楚标志位后 才会恢复PWM输出

另一种是cycle by cycle模式

这种模式下 TZ事件触发后

会在本周立即保护

但是每次 TZ等于零的时刻

都会检查事件是否被触发

如果还处于被触发状态

就会继续保护一个PWM保护周期

如果已经不处于保护状态

就会恢复PWM输出

同时TZ还可以触发CPU中断

自定义的处理

DC模块是PWM中比较特殊的一个部分

这个模块主要负责接收 外部信号

然后产生触发信号 去触发TZ或TB模块

还自带一个blank window

用于屏蔽高频部分的外部事件

让触发事件变得更加可靠

具体看看模块的框图

从输入端开始

输入端可以连接 TR TRIPIN1到TRIPIN15的input X8的触发

以及组合trip的触发

这其中包括比较器的匹配 外部[听不清]翻转等事件

并且可以加入传统的TZ角触发

这是在[听不清]中已经有

这些事件触发后的下一步

就是可以同时产生四种不同的事件

比如TZ1的高电平翻转 高电平可以触发DCAH

TZ1的高电平翻转 可以触发DCAL的事件

然后事件进入比较寄存器

同时会被提前设置的blanking window滤波

最后输出的事件 DCEVT事件

可以设置PWM信号同步发出

TZ模块的触发 等等

以及后面介绍的ET模块的触发

最后产生PWM的中断

每一个DC事件 都可以设置为高触发或者低触发

如下面的图

并且可以设置组合触发

如图中第五条所示 举例来说

可以在一个外部事件的触发下

设置由高到低变化时DCL的触发

由低到高触发时 DCAh的触发

这一页是DC和TZ模块寄存器的列表

DCTRIP寄存器可以输入每个事件的input x-bar的

触发源

DCSEL主要用于设置每个事件的触发条件

比如刚才说的 电平跳变条件等等

这一页寄存器用于是否使能刚才提到的blanking window

就是数字滤波器

TZCTL可以设置各种条件下DC和TZ事件触发后

PWM的输出

TZSEL设置触发源是DC事件还是CBC

也就是cycle by cycle 还是one shot事件

这个寄存器主要用于设置TZ的中断使能

最后一个模块是PWM的ET模块

这个模块用于PWM事件以后

触发PWM的中断

可以接受TB模块 CD模块 以及DC模块的事件触发

如图所示 ET模块用于触发PWM中断

和 ADC SOC

假设当前技术模式是增减技术

那就是[听不清]等于0

compare A和B compareC和D的上升和下降处

一个周期点 都可以触发ADC的采样

或者PWM中断

也就是总共可以在一个周期内

选择10个点来控制

图中红色箭头代表事件匹配处

ET模块 主要由这五个寄存器组成

ETSEL使能[听不清]采样

以及中断的功能

SOCEN是使能触发PWM采样

而SOCSEL是选择匹配事件

IN enable与IN select是使能和选择中断和使能中断的功能

ETPS主要用于选择触发事件多少次才会触发一次ADC采样

或者中断

当然 c2000的PWM 除了可以最快

100兆赫兹的输入时钟 输出普通波形外

外有一个更高精度的高精度模式

增加PWM的分辨率 最小到150ps每格的功能

实现的原理是将PWM最小的计数

再细分256格

在F2837X系列产品中

这个功能进一步增强

可以输出高精度 带死区的成对的PWM波

死区寄存器在高精度模式下

可以拓展到22位

而普通的比较模块

周期寄存器和相位寄存器都可以拓展到24个精度

这样可以实现更高分辨率的控制要求

视频报错
手机看
扫码用手机观看
收藏本课程

视频简介

C2837x入门指南(十) — 控制类外设PWM CAP QEP(中)

所属课程:C2837x入门指南 发布时间:2016.06.06 视频集数:28 本节视频时长:00:10:47
C2837x概述;芯片架构; 开发环境;外设寄存器操作;复位和中断;系统初始化;模拟子系统 ADC DAC CMP SDFM;控制类外设PWM CAP QEP。
TI培训小程序