OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4727|回复: 7

Mini板V3.0 到货:打算 先做个Timer小开发:高手不难、初学者难。望指教。

[复制链接]

87

主题

569

帖子

0

精华

高级会员

Rank: 4

积分
831
金钱
831
注册时间
2014-9-30
在线时间
140 小时
发表于 2014-11-16 14:39:51 | 显示全部楼层 |阅读模式
5金钱

第一个:用 Timer捕捉 测量输入 正脉冲的宽度(范围是 800uS 到 2200uS)
希望测量的分辨率能做到0.1uS —— STM32F103xx 72Mhz —— 能否做到 ??

然后将 得到的宽度 除以2 ,固定以 4mS 周期 在另一个 管脚 输出。
如果:正脉冲<800 那就固定输出 400,如果>2200 那就固定输出 1100uS。
如果:开机没有 检测到正脉冲,就什么也不输出。(输出 固定 低电平)。
如果:工作过程中 正脉冲消失,那就 固定输出 最后时刻的 宽度除以2。

——:输出的分辨率 也要求 做到 0.1uS —— 72Mhz ——可否做到??

。。


。。

 

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

87

主题

569

帖子

0

精华

高级会员

Rank: 4

积分
831
金钱
831
注册时间
2014-9-30
在线时间
140 小时
 楼主| 发表于 2014-11-16 14:45:03 | 显示全部楼层
正在 拜读 《第十五章 输入捕获实验》 难度大 啊。。

【ALIENTEK 战舰STM32开发板例程系列连载+教学】第十五章 输入... 学习中。。。

回复

使用道具 举报

8

主题

47

帖子

0

精华

初级会员

Rank: 2

积分
198
金钱
198
注册时间
2013-11-7
在线时间
23 小时
发表于 2014-11-16 15:14:13 | 显示全部楼层
能,就是分辨率达不到
回复

使用道具 举报

13

主题

276

帖子

0

精华

高级会员

Rank: 4

积分
697
金钱
697
注册时间
2014-6-20
在线时间
146 小时
发表于 2014-11-16 15:49:23 | 显示全部楼层
好像可以吧,我用STC15系列都做过脉宽捕获,72M,处理0.1uS应该够了
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-11-16 17:43:06 | 显示全部楼层
主要是你0.1us的精度,得测试了才知道能否达到了。其他都不是问题。
前两天有网友测试过老存在4us左右的误差,你要0.1us的精度,有待验证了。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

87

主题

569

帖子

0

精华

高级会员

Rank: 4

积分
831
金钱
831
注册时间
2014-9-30
在线时间
140 小时
 楼主| 发表于 2014-11-16 19:52:18 | 显示全部楼层
回复【5楼】正点原子:
---------------------------------
都先谢谢——3楼、2楼、和 原子老大——

我时这么想的——2200us x 10 = 22200 < 65535 啊 16bit 够用啊

我只要把 定时器本身的时钟频率 设置为:10MHz  ??

STM32F103xx  在 72MHz —— 是否能 实现 10MHz 定时器时钟?

************************************************************
STM32 的 手册 看得人 眼花有的叙述 不在一个文本里,我也 正在看 。
************************************************************

假设——已经设置好——PLLCLK = 72MHz , SYSCLK = 72MHz

AHB 分频器 系数 设置为 1 , 那么 APB1 分频器 系数 必须是 2
才能确保 36Mhz 的最大值不被超越。APB2 分频器 系数 可以是 1

这样:TIM1 和 8 ——可以 获得 72Mhz 的 原始时钟 TIMxCLK 。

看见这句话:
If (APB1 prescaler = 1)
  x 1
else
  x 2
这就是说:即使36Mhz 也能 x2 = 72Mhz (定时器 2,3,4,5,6,7)

************************************************************
问题来了:“通用定时器(TIMx)   STM32F10xxx参考手册
注:真正的计数器使能信号CNT_EN是在CEN后的一个时钟周期后被设置”

这“CNT_EN” 硬件图上没看见,估计应该是 某个控制寄存器的 某个位。

STM32 手册 最讨厌的 就是:现在 需要看 另外一本文档 才能知道如何设置

回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-11-16 20:31:22 | 显示全部楼层
回复【6楼】caosix:
---------------------------------
但是你进入中断处理,是需要时间的啊。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

87

主题

569

帖子

0

精华

高级会员

Rank: 4

积分
831
金钱
831
注册时间
2014-9-30
在线时间
140 小时
 楼主| 发表于 2014-11-16 20:47:04 | 显示全部楼层
回复【7楼】正点原子:
---------------------------------
谢谢:原子 老大 ——

写出优秀的:中断处理 是 独立于 捕捉 的 啊。。。意思是:

只要 中断程序 处理时间的总和、再加上一些富余 < 800uS 

也就是 来得急 处理 最短的 脉冲800uS 就 不会 有问题。

现在:困惑在 UEV 和 CNT_EN 怎么个来历。这手册 又没说,

先休息咯。。。明天继续——看来 定时器原始时钟 TIMxCLK 。
不能用 72MHz 只能 用 60MHz (PSC 设置为 6)就可以得到 10Mhz

**********************************************************

13.3.6  PWM输入模式
该模式是输入捕获模式的一个特例,除下列区别外,操作与输入捕获模式相同:
●  两个ICx信号被映射同一个TIx输入。
●  这2个ICx信号为边沿有效,但是极性相反。
●  其中一个TIxFP信号被作为触发输入信号,而从模式控制器被配置成复位模式。
例如,你需要测量输入到TI1上的PWM信号的长度(TIMx_CCR1寄存器)和占空比(TIMx_CCR2
寄存器),具体步骤如下(取决于CK_INT的频率和预分频器的值)
●  选择TIMx_CCR1的有效输入:置TIMx_CCMR1寄存器的CC1S=01(选择TI1)。
●  选择TI1FP1的有效极性(用来捕获数据到TIMx_CCR1中和清除计数器):置CC1P=0(上升沿
有效)。
●  选择TIMx_CCR2的有效输入:置TIMx_CCMR1寄存器的CC2S=10(选择TI1)。
●  选择TI1FP2的有效极性(捕获数据到TIMx_CCR2):置CC2P=1(下降沿有效)。
●  选择有效的触发输入信号:置TIMx_SMCR寄存器中的TS=101(选择TI1FP1)。
●  配置从模式控制器为复位模式:置TIMx_SMCR中的SMS=100。
●  使能捕获:置TIMx_CCER寄存器中CC1E=1且CC2E=1。

————TIMx_CCR2 ——就是 我所需要的 结果之一:——脉冲宽度——

回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-29 00:13

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表