历史上的今天
今天是:2025年06月29日(星期日)
2018年06月29日 | STM32 不同主频下的定时器死区设置
2018-06-29 来源:eefocus
根据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
史海拾趣
|
把常见的问题都罗列了 链接:https://home.eeworld.com.cn/my/space.php?do=blog&uid=80086&id=28343… 查看全部问答> |
|
我最近查了些资料 现在把我的需求在整理一下:我想做一个嵌入式USB主机(强调是主机端host,不是USB设备),这是第一次做一个完整的系统,不知从何入手,有这样几个问题,首先是主控芯片,如果单片机可以,用哪种?另外电源模块用什么方案比较好? ...… 查看全部问答> |
|
我用ARM板测试一个触摸屏程序,偶尔出现飘屏! 源码如下: #include \"def1.h\" #include \"2440addr.h\" #include \"2440lib.h\" #include \"config.h\" #define REQCNT 30 #define ADCPRS 9 //YH 0627 #define LO ...… 查看全部问答> |
|
亚嵌《嵌入式linux系统暑期强化班》全面启动 亚嵌-10年嵌入式技术研究 ???????? 6年嵌入式技术专业教学??亚嵌强调技术的严肃性、并向所有尊重技术、热爱技术的人们致敬! ?????????权威嵌入式研发机构 嵌入式职业生涯第一步! ...… 查看全部问答> |
|
关于启动内核函数void Launch(DWORD dwLaunchAddr)的疑问 void Launch(DWORD dwLaunchAddr)这个函数是在SMDK2440A\\Src\\Bootloader\\Eboot\\util.s(32)实现的 ;****************************************************************************** INCLUDE kxarm.h PHY_RAM_START &n ...… 查看全部问答> |
|
本帖最后由 paulhyde 于 2014-9-15 09:34 编辑 请问哪个高手可以指点一下05年单工无线,接收部分电路图如下: 我想问一下为什么CXA1238的本振频率调不上去,用耳机听在22MHz左右可以清楚听到声音,但我们需要35MHz的频率,应该如何做呢?求高手指 ...… 查看全部问答> |




