[STM32F4] 请教stm32F4输出正弦波最高频率。。。

[复制链接]
 楼主| 浪浪云 发表于 2015-10-22 15:43 | 显示全部楼层 |阅读模式
手头编了一个定时器dac和dma输出的正弦波的小程序,但是只有定时器触发DAC频率可调,关于正弦波的频率好像没有看出来怎么控制,老板让我搞出来最高频率,关于这个有什么好的方案吗?(其他控制方案产生正弦波的当然也可以)各位大神
 楼主| 浪浪云 发表于 2015-10-22 15:51 | 显示全部楼层
自己顶一个,,我是初学新手:lol
airwill 发表于 2015-10-23 00:09 | 显示全部楼层
DAC产生正弦波是比较简单的和稳定的。通常做个正弦波表。依次输出表中的数据就可以了。所以输出频率=DAC的频率/ 波表的点数
yiyigirl2014 发表于 2015-10-23 08:48 | 显示全部楼层
正选表可以在程序中通过公式自动生成,还可以自动调整频率。
 楼主| 浪浪云 发表于 2015-10-23 09:14 | 显示全部楼层
airwill 发表于 2015-10-23 00:09
DAC产生正弦波是比较简单的和稳定的。通常做个正弦波表。依次输出表中的数据就可以了。所以输出频率=DAC的 ...

好的谢谢,这样确实可以,但是受到DAC频率的限制(波表的点数怎么也得20个左右吧),有没有其他的方案提高正弦波的频率呢?
 楼主| 浪浪云 发表于 2015-10-23 09:19 | 显示全部楼层
yiyigirl2014 发表于 2015-10-23 08:48
正选表可以在程序中通过公式自动生成,还可以自动调整频率。

谢谢,之前我做的都是参考的都是别人的波表,百度说好像得用Matlab生成,但是不会用那个,老板也说可以用公式生成,感觉不会是y=sinx这种吧?还有频率的问题是怎么通过公式调的?
yiyigirl2014 发表于 2015-10-23 09:36 | 显示全部楼层
浪浪云 发表于 2015-10-23 09:19
谢谢,之前我做的都是参考的都是别人的波表,百度说好像得用Matlab生成,但是不会用那个,老板也说可以用 ...

对,就是通过三角函数做,以前我做过,还是可以的。
yiyigirl2014 发表于 2015-10-23 09:40 | 显示全部楼层
最高频率就看DAC的转换速度了。跟这个转换速度有关,你可以用三角函数,设置按键控制函数的参数,比如频率,波幅等。
 楼主| 浪浪云 发表于 2015-10-23 12:03 | 显示全部楼层
yiyigirl2014 发表于 2015-10-23 09:40
最高频率就看DAC的转换速度了。跟这个转换速度有关,你可以用三角函数,设置按键控制函数的参数,比如频率 ...

好的
309030106 发表于 2015-10-23 14:11 | 显示全部楼层
设置按键控制函数的参数,这个方法应该是可行的
lwsn 发表于 2015-10-23 15:22 | 显示全部楼层
DAC的转换频率有多高
gejigeji521 发表于 2015-10-25 15:42 | 显示全部楼层
设置按键控制函数的参数,这个方法应该是可行
lefeng 发表于 2015-10-26 20:53 | 显示全部楼层
一般都是用正弦波表做的吧
lwsn 发表于 2015-10-26 21:07 | 显示全部楼层
正弦波表怎么做,是有什么工具吗
米尔豪斯 发表于 2015-10-26 21:23 | 显示全部楼层
正弦波的函数是y=sin(x)
如果我们把正弦波的一个周期平均分成a分那么每一份的值b=2*pi/a,所以b0=0,b1=2*pi/a,b2=4*pi/a,……,b(a-1)=2*pi,把b0到b(a-1)代入到函数中就得到相应的正弦波表,a的大小代表正弦波的取样点,a越大正弦波越平滑
您需要登录后才可以回帖 登录 | 注册

本版积分规则

23

主题

99

帖子

2

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