求教,频率、脉宽、幅值可调脉冲的实现

[复制链接]
 楼主| EAMCU 发表于 2010-11-23 14:53 | 显示全部楼层 |阅读模式
我计划用TIM+DAC实现。用TIM2调节频率,生成方波,TIM3为从模式单脉冲,调节脉宽,被TIM2触发。
这一步没问题,可以实现频率和脉宽的大范围精细调节。

最后一步,幅值可调,看了DAC的文档,不知道如何入手。
请问如何设定DAC的工作模式,可以实现如下要求:
触发脉冲为高时,输出1个设定电压,触发脉冲为低时,输出另外1个较小的设定电压
 楼主| EAMCU 发表于 2010-11-23 14:55 | 显示全部楼层
附加要求:不能使用中断,全部由硬件自动完成,因为cpu还要做别的事情
香水城 发表于 2010-11-23 16:10 | 显示全部楼层
你现在得到的是什么样的波形?
sinadz 发表于 2010-11-23 16:14 | 显示全部楼层
楼主把波形图贴出来看一下
 楼主| EAMCU 发表于 2010-11-23 16:24 | 显示全部楼层
啊,没有最后的波形,只有前面频率和脉宽可调脉冲的波形。进行到最后一步时,我看了好久,完全没有思路。我想来这里求个思路,再回去继续试
 楼主| EAMCU 发表于 2010-11-23 16:28 | 显示全部楼层
我的最初方案是利用两个DAC输出,1个输出高电压,1个输出低电压,把他们的输出引入到1个模拟开关的,通过频率和脉宽可调脉冲来控制模拟开关,达到我的目的,这种方案没有问题。
现在想看看,能不能去掉模拟开关,直接由stm32完成最后的输出。
香水城 发表于 2010-11-23 16:40 | 显示全部楼层
你想得到什么波形?方波?与触发脉冲什么关系?从哪里输入触发脉冲?

请说明清楚些,最好有个图。
 楼主| EAMCU 发表于 2010-11-23 16:57 | 显示全部楼层
我想得到1个频率,脉宽,幅值都可调的脉冲。
通过TIM2触发TIM3,我已经得到了频率和脉宽都可调的输出,不一定是方波,占空比可能是其它值。暂定义它为WAVE1,WAVE1的输出值是在0和3.3V两者变化的,我现在希望通过该脉冲控制DAC,使得DAC输出的脉冲的相位受WAVE1控制。当WAVE1为3.3V时,DAC输出1个恒定的电压值,但是该电压值可以在0~2.5V之间随意设置,当WAVE1为0V时,DAC并不输出0V,而是另外1个设定的电压值,类似于偏置电压。
总体输出效果相当于频率、脉宽、幅值、偏置均可调的PWM波输出。原计划有TIM2和TIM3完成频率和脉宽调节,DAC完成幅值偏置调节。但是DAC这部分还没有思路。


如附件中的图所示
未命名.JPG
 楼主| EAMCU 发表于 2010-11-23 17:00 | 显示全部楼层
至于从哪里输入触发脉冲(WAVE1),看方案需要。我前面所说的触发脉冲,就是指DAC受WAVE1触发。
香水城 发表于 2010-11-23 18:10 | 显示全部楼层
我想得到1个频率,脉宽,幅值都可调的脉冲。
通过TIM2触发TIM3,我已经得到了频率和脉宽都可调的输出,不一定是方波,占空比可能是其它值。暂定义它为WAVE1,WAVE1的输出值是在0和3.3V两者变化的,我现在希望通过该脉冲控制DAC,使得DAC输出的脉冲的相位受WAVE1控制。当WAVE1为3.3V时,DAC输出1个恒定的电压值,但是该电压值可以在0~2.5V之间随意设置,当WAVE1为0V时,DAC并不输出0V,而是另外1个设定的电压值,类似于偏置电压。...
EAMCU 发表于 2010-11-23 16:57


看看这样行不行?

没太看懂你的TIM2和TIM3的关系,假定WAVE1是TIM3的输出,则可以考虑使用TIM3的这个输出通道触发一个DMA传输,传输目标是DAC的控制寄存器,传输源则是一个循环缓冲区,缓冲区中的内容则是你要输出的电压幅值。

像你这样只要求高低2个电平,缓冲区的长度只需要2个单位就可以了。每次外部触发信号的处理程序负责更新缓冲区的内容。
eydj2008 发表于 2010-11-24 08:10 | 显示全部楼层
EAMCU 行是可行的 频率是有范围的
nongfuxu 发表于 2010-11-24 12:07 | 显示全部楼层
EAMCU 行是可行的 频率是有范围的

用STM32做时频率越低,频率分辨率越高,
频率超过200kHz建议LZ用FPGA+DAC,成本高许多,性能也高许多
yanwuxu 发表于 2010-11-24 16:57 | 显示全部楼层
强烈关注此贴,我想实现正弦波的频率和幅度可调的^_^
xz376220024 发表于 2011-9-5 18:34 | 显示全部楼层
关注你,等待你的脉宽测量
pufjia 发表于 2012-2-29 15:51 | 显示全部楼层
我想得到频率固定 幅度可调的方波 该使用什么器件 期待您的指导  60HZ 0-20V可调的方波
videre 发表于 2012-3-6 09:16 | 显示全部楼层
0-20V,要找个运放来干这活
 楼主| EAMCU 发表于 2012-5-25 16:56 | 显示全部楼层
10# 香水城

请问,如何实现:
当TIM出现上升沿时,确保触发DMA传递数组的第一个元素给DAC,当TIM出现下降沿时,确保触发DMA传递给DAC的是数组的第二个元素?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

38

主题

396

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部