- 本课程为精品课,您可以登录eeworld继续观看:
- UCD3138数字PWM(DPWM)模块:控制DPWM输出
- 登录
- 课程目录
- 课程笔记
现在,我将演示如何
在开环模式下控制DPWM 的 A 和 B 两项输出。
开环模式意味着DPWM 完全由其
而非滤波器输出控制。
换句话说,电源控制环路未闭合。
我们将在稍后的实验练习中闭合环路。
在开环模式下,输出 A 的上升沿和下降沿
由事件 1 和事件 2 控制。
事件 1 和事件 2 是两个寄存器的内容。
输出 B 的上升沿和下降沿
由事件 3 和事件 4 控制。
同样,这些值存储在两个单独的寄存器中。
在此我们可以看到 DPWM 计数器从 0 增大到事件 1。
当计数器值等于事件 1 时
被置为输出 DPWM A。
当计数器值等于事件 2 时,DPWM A 会被复位。
当计数器值等于事件 3 时
被置为输出 DPWM B。
当计数器值达到事件 4 时,输出 B 会被复位。
当计数器值等于周期寄存器中的值时
计数器会复位且另一开关周期会启动。
事件 1 存储在寄存器 DPWMEV1 中。
因此,每个 DPWM 模块将具有一个独特的 DPWMEV1
寄存器与其相关联。
寄存器从 PCLK 驱动
因此具有与周期寄存器
相同的 4 ns 时基。
它还具有与周期寄存器相同的校准。
因此,事件 1 字段与 DPWMEV1 寄存器的位 4 对齐。
在上一示例中,通过将 2,500 置于 PRD 字段中
我们将周期设为 10 ms。
为将输出 A 设为在 10% 周期时处于高位
我们将事件 1 设为 250,即将 PRD 值除以 10。
事件 2 存储在称作 DPWMEV2 的寄存器中。
每个 DPWM 模块都有唯一的 DPWMEV2 寄存器。
事件 2 的周期分辨率比事件 1 高 16 倍;
即,它具有 250 ps 的时基。
通过提供 DPWM 模块可取得额外的分辨率
前提是该模块具有 16 个分别为 250 MHz 的相移时钟信号。
我们已将周期设为 10 ms
并将输出 A 的上升沿
设为在周期的 10% 时发生。
为将输出 A 在 25% 周期时复位
我们将周期除以 4。
然后,我们将结果乘以 16 以计入
事件 2 对比该周期小 16 倍的时基。
值得注意的是,即使事件 2 比事件 1
周期的分辨率高 16 倍,
事件 1 以及周期字段均会
在其相应寄存器中抵消
以计入更小的时基。
因此,您在写入整个寄存器时
无需考虑事件 2更小的时基。
这样,出于明确性和简洁性考虑
我们不建议在写入这些寄存器时
使用 .bit 结构。
使用 .all 结构并将事件寄存器
设为周期百分比。
在此代码示例中,我们使用预处理程序 #define 指令
来定义 PCLK 周期和开关周期
单位为秒。
然后,我们使用这两个值计算
要置于周期寄存器中的值。
通过将周期值简单乘以 0.1、0.25、
0.5 和 0.75,事件 1、2、3 和 4
寄存器会设为等于周期的 25%、50% 和 75%。
如果我们决定更改开关周期
我们只需更改指派给 #define 周期的秒数
然后所有事件寄存器
将自动扩展。
事件 3 和事件 4 将分别存储在 DPWMEV3 和 EV4 中。
他们具有与事件 2 相同的对齐和时基
即,它们为 18位宽且具有
250 ps 的时基。
这是 DPWM 模块的简化逻辑图
涵盖迄今为止我们已讨论的问题。
我们已了解开环模式中的 DPWM 操作
开环模式意味着DPWM 输出完全由其
自身的寄存器控制,而非由滤波器输出控制。
有多得多的逻辑以及更多的寄存器
与 DPWM操作关联,其中有些我们将在
这些实验中讨论。
现在,我们对事件寄存器的输出
直接进行大量可配置的时序逻辑计算。
我们将在稍后的实验中回顾该逻辑的某些内容。
现在,对于其他初始化
您将需要置于 C 代码中
以在开环模式下使用 DPWM 模块。
您应在初始化前关闭 DPWM0
具体方法是清除 DPWM 控制寄存器 0 中的 PWM 启用位。
默认情况下,该位实际上会被清除
因此,严格意义上讲,这不是必需的。
但是,尽管如此,这仍然是好的做法。
由于我们在开环模式下操作 DPWM 模块
因此我们需要关闭 DPWM 的滤波器输入
从而 DPWM 操作完全由
其自身的寄存器控制。
我们所采取的具体方法是清除 PWM 控制寄存器0 中的 CLA 启用位
CLA 是控制律加速器的缩写词。
这只是滤波器的另一名称。
接下来,我们需要在本地开启 DPWM 模块
具体方法是在 DPWM 控制寄存器 0 中设置 PWM 启用位。
最后,我们需要在全局开启 DPWM 模块
具体方法是在 GLB 启用模块中
设置相关全局启用位。
每个 DPWM 具有其自身的全局启用位。
我们在此为 DPWM 模块 0 设置位。
如果您要查找有关该实验目前为止
所涵盖主题的更全面的信息
请参阅 UCD3138 数字电源外设 程序员手册。
课程介绍
共计6课时,25分31秒
UCD3138数字PWM(DPWM)模块
在本教程中,我将 介绍数字电源 外设, 尤其着重介绍 数字脉冲宽度调制, 或者说 DPWM 模块。 此讲演 随实验练习二一起提供。 在上一教程中,我们已简要 介绍了 ARM 内核、 闪存以及 PMBus 接口。 现在,我们将着重介绍 DPWM 模块及其两个 关联的输出引脚。 UCD3138 系列 每个成员产品的内核 是数控 环路外设, 也称作数字 电源外设, 或简称 DPP。 这些器件用于 控制电源中的 高速电压和 电流环路。 它们旨在 替代基于 模拟电压管理 控制器 IC 的电源中 采用的模拟 补偿网络和 PWM 生成系统, 并向系统 添加增强的 数字功能。
猜你喜欢
换一换
推荐帖子
- USCI问题请教
- 430的USCI可以支持UART、SPI和I2C。那么我在使用时,如何确定我使用的功能是UART、SPI还是I2C?因为USCI的控制寄存器都是一样的。...
-
darkduck
微控制器 MCU
- 手焊TI C6000,有没有谁尝试过呢?
- 下面给大家分享一篇BGA封装芯片手工焊接攻略 这里给大家提供的手焊方法已经是我最初方法的改进版,我现在基本可以保证100%的焊接成功率。但是有局限性,我焊接的最大芯片尺寸为16mm x 16mm,更大的像TI C6000那样的BGA我觉得会有问题,不建议采用我这种方法。 进入正题,你需要的工具:台虎钳一个,热风机两台,红外测温器一个(可选),摄像头一个(可选)。台虎...
-
maylove
DSP 与 ARM 处理器
- 【TI首届低功耗设计大赛】带测量功能的蓝牙遥控插座之0代机
- 本帖最后由 fengzhidianzi 于 2014-11-22 15:31 编辑 样板+焊接 初成 双层板架结构 亮起了吧 蓝牙手机通讯(发送指令“sendu”,返回测量电压;发送指令"sendi",返回测量电流) ADC12_B模块采样多通道单次定时采样。 然后到实验室上电实测。。。。。。。。结果,火光一闪,某个元件烧了。。。。。 果然,220V电压不是那么容易掌控...
-
fengzhidianzi
微控制器 MCU
- 用F2802x怎么做捕获脉宽?
- 我用的F28027 想对PWM做高电平时间的捕获,看了下ECAP模块,TI只有一个关于捕获的例程,看的不是很明白,对ECAP的寄存器配置,模式选择,各种配置间的区别理解的云里雾里,希望有做过的,指点下啊 ,或者告知下哪里有例程 也行 。谢谢大家 ...
-
still89
微控制器 MCU