文档介绍:引言
信号发生器是一种常用的信号源,广泛应用于电子电路、自动控制和科学试验等领域。传统的信号发生器一般基于模拟技术,但基于模拟技术的传统信号发生器能生成的信号类型比较有限,一般只能生成少数的规则波形信号。如果需要生成较复杂的波形信号,电路的复杂度以及设计难度都将大大增加。
任意波形发生器就是为了解决这个问题而去研究的,任意波形发生器是利用DDS(直接数字频率合成)技术,通过在波形存储器内存储待输出信号的波形采样数据,并对波形存储器进行顺序的循环寻址来合成波形。只要改变波形存储器中的波形采样数据,就可以方便的得到需要波形的信号。因此任意波形发生器不仅能产生正弦、余弦、方波、三角波和锯齿波等常见信号,还可以通过各种编辑手段生成任意的波形采样数据,方便的合成传统信号发生器所不能生成的任意波形信号,从而满足各种测试和实验的需要。
当今时代微电子技术的进步以及各应用领域多样化的要求,促使集成电路向高速、高集成度、低功耗的系统集成方向发展。在单芯片上集成嵌入式CPU、DSP、存储器和其他功能的片上系统(SOC)正处于高速发展中。Altera公司提出的片上可编程系统(SOPC)解决方案,使得FPGA在嵌入式系统设计领域中的地位越来越重要。
SOPC(System On Programmable Chip可编程片上系统)是一种特殊的嵌入式微处理器系统。首先,它是片上系统(SOC, System On Chip),即由单个芯片完成整个系统的主要逻辑功能;其次,它是可编程系统,以FPGA为硬件基础,具有灵活的设计方式,可裁减、可扩充、可升级,并具备软硬件系统在线可编程的功能。
本设计就是采用SOPC方案,以DDS技术为核心技术构建了波形发生器的整个系统,这样可以避免了传统信号发生器的缺点,方便地实现了信号的产生。
1 总体设计概述
FPGA(现场可编程门阵列)是一项非常前沿和有发展前景的技术。FPGA的芯片实际上就是一片已经制造好的大规模集成电路芯片。这种芯片没有固定的功能,但里面有排列规整的门级电路和用于连接这些门级电路的连线。这些连线所连接的路径是可以改变的,这就是FPGA编程的根本。通过编程来控制这些连线使得大规模的门级电路连接成一个可实现复杂功能的数字电路。
随着片上系统SOC的出现和流行,人们就试图在FPGA芯片实现片上可编程系统(SOPC)。于是就出现了NIOS核。NIOS核实际上是一个内嵌入FPGA的处理器,并且是一个软核。软核的概念就是处理器是可以在FPGA内部利用FPGA本身的逻辑单元电路,通过硬件描述语言编程生成的处理器。这个处理器可以根据用户的需要定制所需要的功能。关于这些说明会在后面提到。
本设计就是利用上面论述的片上可编程系统技术来实现波形发生器。本设计的波形发生核心原理是DDS技术。于是可以先利用FPGA的逻辑单元生成一个DDS波形发生模块,再在FPGA内部生成一个NIOS核来控制DDS模块。这就是设计的核心思想。。
系统总原理框图
在本设计中,NIOS核的作用主要是控制和显示。其大概原理是:在DDS工作的过程中直接控制累加器的控制字,相位和幅度的控制值。而由于这些值都不是直接可以显示的数据,必须要经过一定的计算才能变成表示实际值的数值。所以,NIOS核要处理运算部分,然后把所计算得到的值通过Avalon总线输出到DDS并且调用LCD函数库把数值显示出来。为了得到良好的用户交互界面,设计中通过LCD液晶显示器和键盘来控制和显示波形的输出。
键盘的设计是利用Avalon总线连接到NIOS核上面,NIOS核通过不断的读连接着键盘的端口的数据把接受到的控制信息进行处理。然后对应着不同的状态作出对应的动作。关于键盘和LCD显示在下面再详细讨论。
2 DDS原理
核心工作原理
DDS(Direct Digital Frequncy Synthesis,直接数字频率合成)是从相位概念出发直接合成所需要波形的一种新的频率合成技术。由于其具有频率转换快、分辨率高、频率合成范围宽、相位噪声低且相位可控制的优点,因此,DDS技术常用于产生频率快、转换速度快、分辨率高、相位可控的信号,广泛应用于电子测量、调频通信、电子对抗等领域。近年来,已有DDS技术的函数信号发生器陆续被研制、生产和投入应用。
本设计的DDS信号源,采用Altera公司的FPGA为核心,用Verilog语言设计逻辑功能,将波形查找表用FPGA的RAM块实现。。
DDS原理框图
设置一个从外部输入的控制字,控制字与SUM相加,相加后的结果又送回加法器输入端继续与控制字相加。同时,相加的结果作为存储器的地址输入端。即累加器的输出对存储器寻址。