搜索
bottom↓
回复: 8

请教如何用FPGA和DA模块产生幅值频率可调的正弦波

[复制链接]

出0入0汤圆

发表于 2015-5-5 15:40:44 | 显示全部楼层 |阅读模式
请教如何用FPGA和DA模块产生一串连续的正弦波,正弦波有起始幅值和终止幅值。

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

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

发表于 2015-5-5 15:59:46 | 显示全部楼层
参考DDS原理

出0入0汤圆

发表于 2015-5-5 16:04:16 | 显示全部楼层
正弦波做表格,定时取数据送到da,时间不同频率不同。幅度变化就是取出来的数乘个系数。

出0入0汤圆

发表于 2015-5-5 16:29:39 | 显示全部楼层
幅度变化可以考虑一个低频DAC控制电阻+JFET分压,最好有闭环低频ADC反馈

出0入0汤圆

发表于 2015-5-5 17:16:15 | 显示全部楼层
http://www.myplace.nu/avr/minidds/index.htm
改变频率也可以通过改变查表步进量来实现

出0入0汤圆

发表于 2015-5-6 07:27:00 | 显示全部楼层
配合一个MCU,FPGA开辟一块RAM,MCU向RAM里调正弦表,FPGA循环刷RAM到DA就可以简单实现。

出0入0汤圆

 楼主| 发表于 2015-5-6 09:05:58 | 显示全部楼层
nfchg 发表于 2015-5-6 07:27
配合一个MCU,FPGA开辟一块RAM,MCU向RAM里调正弦表,FPGA循环刷RAM到DA就可以简单实现。 ...

具体MCU怎么调正弦表啊

出0入0汤圆

发表于 2015-5-6 14:00:51 | 显示全部楼层
楼主可以了解一下 CORDIC算法

出0入0汤圆

发表于 2015-5-7 07:54:37 来自手机 | 显示全部楼层
本帖最后由 nfchg 于 2015-5-7 07:56 编辑
易尘 发表于 2015-5-6 09:05
具体MCU怎么调正弦表啊


用sin函数算一个1024个点的正弦数组,如果调幅值乘以系数,如果调频率就改变FPGA刷RAM时间间隔。然后一次性把数组写到FPGA的RAM中
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-7-24 02:24

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

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