1.2.2 四位锁存器的设计
在本设计中, 首先需要一个锁存信号LOAD 的上跳沿将计数器在前1 秒钟的计数值锁存进各锁存器REG4B
中, 其锁存器的VHDL 语言编程实现如下:
L IBRARY IEEE;
U SE IEEE1STD_ LO GIC_ 11641ALL ;
EN T ITY REG4B IS
PORT (LOAD: IN STD_ LO GIC;
D IN: IN STD_ LO GIC_ V ECTOR (3 DOWN TO 0) ;
DOU T:OU T STD_ LO GIC_ V ECTOR (3 DOWN TO 0) ) ;
END REG4B;
ARCH ITECTU RE behav O F REG4B IS
BEGIN
PROCESS (LOAD,D IN )
BEGIN
IF LOAD′ EV EN T AND LOAD = ′ 1′THEN DOU T < =
D IN;
END IF;
END PROCESS;
END behav;
同样的将此程序在Q uar tus II下编译后, 生成锁存器元件, 以便在顶层文件中调用。
在本设计中, 所需的其他模块采用普通的计数器模块和显示译码模块。
1.3 频率计主结构电路设计
根据频率计的测频原理, 在Q utar tus II下以原理图调用方式完成图2 所示的频率计主体结构的电路设计。
图2中,REG4B为4位锁存器;DISP是7段译码器,他的7位输出可以直接与7段共阴数码管相接,由此可
见,要改变其测频范围,可以增加REG4B和计数器元件即可,如增加一个REG4B和一个计数器元件,可以将原来的
个位数变成十位数,原来的十位数变成百位数,以此类推,即可将其测频范围扩大10倍。因此,采用此办法设计的频
率计具有现场可编程的特点;TESTCTL为测频控制信号发生器,用以产生CNT_EN和RST_CNT,其中CNT_EN
是对待测频率脉冲计数允许信号,CNT_EN高电平时允许计数,低电平时禁止计数。由顶层原理图可知,可以很
容易地将此频率计扩展为6位、8位,…,即具有很好的可扩充性,而在硬件电路上不做修改。图3是在图2的基
础之上经过改进而成的具有六位显示的数字频率计。
1.4 波形仿真测试和频率计设计硬件验证
在完成了图3所示的顶层电路设计后,即可进行波形仿真,其波形仿真如图4所示。
图4 四位十进制频率计仿真波形
在此设计的FIN前半段频率为20Hz,中间段为10Hz,后半段为1000Hz,由仿真的波形可以看出,在前半段,其
OUTPUT1输出06H,OUTPUT2输出5BH,此两数的十进制为21,即为21Hz;在中间段,OUTPUT1输出3FH,
OUTPUT2输出06H,此两数的十进制为10,即为10Hz;在后半段,OUTPUT1输出3FH,OUTPUT2输出3FH,
OUTPUT3输出3FH,OUTPUT4输出06H此两数的十进制为1001,即为1001Hz。与电路的实际功能相符。
仿真符合要求后即可进行硬件设计验证,编译、综合和适配频率计顶层设计文件,并编程下载进入目标器件
中,到此即可在FIN端输入一个待测频率信号,在输出数码管上即可看到测得的结果。如果在COUT端接上一个
发光二极管,则此频率计还具有溢出指示功能。
2、结语
采用此种方法设计的数字频率计占用的FPGA芯片资源较少,完全可以嵌入到FPGA芯片系统资源共用同一
个FPGA芯片,是一个很好的数字频率计设计解决方案。由此可见,采用这种技术设计的数字电子系统,大大减少
了电路板的尺寸,同时增加了系统可靠性、设计灵活性和可更改性。
参 考 文 献
[1 ] 潘松, 黄继业 1现代DSP 技术 [M ] 1西安: 西安电子科
技大学出版社, 20031
[ 2 ] 潘松, 黄继业1EDA 技术实用教程 [M ] 1北京: 科学技术
出版社, 20021
[ 3 ] 徐志军, 徐光辉1CPLDö FPGA 的开发与应用 [M ] 1北京:
电子工业出版社, 20021
[4 ] 包明, 赵明富, 陈渝光1EDA 技术与数字系统设计 [M ] 1
北京: 北京航空航天大学出版社, 20021
来源:工业仪表与自动化装置