首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
FPGA/CPLD可编程逻辑
» 基于FPGA的DDFS信号源实现
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
基于FPGA的DDFS信号源实现
发短消息
加为好友
pengpengpang
(pengpengpang)
当前离线
UID
1023229
帖子
6106
精华
0
积分
3055
阅读权限
90
来自
中国
在线时间
156 小时
注册时间
2013-12-20
最后登录
2016-7-3
论坛元老
UID
1023229
来自
中国
1
#
打印
字体大小:
t
T
pengpengpang
发表于 2014-4-26 23:40
|
只看该作者
基于FPGA的DDFS信号源实现
电子信息
,
信号源
,
发生器
,
通用
,
而且
在电子信息领域,函数发生器(信号源)是通用的设备。近年来电子信息技能 的飞速发展,使得各领域对信号源的要求在不断提高。不但要求其频率稳定度和精确 度高,要求频率改动 的方便性,而且还要求可以产生任意波形,输出不同幅度的信号等。而实现频率合成要领 有许多种,但基本上可以归纳为直接频率合成和间接频率合成两大类要领 。采用传统的频率合成技能 要实现上述要求,几乎是不可能的。DDFS技能 是自21世纪70年代出现的一种新型的直接频率合成技能 。DDFS 技能 是在信号的采样定理的基础上提出来的,从“相位”的概念出发,执行 频率合成,不但可运用 晶体振荡的高频率稳定度、高精确 度,且频率改动 方便,转换速度快,便于产生任意波形等,因此,DDFS技能 是目前高精密度信号源的核心技能 。目前已有专用的DDFS芯片,如美国AD公司的AD9850等可用于DDS 信号源的开发,但其成本较高。
1 DDFS原理
DDFS的原理:将对正弦等各种信号的采样量化数据存入ROM存储器中,在时钟的控制下,依次或隔一定步进读取ROM中的数据,再通过D/A转换芯片及后级的低通滤波器来实现频率合成的一种要领 。其原理框图如图1所示。其主要的组成部分包括:相位累加器(也可理解为ROM存储单元的读地址发生单元)、正弦信号采样量化数据存储ROM表、D/A转换及低通滤波器。
DDFS参数计算:DDFS的主要参数包括正弦信号的采样点数,最高输出频率fomax,最低输出频率fomax及频率分辨率△fo等。根据DDFS原理可知,在时钟控制下将所有ROM存储数据依次读出,则输出的信号周期最长Tomax=NTc,即输出频率最低为fomax;只读出两个点(∏/2和 3∏/2)的采样数据,则输出的信号周期最短Tomin=2Tc,即输出频率最高为fomax。其中Tc为时钟周期。相应计算如下。(1)输出信号频率通式:fo=Sfc/2n,其中2n为采样点个数N,故可知n为采样后ROM的地址位数;其中S为步进长度,即每S个地址取一个采样点;
(2)输出最低频率
(3)输出最高频率
查看原图(大图)虽然根据奈奎斯特采样定理,一个周期采样两个点即可保证信号的频谱信息不丢失,但为了输出信号滤波后失真较小,一个周期至少采样8个点;故可知S的取值范围应该为1~2n-3;
(4)频率分辨率△fo:△fo=fc/2n,与最低频率一致。
2 DDFS的FPGA实现的参数计算
本设计充分运用 CycloneII系列FPGA芯片EP2C35的片上资源来实现一个基于DDFS的正弦信号源。由于此芯片的片上可用ROM单元为483,840位二进制,因此,片上ROM资源只能够存储215(32768)个8位二进制采样点的数据。
(1)ROM资源优化:由于是正弦信号,因此只要采样其(0,n/2)区间上的函数值,即可根据其周期性及对称性,求出其他区间上的相应的函数值。故,虽然片上资源只能存储215(32768)个8位二进制数据,但运用 正弦信号的对称性,可实现217点采样。由于正弦信号在(n~2n)间为负值,因此输出函数值时,须要 执行 补码转换;
(2)地址位长度:ROM的寻址地址为15位二进制数;
(3)步进位长度:步进最大应为217/23=214,即步进为14位的二进制数;
(4)相位控制字:相位是指读取数据时,应该属于(0,2n)上的哪个区间,由于共有4个不同的区间。故可采用2位的二进制数来标识;不同的相位区间,决定着地址的读取方向及输出函数值能无法 取补码运算;
(5)任意波形的产生:要产生任意波形,可运用 任意波形如矩形脉冲、三角波、锯齿波等的傅利叶级数分解表达式,取其前有限次(如10次)谐波执行 求和并存入指定的RAM单元,再依次读出数据,即可产生任意的信号。也可以将相应波形的数据执行 采样,存入ROM中,按一定步进执行 读取。通过以上剖析 ,在充分运用 片上存储单元,不扩展外部存储器,地址时钟为10 MHz的基础上,可得频率分辨率为△f=78 Hz,输出信号最高频率(一个周期最少采样8个点)为fomax=fc/8=1.25 MHz;输出信号最低频率为fomin=Sfc/2ns=1=fc/217=78 Hz。若采样点达到232个及以上,频率分辨率可以做到0.015 Hz,达到mHz量级。可见运用 Cyclone II系列芯片设计出性能优良的信号源。根据DDFS的原理,其FPGA设计原理如图2所示。其中控制单元由有限状态机构成。虽然整个系统的控制不一定须要 运用 有限状态机,但由于运用 的FPGA 芯片不支撑 异步的ROM,即从地址锁存进入ROM单元,到数据从ROM中读出有至少一个时钟周期以上的延时。因此采用状态机来执行 控制,可以达到较好的输出与时钟同步。控制流程为:时钟信号进入控制单元,由它产生地址发生单元的输入时钟adrclk,地址发生单元在时钟adrclk的驱动下,结合输入的步进信号Step,产生地址及此地址所对应的象限Phase,此地址产生后立即输入到ROM单元中,过两个时钟周期后,控制单元从ROM存储单元中读出输入地址对应的数据,并在时钟的控制下,将前面所产生的象限值Phase与ROM数据一起送到补码转换单元,补码转换单元根据Phase的值来决定能无法 须要 执行 补码转换,若须要 ,则执行 补码运算并将数据输出,若不须要 ,则直接将数据输出。下面给出各模块的详细 设计细节。
(1)控制单元:控制单元是整个系统的核心部件。由一个基本 的有限状态机构成。其状态转换图如图3所示。
(2)地址发生单元:设计思路为根据输入的Step值,计算出总共四个象限所需取值的点数,也就可以计算出一个象限所要取值的点数m,然后在时钟作用下执行 计数,当计数值达m个时,说明一个象限内已经取完点,此时phase自加1,计数变量重新置零。由于在(0,π/2)sin的函数值为从0→1变化; (π/2,π)函数值从1→0变化;(π,3π/2)函数值从0→-1变化;(3π/2,2π)函数值从-1→0变化。故在(0,π/2)和 (π,3π/2)地址值从0→32767,每隔一个步进Step读一个数据,当然后者的数据要经过补码单元的处理;而在(π/2,π)和 (3π/2,2π)象限,地址值则从32767→0,每隔一个步进Step读一个数据即可,同样的,后者的数据也要经过补码单元的处理。(4)补码转换单元:根据目前地址所处象限来决定能无法 须要 执行 补码转换。如产生正弦信号时,(0,π)象限sin函数值为正,而(π,2π)象限上sin 函数值为负,因此在(π,2π)象限时,须要 对输出数据执行 补码转换。补码转换单元较基本 ,根据二进制数取补的原理执行 设计即可。
4 结果剖析
本设计在QuartusII6.0的平台上完成设计工作,其仿真波形如图4所示。在仿真波形中配置 的步进长度为1024点。由于有状态机执行 流程控制,产生的波形较平滑,元多滑毛刺产生。若要进一步提高输出信号频率范围,则设计流程 中,不应对时钟信号执行 分频。
同时,还可以运用 QuartusII的SigTapII工具对所设计的程序执行 硬件验证,配置 好相应步进后,相应的输出波形如图5及图6所示。可见所产生的低频正弦信号波形平滑,而频率较高时有一定的毛刺,这可以通过后级的低通滤波电路(如切比雪夫低通滤波网络等)来执行 滤除。
本设计运用 的逻辑单元只占FPGA片上资源的1%,存储单元占54%,I/O口占13%。可见主要资源为片上的存储单元,如果提高一位地址位,则数据量翻倍,FPGA片上ROM不够用。通过QuartusII6.0的时钟剖析 ,本设计可达到的最高时钟为149.41 MHz,而地址发生的时钟为时钟的4分频,故地址发生单元的最高时钟可达37.352 5 MHz,相应的输出信号最高频率可达4.665 MHz,相应的最低频率及频率步进为284.976 Hz。
5 结束语
本设计在不向外扩展ROM存储器的情况下,对DDFS设计执行 优化,充分运用 Cyclone II系列FPGA的片上资源,其输出正弦信号最高频率可达4 MHz以上。只要采用更好的方案执行 设计,使采样点可以做到232个及以上,频率分辨率可以做到0.015 Hz,达到mHz量级,进一步提高信号源的输出信号频率范围及频率分辨率等技能 指标,可运用 Cyclone II系列芯片设计出性能优良的信号源,达到实用信号源的要求。
来源:电子技术应用网
收藏
分享
评分
记录学习中的点点滴滴,让每一天过的更加有意义!
回复
引用
订阅
TOP
返回列表
电商论坛
Pine A64
资料下载
方案分享
FAQ
行业应用
消费电子
便携式设备
医疗电子
汽车电子
工业控制
热门技术
智能可穿戴
3D打印
智能家居
综合设计
示波器技术
存储器
电子制造
计算机和外设
软件开发
分立器件
传感器技术
无源元件
资料共享
PCB综合技术
综合技术交流
EDA
MCU 单片机技术
ST MCU
Freescale MCU
NXP MCU
新唐 MCU
MIPS
X86
ARM
PowerPC
DSP技术
嵌入式技术
FPGA/CPLD可编程逻辑
模拟电路
数字电路
富士通半导体FRAM 铁电存储器“免费样片”使用心得
电源与功率管理
LED技术
测试测量
通信技术
3G
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议