基于FPGA的三相函数信号发生器设计

2010-12-09 21:41:04来源: 维库开发网

  摘要:基于FPGA的三相函数信号发生器以DDS为核心,在Altera公司CycloneⅡ系列EP2C8T144C8上实现正弦波、方波、三角波和锯齿波信号的产生,利用单片机PICl8F4550控制波形的频率及相位差。同时单片机通过DAC0832控制波形数据转换DAC902参考电压实现在波形幅度的控制,D/A输出的波形经过放大、滤波后输出。波形参数的输入输出通过触摸屏和液晶屏实现,测试结果显示该系统具有较高的精度和稳定性。

  模拟函数信号发生器输出波形易受输入波形的影响,难以实现移相控制,移相角度随所接负载和时间等因素的影响而产生漂移,频率、幅度的调节均依赖电位器实现,因此精度难以保证,也很难达到满意的效果。基于FPGA的数字式三相信号发生器,精度较高,移相控制方便,实现频率为1 Hz~10 MHz、幅度0.1~10 V,分辨率为1°,频率和幅度的调节均可程控的三相函数信号发生器。系统还具有输出灵活、易于系统升级等优点。

  1 函数信号发生器的原理

  基于DDS原理,频率控制字M和相位控制字P分别控制DDS输出波形的频率和相位。相位累加器是整个波形产生的核心,它有一个累加器和一个N位相位寄存器组成。每来一个时钟脉冲,相位寄存器以步长M增加,如图1所示。相位寄存器的输出与相位控制字相加,其结果作为波形查找表的地址。波形查找表由ROM构成,内部存有一个完整周期的波形的数字幅度信息,每个查找的地址对应波形中0°~360°范围的一个相位点。查找表输入的地址信息映射达成波形幅度信号,同时输出到数模转换器的输入段,DAC输出的模拟信号经过程控滤波器,可得到一个频谱纯净的波形。

  相位寄存器每经过2N/M个fc时钟周期后回到初始装状态,相应地波形查表经过一个循环回到初始位置,DDS输出一个波形。输出的波形周期为Tout=(2N/M)Tc,频率为

  DDS的最小分辨率为fmin=fc/2N,当M=2N-l(即一个周期内只取两个点)时,DDS最高的基波合成频率为foutmax=fc/2,根据取样定理,这在理论上是可行的,考虑到失真度的问题,取i(i>2)个点,则最高频率为当M=2N-3时,foutmax=fc/i。

[1] [2] [3] [4] [5]

关键字:FPGA  信号发生器  三相函数  VHDL  Quartus  EDA

编辑:小甘 引用地址:http://www.eeworld.com.cn/FPGA/2010/1209/article_1480.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
FPGA
信号发生器
三相函数
VHDL
Quartus
EDA

小广播


Warning: file_get_contents() [function.file-get-contents]: php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution in /Data/webapps/cms/phpcms/libs/functions/global.func.php on line 2075

Warning: file_get_contents(http://training.eeworld.com.cn/shareCourseAPI/FPGA?count=5&csfl=no) [function.file-get-contents]: failed to open stream: php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution in /Data/webapps/cms/phpcms/libs/functions/global.func.php on line 2075

Warning: array_values() [function.array-values]: The argument should be an array in /Data/webapps/cms/SSI/show_training_SSI.php on line 16

大学堂最新课程更多


Warning: Invalid argument supplied for foreach() in /Data/webapps/cms/SSI/show_training_SSI.php on line 23

独家专题更多

迎接创新的黄金时代 无创想,不奇迹
迎接创新的黄金时代 无创想,不奇迹
​TE工程师帮助将不可能变成可能,通过技术突破,使世界更加清洁、安全和美好。
TTI携TE传感器样片与你相见,一起传感未来
TTI携TE传感器样片与你相见,一起传感未来
TTI携TE传感器样片与你相见,一起传感未来
富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 

夏宇闻老师专栏

你问我答FPGA设计

北京航空航天大学教授,国内最早从事复杂数字逻辑和嵌入式系统设计的专家。

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved