C2837x入门指南(十) — 控制类外设PWM CAP QEP(中)
Loading the player...
将在30s后自动为您播放下一课程
接下来是死区模块 这个模块在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个精度 这样可以实现更高分辨率的控制要求
接下来是死区模块 这个模块在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个精度 这样可以实现更高分辨率的控制要求
接下来是死区模块 这个模块在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。
//=$v1;?>
//=$v['id']?>//=$v['down_category']?>//=$v['link']?>//=$v['is_dl']?>//=$v['link']?>//=$v['name']?>//=$v['name']?>
//=$v['id']?>//=$v['down_category']?>//=$v['path']?>//=$v['is_dl']?>//=$v['path']?>//=$v['name']?>//=$v['name']?>
////=count($lesson['bbsinfo'])?>
//=$elink?>//=$elink?>//=$tags[0]?>//=$tags[0]?>//=$elink?>//= $elink?>//=$tags[1]?>//=$tags[1]?>
//=$lesson['bbs'];?>
//=count($lesson['bbsinfo'])?>