频率测量是电子学测量中最为基本的测量之一。由于频率信号抗干扰性强,易于传输,所以将许多非电量和其他电量信号转化成频率进行测量可以获得较高的测量精度。随着数字电子技术的发展,频率测量成为一项越来越普遍的工作,测频原理和测频方法的研究正受到越来越多的关注。 目前许多数字频率测量系统都是以单片机为核心来设计,单片机测频一般都是由计数器和定时器完成,将两个定时/计数器一个设置为定时器,另一个设置为计数器,定时时间到后产生中断,在中断服务程序中处理结果,求出频率。这种方法虽然测量范围较宽,但由于存在软件延时,测量精度较低。测量频率时如果不是真正依靠硬件控制计数或定时,而是由软件查询或中断响应后再停止计数,虽然理论上能达到很高的精度,但实际测量中由于单片机响应有一定的时间延迟,难以做到精确测量。 测量频率时只有真正依靠硬件才能达到很高的精度,然而采用计数器来实现频率测量,由于PCB板的集成度不高,导致PCB面积大,信号走线长,因此难以提高计数器的工作频率。此外,PCB板的集成度不高还会使得高频信号容易受到外界的干扰,从而大大降低了测量的精度。 本论文将介绍另一种方法实现频率测量,该方法将克服上述缺点,大大提高测量精度和速度,即用可编程逻辑器件来实现频率测量功能。该系统的测频部分除了信号放大整形部分的电路不在可编程电路之中,其余的电路都集成在可编程逻辑器件中。本设计充分利用可编程逻辑器件集成度高,并行性强的特点,将20通道信号的频率测量集成在一块FPGA中实现,有集成度高、测频范围宽、精度高、可靠性高等优点。 本频率测量系统作为一个系统的一个部分,通过CAN总线与其他设备相连,各个系统之间按照CAN协议进行通信。为了实现这个目的,本设计采用带有CAN控制器的ARM Cortex M3微控制器STM32采集FPGA测得的频率值,并将其以CAN通信协议的标准传到CAN总线上