参数设计:采用50MHz晶振的
FPGA实验板搭建。分两档测量,150MHZ档位测试4KHZ-100KHz频率之间信号;3MHZ档位测试100HZ-4KHZ之间信号。计数器采用16位。
思路一:构造两个计数器,一个测信号周期,另一个测相差周期。
一、输入10KHz正弦波,经过RC移相网络后有大约36度相移。需要用FPGA测相差。
代码如下
View Code
RTL级视图
RTL
仿真波形
思路二:构造一个计数器,根据控制信号分别读取信号周期和相差。
模块构造分析:
1、PLL模块。提供150MHz时钟。
2、频率档位选择模块。通过Sel信号为计数器选择150M或3M时钟信号。150MHZ信号通过分频后添加测试引脚。
3、定制16位计数器,具有高电平清零端aclr。
4、触发信号。将两路信号相与产生脉冲信号,通过D触发器后输出给模块6。
5、极性判断信号。判断信号2是超前信号1还是滞后。
6、计数器控制模块。通过模块4脉冲信号控制计数器清零和计数值读取。
7、数据输出模块。将计数器的值送到外围引脚。