- 本课程为精品课,您可以登录eeworld继续观看:
- UCD3138数字PWM(DPWM)模块:固件概述和DPWM演示
- 登录
- 课程目录
- 相关资源
- 课程笔记
此处是 Code Composer Studio 中实验练习二的 main.c
要存储所有初始化代码
我们创建了名为 init dpwm 0 的函数
这主要是为了清楚直观
如果您愿意,您也可以将初始化代码直接
放在主程序自身的开始处
此处,我们于初始化前在本地禁用了
DPWM0 模块
这里,我们禁用了DPWM0 的滤波器输入
以便为开环操作设置DPWM0 模块
我们在此设置事件 1 寄存器的周期
请注意,对于加载至寄存器的值
我使用符号引用
我在 main 的顶部使用 C #define
指令添加了这些符号引用
可将它们平等地置于一个单独的头文件中
使用符号引用属于我个人的习惯
您也可以使用硬编码常量
在此,我们使用符号引用来增加代码清晰度
例如,清楚可见该周期为10 ms
请注意,事件 1随周期扩展
如果我们更改周期,则事件1 将相应扩展
对于该实验,请添加 C 代码,使事件 2、3 和 4
分别为周期的 25%、50% 以及 75%
本教程稍后将展示该解决方案
最终,我们以本地方式和全局方式启用了 DPWM0
这是主程序
此处是用于清除校验和的后门
以防锁定编程闪存
如果您要包括该代码,请确保连接要相应拉动的引脚
在本例中,您应将故障树引脚
接地,以使操作正常
此处,我们调用函数来初始化 PMBus 处理程序
然后,我们调用我们刚才添加的
函数以初始化 DPWM0
这是具有 PMBus 处理程序调用例程的主循环
如实验练习一中所示
这使我们能够在固件运行时
通过 PMBus 与器件联系
其他代码片段与 HyperKnob
关联,我将很快进行详细讨论
当您将代码添加到整个实验练习二时
在 Code Composer Studio 中构建代码
并使用该器件 GUI 下载
这是 UCD 器件 GUI
如前下载代码
请勿写入程序校验和
如果在下载该固件时已选定该选项
则您刚才下载至编程闪存的代码
将在其下载至编程闪存后
立即开始执行
如未执行,请单击该链接以开始执行该代码
如果您将示波器探针置于开环板的
引脚 DPWM0A 和 DPWM0B 上,这些是您会看到的波形
传感器位于开关周期的开头和末尾
您可以看到开关周期为 10 ms
您还可以看到输出 A 的上升沿(与事件 1 对应)
就位于下降沿(与事件 2 对应)上的开关周期的开头
进入了周期的 25% 处
课程介绍
共计6课时,25分31秒
UCD3138数字PWM(DPWM)模块
在本教程中,我将 介绍数字电源 外设, 尤其着重介绍 数字脉冲宽度调制, 或者说 DPWM 模块。 此讲演 随实验练习二一起提供。 在上一教程中,我们已简要 介绍了 ARM 内核、 闪存以及 PMBus 接口。 现在,我们将着重介绍 DPWM 模块及其两个 关联的输出引脚。 UCD3138 系列 每个成员产品的内核 是数控 环路外设, 也称作数字 电源外设, 或简称 DPP。 这些器件用于 控制电源中的 高速电压和 电流环路。 它们旨在 替代基于 模拟电压管理 控制器 IC 的电源中 采用的模拟 补偿网络和 PWM 生成系统, 并向系统 添加增强的 数字功能。
猜你喜欢
换一换
推荐帖子
- 【玩转LaunchPad】步步入门教程
- 板子概况:1.LaunchPad开发板介绍(一) 2.LaunchPad开发板介绍(二) 3.板上资源解读 4.MSP430的初始化和时钟配置 5.ADC10模块读 6.串行接口(一) 6.串行接口(二) 7.学习触摸感应技术器 实验例程 1.基本输入输出——IO操作 2.演示应用:内部温度测量 3.通信接口实验...
-
EEWORLD社区
微控制器 MCU
- TI-TM4C123x学习记录:读取高低电平
- 读取一个引脚的高低电平,最常见的是用在按键判定上,其次是在中断中也有使用。 一、关键语句 int32_t ROM_GPIOPinRead(uint32_t ui32Port, uint8_t ui8Pins) Parameters: ui32Port is the base address of the GPIO port. ui8Pins is ...
-
Aguilera
微控制器 MCU
- C6000的程序优化流程及方法
- C6000软件开发流程 图1为C6000的软件开发流程图。图中阴影部分是开发C代码的常规流程,其他部分用于辅助和加速开发讨程. C/C++源文件首先经过C/C++编译器(C/C++cornpiler)转换为C6000汇编源代码。编译器、优化器(optimizer)和交叠工具是C/C++编...
-
fish001
微控制器 MCU
- 嵌入式编程中函数返回类你遇到过问题吗
- 在这几天,看到了之前经常关注的一个论坛上解释了函数返回类型设计的一些问题,我觉得说的很透彻,这里分享给大家! 不知从什么时候起,对函数返回值,有一种下意识的认识:“0”是成功、非“0”表示失败。 先讲个故事,就是项目移植时的一段小插曲—— 近期工作,使用...
-
fish001
微控制器 MCU