35546|54

60

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

STM32明明是32位的CPU,却将定时器设计成16位的! [复制链接]

真不明白,明明是32位的CPU,却将定时器设计成16位的,对有些应用32位的定时器可是很重要的悠!
希望下一个版本能有所改进。ST加油!!!!
此帖出自stm32/stm8论坛

最新回复

F4有两个32位定时器  详情 回复 发表于 2015-8-23 12:53
点赞 关注
 

回复
举报

78

帖子

0

TA的资源

一粒金砂(中级)

沙发
 

哈哈,以前就有人问过这个问题

先做个记号,楼主也可以先看看以前这个帖子,请各位先帮忙对帖子中6楼的问题给点提示;等我们整理一下来回答楼主这个问题。

STM32F103增强型产品的基本信息
此帖出自stm32/stm8论坛
 
 

回复

64

帖子

0

TA的资源

一粒金砂(初级)

板凳
 

哈哈~~~可能有时8位的更好~~~这和延时的长短有关~~~

                                 与32位真没关系~~~
此帖出自stm32/stm8论坛
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

4
 

我比较喜欢32位的计数器。

                                  
此帖出自stm32/stm8论坛
 
 
 

回复

66

帖子

0

TA的资源

一粒金砂(初级)

5
 

既然有编码器接口功能是应该不止16位的了

2500线的编码器1圈就是2500/5000/10000个脉冲,最多能检测26圈多点
就算400线的要用的话应该用1600个脉冲了,也才41圈不到
此帖出自stm32/stm8论坛
 
 
 

回复

81

帖子

0

TA的资源

一粒金砂(初级)

6
 

哈哈~~~楼上肯定想要大位数的计数器了~~~

                                  
此帖出自stm32/stm8论坛
 
 
 

回复

66

帖子

0

TA的资源

一粒金砂(初级)

7
 

Atmel、Luminary也是16位的定时器,很不爽!

                                 自从用了NXP的32位定时器后就喜欢上它,非常适合高频率的脉冲测量。不过STM32好像可以把两个16位定时器进行级联形成32位的定时器,不知好用否?
此帖出自stm32/stm8论坛
 
 
 

回复

60

帖子

0

TA的资源

一粒金砂(初级)

8
 

有预分频器

                                 有预分频器,定时起多少位影响不大
此帖出自stm32/stm8论坛
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

9
 

8楼点出了问题的关键

                                  
此帖出自stm32/stm8论坛
 
 
 

回复

56

帖子

0

TA的资源

一粒金砂(初级)

10
 

以前就有人问过这个问题

                                  
此帖出自stm32/stm8论坛
 
 
 

回复

63

帖子

0

TA的资源

一粒金砂(初级)

11
 

哈哈,预分频器相当于2500线的编码器换成25线的

                                 那倒是可以省大笔钱了,25线的俺就自己做了哦
此帖出自stm32/stm8论坛
 
 
 

回复

80

帖子

0

TA的资源

一粒金砂(初级)

12
 

关于STM32的CPU为32位,定时器却为16位的探讨

首先,感谢dxfshsh提出了这个很好的问题,使我们可以就这个问题有一个交流的机会。


STM32的通用定时器可以实现很多功能,例如:定时计数、测量外部信号脉冲宽度、产生PWM波形、测量输入的PWM波形等。在所有这些操作中,定时器的位数主要影响两个参数,一个是定时或测量的精度,另一个是定时的时间长度。下面我们以一个列表看一下定时的精度和定时的长度有多少:



关于各个预分频器的作用请参考下图的右半部分:


从表中可以看出,在最高精度下(14ns)定时长度只有0.91ms,在精度为250ns(即4MHz)时定时长度可达16.38ms。这是仅使用了定时器的独立工作模式的情况。


对于需要高精度并且长延时的应用,16位的定时(上述精度和时间长度)就不够了,这个问题可以有两种解决办法;第一个办法是通过软件的接力完成,这个方法的可行性在于定时时间较长,允许软件有足够的时间介入计数,这种办法非常方便,多数情况都可使用。第二种办法是使用STM32特有的定时器级联功能,实现32位的计数效果,因为级联是由硬件触发的,当设置好各项寄存器后,软件不必中途干预,可以达到高精度长延时的要求。进一步地,STM32最多有四个定时器,如果串联起来,甚至可以实现4*16=64位的计数效果。

简单地说级联功能,即是一个定时器的定时条件满足后,可以产生一个触发信号启动另一个定时器的定时操作。

在ST的网站上有一个应用笔记和对应的例子程序,详细说明和演示了如何使用STM32的级联功能实现32位的输入捕获和32位的输出比较功能,各位可以研究一下:
   应用笔记下载地址:http://www.st.com/stonline/products/literature/an/13711.pdf
   演示程序下载地址:http://www.st.com/stonline/products/support/micro/files/an2592.zip

这是该应用笔记的摘要:
【AN2592 如何使用STM32F101xx和STM32F103xx的时钟链接功能实现定时器的32位精度】 (2007年8月)
  许多应用需要32位的精度,用于测量超过几百秒的外部信号的周期并产生延迟或较大间隔的周期信号。
  STM32F101xx和STM32F103xx提供了链接两个16位定时器借以获得32位精度的能力,这是使用了定时器的一种特殊配置和链接机制。
  本文给出了模拟一个32位定时器的基本原则;介绍了两个基本的操作模式:输入捕获模式和输出比较模式。每个模式都是单独介绍并附有实例。



最后希望各位朋友能够帮助我们更加深入地了解应用的需求,对于以工业控制和嵌入式控制仪器而言,因为我们接触的应用有限,不是很清楚哪里需要这样的高精度定时,如果方便我们可以做几个实例分析,这样更有利于我们对今后产品的升级和定位。
此帖出自stm32/stm8论坛
 
 
 

回复

87

帖子

0

TA的资源

一粒金砂(初级)

13
 

这个问题软件很好解决~~~原理和环型计数器相同

                                  
此帖出自stm32/stm8论坛
 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

14
 

总之就是不爽。增加到32位又复杂不了多少。

                                  
此帖出自stm32/stm8论坛
 
 
 

回复

66

帖子

0

TA的资源

一粒金砂(初级)

15
 

硬件解决对于使用者来说肯定是最简单方便的

                                 但从硬件设计上讲,16位变32位就意味着芯片面积不只是成倍地增加了,结果必然是成本的上升,搞不好这款芯片的成本优势都没了。
此帖出自stm32/stm8论坛
 
 
 

回复

85

帖子

0

TA的资源

一粒金砂(初级)

16
 

香版言之甚有理

                                 相信做过CPLD/FPGA的,都有这种感觉
此帖出自stm32/stm8论坛
 
 
 

回复

90

帖子

0

TA的资源

一粒金砂(初级)

17
 

不会吧?这么夸张?就几个计数器变成32位的,芯片面积就要

没搞过IC设计,不知道怎么会这样...

不就是多几个触发器而已吗?

从3个计数器增加到6个计数器芯片面积就要翻倍了?
此帖出自stm32/stm8论坛
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(中级)

18
 

就是,不知道怎么搞的str9也是16位的,郁闷

                                 就是,不知道怎么搞的str9也是16位的,郁闷
此帖出自stm32/stm8论坛
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(中级)

19
 

能级联倒是可以解决一下,但不能是预分频那种模式的

但这样对付一只编码器也要干掉3个定时器了:
两个串联成32bit编码器方式对外计数,1个产生固定时间触发捕捉寄存器用来测量速度

这种地方用软件就不方便了,电机可能刚好在进位处快速抖动着,1会儿加1会儿减的
此帖出自stm32/stm8论坛
 
 
 

回复

78

帖子

0

TA的资源

一粒金砂(初级)

20
 

不足就是不足,不同意预分频器的解释

                                 这一点上不知道ST是怎么想的...
此帖出自stm32/stm8论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表