5361|6

3

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

关于stm32输出PWM方波的同步问题 [复制链接]

各位前辈们好,我最近打算调用一款ADC,遇到了一些不懂的问题,需要求教!
问题是这样的,adc需要一个10MHz的CLK信号,同时需要单片机给一个CONV信号。这个CONV信号是每4760个clk跳变一次,就是高低电平跳转,但是它要求这个conv跳变要在第4760个clk上升沿左右10ns之内跳变,这就要求clk和conv的相位几乎同步。网上有人说用TIM1的CH1产生10M的clk信号,ch2产生conv信号,可具体怎样能使conv跳变的时候能每次都在clk上升沿10ns范围内呢?求高手解答!谢谢!
还有就是如果ADC外接10M晶振,然后也把晶振信号引入stm32计数器,等数到第4760个clk上升沿的时候马上让CONV跳变,这样在72M的stm32频率下,反应时间大概是多少ns呢?按照指令周期的概念是不是一下子几十个ns就出去了?

我还是个学生,大神们多多赐教,非常感谢!
此帖出自stm32/stm8论坛

最新回复

本帖最后由 无奇不有 于 2014-11-21 11:06 编辑 用同一个计数器的话,采用边沿对其的模式,相位肯定是相同的,差别很小,因为比较器的比较动作不是通过cpu的,是硬件自动比较的,所以速度还是挺快的,不过最好不要用中断去处理,因为进入中断以后就是CPU动作了,这个就很慢了,你可以打开pwm输出,这样已经是能做到的最快的,你用示波器看看波形是不是满足要求,我想应该没问题。 关于程序怎么写,你去看看库函数 里面有什么东西,基本上就是初始化定时器和输出模块,这个挺简单的。不过我手头上现在没有现成的代码。。。而且我之前用的是dsp和430,刚刚入手stm对这个东西还不是很熟悉,所以,你如果确实自己写不出来了,我再给你下功夫,如果你弄出来了就很好了。   详情 回复 发表于 2014-11-21 11:04
点赞 关注
 

回复
举报

104

帖子

0

TA的资源

一粒金砂(中级)

推荐
 
用定时器的比较和捕获模块可以进行,但是需要把单片机内部的pll输出频率提到高一点。用定时器的一个捕获模块输出10MHz的信号,用定时器的另外一个捕获模块输出使能信号,因为两个模块同用一个计数器,所以应该没有什么问题。
此帖出自stm32/stm8论坛

点评

你好,感谢你的帮助!就是用同一个计数器的话相位会是相同的是么?具体这个程序大概该怎么写呢  详情 回复 发表于 2014-11-20 17:45
 
 

回复

4997

帖子

19

TA的资源

裸片初长成(初级)

沙发
 
一个指令周期应该就1us。。
此帖出自stm32/stm8论坛

点评

你好,请问1us是怎么算出来的呢?不是能达到几十mips的速度么?  详情 回复 发表于 2014-11-20 17:43
 
个人签名我的博客
 

回复

4005

帖子

0

TA的资源

版主

4
 
你用时钟输出10M然后用定时器每分4076个时钟出一个跳变能实现的.
此帖出自stm32/stm8论坛
 
 
 

回复

3

帖子

0

TA的资源

一粒金砂(初级)

5
 
zhaojun_xf 发表于 2014-11-18 17:59
一个指令周期应该就1us。。

你好,请问1us是怎么算出来的呢?不是能达到几十mips的速度么?
此帖出自stm32/stm8论坛
 
 
 

回复

3

帖子

0

TA的资源

一粒金砂(初级)

6
 
无奇不有 发表于 2014-11-18 18:57
用定时器的比较和捕获模块可以进行,但是需要把单片机内部的pll输出频率提到高一点。用定时器的一个捕获模 ...

你好,感谢你的帮助!就是用同一个计数器的话相位会是相同的是么?具体这个程序大概该怎么写呢
此帖出自stm32/stm8论坛

点评

用同一个计数器的话,采用边沿对其的模式,相位肯定是相同的,差别很小,因为比较器的比较动作不是通过cpu的,是硬件自动比较的,所以速度还是挺快的,不过最好不要用中断去处理,因为进入中断以后就是CPU动作了,这  详情 回复 发表于 2014-11-21 11:04
 
 
 

回复

104

帖子

0

TA的资源

一粒金砂(中级)

7
 
本帖最后由 无奇不有 于 2014-11-21 11:06 编辑
cxpph007 发表于 2014-11-20 17:45
你好,感谢你的帮助!就是用同一个计数器的话相位会是相同的是么?具体这个程序大概该怎么写呢

用同一个计数器的话,采用边沿对其的模式,相位肯定是相同的,差别很小,因为比较器的比较动作不是通过cpu的,是硬件自动比较的,所以速度还是挺快的,不过最好不要用中断去处理,因为进入中断以后就是CPU动作了,这个就很慢了,你可以打开pwm输出,这样已经是能做到的最快的,你用示波器看看波形是不是满足要求,我想应该没问题。
关于程序怎么写,你去看看库函数 里面有什么东西,基本上就是初始化定时器和输出模块,这个挺简单的。不过我手头上现在没有现成的代码。。。而且我之前用的是dsp和430,刚刚入手stm对这个东西还不是很熟悉,所以,你如果确实自己写不出来了,我再给你下功夫,如果你弄出来了就很好了。
此帖出自stm32/stm8论坛
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

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

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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

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

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

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