- 本课程为精品课,您可以登录eeworld继续观看:
- (10) - 控制类外设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个精度
这样可以实现更高分辨率的控制要求
课程介绍
共计28课时,4小时27分22秒
C2837x入门指南
TI C2000 MCU PWM F2837xD ADC DAC DMA CLA C2837x CMP SDFM CAP QEP c28x
F2837x系列的最新 C2000™ Delfino™ 32 位 F2837xD 微控制器 (MCU),为工业实时控制实现最新创新,并设定了全新性能标准。这些最新 MCU 支持双核 C28x 处理功能与双实时控制加速器(也称为控制律加速器或 CLA),可提供 800 MIPS 浮点性能,从而可帮助设计人员为计算要求严格的控制应用开发低时延系统。此外,设计人员还可通过将多个嵌入式处理器整合在单个 MCU 中以降低复杂性,充分满足高级伺服驱动器、太阳能中央逆变器以及工业不间断电源 (UPS) 等需要实时信号分析的应用需求。
猜你喜欢
换一换
推荐帖子
- MSP430f5529外接一个温湿度传感器的问题,求大神
- 我要接一个IIC接口的传感器,MSP430f5529开发板有很多接口,新手不太懂,想问一下板子上有没有特定的可以接IIC的地方,没有的话,那我这传感器的4个引脚可以随便接吗?不知道该接在哪,求指导...
- yinger01 微控制器 MCU
- 脉冲电路的特点
- 1) 脉冲电路中的晶体管是工作在开关状态的。大多数情况下,晶体管是工作在特性曲线的饱和区或截止区,所以脉冲电路有时也叫开关电路。从所用的晶体管也可以看出来,在工作频率较高时都采用专用的开关管,如 2AK 、 2CK 、DK 、 3AK 型管,只有在工作频率较低时才使用一般的晶体管。 2) 另一...
- fish001 模拟与混合信号
- MSP430精准配置高速串口导致串口通信失败原因分析
- 在实际项目大批量生产调试设备时,发现同样版本的程序在不同设备上运行时效果不一致,一部分设备串口通信正常,另外一部分串口通信不正常。通过示波器对多个设备的串口波特率及系统时钟频率测试,发现不同设备之间的系统时钟频率及波特率存在差异,与理论值不一致,用示波器测试出的系统时钟频率及波特率与理论值偏差较大。由于系统时钟频率的偏差导致波特率设置值超过了串口...
- fish001 微控制器 MCU
- DSPC6748中某问题的解决方案
- 问题: 控制台出现初始化结束后多出来的提示如下: C674X_0: Loader: One or more sections ofyour program falls into a memory region that is not writable. These regions will not actually be written tothe target....
- fish001 微控制器 MCU