第1页基于FPGA的数字频率计1前言数字频率计是一种基本的测量仪器,是用数字显示被测信号频率的仪器,被测信号可以是正弦波,方波或其它周期性变化的信号。如配以适当的传感器,可以对多种物理量进行测试,比如机械振动的频率,转速,声音的频率以及产品的计件等等。因此,它被广泛应用与航天、电子、测控等领域。它的基本测量原理是,首先让被测信号与标准信号一起通过一个闸门,然后用计数器计数信号脉冲的个数,把标准时间内的计数的结果,用锁存器锁存起来,最后用显示译码器,把锁存的结果用液晶显示器显示出来。根据数字频率计的基本原理,本文设计方案的基本思想是分为四个模块来实现其功能,即整个数字频率计系统分为分频模块、计数模块、锁存器模块和显示模块等几个单元,并且分别用VHDL对其进行编程,实现了闸门控制信号、计数电路、锁存电路、显示电路等。而且,本设计方案还要求,被测输入信号的频率范围自动切换量程,控制小数点显示位置,并以十进制形式显示。本文详细论述了利用VHDL硬件描述语言设计,并在EDA(电子设计自动化)工具的帮助下,用大规模可编程器件(CPLD)实现数字频率计的设计原理及相关程序。特点是:无论底层还是顶层文件均用VerilogHDL语言编写,避免了用电路图设计时所引起的毛刺现象;改变了以往数字电路小规模多器件组合的设计方法。整个频率计设计在一块CPLD芯片上,与用其他方法做成的频率计相比,体积更小,性能更可靠。该设计方案对其中部分元件进行编程,实现了闸门控制信号、多路选择电路、计数电路、位选电路、段选电路等。频率计的测频范围:0~100MHz。该设计方案通过了QuartusⅡ软件仿真、硬件调试和软硬件综合测试。第2页2总体方案设计2.1方案比较:方案一:本方案是利用电路的频率响应特性来测量频率值。任何具有适当频率响应特性的可调无源网络都可用来测量频率值。测频方法:谐振测频法:利用谐振回路测量高频(微波)信号的频率值(图2.1.2)。调节C使回路在被测频率值上谐振,此时,可得到被测频率值fx图2.2谐振法测频工作原理图显示方法:CPLD直接输出控制显示,本设计采用双色(红色和绿色)8*8LED点阵作为终端显示器件,在CPLD的ROM数据控制下,8*8LED点阵的每个像素点能产生红色、绿色、$(红绿混合色),能够再现颜色的多样化。由于一般的I/O的驱动能力是有限的,CPLD中的ROM输出的显示数据需要经过驱动电路后送至8*8LED点阵的行选端(阳极),列选线(阴极)则受74HC138输出的低电平译码信号的控制。方案二测频方法:CPLD测频:CPLD作为一种新型的可编程逻辑器件,具有集成度高、逻辑电路设计方便灵活、可靠性好、工作速度快等特点,显示方法:由单片机产生控制时序,通过总线送给CPLD再显示2.2方案论证:第3页方案一:本方案主要对频率的模拟测量:测频电桥是测量低频信号的频率值,谐振测量是利用谐振回路来实现对高频信号的测量。具体实现是通过调节图2.1.2中的C使回路在被测频率值上谐振,此时便可得到待测的频率值。然后在CPLD直接输出控制显示来控制输出部分。方案二:2.3方案选择3单元模块电路设计3.1电路设计总体框图本设计主要由8个部分组成,以CPLD芯片部分为核心展开,待测信号输入,由外部电源,复位电路,单片机电路,液晶显示,标准时钟以及JTAG下载各个单元配合起来实现测试频率并在液晶显示屏上实时显示出数字频率信号。图3.1电路设计总体框图3.2标准时钟(100MHz)产生部分本部分采用100M的有源晶振,因为有源晶振不需要DSP的内部振荡器,信号质量好,比较稳定,而且连接方式相对简单(主要是做好电源滤波,通常使用一个电容和电感构成的PI型滤波网络,输出端用一个小阻值的电阻过滤信号即可),不需要复杂的配置电CPLD芯片CPLD芯片电源复位电路待测信号JTAG下载液晶显示标准时钟单片机电路第4页路。有源晶振通常的用法:一脚悬空,二脚接地,三脚接输出,四脚接电压。相对于无源晶体,有源晶振的缺陷是其信号电平是固定的,需要选择好合适输出电平,灵活性较差,而且价格高。对于时序要求敏感的应用,个人认为还是有源的晶振好。N1G2O3V4J201100MGCLK_0VCC_3.3VR20433C213104图3.2标准100M信号的产生电路3.3CPLD程序下载。Altera器件编程下载电缆有:ByteBlaster并行下载电缆,ByteBlasterMV并行下载电缆等等。本设计采用的是ByteBlaster并行下载电缆,它具有与PC机25针标准并行口相连的接口。通过PC机标准并行口在线编程MAX7000S(EPM7064SLC44-10)。与PCB电路板相连的是10针插座。具体原理图如图3.3:12345678910JP201JTAGJTAG_TCKR2021KJTAG_TDOJTAG_TMSJTAG_TDIR2031KR2011KVCC_3.3VTMS33TDI34TCK35TDO36U201CEPM570T144C5NJTAG_TCKJTAG_TDOJTAG_TMSJTAG_TDIVCC_3.3VVCC_3.3V图3.3CPLD程序下载接口注:上图中TCK为时钟;TDO为器件输出到数据;TMS为JTAG状态机控制;TDI为配置到器件的数据。JTAG各个接口与EPM570T144C5N相应接口相连,实现数据的下载。3.4数字液晶显示部分。本设计用液晶显示屏显示被测量的频率值。设计通过单片机产生控制时序,然后通过总线送给CPLD,然后通过CPLD送出数据通过接插件JP501直接连接液晶显示屏显示R204第5页数字频率。如图3.4.1CPLD的LCD_D[7..0]作为总线通过与外部接插件连接,实现与液晶显示屏相连。LCD_DD0-LCD_DD7,以及LCD_RES_X0-LCD_RES_X3、LCD_RESET、片选线等等外部都连接一上拉电阻。如图3.4.2所示。LCD_D[7..0]R50833R51233R51533R51733R51933R52233R52433R52633R52733R52933LCD_DILCD_ECS_LCD_0CS_LCD_1LCD_RESETlCD_RWLCD_RES_X0LCD_RES_X1LCD_RES_X2LCD_RES_X3LCD_DILCD_ELCD_D[7..0]CS_LCD_1CS_LCD_0LCD_RESETlCD_RWLCD_RES_X0LCD_RES_X1LCD_RES_X2LCD_RES_X3CS_LCD__0CS_LCD__1LCD__RESETLCD__RWLCD__RES_X0LCD__RES_X1LCD__RES_X2LCD__RES_X3LCD__DILCD__E123456789101112131415161718192021222324JP501LCD_HEADERVCC_5VLCD__DD0LCD__DD1LCD__DD2LCD__DD3LCD__DD4LCD__DD5LCD__DD6LCD__DD7CS_LCD__0-10VCS_LCD__1LCD__RESETR520POT2-10VD5011N4007VCC_5VLCD__RWLCD__RES_X0LCD__RES_X1LCD__RES_X2LCD__RES_X3LCD__ELCD__DI图3.4.1液晶显示1LCD__DILCD__ELCD__DD0LCD__DD1LCD__DD2LCD__DD3LCD__DD4LCD__DD5LCD__DD6LCD__DD7CS_LCD__0CS_LCD__1LCD__RESETR5073.3KR5113.3KR5133.3KR5143.3KR5163.3KR5183.3KR5213.3KR5233.3KR5253.3KR5283.3KR5303.3KR5313.3KR5323.3KVCC_5VR5333.3KLCD__RWR5343.3KR5353.3KR5363.3KR5373.3KLCD__RES_X0LCD__RES_X1LCD__RES_X2LCD__RES_X3R50333R50533R50933R50133R50433R50633R51033R50233LCD_D0LCD_D1LCD_D2LCD_D3LCD_D4LCD_D5LCD_D6LCD_D7LCD__DD0LCD__DD1LCD__DD2LCD__DD3LCD__DD4LCD__DD5LCD__DD6LCD__DD7图3.4.2上拉电阻3.5测频复位电路。设计要求在测试频率过程中可以随时按照需要复位显示频率,被测频率可以重新测试。如图3.5所示,按键K302-K306与总线KEY[4..0]相连。当按键K303按下后,KEY1得到一个低电平,然后CPLD分析得出结论将液晶显示屏复位,等待重第6页新测试新的频率信号。K302K303K304K305K306R30210KR30310KR30410KR30510KR30610KVCC_3.3VKEY[4..0]KEY[4..0]KEY0KEY1KEY2KEY3KEY4图3.5测频复位电路3.6核心部分(EPM570T1445N器件简介)图3.6EPM570T1445N器件的管脚图EPM570T1445N器件属于Altera公司MAX7000S系列,EPM570T144C5N器件包含一个二维行和列的架构实现自定义逻辑。行和列的互连提供信号互连之间的逻辑阵列块(实验室)。逻辑阵列组成的实验室,10个逻辑单元,在每个实验室(LE)之间。一个LE第7页是一小单位逻辑用户提供逻辑功能的有效实施。实验室分为行和列上的设备。多轨互连实验室提供快速颗粒之间的时间延迟。括约肌之间的快速路由提供最低的时间延迟逻辑电平的增加与全球路由互连结构。MAXII器件的I/O引脚由我I/O单元(雇主组织)在劳工顾问委员会的目的所在行和列周围设备的边缘。每个雇主组织包含一个双向I/O缓冲区的多种高级功能。I/O引脚支持施密特触发输入和各种单端标准,例如66兆赫,32位PCI,和LVTTL等级。MAXII器件提供了一个全局时钟网络。全球时钟网络的组成4全局时钟线,在整个整个设备驱动器,提供对所有时钟内资源的设备。全球时钟线也可用于控制信号如明确,预设,或输出使能。如图为EPM570T1445N的逻辑阵列块。每个MAXII器件包含一个在其平面图闪存块。在EPM240设备,此区块位于设备的左侧。在的EPM570,EPM1270和EPM2210器件,快闪记忆体区块位于左下区的设备。该闪存大部分分区的专用配置闪存(CFM)的块。采用CFM块提供了非易失性存储的SRAM配置的所有信息。采用CFM自动下载并配置逻辑和I/O上电时,提供即时的行动。f在有关配置上电时的信息,请参阅热插拔和上电的MAXII器件章重置了MAXII器件手册。一个闪存在MAXII器件部分划分为一个小用户数据块。这个用户快闪记忆体(UFM)的块提供了8,192位通用用户存储。该超滤膜提供可编程端口连接对阅读和写作逻辑阵列。劳有三个相邻的行本块,列由设备与人数不等。第8页表2-1显示了每个设备的行和列数,以及行和列毗邻地区的快闪记忆体数量的EPM570,EPM1270和EPM2210器件。长排满行延长从一排I/O块到其他。简短的行毗邻超滤膜块,其长度是在列的宽度显示。每一个LAB包括驱动控制信号LES的专用逻辑。控制信号包括两个时钟,两个时钟使能,两个异步清除,1同步清除,异步预置/负载,同步载荷,加/减控制信号,提供了一次10个控制信号最大。虽然同步负载和清除的信号通常用于执行时计数,也可以用于其他功能。每个LAB可以使用两个时钟,两个时钟使能信号。每个LAB的时钟和时钟使能信号联系。例如,任何一个LE在一个特定的LAB场合时使用labclk1信号也使用labclkena1。如果同时使用LAB时钟上升沿和下降沿,它也同时使用LAB全时钟信号。Deasserting时钟,使能信号关闭,LAB宽的时钟。每个LAB可以使用两个异步明确信号,异步加