UCD3138数字PWM(DPWM)模块:控制DPWM输出

+荐课 提问/讨论 评论 收藏
  • 本课程为精品课,您可以登录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)模块

PWM 数字 UCD3138 模块 DPWM

在本教程中,我将 介绍数字电源 外设, 尤其着重介绍 数字脉冲宽度调制, 或者说 DPWM 模块。 此讲演 随实验练习二一起提供。 在上一教程中,我们已简要 介绍了 ARM 内核、 闪存以及 PMBus 接口。 现在,我们将着重介绍 DPWM 模块及其两个 关联的输出引脚。 UCD3138 系列 每个成员产品的内核 是数控 环路外设, 也称作数字 电源外设, 或简称 DPP。 这些器件用于 控制电源中的 高速电压和 电流环路。 它们旨在 替代基于 模拟电压管理 控制器 IC 的电源中 采用的模拟 补偿网络和 PWM 生成系统, 并向系统 添加增强的 数字功能。

推荐帖子

MSP430的map文件有个疑惑
我的程序通过IAR生成的map文件最后几行如下: 9 906 bytes of CODE  memory    280 bytes of DATA  memory (+ 92 absolute )    222 bytes of CONST memory Errors: none Warnings:...
armcu 微控制器 MCU
【TI 无线主题征集】+BLE设备互操作性(一)——使用TI的BLE芯片测试ST的BLE芯片
本帖最后由 mars4zhu 于 2014-12-4 08:25 编辑 最近接触了蓝牙4.0的BLE技术,评估了TI、Nordic等公司的芯片,并集中以TI的CC254x平台为开发,在技术评估阶段刚好这段时间论坛里有ST的BlueNRG活动,于是使用使用TI的CC2540-USB-dongle对所有BLE芯片进行调试,记录如下 使用TI的BLE设备调试工具调试STM32L053+Bl...
mars4zhu 无线连接
BBB用systemd在系统启动时自动加载dtbo失败
参考了https://bbs.eeworld.com.cn/thread-432698-1-1.html的方法六,完全按照步骤来的,但是仍然无法实现在系统启动时自动加载dtbo,systemctl status显示如下 请问是什么原因?怎么解决?? ...
hoggwalk DSP 与 ARM 处理器
【我与TI的结缘】+我与LaunchPad之缘
   记得自己第一次使用TI的产品便是 MSP430开发板MSP-EXP430G2LaunchPad。当时参加12年的TI杯电子设计大赛,通过这个比赛,我第一次接触TI的单片机MSP430G2553。我们做的题目是基于MSP430的超低功耗倾角测量仪,以微控制器(MSP430G2553)为控制核心,结合三轴加速度传感器(MMA7361)进行测量,结合MSP430G2553自带...
涛声依旧00 TI技术论坛
分享到X
微博
QQ
QQ空间
微信

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新文章 手机版

站点相关: EEWORLD首页 EE大学堂 论坛 下载中心 Datasheet 活动专区 博客

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved