IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> 再说说EPWM模块的全局加载 -> 正文阅读

[嵌入式]再说说EPWM模块的全局加载

之前总结了EPWM模块的影子寄存器及其加载机制。

EPWM模块的影子寄存器_booksyhay的博客-CSDN博客对于1型的EPWM模块,功能比较简单。影子寄存器主要针对的是PRD和CMP两类寄存器。TBPRD及其影子寄存器PRD的影子寄存器由TBCTL[PRDLD]标志位来控制。当PRDLD=0(默认值)时,使能影子寄存器。使能后,只有时基计数器TBCTR等于0的时候,TBPRD才从影子寄存器加载到活动寄存器。当PRDLD=1时,PRD的影子寄存器无效,软件写入TBPRD时立即生效。CMPA/CMPB及其影子寄存器下面以CMPA为例进行说明。CMPB的情况是一样的。https://blog.csdn.net/booksyhay/article/details/123713837详细总结EPWM模块之间的同步_booksyhay的博客-CSDN博客_epwm活动寄存器与影子寄存器EPWM模块中很多寄存器都分为活动寄存器和影子寄存器。典型的,比如计数周期寄存器PRD,平时在中断里面更新PRD的值来改变PWM波的频率时,并不是立即生效,而是等到计数器计到0后在下一个计数周期中生效。TBPRD寄存器的加载在早期的ePWM模块设计中,PRD寄存器的加载与以下配置有关:说明:Active Period Register Load From Shadow Register Select0:The period register (TBPRD)https://blog.csdn.net/booksyhay/article/details/123680101

下面再来详细说说EPWM模块的全局加载机制。

为什么要有全局加载

为什么要有“全局加载”呢?

PRD和CMP的影子寄存器,解决的是单个EPWM模块内部的同步问题。因为在中断里面更新PRD和CMP是有先后顺序的,不是同时的,但硬件又希望它们同时生效。所以,先让软件把值写到影子寄存器里,当硬件满足一定的条件后,由硬件同时刷新到活动寄存器中。

但是,随着EPWM模块的功能越来越多,影子寄存器也越来越多。在280025中,有以下影子寄存器:

  • TBPRD
  • CMPA
  • CMPB
  • CMPC
  • CMPD
  • AQCTLA
  • AQCTLB
  • DBRED
  • DBFED

软件更新这些寄存器也是需要时间的,如果刚好在PRD=0前后,分别更新两个寄存器,则它们生效的时间就不同步了。

为了解决这一问题,引入了“全局加载”。

全局加载的机制

使能全局加载机制后,特别是One-shot模式后,就可以先把值写入寄存器,然后再由软件统一“发号施令”,然后再由硬件统一加载。

原理框图如下:

?

具体配置方法如下:

1,配置哪些寄存器使能全局加载

在“全局加载配置”寄存器中(GLDCFG)

?这里面的每一个位都控制某一个寄存器是否使能“全局加载”。

比如:TBPRD:

Global load event configuration for TBPRD_TBPRDHR
0: Registers use local reload configuration even if GLDCTL(GLD)=1 (reload is compatible with previous EPWMs)
1: Registers use global load configuration if this bit is set and?GLDCTL(GLD)=1

注意:如果这些位没有设置,则相应的寄存器仍然遵循原来的加载机制。这样可以实现部分寄存器全局加载,其他寄存器局部加载(local?reload)。

2,配置全局加载模式并使能

再配置加载时机(加载模式GLDMODE)、是否One-shot模式等。

然后再使能全局加载(GLD=1)

?

3,自动全局加载或者触发全局加载

在One-shot全局加载模式下,需要软件开启加载。软件每控制一下,只生效一次。

这个是在GLDCTL2寄存器中。

?OSHTLD和GFRCLD都是“写1生效”。

OSHTLD写1后,等待GLDCTL.GLDMODE所对应的时机到来。到来后即触发一次加载,加载后OSHTLD被硬件清零。下一次又需要由软件开启。

GFRCLD是软件强制触发加载。写一次1,则触发一次加载。

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2022-04-24 09:36:52  更:2022-04-24 09:37:07 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 3:48:35-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码