门控信号CL的宽度和发生时间都不会影响计数使能信号START允许计数的周期,总是等于被测信号TCLK周期的整数倍,这是确保TCLK在任何频率条件下都能保持恒定精度的关键。在一次门控信号CL为高电平时,对被测信号计数值为Nx,对标准频率信号的计数值为Ns,则有:
Fx/Nx=Fs/Ns
推出Fx=(Fs/Ns)·Nx
3.基于Nios信号源的实现
FPGA采用Altera公司的CycloneⅡ系列EP2C5器件,它有4608个逻辑单元,26个M4KRAM块,119808RAM位,13个嵌入式18*18乘法器,2个锁相环,最大可用I/O管脚142个,芯片供电电源为3.3V和1.2V。使用2M字节的Flash,8M字节的SDRAM,4M位的EPCS4,键盘、数码管、超高速D/A转化、滤波电路等。DDS信号产生电路和等精度频率计的主要功能采用DSPBuilder和VHDL设计。自定制Avalon的DDS信号产生电路和等精度频率计外设,选定AvalonSlave外设类型。设计好DDS信号产生电路和等精度频率计外设的VHDL程序,进行编译和仿真,验证是正确后,就可以分别在SOPCBuilder中加入它,作为Avalon外设。进入InterfacetoUserLogic对话框选择BusInterfaceType设置为AvalonRegisterSlave,加入设计好的VHDL文件,单击下面的Readport-listfromfiles按钮,从VHDL文件中读入引脚信息,确认无误后,选择Next时序设置使用默认值,再单击Next,设置ComponentName,给元件起个名字,单击Addtolibrary按钮,完成自定制组件的设计,在SOPCBuilder的组件栏中就能看见UserLogic里有这些组件了。然后利用SOPCBuilder生成Nios系统。接下来在QuartusⅡ中编译,编译没有错误后,下载到FPGA里,与外电路搭接,调试通过后,硬件部分就完成了。采用C语言编制软件,它用来控制、管理整个系统。系统不需要多任务,所以,不需要实时操作系统支持。
4.结果分析
多功能信号源系统时钟为100MHz。设定成DDS模式时,频率在1Hz-10MHz范围调节,产生正弦波,同时能实现调频、调相、调幅。采用THS5651-100MHz超高速D/A,要实现步进1Hz分辨率,在最高频率10MHz时,输出波形在一个周期里有10个点,经过下级电路的处理,没有明显失真。则有:
f =f /2 =100*10 /2 =0.023283Hz
当输出信号分辨率为1Hz时:
K=1/f =43
设定成等精度频率计模式时,能测量频率。测频时门控信号CL宽度的改变造成的误差最多只有BCLK信号的一个时钟周期,任何时刻的绝对误差只有10ns。频率测试范围1Hz-100MHz,预置门控信号CL的宽度取0.01秒时,测频全域相对误差恒为100万分之一,有关相对误差的公式推导过程见参考。
5.总结
设计的信号源功能比较多,不仅能利用DDS产生信号,而且还可以测量频率。整个系统主要功能集成在FPGA里,体积小、抗干扰能力强。DDS是利用数字化技术产生波形,频率和相位,易于控制。等精度频率计的电路改动一下就可以测量脉冲宽度、占空比、相位,还可以用作频率信号发生器。为此,此多功能信号源设计方案非常具有实用价值。
参考文献
1 赵欣等.基于FPGA的相位式激光测距系统中信号源的研制[J].量子电子学报,2006(5):701-706.
2 李小波等.基于CPLD和单片机的低频信号源设计[J].仪表技术与传感器,2005(11):46-48.
3 潘松等.EDA技术与VHDL[M].北京:清华大学出版社,2005,381-391.
4 杨君等.利用高速并行BCD数减法实现等精度数字频率计的设计[J].电测与仪表,2005(10):27-29.
5 包明等.基于FPGA的高速高精度频率测量的研究[J].单片机与嵌入式系统应用,2003(2):31-33.
6 Ralf N.Hardware/Software Co_designed for Data Flow Dominated Embedded System[M].KluwerAcademic Publishers,1998.
7 Altera Corporation.Quartus II Handbook,volume 5.May 2007. 2/2 首页 上一页 1 2 |