论文部分内容阅读
摘要:本文将FPGA器件和DDS技术相结合,确定了FPGA器件的整体设计方案。笔者利用FPGA器件规模大、设计灵活方便的特点,分析研究了用FPGA器件实现DDS系统的方法,并对其关键技术进行了优化处理,采用流水线结构的相位累加器设计和FPGA内嵌的波形存储器设计,在Quartusll软件中采用基于硬件描述语言(VHDL)的自顶向下的设计方法来完成仿真实验。
关键词:DDS;FPCA;仿真
引言
频率合成器也叫信号源或振荡器,是指产生所需参数的电测试信号的仪器。按信号波形可分为正弦信号、函数信号、脉冲信号和随机信号发生器四大类。信号发生器在电路实验和实验和设备检测中具有广泛的用途,例如在通信、广播、电视系统中,都需要高频(射频)发射,把音频(低频)、视频信号或者脉冲信号运载出去,就需要能够产生高频的振荡器。在工业、农业、生物医学等领域内,如高频感应热、熔炼、淬火、超声诊断、核磁共振成像等,都需要功率或大或小、频率或高或低的振荡器。
直接数字频率合成或DDS(DirectDigitaIFre-queneySynthesis)技术是近年发展起来的一种新的频率合成技术。它具有频率分辨率高、频率转换速度快、输出频率范围宽、相位变化连续、输出波形灵活和易于集成等优点。随着FPCA/CPLD技术的发展,DDS系统完全可以用可编程逻辑器件来实现,这样不仅降低了成本,而且设计者可以按照自己的需要来设计系统的功能。
1.接口电路的设计
接口电路的设计就是使用增强性并口(EPP)所提供的nWrite、nDstrobenAstrobe控制信号线,进行一定的组合逻辑产生计算机所需要的应答信号nWait,以及按照系统设计的要求,组合出数据写信号DWR和地址写信号AWR。总线收发器74LS245的DIR信号线是由nWrite來控制的,当nWrite为低电平时,74LS245的数据传输方向是从B到A的,此时进行EPP写操作。由于EPP并口的地址线和数据线共用,所以利用nDstrobe和nAstrobe作为片选信号来分离地址和数据信号。并且使用nWrite和nDstrobe、nAstrobe分别进行“或”运算产生数据写DWR和地址写AWR信号,以此来控制数据寄存器和地址译码器的工作。地址译码器采用3-8译码器,它的输入地址信号是数据/地址线经过数据/地址分离模块后得到的。数据/地址分离模块及地址译码器的功能仿真。
2.DDS模块的设计
2.1相位累加器的设计
相位累加器在时钟的作用下,对频率控制字进行累加,其输出作为ROM的寻址地址,然后进行相位一幅度转换得到离散的幅度数据,再经过DAC转换和滤波得到模拟信号。对频率控制字进行累加,其输出作为ROM的寻址地址,然后进行相位/幅度转换得到离散的幅度数据,再经过DAC转换和滤波得到模拟信号。为了获得较高的频率分辨率,相位累加器的字长设计为32位,同时为了尽量减少由幅度量化误差引起的DDS杂散分量,本设计采用了分辨率为10位的DAC,即波形存储器的数据宽度是10位的。由于本设计使用的是8位数据传输,所以频率控制字必须分4次进行传输,波形数据必须分2次进行传输。相位累加器由全加器和相位寄存器组成。全加器是相位累加器结构中的关键部分,为了提高相位累加器的工作速度,本文采用了4位超前进位加法器来设计全加器。为了进一步提高相位累加器的工作速度,本设计采用流水线技术来设计相位累加器。32位的相位累加器采用8级4位的流水线结构,其中每一级的加法器都采用4位超前进位加法器结构,寄存器采用带有异步复位的D触发器DFF来构成。由于采用了8级流水线,所以数据从输入到输出要经过8个4位D触发器才能得到运算结果,也就是说要经过8个时钟周期后才能得到累加结果。但由于在每个时钟中都有数据输入到各级流水线,各级同时进行累加,并将结果同时输出,因此从总体来看,
完成一个32位的累加运算只需一个时钟周期,从而使得累加速度等于参考时钟频率。在输入与输出之间增加了8个寄存器,并且在高8位输出端又增加了一个8位的数据寄存器,所以在系统复位后,要经过9个时钟周期才有数据输出。并且当频率控制字进行切换时,输入数据需要保持9个时钟周期才能刷新频率控制字,这就降低了频率转换速率,这也是采用流水线设计相位累加器的缺点之一。
2.2波形存储器的设计
为了增加系统的灵活性,本设计采用EPIC3内嵌的RAM块来实现波形存储器的功能。根据系统的需要,采用Quartusll软件提供的参数化RAM模块LPM—RAM—DQ,LPM_RAM_DQ的输入与输出端口分离,读写数据共用一个地址端口,并且由于LPM_RAM_DQ读写数据共用一个地址端口,所以需要增加一个2选1的地址选择器来选择LPM—RAM—DQ的地址来源。add[7_0]是地址信号,fre[31..24]是相位累加器输出的高8位。由于地址信号经过地址选择器时产生了一个时钟周期的延迟,因此为了保证波形数据写入正确的地址单元,将控制信号寄存器的D2位和波形数据wavedata[9_0]用D触发器也延迟一个时钟周期。同时为了保证系统的同步,所有的时钟信号与系统时钟相连。
结语
本文介绍了利用FPGA器件设计DDS系统的设计思想、电路结构和改进优化方法,从实验结果可以看出,采用FPCA器件设计DDS系统是可行的。本设计尚存在一些问题,比如采用EPP并口进行数据传输,限制了波形频率的切换速度不会很高,在以后的研究工作中,可以考虑USB串行总线进行上位机和FPGA之间的数据通信。
参考文献:
[1]J. Tierney,C. M. Rader. andB. Gold.ADigitalFrequencySyn-thesizer[J]. IEEETransactionsonAudioan dElectroacoustics. 1971, 19(1):48-57
[2]罗柏明,张雷.一种有效的DDS相位截断杂散抑制方法[J].北京:电子技术应用,2008.34(11):97-99
关键词:DDS;FPCA;仿真
引言
频率合成器也叫信号源或振荡器,是指产生所需参数的电测试信号的仪器。按信号波形可分为正弦信号、函数信号、脉冲信号和随机信号发生器四大类。信号发生器在电路实验和实验和设备检测中具有广泛的用途,例如在通信、广播、电视系统中,都需要高频(射频)发射,把音频(低频)、视频信号或者脉冲信号运载出去,就需要能够产生高频的振荡器。在工业、农业、生物医学等领域内,如高频感应热、熔炼、淬火、超声诊断、核磁共振成像等,都需要功率或大或小、频率或高或低的振荡器。
直接数字频率合成或DDS(DirectDigitaIFre-queneySynthesis)技术是近年发展起来的一种新的频率合成技术。它具有频率分辨率高、频率转换速度快、输出频率范围宽、相位变化连续、输出波形灵活和易于集成等优点。随着FPCA/CPLD技术的发展,DDS系统完全可以用可编程逻辑器件来实现,这样不仅降低了成本,而且设计者可以按照自己的需要来设计系统的功能。
1.接口电路的设计
接口电路的设计就是使用增强性并口(EPP)所提供的nWrite、nDstrobenAstrobe控制信号线,进行一定的组合逻辑产生计算机所需要的应答信号nWait,以及按照系统设计的要求,组合出数据写信号DWR和地址写信号AWR。总线收发器74LS245的DIR信号线是由nWrite來控制的,当nWrite为低电平时,74LS245的数据传输方向是从B到A的,此时进行EPP写操作。由于EPP并口的地址线和数据线共用,所以利用nDstrobe和nAstrobe作为片选信号来分离地址和数据信号。并且使用nWrite和nDstrobe、nAstrobe分别进行“或”运算产生数据写DWR和地址写AWR信号,以此来控制数据寄存器和地址译码器的工作。地址译码器采用3-8译码器,它的输入地址信号是数据/地址线经过数据/地址分离模块后得到的。数据/地址分离模块及地址译码器的功能仿真。
2.DDS模块的设计
2.1相位累加器的设计
相位累加器在时钟的作用下,对频率控制字进行累加,其输出作为ROM的寻址地址,然后进行相位一幅度转换得到离散的幅度数据,再经过DAC转换和滤波得到模拟信号。对频率控制字进行累加,其输出作为ROM的寻址地址,然后进行相位/幅度转换得到离散的幅度数据,再经过DAC转换和滤波得到模拟信号。为了获得较高的频率分辨率,相位累加器的字长设计为32位,同时为了尽量减少由幅度量化误差引起的DDS杂散分量,本设计采用了分辨率为10位的DAC,即波形存储器的数据宽度是10位的。由于本设计使用的是8位数据传输,所以频率控制字必须分4次进行传输,波形数据必须分2次进行传输。相位累加器由全加器和相位寄存器组成。全加器是相位累加器结构中的关键部分,为了提高相位累加器的工作速度,本文采用了4位超前进位加法器来设计全加器。为了进一步提高相位累加器的工作速度,本设计采用流水线技术来设计相位累加器。32位的相位累加器采用8级4位的流水线结构,其中每一级的加法器都采用4位超前进位加法器结构,寄存器采用带有异步复位的D触发器DFF来构成。由于采用了8级流水线,所以数据从输入到输出要经过8个4位D触发器才能得到运算结果,也就是说要经过8个时钟周期后才能得到累加结果。但由于在每个时钟中都有数据输入到各级流水线,各级同时进行累加,并将结果同时输出,因此从总体来看,
完成一个32位的累加运算只需一个时钟周期,从而使得累加速度等于参考时钟频率。在输入与输出之间增加了8个寄存器,并且在高8位输出端又增加了一个8位的数据寄存器,所以在系统复位后,要经过9个时钟周期才有数据输出。并且当频率控制字进行切换时,输入数据需要保持9个时钟周期才能刷新频率控制字,这就降低了频率转换速率,这也是采用流水线设计相位累加器的缺点之一。
2.2波形存储器的设计
为了增加系统的灵活性,本设计采用EPIC3内嵌的RAM块来实现波形存储器的功能。根据系统的需要,采用Quartusll软件提供的参数化RAM模块LPM—RAM—DQ,LPM_RAM_DQ的输入与输出端口分离,读写数据共用一个地址端口,并且由于LPM_RAM_DQ读写数据共用一个地址端口,所以需要增加一个2选1的地址选择器来选择LPM—RAM—DQ的地址来源。add[7_0]是地址信号,fre[31..24]是相位累加器输出的高8位。由于地址信号经过地址选择器时产生了一个时钟周期的延迟,因此为了保证波形数据写入正确的地址单元,将控制信号寄存器的D2位和波形数据wavedata[9_0]用D触发器也延迟一个时钟周期。同时为了保证系统的同步,所有的时钟信号与系统时钟相连。
结语
本文介绍了利用FPGA器件设计DDS系统的设计思想、电路结构和改进优化方法,从实验结果可以看出,采用FPCA器件设计DDS系统是可行的。本设计尚存在一些问题,比如采用EPP并口进行数据传输,限制了波形频率的切换速度不会很高,在以后的研究工作中,可以考虑USB串行总线进行上位机和FPGA之间的数据通信。
参考文献:
[1]J. Tierney,C. M. Rader. andB. Gold.ADigitalFrequencySyn-thesizer[J]. IEEETransactionsonAudioan dElectroacoustics. 1971, 19(1):48-57
[2]罗柏明,张雷.一种有效的DDS相位截断杂散抑制方法[J].北京:电子技术应用,2008.34(11):97-99