- 本课程为精品课,您可以登录eeworld继续观看:
- UCD3138数字PWM(DPWM)模块:设置PWM周期
- 登录
- 课程目录
- 相关资源
- 课程笔记
在 DPWM模块中央
是 DPWM 周期寄存器和 DPWM 计数器
两个寄存器均为 14 位
DPWM 计数器数值递增,直至
其等于周期寄存器中的值
当出现此情况时,DPWM 计数器
会复位并再次启动
DPWM 计数器可从 PCLK 计时
PCLK 以 250 MHz 运行
因此,DPWM 计数器数值每 4 ns 按一定增量递增
在开关式电源控制上下文中
周期值表示一个开关周期
现在,我将演示如何设置周期
四个 DPWM 模块中,每个模块均有称作 DPWM PRD 的
周期寄存器
该寄存器中的相关字段称作 PRD
它存在于位 17(含)至位 4(含)
寄存器中保留了四个最低有效位
因此,不应使用除 0 以外的任何值
加以覆盖
现在,我将演示如何将 DPWM 模块的周期
设置为 0 至 10 ms
要获取 14 位值以置于 PRD 字段
将周期(秒)除以时基(秒)
并将结果取整为最近的整数
在我们的例子中,周期是 10 ms
并且时基是4 ns
所以结果是 2,500
要将该值直接至于DPWM PRD 寄存器中
我们需要计入周期字段的位 0 与
寄存器的位 4 对齐这一事实
因此,我们需要将结果
左移 4 位,这相当于乘以 16
即,2 的 4 次方
在 C 代码中语句将是这样的
这些寄存器本身及其内部的字段
在 C 代码中将以结构体的形式组织
第一条语句将寄存器中的所有位
设置为常量值
以获得 10 ms 的开关周期
第二条语句仅设置寄存器内
PRD 字段中的位
它计入寄存器内部 PRD 字段的对齐
且不修改任何其他位
第一条语句灵活度较低,但是
在处理生成的 ARM 汇编代码方面更高效
它仅是单注册器写入
第二条语句将产生更多的汇编码
因为其涉及将寄存器的内容复制到
ARM 内核,使用逻辑操作
修改与 PRD 字段关联的位,然后将修改的值
写回寄存器
因此,与第一个操作相比,第二个操作将占用更多字节
并耗费更多处理器时钟周期
但是,第二条 C语言更易支持
因为您无需担心寄存器中
其他字段的内容
好的做法是,在开发过程中使用 .bit 结构
然后,当需要更高效的代码时
将其改为 .all 结构
课程介绍
共计6课时,25分31秒
UCD3138数字PWM(DPWM)模块
在本教程中,我将 介绍数字电源 外设, 尤其着重介绍 数字脉冲宽度调制, 或者说 DPWM 模块。 此讲演 随实验练习二一起提供。 在上一教程中,我们已简要 介绍了 ARM 内核、 闪存以及 PMBus 接口。 现在,我们将着重介绍 DPWM 模块及其两个 关联的输出引脚。 UCD3138 系列 每个成员产品的内核 是数控 环路外设, 也称作数字 电源外设, 或简称 DPP。 这些器件用于 控制电源中的 高速电压和 电流环路。 它们旨在 替代基于 模拟电压管理 控制器 IC 的电源中 采用的模拟 补偿网络和 PWM 生成系统, 并向系统 添加增强的 数字功能。
猜你喜欢
换一换
推荐帖子
- TI 汇编VS线性汇编
- 这个问题一直困惑我: Ti的汇编与线性汇编有什么区别? 能否各给出一个简单例子?...
-
countryhotel
DSP 与 ARM 处理器
- 用TLV2553采集数据,两个相邻通道的串扰问题
- 我用TLV2553采集两个相邻通道的信号,发现有串扰问题,具体是:有两个传感器,在单通道进行测量时,零点很准确。但两个传感器同时采集时,发现第二通道的零点,会随着第一通道传感器的信号变化,而发生变化。 总是想不通是如何来的?如何解决? 谢谢!...
-
wyb4993
模拟与混合信号
- #eeworld漫画力作#TI MCU漫画,电子小强&TI MCU 和她出差?
- 和美女一起长征喽!更多详情:https://www.eeworld.com.cn/comic/comic_view.php?imgid=08...
-
EEWORLD社区
微控制器 MCU
- M4/M3 的PWM用法有什么不同点?
- M4的PWM有2个控制单元,不知道配置用法上跟M3 有什么不一样? 望有使用过M4 PWM 的高手分享~...
-
chengtoby
微控制器 MCU