基于SOPC的DDS信号发生器设计
摘 要:直接数字频率合成技术是一种新型的信号产生方法,是现代信号源的发展方向。该系统由FPGA控制模块、键盘、LED显示组成,结合DDS的结构和原理,采用SOPC和DDS技术,设计出具有频率设置功能的多波形信号发生器。以Altera公司的Cyclone Ⅱ的核心器件EP2C35为例,NIOS Ⅱ CPU通过读取按键的值,实现任意步进、不同波形的输出显示功能。
关键词:SOPC; NIOS; DDS; FPGA
中图分类号:TN742.1-34文献标识码:A
文章编号:1004-373X(2011)01-0107-03
Implementation of DDS Signal Generator Based on SOPC
LIU Yan, WANG Xiao-jun, LI Guo-li
(College of Information Science & Engineering, Hebei University of Science & Technology, Shijiazhuang 050018, China)
Abstract: The direct digital frequency synthesis technology is a new kind of signal generation method and is a development direction of modern signal sources. The system consists of FPGA controller module, keyboard, LED display module. In combination with DDS structure and principle, the multi-waveform signal generator which has a function of frequency setting was designed with SOPC and DDS technology. Taking the core device EP2C35 of ALTERA's Cyclone II as an example, NIOS II CPU can realize the arbitrary step and the output display of different waveforms by reading the key values.
Keywords: SOPC; NIOS; DDS; FPGA
0 引 言
直接数字频率合成(Direct Digital Frequency Synthesis,DDS)是一种新型的频率合成技术,它把信号发生器的频率稳定度、准确度提高到与基准频率相同的水平,并且可以在很宽的频率范围内进行精细的频率调节。在现代通信领域中,DDS的应用极其广泛。实现DDS常用的方法是采用专用的DDS芯片,控制部分采用独立的MCU,这样设计出来的系统的集成度和扩展性不尽人意\1 系统方案设计
系统采用SOPC设计方案。整体系统框图如图1所示,它由频率预置电路、波形选择、波形频率控制、累加器、存储波形数据的存储器和D/A转换电路、滤波电路组成。累加器模块由10位加法器与10位寄存器级联而成。波形存储器中放入正弦波、方波、三角波、锯齿波的数据。
图1 整体系统框图
1.1 DDS基本工作原理
DDS的基本原理是利用采样定理,通过查表法产生波形。一个完整DDS结构图如图2所示。
图2 DDS结构图
相位累加器在每一个时钟上升沿与频率控制字K累加一次,当累加器计数大于2N时,相位累加器相当于进行一次取模运算\fc的载波,它的时域表达式为:
S(t)=Acos(fct+θ0)
(1)
其相位表达式为:
φ(t)=2πfct+θ0
(2)
输出频率f0与时钟频率fclk之间的关系满足:
f0=(fclk/2N)×K
当K=1时,DDS有最小频率输出,因此DDS的步长为fclk/2N,最大输出频率为fclk/2。在本设计中,将N设定为10位,M设定为12位,相位累加器在时钟的控制下,以步长K进行累加,输出N位二进制码,并以其作为波形ROM的地址,对波形存储器ROM寻址,波形存储器ROM输出的数据经过D/A转换成阶梯波后,经过低通滤波器平滑后,便得到合成后的波形了,合成后的波形形状取决于波形选取和ROM中的数据。
1.2 D/A转换器
从DDS核输出的是一个数字信号,需要将数字信号转换成模拟信号,才能便于观察。DAC有电压和电流输出两种,其输出的信号并不能真正连续可变,而是以其绝对分辨率为最小单位,所以它的输出实际上是一个阶梯模拟信号,所以需要将D/A输出的信号通过低通滤波器平滑后得到纯净的模拟信号。在该设计中用到型号为AD9742的D/A转换器,AD9742是具有12位、低功耗、转换速度可达到100 Mb/s的D/A转换器。
1.3 基于SOPC的硬件架构
系统开发包括硬件部分和软件部分,而硬件部分是由SOPC开发工具搭建而成。SOPC Builder生成NIOS 嵌入式处理器,NIOS嵌入式处理器开发工具允许用户配置多个CPU,在标准库中添加外围电路,也可以由用户自定义外设,综合处理自定义系统,这样使设计变得更加灵活
打开SOPC Builder后分别添加CPU,PIO输入(10个按键用作频率字的输入、1个按键用作确认、4个按键用作波形的选择),存储器(FLASH,SRAM和SDRAM),PIO输出(10位作为ROM的地址、2位作为ROM块的选择、7位为LED段码、1位为LED的选通端)和定时器。所有组件添加完后的硬件架构图如图3所示。
SOPC Builder生成之后,在Quartus Ⅱ软件中可以添加生成之后的CPU模块,而DDS模块是用VHDL语言编写而成,DDS模块图如图4所示。其中的ROM大小为12×1 024,共设置4块ROM分别存储正弦波、方波、三角波、锯齿波。波形数据是由Matlab软件计算出来的,并将数据以.mif文件格式存储。累加器的输出为波形存储器的地址,进行波形的相位-幅值转换后,作为输出的波形的幅值。10位的寻址ROM相当于将一个周期的信号进行离散化,形成具有1 024个样值的序列。累加器产生的地址通过波形的地址分配读取不同存储器中的数据,然后将读出来的数据经过D/A转换器,转换成模拟信号输出。
图3 SOPC硬件架构图
图4 DDS模块图
2 软件设计
NIOS Ⅱ完整的开发环境是NIOS Ⅱ处理器与用户的接口界面。使用NIOS Ⅱ IDE可以完成所有的软件开发任务,包括程序的编辑,编译和调试。硬件提取层(HAL)支持通用I/O器件,可以通过编写标准C程序访问硬件,HAL减少了对硬件寄存器的访问,直接与外围器件进行通信或控制\3 系统调试过程与结果
系统时钟为50 MHz,当波形选择键选为正弦波,频率字设置为5时,数码管上显示5,按下确认键后,数码管显示“—”,通过示波器,可以观察到输出波形如图6所示,横轴为时间档,纵轴为幅值。当波形选择键选为方波,频率字设置为10时,数码管上先显示1,后显示0,按下确认键之后,数码管显示“—”,这样在示波器上观察到的波形如图7所示。按照上面的操作过程,三角波和锯齿波的波形分别如图8,图9所示。
图5 软件流程图
图6 正弦波波形
图7 方波波形
图8 三角波波形
图9 锯齿波波形
4 结 论
本文所设计的是频率字的预置与波形的选择,是通过键盘输入的,因此能够得到规定范围内的任意频率的波形,这样可以很好地满足变频信号的情况,实用性较强。实验所调试出的波形清晰,干扰小。采用SOPC方法实现,使设计变得非常灵活。该设计只实现了任意频率的波形输入,还需要实现相位累加,设计才会变得更加完美。
参 考 文 献
[1]潘松,黄继业.现代DSP技术[M].西安:西安电子科技大学出版社,2003.
[2]侯伯亨,顾新.VHDL硬件描述语言与数字逻辑电路设计
[3]彭澄廉.挑战SOC:基于NIOS的SOPC设计与实践
[4]姚小朋,张捷.基于DDS的多波形信号发生器设计[J].现代仪器,2007,13(2):41-43.
[5]汪国强.SOPC技术与应用
[6]徐光辉,程东旭,黄如,等.基于FPGA的嵌入式开发及应用
[7]张宏波,戴紫彬,孙万忠.基于NIOS处理器的SOPC应用系统研究与设计
[8]Altera Corporation. Cyclone Ⅱ device handbook [M]. Silicon Valley, USA: Altera, 2006.
[9]Altera Corporation. Quartus Ⅱ handbook volume 5: embedded peripherals [M]. Silicon Valley, USA: Altera, 2006.
[10]Altera Corporation. Nios Ⅱ software developer′s handbook [M]. Silicon Valley, USA: Altera, 2006.
[11]高士友,胡学深,杜兴莉,等.基于FPGA的DDS信号发生器设计
注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文