3 硬件编程及FPGA实现
选用Atlera公司的ACEX系列的EPlK30QC208-3芯片,用VHDL进行编程,在QrutusⅡ6.O平台上设计的顶层电路图如图5所示。
顶层电路只画出了数字部分,脉冲形成等模拟环节都是标准电路,在此不讨论。数字电路部分主要包括相位超前滞后CZ模块、相位差信号提取phase模块、标准频率产生及控制电路fm-control模块、计数锁存cntlatch模块、动态扫描及译码显示scandisp模块等环节。其中输入端有2个同频率,具有相位差的信号输入端s1,s2、系统频率fc、使能信号EN、动态显示的扫描频率clkdisp。输出端口有七段显示数码q[6..O]、显示选择信号sel[2..O]、计数溢出响铃信号ring。为了方便观察分析,还设置了一些中间信号,如ct0[3..O]~ct5[3..0]是锁存住要显示的数字。
顶层系统电路的仿真设置如下:信号频率若为f=10×103Hz,系统频率为fc=10×106Hz,相位差为φ=90°,分频数m=360×103。,仿真结果如图6所示。
在图6中可以看出S1,S2是两个有相位差90°的矩形信号。
测量线所在的位置就是fm的下降沿,计数结束,开始锁存相位差数字ct0[3..0]~ct5[3..0],锁存信号结束,清零信号到来,清零信号结束,下个周期从新循环开始。
pre输出为高电平1,表明信号s1超前信号s2,锁存的相位差数字是90.360°,与设置的相位差完全吻合,误差也小于极限误差。仿真表明,设计是正确完善的,能够达到测量要求。
4 结 语
通过对平均值相位差计原理的分析和程序设计、仿真,用FPGA芯片实现了一个高精度、宽频率范围的相位差计。该测量方法的最大优点是系统电路简单,不需要锁相环,占用的逻辑资源少,选用低端FPGA芯片完全能满足要求,大大提高了被测信号的频率范围及测量精度,具有一定的应用价值。