基于CPLD/FPGA的等精度频率计的设计设计要求:·利用CPLD/FPGA进行频率计数。·在整个频率范围内保持恒定测量精度。·实现对频率、周期、脉宽的测量计数。课题的背景及意义目前市场上的频率计产品很多,但基本上都是采用专用计数芯片和数字逻辑电路组成,由于这些芯片本身的工作频率不高,从而限制了产品的工作频率的提高,远不能达到在一些特殊的场合需要测量很高的频率的要求,而且测量精度也受到芯片本身极大的限制。本文用VHDL在CPLD器件上实现一种8位数字频率计测频系统,能够用十进制数码显示被测信号的频率,不仅能够测量正弦波、方波和三角波等信号的频率,而且能对其他多种频率信号进行测量。具有体积小、可靠性高、功耗低的特点。实现了等精度测量。实际的应用在电子测量领域中,频率测量的精确度是最高的。在生产过程中许多物理量,例如温度、压力、流量、液位、PH值、振动、位移、速度、加速度,乃至各种气体的百分比成分等均用传感器转换成信号频率,然后用数字频率计来测量。设计的数字频率计采用多周期同步测量法进行等精度测频、测周期、测脉宽和占空比,它从根本上消除了计数器量化误差,极大提高了测量精度。设计所用到的语言及软件等相关知识电子设计自动化的发展VHDL语言CPLD/FPGA相关知识QuartusII电子设计自动化的发展电子线路的CAD(计算机辅助计)是EDA发展的初级阶段CAE—计算机辅助工程。也就是所谓的EDA技术中级阶段。电子系统设计自动化,即高级EDA阶段、也就是目前常说的EDA。VHDL语言VHDL是超高速集成电路硬件描述语言的英文字头缩写简称,主要用于描述数字系统的结构、行为、功能和接口,非常适用于可编程逻辑芯片的应用设计。VHDL语言与其它HDL语言相比有一些自己的特色1.设计功能强、方法灵活、支持广泛2.系统硬件描述能力强3.VHDL语言标准、规范,易于共享和复用4.方便移植用FPGA/CPLD进行开发编程方式简便、先进高速高可靠性开发工具和设计语言标准化,开发周期短功能强大,应用广阔2020/2/6频率测量方案一:采用周期法。方案二:采用直接测频法。方案三:采用等精度频率测量法。2020/2/6采用等精度频率测量法等精度测频方法是在直接测频方法的基础上发展起来的。它的闸门时间不是固定的值,而是被测信号周期的整数倍,即与被测信号同步,因此,避除了对被测信号计数所产生±1个字误差,并且达到了在整个测试频段的等精度测量。2020/2/6系统的总体设计2020/2/6六大模块2020/2/6信号源模块信号源是为了产生1MHz的门控信号和待测的定频信号。源程序编译并生成PIN1MHZ的封装。由系统时钟提供的100MHz的输入信号,经过信号源模块,通过100分频产生1MHZ的时钟信号clkinclkoutPIN1MHZ_1inst2020/2/6分频器源程序编译并生成CNT封装图。clkfreq1freq488freq1953freq7812freq31250freq125kfreq500kcntinst2020/2/6分频器工作时序图2020/2/6测频控制信号产生器通过源程序生成TESTCTL封装CLKTSTENCLR_CNTLOADTESTCTLinst2020/2/6测频控制信号发生器TESTCTL的工作时序图2020/2/6锁存器锁存器是起数据保持的作用,它将会把数据保存到下次触发或复位。主要是主从触发器组成的。LOADDIN[31..0]DOUT[31..0]REG32Binst2020/2/6锁存器工作时序图在锁存信号load的上升沿到来时,锁存器将测量值锁存到寄存器,然后输出到显示模块。2020/2/6十进制计数器程序要求只有当使能端信号为高电平时计数器才能正常工作,每个时钟的上升沿到来时计数器加1,因为这里要实现的是10进制计数,所以当计数到10时计数器清零,同时产生进位信号CLKCLRENACQ[3..0]CARRY_OUTCNT10inst2020/2/6工作时序图2020/2/6显示模块用8个LED将待测频率显示出来,将通过十进制计数器的时钟信号CLK,输出为时钟信号计数译码后的显示驱动端,在八段LED译码为对应的八段二进制编码,并由数码显示器显示出来in7[3..0]in6[3..0]in5[3..0]in4[3..0]in3[3..0]in2[3..0]in1[3..0]in0[3..0]clklout7[6..0]SEL[2..0]displayinst2020/2/6工作时序图2020/2/6感谢观看