STM32 不同主频下的定时器死区设置

2023-12-22 20:20

本文主要是介绍STM32 不同主频下的定时器死区设置,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

根据datasheet里的以下说明,算出各种主频下,DTG赋值和具体死区时间的对应关系,可供查询参考。


这里写图片描述
这里写图片描述


在168M的定时器时钟下 :

DTS=1/168M=5.95238ns。
所以第一个公式,死区时间能从5.95ns的步进从0调整到 127*5.95=755.95ns
第二个公式,(64 +0 )*2*5.95 ~(64 + 63)*2*5.95 = 761.9 ~ 1511.9ns
第三个公式, (256 ~ 504)*5.95= 1.5238us ~ 3us
第四个公式, (512 ~ 1008)*5.95 = 3.0476us ~ 6us

我设置为224(E0),就是11100000,DT=(32 + 0)*(16*f) = 3us

我要把死区设为2us,在第三个公式,倒推出DTG【7:0】=202;

我要把死区设为1.5us,在第二个公式,倒推出DTG【7:0】=190;
我要把死区设为1us,在第二个公式,倒推出DTG【7:0】=148;
我要把死区设为900ns,在第二个公式,倒推出DTG【7:0】=139;//892ns
倒推出DTG【7:0】=140;//904.4ns
我要把死区设为800ns,在第二个公式,倒推出DTG【7:0】=131;//797.3ns

我要把死区设为700ns,在第一个公式,倒推出DTG【7:0】=118;//702.1ns
我要把死区设为600ns,在第一个公式,倒推出DTG【7:0】=101;//600.95ns
我要把死区设为500ns,在第一个公式,倒推出DTG【7:0】=84;//499.8ns
我要把死区设为400ns,在第一个公式,倒推出DTG【7:0】=67;//398.65ns
我要把死区设为300ns,在第一个公式,倒推出DTG【7:0】=50;//297.5ns


在144M的定时器时钟下 :

TDTS=1/144M=6.94444。
所以第一个公式,死区时间能从5.95ns的步进从0调整到 127*6.94444=881.94ns
第二个公式,(64 +0 )*2*6.94444~(64 + 63)*2*6.94444= 888.88ns~ 1763.88ns
第三个公式, (256 ~ 504)*6.94444= 1.7777us~ 3.5us
第四个公式, (512 ~ 1008)*6.94444=

我要把死区设为1.5us,在第二个公式,倒推出DTG【7:0】=173;
我要把死区设为1.2us,在第二个公式,倒推出DTG【7:0】=150;
我要把死区设为1.1us,在第二个公式,倒推出DTG【7:0】=143;
我要把死区设为1us,在第二个公式,倒推出DTG【7:0】=136;
我要把死区设为900ns,在第二个公式,倒推出DTG【7:0】=139;//902.77ns

我要把死区设为800ns,在第一个公式,倒推出DTG【7:0】=115;//798.6ns

我要把死区设为700ns,在第一个公式,倒推出DTG【7:0】=101;
我要把死区设为600ns,在第一个公式,倒推出DTG【7:0】=86;
我要把死区设为500ns,在第一个公式,倒推出DTG【7:0】=72;


在72M的定时器时钟下:

TDTS=1/72M=13.888。
所以第一个公式,死区时间能从5.95ns的步进从0调整到 127*13.888=1763.88ns

这篇关于STM32 不同主频下的定时器死区设置的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/525347

相关文章

Python如何计算两个不同类型列表的相似度

《Python如何计算两个不同类型列表的相似度》在编程中,经常需要比较两个列表的相似度,尤其是当这两个列表包含不同类型的元素时,下面小编就来讲讲如何使用Python计算两个不同类型列表的相似度吧... 目录摘要引言数字类型相似度欧几里得距离曼哈顿距离字符串类型相似度Levenshtein距离Jaccard相

在不同系统间迁移Python程序的方法与教程

《在不同系统间迁移Python程序的方法与教程》本文介绍了几种将Windows上编写的Python程序迁移到Linux服务器上的方法,包括使用虚拟环境和依赖冻结、容器化技术(如Docker)、使用An... 目录使用虚拟环境和依赖冻结1. 创建虚拟环境2. 冻结依赖使用容器化技术(如 docker)1. 创

关于Spring @Bean 相同加载顺序不同结果不同的问题记录

《关于Spring@Bean相同加载顺序不同结果不同的问题记录》本文主要探讨了在Spring5.1.3.RELEASE版本下,当有两个全注解类定义相同类型的Bean时,由于加载顺序不同,最终生成的... 目录问题说明测试输出1测试输出2@Bean注解的BeanDefiChina编程nition加入时机总结问题说明

CSS弹性布局常用设置方式

《CSS弹性布局常用设置方式》文章总结了CSS布局与样式的常用属性和技巧,包括视口单位、弹性盒子布局、浮动元素、背景和边框样式、文本和阴影效果、溢出隐藏、定位以及背景渐变等,通过这些技巧,可以实现复杂... 一、单位元素vm 1vm 为视口的1%vh 视口高的1%vmin 参照长边vmax 参照长边re

Windows设置nginx启动端口的方法

《Windows设置nginx启动端口的方法》在服务器配置与开发过程中,nginx作为一款高效的HTTP和反向代理服务器,被广泛应用,而在Windows系统中,合理设置nginx的启动端口,是确保其正... 目录一、为什么要设置 nginx 启动端口二、设置步骤三、常见问题及解决一、为什么要设置 nginx

java中不同版本JSONObject区别小结

《java中不同版本JSONObject区别小结》本文主要介绍了java中不同版本JSONObject区别小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们... 目录1. FastjsON2. Jackson3. Gson4. org.json6. 总结在Jav

Python中连接不同数据库的方法总结

《Python中连接不同数据库的方法总结》在数据驱动的现代应用开发中,Python凭借其丰富的库和强大的生态系统,成为连接各种数据库的理想编程语言,下面我们就来看看如何使用Python实现连接常用的几... 目录一、连接mysql数据库二、连接PostgreSQL数据库三、连接SQLite数据库四、连接Mo

vue基于ElementUI动态设置表格高度的3种方法

《vue基于ElementUI动态设置表格高度的3种方法》ElementUI+vue动态设置表格高度的几种方法,抛砖引玉,还有其它方法动态设置表格高度,大家可以开动脑筋... 方法一、css + js的形式这个方法需要在表格外层设置一个div,原理是将表格的高度设置成外层div的高度,所以外层的div需要

电脑密码怎么设置? 一文读懂电脑密码的详细指南

《电脑密码怎么设置?一文读懂电脑密码的详细指南》为了保护个人隐私和数据安全,设置电脑密码显得尤为重要,那么,如何在电脑上设置密码呢?详细请看下文介绍... 设置电脑密码是保护个人隐私、数据安全以及系统安全的重要措施,下面以Windows 11系统为例,跟大家分享一下设置电脑密码的具体办php法。Windo

如何设置vim永久显示行号

《如何设置vim永久显示行号》在Linux环境下,vim默认不显示行号,这在程序编译出错时定位错误语句非常不便,通过修改vim配置文件vimrc,可以在每次打开vim时永久显示行号... 目录设置vim永久显示行号1.临时显示行号2.永www.chinasem.cn久显示行号总结设置vim永久显示行号在li