3。4 目标芯片Cyclone II
在对工程进行编译处理前,要进行相应的设置,首先就是要选择FPGA目标芯片,本次设计选择的目标芯片是Cyclone II。
Cyclone II系列器件是Altera低成本Cyclone系列的第二代产品,能够对可编程逻辑,存储块和其它特性进行最优化的组合,能够对大多数应用进行性能上的优化。在保证低成本的优势前提下提供了更高更好的集成度和性能,在广泛的应用市场取得了巨大的进步。另外,Cyclone II 器件能够自身完成自定义的嵌入式处理器、拓展各种外部存储器和I/O口、嵌入式处理器的性能。利用cyclone II 器件可以实施更多更好的成本低和高性能处理方案。cyclone II 器件得到了最普及的认可和最遍及的使用。
图3。2 目标芯片cyclone II引脚图
4 功能模块设计
4。1 8位十进制数字频率计的电路逻辑图
整个的顶层原理图文件电路逻辑图,组成分为测频控制信号发生器TESTCTL、十进制计数器CNT10、锁存器REG32B 这三个重要的模块,系统分频pclk模块,数码管扫描SELTIME模块和数码管译码显示LED7模块。接下来将分开解析数字频率计的各个模块的功能以及设计方式。
顶层原理图文件是在原理图编辑区,将各功能模块生成的元件依据频率计的系统框架图连线而形成,电路逻辑图如下所示:
图4。1 8位十进制字频率计的电路逻辑图
4。2 测频控制信号发生器的设计论文网
频率计设计的关键之处在于测频控制信号发生器[8]TESTCTL的设计,因为此功能模块产生测量频率的控制时序。控制时钟CLK输入为1Hz,由内部2分频后便能够形成脉宽为1s的时钟TSTEN,那么它的频率是0。5HZ,并作为计数的闸门时长。在TSTEN高电平期间,容许计数器统计脉冲数目;在TSTEN由高电平变为低电平,就能够输出一个锁存信号LOAD,用来保存计数值;并且在存数据之后,在下一轮TSTEN由低电平变为高点平之前产生清零信号CLR_CNT,用来将CNT10复位清零,为下次的统计作准备。
图4。2 TESTCTL功能模块图
利用VHDL硬件描述语言编辑输入测频控制信号源程序,在编译之前需选择“Project→Set as Top-Level Entity”命令,将当前的TESTCTL设置成为顶层文件,然后选择“Processing→Start Compiliation”命令,进行全程编译。并出现编译正确。
图4。3 TESTCTL代码编译图
4。3 8位十进制计数器的设计
在电子电路系统中,计数器是[9]对时长为1s里的脉冲数量进行统计,能够完成测量、计数和控制的功能。十进制计数功能依靠此功能模块来实现,本设计的计数器的特殊地方在于,拥有使能输入端EN,设置计数器只有在高电平可以计数,在低电平时不可以计数。
图4。4 CNT10的功能模块
重复测频控制信号发生器全程编译之前的操作,编辑十进制计数器的源程序及编译,注意需要将源程序CNT10保存放入到TESTCTL同一个目录中,仍然需要执行“Project→Set as Top-Level Entity”,把CNT10设定成顶层文件,然后全程编译。
图4。5 CNT10代码编译
4。4 32位锁存器的设计文献综述
锁存器[10]能够在输入时钟的电平变化情况下改变状态,数据能否被锁存由输入时钟的电平值取决,只有在锁存器处于高电平的时,某种电平状态才可以被保存,不然,就不可以保存。 此模块的功能分析为:在输入LOAD 信号从低电平变为高电平时,可以对输入的CNT10 计数的结果进行保存,并且把保存的结果传输给7段数码管译码。在电路中配置锁存器的优点为:可以使显示的数据稳定,不至于因为随周期CLR_CNT信号变化而不间断闪动。