搜索
bottom↓
回复: 19

有人利用STM32的DAC+DMA做信号发生器吗?

[复制链接]

出0入0汤圆

发表于 2009-6-30 13:01:26 | 显示全部楼层 |阅读模式
有人利用STM32的DAC+DMA做信号发生器吗?

阿莫论坛20周年了!感谢大家的支持与爱护!!

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出0入0汤圆

发表于 2009-7-2 15:46:51 | 显示全部楼层
我上个月项目刚好用到,DAC+DMA生成1K正弦波用来测试PALM手机的MIC,128个点,效果很好!
参考库例子改的。
库例子的点数少些,频率低些。

出0入0汤圆

发表于 2010-3-23 17:22:25 | 显示全部楼层
回复【1楼】capron  
-----------------------------------------------------------------------

可不可以贴出来看看呢?

出0入0汤圆

发表于 2010-3-23 17:51:22 | 显示全部楼层
LPC17xx的DMA可以自动循环

DAC带一个专用 TIMER 触发

除了DAC的性能限制,你说做一个信号发生器有多简单?

出0入0汤圆

发表于 2013-1-23 16:25:41 | 显示全部楼层
楼主有没有用STM32做过信号发生器  能不能传些经验  或者 资料

出0入0汤圆

发表于 2013-1-24 08:25:08 | 显示全部楼层
请教一下怎么样可以改变波形的频率?
从100Hz-—100KHz

出0入0汤圆

发表于 2013-1-24 08:33:27 | 显示全部楼层
我给楼主上传一个我做的用ZET6,仅供参考




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2013-4-27 15:55:22 | 显示全部楼层
请问Eric2013 你这个可以做到精确调频率吗?
是用的定时器+DMA传输方式?还是使用定时器中断里写《模拟DDS公式的计数值》+DAC输出的方式实现的呢?谢谢 ,如果是用的定时器+DMA传输方式。请教如何做到的精确频率的输出呢?     还请赐教。

出0入0汤圆

发表于 2013-4-27 22:25:22 | 显示全部楼层
Eric2013 发表于 2013-1-24 08:33
我给楼主上传一个我做的用ZET6,仅供参考

请问Eric2013 你这个可以做到精确调频率吗?
是用的定时器+DMA传输方式?还是使用定时器中断里写《模拟DDS公式的计数值》+DAC输出的方式实现的呢?谢谢 ,如果是用的定时器+DMA传输方式。请教如何做到的精确频率的输出呢?     还请赐教。

出0入0汤圆

发表于 2013-4-27 22:26:32 | 显示全部楼层
是的 我测试了 效果还可以

出0入0汤圆

发表于 2013-5-4 23:12:47 | 显示全部楼层
wind2100 发表于 2013-4-27 22:26
是的 我测试了 效果还可以

请教如何做到的精确频率的输出呢?     还请赐教。

出0入0汤圆

发表于 2013-5-5 19:03:24 | 显示全部楼层
用定时器 去更新DA的值 就精确了

出0入0汤圆

发表于 2013-5-7 07:17:43 | 显示全部楼层
wind2100 发表于 2013-5-5 19:03
用定时器 去更新DA的值 就精确了

也就是说是用的是定时器中断内更新DAC的方式么?那么不是很占用CPU资源么?,我之前用51做过类似的为了输出较高频率几乎占用了所有CPU资源,其他什么都做不了,,这个我参考了STM32例程里输出正弦波例子,但不知道通过DMA传输定时器更新怎么做到精确输出。暂时弄不出来输出频率误差很大。能不能给些清楚的提示?
1. 是通过修改定时器计数值,改变触发DMA的时间的方式,再使用DMA自动更新DAC吗??(我现在用的方法,但做不到精确输出。暂时弄不出来因为输出频率误差很大。使用固定的256个正弦输出点)
2. 还是就是在“定时器中断”里面    更新定时计数值改变输出频率,并更新DAC吗。

出0入0汤圆

发表于 2013-5-7 19:31:07 | 显示全部楼层
ST 不是有一个例子吗? 就是用的TIM6 定时更新的

出0入0汤圆

发表于 2013-5-7 19:51:39 | 显示全部楼层
DAC做过ADPCM解码并播放出音乐。

出0入0汤圆

发表于 2013-5-10 09:43:20 | 显示全部楼层
capron 发表于 2009-7-2 15:46
我上个月项目刚好用到,DAC+DMA生成1K正弦波用来测试PALM手机的MIC,128个点,效果很好!
参考库例子改的。 ...

这位大虾,能不能把DAC生成正弦波和方波的源代码贴出来啊,本人初学,搞了很久也没有搞出来,也没有野火上DAC的例程,很纠结啊,谢谢大虾了。。。。。。。。。

出0入0汤圆

发表于 2013-5-10 11:34:36 | 显示全部楼层
tyou 发表于 2010-3-23 17:51
LPC17xx的DMA可以自动循环

DAC带一个专用 TIMER 触发

这个只能叫模型,专业的信号发生器比这个要复杂的多,如果再把杂散、平坦度、信噪比、失真度等必备参数考虑进去的话,就更复杂了

出0入0汤圆

发表于 2013-8-2 10:34:16 | 显示全部楼层
mark     DAC....

出0入0汤圆

发表于 2013-8-2 14:13:07 | 显示全部楼层
学习。有详细资料吗?

出0入0汤圆

发表于 2014-4-1 11:21:35 | 显示全部楼层
STM32 的DAC,采用DDS方式做信号发生器,有一个缺点:频率值不能被整除的话,频率偏差会很大,这是方案缺陷,没有办法的。
做信号发生器,可以采用DDS芯片如AD9850,直接搞定。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-8-26 00:41

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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