OpenEdv-开源电子网

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

TIM2 CC2触发AD转换的频率如何计算?

[复制链接]

105

主题

522

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1386
金钱
1386
注册时间
2012-10-23
在线时间
97 小时
发表于 2013-6-23 10:32:00 | 显示全部楼层 |阅读模式

主频采用外部8M晶振经过PLL 9倍频的,TIM2的时钟是APB1时钟的2分频,那么tim2的时钟频率应该是72M
ADC的触发用的是TIM2CC2进行触发。
有几个疑问,TIM2CC2是不是有多种方式,比如PWM1,PWM2,Toggle...他们计算采样触发频率的方法都是一样的吗?
以下面程序为例:

该怎么计算?是什么时候开始触发的?电平翻转的时候么?

   /* ----------------------------------------------------------------------- */ 
  /* Time Base configuration */
  TIM_TimeBaseStructInit(&TIM_TimeBaseStructure);
  TIM_TimeBaseStructure.TIM_Period =35; //ARR寄存器        
  TIM_TimeBaseStructure.TIM_Prescaler = 999; //PSC 预分频值,用来调整频率       
  TIM_TimeBaseStructure.TIM_ClockDivision = 0x0;   
  TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; 
  TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure);
 
  /* TIM1 channel1 configuration in PWM mode */
  TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_Toggle;//TIM_OCMode_Toggle,TIM_OCMode_PWM1
  TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;               
  TIM_OCInitStructure.TIM_Pulse = 35; //CCR2寄存器
  TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_Low;        
  TIM_OC2Init(TIM2, &TIM_OCInitStructure);

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

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-6-23 11:10:33 | 显示全部楼层
模式1,模式2,就是高低电平的区别.Toggle就是匹配取反.
他们并不影响PWM的频率,而只是pwm信号电平的不同而已.
所以他们计算频率的方法,都是一样的.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

105

主题

522

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1386
金钱
1386
注册时间
2012-10-23
在线时间
97 小时
 楼主| 发表于 2013-6-24 09:19:16 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
那我上面的配置的触发频率是怎么计算呢?
72M/((35+1)*(999+1))么?

在百度文库上看到这么一句话
1、PWM输出模式 
   TIM_Period配置是代表波形的周期,因此其数值一定要比输出配置中TIM_OCInitStructure.TIM_Pulse的数值大。(如TIM_Period = 0x3E7则波形频率为TIMCLK/(0x3E7+1))且只要TIM_Period 不为零,则其TIMCLK为系统频率的一半


难倒应该是36M/((35+1)*(999+1))??

还有我的period=pulse了。这个有问题吗?
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-6-24 10:24:00 | 显示全部楼层
看我们的教程.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

105

主题

522

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1386
金钱
1386
注册时间
2012-10-23
在线时间
97 小时
 楼主| 发表于 2013-6-24 10:55:55 | 显示全部楼层
回复【4楼】正点原子:
---------------------------------
教程里面这部分是省略的。pwm章节查无此计算方法!!
回复 支持 反对

使用道具 举报

105

主题

522

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1386
金钱
1386
注册时间
2012-10-23
在线时间
97 小时
 楼主| 发表于 2013-6-25 08:51:19 | 显示全部楼层
回复【4楼】正点原子:
---------------------------------
都翻阅很多遍了,确实没有哈。只有定时器,而且定时器也没有说pulse的作用,虽然都知道pulse就是ccr2寄存器调节占空比的。计算上就更没有说清楚了、。
回复 支持 反对

使用道具 举报

105

主题

522

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1386
金钱
1386
注册时间
2012-10-23
在线时间
97 小时
 楼主| 发表于 2013-6-25 12:49:55 | 显示全部楼层
知道了。
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-18 10:01

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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