基于FPGA的8位十进制数字频率计设计
8位十进制频率计 FPGA
8位十进制频率计1 实验目的设计8位十进制频率计,学习较复杂的数字系统设计方法;学习verilog HDL编程的使用。
2 实验内容被测信号从freg_input引脚(FPGA的13脚)输入,经过检查后测得的频率值用数码管1~8显示。
3 实验原理根据频率的定义和频率测量的基本原理,测定信号的频率必须有一个脉宽为1S的输入信号脉冲计数允许的信号;1S计数结束后,计数值锁入锁存器,并将下一测频计数周期作准备的计数器清零。
计数器在这里是由8个十进制计数器级联组成。
4 实验程序顶层文件:module freqtest(clk,freq_input,dig,seg,test);input clk,freq_input;output[7:0]dig,seg;output[9:0]test;reg[25:0]counter;reg[31:0]freq_result;wire[31:0]pre_freq;reg rst;wire divide_c lk; //1HZ闸门信号wire clk_scan;wire cout1,cout2,cout3,cout4,cout5,cout6,cout7;assign clk_scan=counter[15];assign test=counter[9:0];always @(posedge clk)beginif(divide_clk)counter<=26'd0;elsecounter<=counter+1'b1;endassign divide_clk=(counter>=26'd4*******);always @(posedge clk)beginif(divide_clk)freq_result<=pre_freq;endalways @(posedge clk)beginif(divide_clk)rst<=1'b1;elserst<=1'b0;endcnt101 u1(freq_input,rst,1'b1,cout1,pre_freq[3:0]);cnt102 u2(freq_input,rst,cout1,cout2,pre_freq[7:4]);cnt102 u3(freq_input,rst,cout2,cout3,pre_freq[11:8]);cnt102 u4(freq_input,rst,cout3,cout4,pre_freq[15:12]);cnt102 u5(freq_input,rst,cout4,cout5,pre_freq[19:16]);cnt102 u6(freq_input,rst,cout5,cout6,pre_freq[23:20]);cnt102 u7(freq_input,rst,cout6,cout7,pre_freq[27:24]);cnt102 u8(.clk(freq_input),.rst(rst),.cin(cout7),.cout(),.dout(pre_freq[31:28]));scan_led u9(clk_scan,freq_result,dig,seg);endmodule10进制计数模块:module cnt101(clk,rst,cin,cout,dout);input clk,cin,rst;output cout;output [3:0]dout;reg[3:0]sum;reg cout;always @(posedge clk or negedge rst)if(!rst)begincout=1'b0;sum=4'd0;endelseif(sum==4'd9)begincout=~cout;sum=4'd0;endelsesum=sum+1'b1;assign dout=sum;endmodulemodule cnt102(clk,rst,cin,cout,dout);input clk,cin,rst;output cout;output [3:0]dout;reg[3:0]sum;reg cout;always @(cin)beginif(!rst)beginsum=4'd0;endelseif(sum==4'd9)begincout=~cout;sum=4'd0;endelsesum=sum+1'b1;endassign dout=sum;endmodule数码管扫描显示模块:module scan_led(clk_1k,d,dig,seg); input clk_1k;input[31:0]d;output[7:0]dig,seg;reg[7:0]seg_r,dig_r;reg[3:0]disp_dat;reg[2:0]count;assign dig=dig_r;assign seg=seg_r;always @(posedge clk_1k)begincount<=count+1'b1;endalways @(posedge clk_1k)begincase(count)3'd0:disp_dat=d[31:28];3'd1:disp_dat=d[27:24];3'd2:disp_dat=d[23:20];3'd3:disp_dat=d[19:16];3'd4:disp_dat=d[15:12];3'd5:disp_dat=d[11:8];3'd6:disp_dat=d[7:4];3'd7:disp_dat=d[3:0];case(count)3'd0:dig_r=8'b01111111;3'd1:dig_r=8'b10111111;3'd2:dig_r=8'b11011111;3'd3:dig_r=8'b11101111;3'd4:dig_r=8'b11110111;3'd5:dig_r=8'b11111011;3'd6:dig_r=8'b11111101;3'd7:dig_r=8'b11111110;endcaseendalways @(disp_dat)begincase(disp_dat)4'h0:seg_r = 8'hc0; //显示0 4'h1:seg_r = 8'hf9; //显示14'h2:seg_r = 8'ha4; //显示24'h3:seg_r = 8'hb0; //显示34'h4:seg_r = 8'h99; //显示44'h5:seg_r = 8'h92; //显示54'h6:seg_r = 8'h82; //显示64'h7:seg_r = 8'hf8; //显示74'h8:seg_r = 8'h80; //显示84'h9:seg_r = 8'h90; //显示94'ha:seg_r = 8'h88; //显示a4'hb:seg_r = 8'h83; //显示b4'hc:seg_r = 8'hc6; //显示c4'hd:seg_r = 8'ha1; //显示d4'he:seg_r = 8'h86; //显示e4'hf:seg_r = 8'h8e; //显示fendcaseendendmodule。
8位数字频率计
一、题目:基于FPGA的直接测频法设计8位数字频率计二、设计目的和要求:(一)设计目的:采用直接测频法实现8位数字频率计。
(二)设计要求:1.采用FPGA直接测频/测周法实现2.掌握四种整合方式3.用VHDL语言在Maxplux2上实现三、设计原理和相关知识(一) 设计原理:把频率信号经脉冲形成电路后加到闸门相对一个输入端,只有在闸门开通的T(以秒计)内,计数脉冲被送到计数器进行计数。
计数值为N,有频率定义可以计算得到被测信号频率为:F=N/T(二) 测频法原理图:数字频率计系统组成框图四、设计方案和设计内容(一)数字频率计底层模块设计1.频率计测频控制器模块模块分析:闸门信号上升沿,打开计数器开始计数,直到产生下降沿。
在闸门信号下降沿处产生一个上升沿作为控制时钟信号,将输入端计数结果锁存到输出端。
在闸门信号低电平期间输出一个清零信号是计数器清零,准备下一次计数。
testen使能控制端口高电平期间控制计数器进行计数clr_cnt计数器清零控制信号为1时进行清零load 锁存控制信号,上升沿进行锁存程序:LIBRARY ieee;USE ieee.std_logic_1164.all;USE ieee.std_logic_unsigned.all;entity testct1 isport(clk: in std_logic;testen: out std_logic;clr_cnt:out std_logic;load:out std_logic);end entity;architecture a of testct1 issignal div2clk:std_logic;beginprocess(clk)beginif clk'event and clk='1' thendiv2clk<=not div2clk;end if;end process;process(clk,div2clk)beginif clk='0' and div2clk='0' thenclr_cnt<='1';else clr_cnt<='0';end if;load<=not div2clk;testen<=div2clk;end process;end a;模块图:仿真结果:2.计数器模块模块分析:使能端ena置高电平有效,进行计数,使能端ena置低电平停止计数保留原数值,置高电平继续计数。
8位十进制频率计_EDA课程设计报告
目录一、设计目的 (2)二、设计要求 (2)三、设计思路 (3)四、设计原理 (3)五、设计仿真 (3)六、实验现象 (4)七、设计源码 (4)八、总结 (9)参考书目 (9)引言数字频率计是数字电路中的一个典型应用,实际的硬件设计用到的器件教多,连线比较复杂,而且会产生比较大的延时,造成测量误差、可靠性差。
随着现场可编程阵列FPGA的应用,以EDA 工具作为开发手段,运用VHDL等硬件描述语言语言,将使整个系统大大简化,提高了系统的整体性能和可靠性。
一、课程设计目的1)巩固和加深对“EDA技术”、“数字电子技术”的基本知识的理解,提高综合运用本课程所学知识的能力。
2)培养学生根据课题需要选学参考书籍、查阅手册、图表和文献资料的自学能力。
通过独立思考,深入钻研相关问题,学会自己分析解决问题的方法。
3)培养硬件设计、软件设计及系统软、硬件调试的基本思路、方法和技巧,并能熟练使用当前较流行的一些有关电路设计与分析的软件和硬件。
二、课程设计要求1)脉冲信号的频率就是在单位时间内所产生的脉冲个数,其表达式为,f为被测信号的频率,N为计数器所累积的脉冲个数,T为产生N个脉冲所需的时间。
所以,在1秒时间内计数器所记录的结果,就是被测信号的频率。
2)被测频率信号取自实验箱晶体振荡器输出信号,加到主控室的输入端。
3)再取晶体振荡器的另一标准频率信号,经分频后产生各种时基脉冲:1ms,10ms,0.1s,1s等,时基信号的选择可以控制,即量程可以改变。
4)时基信号经控制电路产生闸门信号至主控门,只有在闸门信号采样期间内(时基信号的一个周期),输入信号才通过主控门。
5)f=N/T,改变时基信号的周期T,即可得到不同的测频范围。
6)当主控门关闭时,计数器停止计数,显示器显示记录结果,此时控制电路输出一个置零信号,将计数器和所有触发器复位,为新一次采样做好准备三、课程设计思路频率测量的基本原理是计算每秒钟内待测信号的脉冲个数。
FPGA八位十进制数字频率计
数字系统设计与VHDL课程设计任务书一、题目:基于FPGA的八位十进制数字频率计的设计与仿真二、主要内容本次设计是运用FPGA(现场可编程门阵列)芯片来实现一个八位十进制数字频率计,输入信号频率通过数码管来显示。
设计中采用Verilog HDL语言编程,运用QUARTUS Ⅱ软件实现。
三、基本要求1. 查阅相关原始资料,书写文献综述,英文资料翻译。
2. 理解相关的资料,确定系统功能、性能指标,选择系统组成方案。
3. 选择系统方案,运用Verilog HDL编程,采用QUARTUS Ⅱ集成开发环境进行编辑、综合测试,并进行引脚锁定。
4. 采用MagicSOPC实验开发平台,以FPGA为核心器件,主控芯片为EP2C35F672C8器件并下载到试验箱中进行验证,最终实现所需的八位十进制数字频率计,并在数码管上显示。
5. 撰写研究报告及结果分析,书写课程设计论文。
四、时间安排五、教材及参考书[1] 潘松, 王国栋. VHDL实用教程[M].西安:电子科技大学出版社,2007.[2] 黄智伟. FPGA系统设计与实践[M].北京:电子工业出版社,2005.[3] 包明. 赵明富.EDA技术与数字系统设计[M].北京:北京航空航天大学出版社,2001.[4] 莫琳,基于FPGA的频率计的设计与实现[J].现代电子技术,2004[5] EDA修改稿基于FPGA的八位十进制数字频率计学生姓名:学院:专业班级:专业课程:指导教师:2014 年6 月15 日一、系统设计1.系统设计要求(1)频率测量范围:1-99.999999MHZ。
(2)测量误差<5%。
2.方案设计使用现场可编程逻辑器件(FPGA)制作,利用Verilog HDL硬件描述语言编程进行控制,然后下载烧写实现。
对于八位十进制数字频率计的设计,本方案采用的是现场可编程逻辑器件来实现, 它的优点是所有电路集成在一块芯片上,此方案所需的外围电路简单,这样它的体积就减少了,同时还提高了系统的稳定度,还可以用软件QuartusⅡ软件进行仿真和调试等,可以充分利用verilog HDL硬件描述语言方便的编程,提高开发效率,缩短研发周期,降低研发成本;而且易于进行功能的扩展,实现方法灵活,调试方便,修改容易。
8位十进制频率计的设计
8位十进制频率计的设计1.设计原理频率计的设计原理基于信号计数和数码显示。
通过对输入信号进行计数,并将计数结果转换为十进制形式进行显示,从而实现对频率的测量。
2.电路构成输入电路负责对输入信号进行放大、滤波和适配等处理,以保证输入信号的准确性和稳定性。
计数电路负责对输入信号进行计数和计数结果的存储。
显示电路负责将计数结果转换为十进制形式,并驱动数码显示器进行显示。
控制电路负责对电路的各个模块进行协调控制和时序控制。
3.工作过程当输入信号到达频率计时,输入电路将信号进行处理,并传递给计数电路。
计数电路对输入信号进行计数,并将计数结果存储在计数寄存器中。
当达到指定的计数时间后,控制电路将计数寄存器中的数值传递给显示电路。
显示电路将计数结果进行解码转换,并驱动数码显示器进行显示。
4.性能优化为了提高8位十进制频率计的性能和精度,可以采取以下几种优化措施。
a)输入电路的设计应具有较高的增益和较好的滤波特性,以保证输入信号的准确性和稳定性。
b)计数电路的设计应具有较高的计数速度和较大的计数范围,以适应不同频率信号的计数需求。
c)显示电路的设计应具有较高的解码精度和较好的驱动能力,以保证数码显示器的准确显示。
d)时序控制应合理设计,以保证各个模块之间的协调和同步,避免时序冲突和干扰。
e)程序算法的优化也是提高频率计性能的关键,可以通过优化计数算法和数据处理方式等方面来提高系统的效率和响应速度。
总之,8位十进制频率计的设计需要考虑输入电路、计数电路、显示电路和控制电路等多个方面的因素,同时还需要合理优化和调整各个模块的设计和工作方式,以提高频率计的性能和精度。
8位十进制显示数字频率计(带周期)设计报告
EDA期末考试设计报告设计题目:8位十进制显示数字频率计(带周期测量) 学校:梧州学院系别:电子信息工程系班别:09电本2班姓名:陈迪学号:5组员:刘芸云王缉俭指导老师:黄玉健一、设计内容:8位十进制显示数字频率计(带周期测量)。
二、设计目的与要求:1、设计电路实现测量1~Hz方波信号的频率以及其周期,并以十进制的方式显示。
2、要求其数值用七段LED数码管或液晶屏显示。
3、在实验系统上硬件测试,验证此设计的功能。
4、画出实体图,设计原理图,要求用Protel设计出具体的电路原理图。
三、设计原理:8位十进制显示数字频率计(带周期测量)是由8位十进制频率计、8位十进制周期测量器和带锁存功能的64选32数据选择器构成。
频率计基准信号采用8Hz的方波信号,而周期测量采用基准信号为50MHz的方波信号。
其中,频率计和周期测量由相同的32位数据锁存器和8位十进制计数器及不同的测频控制电路构成。
为使电路设计更加简单快捷,且方便阅读与理解,本电路使采用模块化的设计思想,先由VHDL源程序对各个模块进行独立编写、测试,然后封装,再用原理图方式进行连接、整合与波形和硬件仿真。
例如将用CLOCK5、CLOCK2输入标准频率,CLOCK0输入被测频,用数码管显示频率和周期。
Protel 设计原理图:11223344DDCCBBA ADig0Dig0Dig0Dig0Dig0Dig0Dig0Dig064选32数据选择器测频控制(频率)8位十进制计数器32位数据锁存器A32位数据锁存器B测频控制(周期)8位十进制计数器FCLKFINSENPCLK选通信号锁存信号8Hz 标准信号50MHz 标准信号测试信号32位数据32位数据32位数据32位数据32位数据锁存信号锁存信号清零信号清零信号使能信号使能信号选通灯锁存灯7段数码管显示8位十进制频率计(带测周期)09电本2本 陈迪 刘芸云 王缉俭1、频率测量的基本原理:根据频率的定义,若某一信号在T时间内重复变化N次,则可知该信号的频率为:f =N/T 对此可采用数字逻辑电路中的门电路来实现,如图:在与门端加入被测信号,另一端加宽度为T1的控制信号(称闸门信号),输出端仅能在T1时间内有波形的出现,然后送入计数器计数,得N*T2=T1所以f =N/T1。
基于 fpga 的数字频率计的设计与实现
基于 FPGA 的数字频率计的设计与实现随着现代科技的不断发展,我们对数字信号处理的需求也越来越高。
数字频率计作为一种用来测量信号频率的仪器,在许多领域有着广泛的应用,包括无线通信、雷达系统、声音处理等。
在这些应用中,精确、高速的频率测量常常是至关重要的。
而基于 FPGA 的数字频率计正是利用了 FPGA 高速并行处理的特点,能够实现高速、精确的频率计算,因此受到了广泛关注。
本文将从设计思路、硬件实现和软件调试三个方面,对基于 FPGA 的数字频率计的设计与实现进行详细讲解。
一、设计思路1.1 频率计原理数字频率计的基本原理是通过对信号进行数字化,然后用计数器来记录单位时间内信号的周期数,最后根据计数器的数值和单位时间来计算信号的频率。
在 FPGA 中,可以通过硬件逻辑来实现这一过程,从而实现高速的频率计算。
1.2 FPGA 的优势FPGA 作为一种可编程逻辑器件,具有并行处理能力强、时钟频率高、资源丰富等优点。
这些特点使得 FPGA 在数字频率计的实现中具有天然的优势,能够实现高速、精确的频率测量。
1.3 设计方案在设计数字频率计时,可以采用过采样的方法,即对输入信号进行过取样,得到更高精度的测量结果。
还可以结合 PLL 锁相环等技术,对输入信号进行同步、滤波处理,提高频率测量的准确性和稳定性。
二、硬件实现2.1 信号采集在 FPGA 中,通常采用外部 ADC 转换芯片来对输入信号进行模数转换。
通过合理的采样率和分辨率设置,可以保证对输入信号进行精确的数字化处理。
2.2 计数器设计频率计最关键的部分就是计数器的设计。
在 FPGA 中,可以利用计数器模块对输入信号进行计数,并将计数结果送入逻辑单元进行进一步的处理。
2.3 频率计算通过对计数结果进行适当的处理和归一化,可以得到最终的信号频率。
在这一过程中,需要注意处理溢出、误差校正等问题,以保证频率测量的准确性和稳定性。
三、软件调试3.1 FPGA 开发环境在进行基于 FPGA 的数字频率计设计时,可以选择常见的开发工具,例如 Xilinx Vivado 或 Quartus II 等。
8位十进制频率计的设计
1. 实验目的设计8位十进制频率计,学习较复杂的数字系统设计方法。
学习VHDL编码例花语句的使用。
2. 实验内容在SmartSOPC试验箱上实现8位十进制频率计的设计,被测信号从freq_input引脚(FPGA的13脚位于QuickSOPC核心板的左上角)输入,经过检测后测得的频率值用数码管1~8显示。
被测的频率信号由测频内部产生并输出到外部引脚,其频率对应关系图表 3.12所示。
引脚频率值/Hz 引脚频率值/Hz20 24000000 42 75000021 12000000 43 37500023 6000000 44 18750039 3000000 45 9375041 1500000 46 46875 3. 实验原理跟据频率的定义和频率测量的基本原理,测定信号的频率必须有一个脉宽为1秒的输入信号脉冲计数允许的信号;1秒计数结束后,计数值锁入锁存器,并为下一测频率计数周期做准备的计数器清零。
计数器在这里是由8个十进制数器级连组成,如图3.58所示是频率计的计数结构图,从图中可以看出十进制模块之间是由进位链级连而成的。
图3.58频率计计数器结构图4. 实验步骤1.启动QuartusⅡ建立一个空白工程,然后命名为PLJ 。
2.源程序文件命名为PLJ,并选择器件为Altera公司Cyclone系列的EPIC12Q240C8芯片,如图1—1图1—13.新建VHDL源程序文件,输入程序代码并保存。
再进行综合编译,若发现编译过程中有错误,则找出并更正错误,直到编译成功为止。
如图1—2(1)就表示编译成功了(warings可以不考虑)。
图1—2(1)4.对引脚进行锁定。
通过选择[Assignments]下的[pins]。
分配好管脚如图1—3所示。
图1—35.将未使用的管脚设置为三输入。
以防止损坏芯片如图1—4所示。
图1—46.拿出Altera ByteBlasterⅡ下载电缆,并将此电缆的两端分别接到PC机的打印机并口和QuickSOPC核芯板上的JTAG下载口上,打开电源,执行下载命令,把程序下载到FPGA器件中。
8位十进制数字频率计设计
1.5 时序控制器设计
图11-9 7493真值表
图11-10 74154真值表
1.5 时序控制器设计
图11-11 图11-8电路的仿真波形
1.6 顶层电路设计与测试
图11-12 频率计顶层电路原理图
1.6 顶层电路设计与测试
图11-13 频率计工作时序波形
1.7 在FPGA中完成硬件实测
实测的内容有2项: 1. 能否完成正常的测频工作,即输入信号的频率与显示的数据是
1.2 设计一个两位十进制计数器
图11-5 图11-3电路的仿真波形
1.3 8位十进制计数器的设计
图11-6 8位十进制计 数器电路:
CNT32B.bdf
1.4 32位寄存器设计
图11-7 由4个74374构成的32位寄存器电路:LOCK32.bdf
1.5 时序控制器设计
图11-8 频率计测频时序控制器电路
数字电子技术
8位十进制数字频率计设计
1.1 测频原理
图11-1 频率计模型框图
1.1 测频原理
图11-2 测频时序
1.2 设计一个两位十进制计数器
图11-3 两位十进制计数器电路图:COUNTER10.bdf
11.1 8位十进制数字频率计设计
1.2 设计一个两位十进制计数器
图11-4 74390的真值表
否一致,稳定性是否好; 2. 被测信号能达到的频率上限是多少,与计算机的时序分析结果
的一致性如何。需要注意的是,实测时CLK1的频率必须是 8Hz。如果没有,可以从其它信号分频得到。
数字电子技术
FPGA课程设计---基于RAM的十口8位计数器
FPGA课程设计---基于RAM的十口8位计数器西安邮电学院FPGA课程设计报告题目:基于RAM的十口8位计数器院系:通信与信息工程学院专业班级:电科0902班学生姓名:赵荷导师姓名:刘正涛起止时间: 2012-9-10 至 2012-9-21年月日FPGA课程设计报告提纲1.任务用一个10×8的双口RAM完成10个8位计数器,计数器的初值分别为1~10,时钟频率为1MHz,计数器计数频率为1Hz。
用FPGA开发板上的按键作为计数器计数值的输出选择控制,数码管(或led)作为选择计数器的计数值输出。
2.目的采用RAM实现计数器及FPGA功能验证3.使用环境(软件/硬件环境,设备等)前仿modelsim 6.1f后仿Quartus II 10.14.FPGA课程设计详细内容4.1 技术规范功能:1.先由复位键从选定的RAM地址中读出预置的8位初值存入计数模块。
2. 由开始键开始计数,暂停键暂停计数并同时存入RAM中以选定的存储单元。
3. 双端口RAM为10×8RAM由一个地址切换键按顺序切换1~10个地址端口。
4.系统工作流程:切换端口读出数据开始计数暂停计数存入数据计数流程5.切换端口 读出数 七段显示译码器译码输出到数码管显示读取结果输出流程6. 分频:1Hz 的秒计时频率,用来进行秒计时;4.2 设计方案信号定义:Clk_50MHzclk_1Hzreset clk_1MHz分频:1Hz 的秒计时频率,用来进行秒计时分频:时钟信号clk_50MHz ; 分频信号 clk_1Hz ; 分频信号 clk_1MHz ; clkclk_1hz dout [7:0] din[7:0] start 切换端口 读出数据 开始计数 暂停计数存入数据计数:开始计数 start计数器复位 reset ;计数输出 din[7:0]; 计数置数 add ;分频模块计数模块 由RAM 读出初值dout七段显示译码器dout显示模块RAM :10×8的RAM 存储阵列10个字每个子8位输入端 输入地址 wr_address [3:0]; 输入数据 din[7:0];上升沿有效写入信号 wr ;输出端 输出地址rd_address[3:0]; 输出数据 dout[7:0]; 上升沿有效读信号 rd ;端口 I/O功能rd I读使能,高电平有效;系统使能工作,将din 数据写入ram 的存储单元中 wr O写使能,高电平有效;将ram 存储单元中的数据读出dout. Wr_address[3:0] I写地址din[7:0] I 数据输入口,内部接口 dout[7:0]O数据输出,内部数据传送wr [7:0]dinclk10×8RAM 计数dout[7:[3:0]wr_ard [3:0]rd_are sta add 数reset I 复位端,时钟下降沿有效 add I计数器置数端startI开始/暂停键,高电平开始,低电平暂停 Rd_address[3:0]I 读地址rd_clk I 读时钟,下降沿触发 wr_clk I写时钟,上升沿触发ain[3:0] Ram 存储单元 0001 0000_0001 0010 0000_0010 0011 0000_0011 0100 0000_0100 0101 0000_0101 0110 0000_0110 0111 0000_0111 1000 0000_1000 1001 0000_1001 1010 0000_1010分频clk_1计数控制控制模块:开始、暂停、返回初值,clkRAM 输入/输出stE 置数数码管(或led )显示模块4.3 功能验证方案(1)验证对象及目的本验证方案将描述对双端口RAM计数器的验证。
八位十进制数字频率计设计报告
主控单元设计
MCU选型 1
选择功能强大、低功耗的ARM Cortex-M处理器
时钟电路 2
采用高精度晶振提供稳定的系统时钟
外围接口 3
包括GPIO、ADC、定时器、串口等外设接口
电源管理 4
整合电源调节电路以提供稳定电源 主控单元是该频率计的核心,负责采集、处理和显示数据。我们采用性能强劲、功耗低的ARM Cortex-M系列MCU作为主控芯片,并设计高精度时钟电路, 同时集成丰富的外设接口和电源管理电路,以确保系统的稳定运行。
对设计、制造、使用环境等各个环节进行全面的可靠性分析 和评估。
识别可能出现的失效模式,并采取相应的防范措施。
3 加速寿命测试
通过加速寿命试验,预测产品的实际使用寿命。
4 环境适应性
评估产品在不同环境条件下的性能和可靠性表现。
成本分析
主要原材料成本 制造成本 研发成本 营销及管理成本
占总成本64% 占总成本25% 占总成本5% 占总成本6%
关键元器件选型
集成电路
根据系统功能需求,选择合适的微控 制器、放大器、逻辑门电路等集成电 路器件。
无源元件
选用合适的电阻、电容、电感等无源 元件,满足电路的电压、电流和频率 需求。
显示模块
根据显示内容和环境选择合适的LCD 、LED或OLED显示器件。
电源模块
选用适合的变压器、稳压器、开关电 源等电源系统元件。
系统可以在相对湿度10%至95%的环 境中稳定运行,确保设备在潮湿环境中 也能可靠使用。
海拔适应
设计可在海拔0-5000米的高度环境中 正常工作,适应不同地理环境的使用需 求。
振动测试
系统通过严格的振动测试,能够承受5500Hz范围内的随机振动,抗击震能力 强。
课程设计(论文)基于fpga的数字频率计的设计
目录1 引言 (2)2 FPGA及VERILOG HDL (2)2.1FPGA简介 (2)2.2V ERILOG HDL概述 (3)3 数字频率计的设计原理 (3)设计要求 (3)频率测量 (3)时间门限测量法 (3)标准频率比较测量法 (3)3.2.3 等精度测量法 (4)方案提出及确定 (4)系统设计与方案论证 (5)测频控制信号发生器设计 (5)寄存器设计 (6)计数器的设计 (6)小结 (6)4 数字频率计的设计 (6)功能模块设计 (6)分频器模块 (6)测频控制信号发生器模块 (6)4.1.3 32位锁存器模块 (7)译码器模块 (8)十进制计数器模块 (8)用原理图描述的模块 (9)4.2顶层文件 (11)小结 (12)5 软件的测试 (12)测试的环境 (12)调试和器件编程 (13)6 硬件设计 (13)6.1EPF10K30ATI144-3FPGA芯片简介 (13)6.2EPC2配置芯片简介 (13)配置模式 (13)下载方式 (13)硬件电路原理图设计 (14)频率测试 (15)7 结论及展望 (16)结论 (16)展望 (16)致谢 (17)参考文献 (18)附录 (18)基于FPGA的数字频率计的设计摘要:在电子技术中,频率是最基本的参数之一,并且与许多电参量的测量方案、测量结果都有十分密切的关系,因此频率的测量就显得更加重要。
通过运用Verilog HDL语言,实现8位数字频率计,并利用MAX+PLUSII集成开发环境进行编辑、综合、波形仿真,并下载到FPGA器件中,经实际电路测试,该系统性能可靠。
关键词:硬件描述语言现场可编程门阵列FPGA频率计频率测量1 引言在电子技术中,频率是最基本的参数之一,并且与许多电参量的测量方案、测量结果都有十分密切的关系,因此,频率的测量就显得更为重要。
测量频率的方法有多种,其中电子计数器测量频率具有精度高、使用方便、测量迅速,以及便于实现测量过程自动化等优点,是频率测量的重要手段之一。
基于fpga的数字频率计设计
基于FPGA的数字频率计设计随着科学技术的不断进步,数字电子技术在各个领域都得到了广泛的应用。
其中,FPGA(现场可编程门阵列)作为一种灵活、可编程、可重构的数字电路设备,具有较高的性能和灵活性,被广泛应用于数字信号处理、通信、图像处理等各个领域。
本篇文章将介绍基于FPGA的数字频率计设计。
一、概述数字频率计是一种用于测量信号频率的设备,可以方便快速地获取信号的频率信息。
传统的数字频率计通常采用微处理器或专用集成电路来实现,但是这些方案在某些应用场景下存在着局限性。
使用FPGA来设计数字频率计,既可以充分利用FPGA的灵活性和并行性,又可以实现高性能和低功耗的设计。
二、基于FPGA的数字频率计设计原理基于FPGA的数字频率计主要通过计数器和时钟信号来实现。
其设计原理可以分为以下几个步骤:1. 时钟信号同步:通过FPGA内部的PLL(锁相环)模块,可以实现时钟信号的同步和稳定。
2. 信号输入:将待测信号输入FPGA,可以通过外部接口或模拟输入模块实现。
3. 计数器设计:利用FPGA内部的计数器模块,对输入信号进行计数,从而获取信号的频率信息。
4. 频率计算:根据计数器的计数值和时钟信号的周期,可以计算出输入信号的频率信息。
三、基于FPGA的数字频率计设计实现基于上述原理,可以利用FPGA内部的逻辑资源,设计出一个高性能的数字频率计。
具体实现步骤如下:1. 确定输入信号的接口:选择适合的输入接口,可以是数字信号接口、模拟信号接口或者通用IO口。
2. 设计计数器模块:根据待测信号的频率范围和精度要求,设计合适的计数器模块,可以结合FPGA的时钟管理模块实现高精度计数。
3. 编写频率计算算法:根据计数器得到的计数值和时钟信号的周期,设计频率计算算法,可以采用移位运算、累加运算等实现高效的频率计算。
4. 实现显示与输出:设计合适的显示模块和输出接口,将测得的频率信息在显示屏或者外部设备上进行输出。
四、基于FPGA的数字频率计设计应用基于FPGA的数字频率计设计可以广泛应用于各种领域,如通信、测控、仪器仪表等。
基于FPGA的数字频率计设计
.E D A课程设计题目基于FPGA的数字频率计设计系别计电系专业应用电子技术班级:06应电组员一:X俊组员二:杨利鲜组员三:董明超指导老师8位十进制显示数字频率计(带周期测量)功能要求:1、能测量1—99999999Hz的方波信号频率,(能测量10uS—1000mS的周期)[1MHZ/1us--1HZ/1000ms],并以十进制的方式显示。
2、具有工作方式转换控制键、开始键、停止键等控制键。
3、数值显示用LED数码管动态显示。
1、频率计的工作原理本文要设计一个8位十进制数字频率计,需要由四种器件来组成,即:测频控制信号发生器(FTCTRL)、有时钟使能的十进制计数器(T10)、32位锁存器(REG32B)、除法器模块(division). 因为是8位十进制数字频率计,所以计数器T10需用8个,7段显示LED7也需用8个.频率测量的基本原理是计算每秒钟内待测信号的脉冲个数。
为此,测频控制信号发生器FTCTRL应设置一个控制信号时钟CLKK,一个计数使能信号输出端T_EN、一个与T_EN输出信号反向的锁存输出信号Load、和清零输出信号RST_T。
如CLKK的输入频率为1HZ,则输出信号端T_EN输出一个脉宽恰好为1秒的周期信号,可以作为闸门信号用。
由它对频率计的每一个计数器的使能端进行同步控制。
当T_EN高电平时允许计数,低电平时停止计数,并保持所计的数。
在停止计数期间,锁存信号Load的上跳沿将计数器在前1秒钟的计数值锁存进32位锁存器REG32B,由7段数码管稳定显示。
设置锁存器的好处是,显示的数据稳定,不会由于周期性的清零信号而不断闪烁。
锁存信号之后,清零信号RST_T对计数器进行清零。
为下1秒钟的计数操作作准备。
测频控制信号发生器的工作时序如图1示。
图1 测频控制信号发生器的工作时序图图2 电路设计原理框图2、用VHDL语言设计频率计频率计所需四种器件的VHDL文件(频率计的底层文件)及波形仿真结果2.1 测频控制信号发生器FTCTRLLIBRARY IEEE; --测频控制电路USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY FTCTRL ISPORT (CLKK : IN STD_LOGIC; -- 1HzT_EN : OUT STD_LOGIC; -- 计数器时钟使能RST_T : OUT STD_LOGIC; -- 计数器清零Load : OUT STD_LOGIC ); -- 输出锁存信号END FTCTRL;ARCHITECTURE behav OF FTCTRL ISSIGNAL Div2CLK : STD_LOGIC;BEGINPROCESS( CLKK )BEGINIF CLKK'EVENT AND CLKK = '1' THEN -- 1Hz时钟2分频Div2CLK <= NOT Div2CLK;END IF;END PROCESS;PROCESS (CLKK, Div2CLK)BEGINIF CLKK='0' AND Div2CLK='0' THEN RST_T<='1';-- 产生计数器清零信号ELSE RST_T <= '0'; END IF;END PROCESS;Load <= NOT Div2CLK; T_EN <= Div2CLK;END behav;图3测频控制信号发生器的波形仿真图2.2带时钟使能十进制计数器T10LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY T10 ISPORT (CLK,RST,EN : IN STD_LOGIC;CQ : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);COUT : OUT STD_LOGIC );END T10;ARCHITECTURE behav OF T10 ISBEGINPROCESS(CLK, RST, EN)VARIABLE CQI : STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINIF RST = '1' THEN CQI := (OTHERS =>'0') ; --计数器复位ELSIF CLK'EVENT AND CLK='1' THEN --检测时钟上升沿IF EN = '1' THEN --检测是否允许计数IF CQI < "1001" THEN CQI := CQI + 1; --允许计数ELSE CQI := (OTHERS =>'0');--大于9,计数值清零END IF;END IF;END IF;IF CQI = "1001" THEN COUT <= '1'; --计数大于9,输出进位信号ELSE COUT <= '0';END IF;CQ <= CQI; --将计数值向端口输出END PROCESS;END behav;图4带时钟使能十进制计数器的波形仿真图2.3. 除法器模块(division)library IEEE;use IEEE.STD_LOGIC_1164.all;use IEEE.STD_LOGIC_UNSIGNED.all;use IEEE.STD_LOGIC_ARITH.all;entity division isport(en:in STD_LOGIC;fx: in STD_LOGIC_VECTOR(31 downto 0);shang: out STD_LOGIC_VECTOR(31 downto 0));end division;architecture behav of division isbeginprocess(en,fx)beginif en = '1' thenshang<=CONV_STD_LOGIC_VECTOR(1000000/((conv_integer(fx(31 downto 28)))*10000000+(conv_integer(fx(27 downto 24)))*1000000+(conv_integer(fx(23 downto 20)))*100000+(conv_integer(fx(19 downto 16)))*10000+(conv_integer(fx(15 downto 12)))*1000+(conv_integer(fx(11 downto 8)))*100+ (conv_integer(fx(7 downto4)))*10+(conv_integer(fx(3 downto 0)))),32);else shang<=fx;end if;end process;end behav;图5除法器的波形仿真图2.4 32位锁存器REG32BLIBRARY IEEE; --32位锁存器USE IEEE.STD_LOGIC_1164.ALL;ENTITY REG32B ISPORT ( LK : IN STD_LOGIC;DIN : IN STD_LOGIC_VECTOR(31 DOWNTO 0);DOUT : OUT STD_LOGIC_VECTOR(31 DOWNTO 0) ); END REG32B;ARCHITECTURE behav OF REG32B ISBEGINPROCESS(LK, DIN)BEGINIF LK'EVENT AND LK = '1' THEN DOUT <= DIN;END IF;END PROCESS;END behav;图6锁存器REG32B的波形仿真图3. 顶层原理图的设计输入在以上四个器件正确设计的基础上,再按设计原理图的要求将这四种器件连接起来,形成顶层文件,件编成电路图的形式,并在此基础上建立为一个新的工程,进行综合仿真.模块连接图如图2 电路设计原理框图所示。
基于FPGA的8位十进制频率计设计
begin process(clk)is begin if clk' event and clk=' 1'then div2clk<=not div2clk; end if; end process;
process(clk,div2clk)is begin if clk='0' and div2clk='0' then clr_cnt<=' 1'; else clr_cnt<='0'; end if;
下面就如何在较短时间内做好标底审查工作谈谈看法. 一 、标 底 审 查 的 方 法 1.“筛 选 ”审 查 法 筛选法是统筹法的一种, 也是一种对比方法。建筑工程虽面积和 高度的不同, 但是它们的各个分部分项工程的工程量、造价、用工量在 每个单位面积上的数值变化不大。将这些数据加以汇集、优选, 找出归 纳为工程量、单价、用工三大类单方基本值表, 并注明其适用的建筑标 准。当所审查的预算的建筑标准与“基本值”所适用的标准不同, 就要 对其进行调整。这种方法的优点是简单易懂, 便于掌握, 审查速度快, 发 现 问 题 快 。运 用 这 方 法 的 关 键 是 平 时 要 注 意 各 种 型 工 程 造 价 指 标 的 收集, 拟审查标底的工程结构特征要与已建工程或已结算工程结构指 标的关系对应, 只有是同类型工程指标才可套用。这就要求我们平时 注意工程造价资料的积累, 特别是自己做过的工程, 要做到每做完一 个 工 程 都 要 做 相 应 的 技 术 、经 济 指 标 、常 见 主 要 材 料 消 耗 量 指 标 、主 要 工 程 量 指 标 。 除 此 之 外 还 要 多 注 意 查 阅 省 、市 造 价 管 理 部 门 发 布 的 经 济指标方面的资 料 , 这 样 我 们 积 累 的 工 程 造 价 “数 据 库 ”会 越 来 越 多 , 参考数据随处可查, 用时可信手拈来。 2.重 点 审 查 重 点 审 核 法 就 是 抓 住 工 程 预 结 算 中 的 重 点 进 行 审 核 的 方 法 。这 种 方法类同于全面审核法, 其与全面审核法之区别仅是审核范围不同而 已。该方法是有侧重的, 一般选择工程量大而且费用比较高的分项工 程 的 工 程 量 作 为 审 核 重 点 。如 基 础 工 程 、砖 石 工 程 、混 凝 土 及 钢 筋 混 凝 土工程, 门窗幕墙工程等。高层结构还应注意内外装饰工程的工程量 审核。而一些附属项目、零星项目( 雨蓬、散水、坡道、明沟、水池、垃圾 箱) 等, 往往忽略不计。其次重点核实与上述工程量相对应的定额单 价, 尤其重点审核定额子目容易混淆的单价。另外对费用的计取、材料 的价格也应仔细核实。该方法的优点是工作量相对减少, 效果较佳。 ( 1) 审查定额或单价的套用。 1. 对直接套用定额单价的审核— ——首 先 要 注 意 采 用 的 项 目 名 称 和内容与设计图纸标准是否要求相一致, 如墙体、地面、楼面、天棚、外 墙装饰的建筑做法、断面形式、强度等级( 混凝土标号、水泥砂浆比例) 等。其次工程项目是否重复套用。另外定额主材价格套用是否合理, 对 有 最 高 限 价 的 材 料 的 定 额 套 用 的 规 定 等 。 如 花 岗 石 、大 理 石 、木 地 板 、
FPGA实验——8位数码显示频率计设计
哈尔滨理工大学软件学院实验报告课程FPGA题目8位数码显示频率计设计(4学时)班级集成12-2班专业集成电路设计与集成系统学生学号12140202272014年10月22日实验三8位数码显示频率计设计实验三8位数码显示频率计设计(4学时)实验目的^设计8位频率计,学习较复杂的数字系统的设计方法。
实验原理及内容二根据频率的定义和频率测量的基本原理。
测定信号的频率必换有一个脉宽为1秒的输入信号脉冲计数允许的信号;1秒计数结束后,计数值被锁入锁存器,计数器清零,为下一测频计数周期作好准备。
实验步骤:i设]十生成1秒时钟信号“CLK2 •设计测频控制信号发生器一3■设#1秒计磁值锁存器--4 •设计32位一进制计数器一彳设计十六进制7段译码器一FTCTRL; REG32B; COUNTER32B Decoder6 ■设计生成lKHz或lOKHz待测信号一Fin 7•気成频率计设计、仿真和妓件实现.频率计电路框图实验目的:LOAD FTCTRLCLKKRST_CWTCNT_ENJ32 1- jiCLR ENABLoourCOUNTER328F,n频率计测频控制器FTCTRL 测控时序图^-CLKK上斤泪fit 仔REG32BK _______ ™4Fin-o LOAD实验原理及内容:根据频率的定义和频率测量的基本原理。
测定信号的频率必须有一个脉宽为1秒的输入信号脉冲计数允许 的信号;1秒计数结束后,计数值被锁入锁存器,计数器清零, 为下 一测频计数周期作好准备。
实验步骤:1•设计生成1秒时钟信号-- 2•设计测频控制信号发生器-- 3•设计1秒计数值锁存器 --4•设计32位二进制计数器-- 5•设计十六进制7段译码器--6•设计生成1KHz 或10KHz 待测信号-- Fin7•完成频率计设计、仿真和硬件实现。
实验程序:CLK FTCTRL; REG32B; COUNTER32B Decodermodule frequenee (input output reg[31:0]freq_out //频率输出);reg [31:0] cnt1,num; //cnt1 ,分频作用,产生脉宽一秒基准时钟 // num,用来计算1s 内待测信号所发出的脉冲数用来计数/**** 产生占空比为50%,周期为2s 的单位脉冲sec ****/always @ (posedge clk) beginif(cnt 仁=50_000_000)// 50000000分频,产生脉宽1s 脉宽基准时钟(要基准时钟为 50M)begin cnt1<=0;inputCLK_X,// 待测信号rst , reg sec;//sec 用来产生周期为2s 脉宽1s 基准时钟reg state;// 和 sec 共同为使能信号sec<=~sec;endelsecnt1<=cnt1+1;end/**** 统计待测信号在单位时间1s 内产生的脉冲数****/always @ (posedge CLK_X )beginif (!rst)beginfreq_out<=0;num<=0;state<=1;endelsebeginif(sec) // sec为高电平期间(1s),统计待测信号产生的脉冲数beginnum<=num+1;state<=0;endelse // sec为低电平期间(1s),读取待测信号产生的脉冲数begincase(state)0: begin freq_out<=num; state<=1; end // 读取脉冲数(由于freq为reg型,在下一次sec低电平到来之前,会一直保持当前值不变)1: num<=0; // 将num 清零,为下一个sec高电平期间脉冲数的统计做准备//endcaseend//如果待测时钟频,比 1 秒脉宽的基准时钟还小,才会出现一只增数字的情况,即num未来的及清零endend endmodulemodule newclk(clk,reset,clk_out);input clk,reset;output clk_out;reg clk_out;reg[100:0] count;parameter N = 5000; //分频产生1K HZ 脉的时钟always @ (posedge clk)if(!reset)begincount <= 1'b0;clk_out <= 1'b0;endelseif ( count < N/2 -1)begincount <= count + 1'b1;endelsebeginend endmodulemodule shili(outputreg[6:0]h1,input [3:0]c,input clk); count <= 1'b0;clk_out <= ~clk_out;always@(c) begincase(c[3:0])4'b0000:h1<='b1000000;4'b0001:h1<='b1111001;4'b0010:h1<='b0100100;4'b0011:h1<='b0110000;4'b0100:h1<='b0011001;4'b0101:h1<='b0010010;4'b0110:h1<='b0000010;4'b0111:h1<='b1111000;4'b1000:h1<='b0000000;4'b1001:h1<='b0010000;4'b1010:h1<='b0001000;4'b1011:h1<='b0000011;4'b1100:h1<='b1000110;4'b1101:h1<='b0100001;4'b1110:h1<='b0000110;4'b1111:h1<='b0001110;default : h1<='b1000000;endcaseend endmodulemodule top_sevev( output [63:0]H, 须为wire 行变量input [31:0]freq, input clk);shili seven_0( H[7:0],freq[3:0],clk); 七段数码管的模块的实例化shiliseven_1( H[15:8],freq[7:4],clk);shiliseven_2( H[23:16],freq[11:8],clk);shiliseven_3( H[31:24],freq[15:12],clk);shiliseven_4( H[39:32],freq[19:16],clk);shiliseven_5( H[47:40],freq[23:20],clk);shili// H 必// 八个seven_6( H[55:48],freq[27:24],clk);shiliseven_7( H[63:56],freq[31:28],clk);en dmodule原理图:实验结果:1000Hz的测量结果100000Hz的测量结果。
八位十进制数字频率计
EDA课程设计报告书题目:8位十进制数字频率计的设计姓名:学号:所属学院:专业年级:指导教师:完成时间:8位十进制数字频率计的设计一、设计介绍数字频率计是采用数字电路制做成的能实现对周期性变化信号频率测量的仪器。
频率计主要用于测量正弦波、矩形波、三角波和尖脉冲等周期信号的频率值。
其扩展功能可以测量信号的周期和脉冲宽度。
通常说的,数字频率计是指电子计数式频率计。
频率计主要由四个部分构成:输入电路、时基(T)电路、计数显示电路以及控制电路。
在电子技术领域,频率是一个最基本的参数。
数字频率计作为一种最基本的测量仪器以其测量精度高、速度快、操作简便、数字显示等特点被广泛应用。
许多物理量,例如温度、压力、流量、液位、PH值、振动、位移、速度等通过传感器转换成信号频率,可用数字频率计来测量。
尤其是将数字频率计与微处理器相结合,可实现测量仪器的多功能化、程控化和智能化.随着现代科技的发展,基于数字式频率计组成的各种测量仪器、控制设备、实时监测系统已应用到国际民生的各个方面。
二、设计目的(1)熟悉Quatus 11软件的基本使用方法。
(2)熟悉EDA实验开发系统的使用方法。
(3)学习时序电路的设计、仿真和硬件设计,进一步熟悉VHDL设计技术。
三、数字频率计的基本原理数字频率计的基本原理是用一个频率稳定度高的频率源作为基准时钟,通常情况下计算每秒内待测信号的脉冲个数,此时我们称闸门时间为1秒。
闸门时间也可以大于或小于一秒。
闸门时间越长,得到的频率值就越准确,但闸门时间越长则每测一次频率的间隔就越长。
闸门时间越短,测的频率值刷新就越快,但测得的频率精度就受影响。
数字频率计的主要功能是测量周期信号的频率。
频率是单位时间(1S)内信号发生周期变化的次数。
如果我们能在给定的1S时间内对信号波形计数,并将计数结果显示出来,就能读取被测信号的频率。
数字频率计首先必须获得相对稳定与准确的时间,同时将被测信号转换成幅度与波形均能被数字电路识别的脉冲信号,然后通过计数器计算这一段时间间隔内的脉冲个数,将其换算后显示出来。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
宝鸡文理学院学报(自然科学版),第33卷,第1期,第-页,2013年3月J o u r n a l o f B a o j iU n i v e r s i t y o fA r t s a n dS c i e n c e s (N a t u r a l S c i e n c e ),V o l .33,N o .1,p p .-,M a r .2013D O I :C N K I :61-1290/N.h t t p ://w w w.c n k i .n e t /k c m s /d e t a i l /61.1290.N.基于F P G A 的8位十进制数字频率计设计*1韩芝侠(宝鸡文理学院电子电气工程系,陕西宝鸡721016)摘 要:目的 研究复杂数字电路在E D A 开发系统上的实现方法。
方法 在介绍E D A 特征及设计方法基础上,针对具体的C P L D /F P G A 开发系统,在Q u a r t u s 环境下设计了一款8位十进制数字频率计。
结果 下载/配置到实验板的目标器件上,经实际电路测试验证,达到了预期的设计要求。
结论与传统设计方法相比,该方案具有外围电路简单,程序修改灵活和调试容易等特点;设计的数字频率计测量范围大,精度高,读数直观清晰,可用于频率测量、机械转速测量等领域。
关键词:E D A ;C P L D /F P G A ;Q u a r t u s;数字频率计;复杂数字系统;仿真中图分类号:T P 391.9 文献标志码:A 文章编号:1007-1261(2013)01-0000-04D e s i g no f 8-b i t d e c i m a l s y s t e md i gi t a l f r e q u e n c y me t e rb a s e do nF P G A HA NZ h i -x i a(D e p t .E l e c t r o n i c s&E l e c t .E n g n .,B a o j iU n i v .A r t s&S c i .,B a o ji 721016,S h a a n x i ,C h i n a )A b s t r a c t :A i m T os t u d i e dt h em e t h o dt or e a l i z ead i g i t a l c i r c u i t i nE D A d e v e l o p m e n t s ys t e m.M e t h o d s B a s e do ni n t r o d u c i n g t h ec h a r a c t e r i s t i c sa n dd e s i g n m e t h o d so fE D A ,t oa i m a ts pe c if i c C P L D /F P G Ad e v e l o p m e n t s y s t e m ,A8-b i t d e c i m a l s y s t e md ig i t a l f r e q u e n c y m e t e r i s d e s i gn e d i nQ u -a r t u s e n v i r o n m e n t .R e s u l t s I t i sd o w n l o a d /c o n f i g u r a t i o nt o t h e t a r g e td e v i c eo f e x pe r i m e n t a l p l a t e ,af t e r a c t u a l c i r c u i t t e s t i ng a n dv e r i f y i n g,t h ee x p e c t e dd e s i g nr e q u i r e m e n t i sa c h i e v e d .C o n c l u s i o n C o m p a r i n g w i t h t r a d i t i o n a l d e s i g nm e t h o d ,t h i s d e s i g nh a s c h a r a c t e r i s t i c s o f s i m p l e p e r i ph e r a l c i r c u i t ,f l e x i b l e p r o g r a m m o d i f i c a t i o nw a y a n d e a s y d e b u g m o d e ;T h i s f r e q u e n c y m e t e r a l s oh a s c h a r a c t e r i s t i c s o fw i d em e a s u r e m e n t r a n g e ,h i g ha c c u r a c y,c l e a r a n d i n t u i t i v e r e a d i n g ,a n d c a nb e u s e d f o r f r e q u e n c y m e a s u r e m e n t ,m e c h a n i c a l s p e e dm e a s u r e m e n t ,e t c .K e y wo r d s :E D A ;C P L D /F P G A ;Q u a r t u s ;d i g i t a l f r e q u e n c y m e t e r ;c o m p l e xd i g i t a l c i r c u i t ;s i m -u l a t i o n1 E D A 技术应用随着计算机技术和集成电路技术的快速发展,电子技术设计面临着复杂度不断提高而设计周期不断缩短的矛盾。
为了解决这个问题,就必须采用新的设计方法和使用高层次的设计工具,于是E D A 技术应运而生。
ED A 遵循从上到下的设计原则。
首先从系统设计入手,在顶层进行功能划分和结构设计,顶层电路中的每个次层模块均可完成一个较为独立的功能,次模块在调试成功后可生成一个默认符号,供上一层模块调用。
而高密度可编程逻辑器件F P G A 是E D A 设计所必须的一种编程下载技术,具有易失性,每次重新加电,都要重新装入配置数据,突出优点是可反复编程,系统上电时,给F P G A 加载不同的配置数*收稿日期:2012-09-19,修回日期:2012-10-02基金项目:宝鸡文理学院科研项目(J G 0831)作者简介:韩芝侠(1970-),女,陕西扶风人,副教授,硕士,研究方向:检测技术及自动化装置.E m a i l :h a n _z h i _x i a 999@163.c o m网络出版时间:2012-10-11 17:25网络出版地址:/kcms/detail/61.1290.N.20121011.1725.001.html据,即可令其完成不同的硬件功能,这种配置的改变甚至可以在系统的运行中进行,实现系统功能的动态重构。
“在系统可编程”(I S P )是指对器件、电路或整个电子系统的逻辑功能可随时进行修改或重构的能力,支持I S P 技术的可编程逻辑器件称为在系统可编程逻辑器件,它不需要专门的编程器,利用计算机接口和一根下载电缆即可对器件编程。
1.1 设计任务设计基于F P G A 的8位十进制(即100MH z )数字频率入法综合实现,1.2 选择K H F-件开发系统,其上L E D 显示,其中们的a ~g 择A l t e r a 公司的图1 2 基于F P G A 在E D A 图1中C P L D /F 原理及本次开发环境的具体条件可知,8位十进制数字频率计主要由5个模块组成:分频器c l k -d i v 、测频控制信号发生器f c t r l 、8位十进制计数器c n t 32d 、32位锁存器r e g 32、动态扫描译码驱动器d e c o d e,其原理框图如图2所示。
图2 数字频率计原理框图50MH z 时钟经过c l k d i v 1分频为1H z 标准时基提供给f c t r l ,经过c l k d i v 2分频为1000H z作为动态扫描时8个数码管的位码扫描频率。
f c t r l 模块产生计数使能信号c n t _e n 、清零信号r s t_c n t 及锁存允许信号l o a d ,其中r s t _c n t 对计数器清零,为下一秒的计数操作做准备;c n t _e n 能产生一个1s 脉宽的周期信号,以对频率计中8个十进制计数器的使能端e n 进行同步控制;当c n t_e n 高电平时允许计数,低电平时停止计数,并保持其所计的脉冲数。
在停止计数期间,r e g 32在锁存信号l o a d 的上升沿将c n t 32d 在前一秒钟的计数值锁存进来。
译码器一方面将锁存78个数码8个数范围0~次,分足时序要,所之间比较2实现。
o 0);pr o c e s s (c l k )b e g i n i f c l k 'e v e n t a n d c l k ='1't h e n i fm f =24999999t h e n m f <=(o t h e r s =>’0’);f <=n o t f ;e l s em f <=m f +1;e n d if ;e n d i f;e n d p r o c e s s;2宝鸡文理学院学报(自然科学版)2013年n e w c l k <=f;e n d a r c h i t e c t u r e a r t;3.2 测频控制信号发生器设计图3为测频控制信号发生器时序图,其中c l k k 取1H z ,二分频器后得到计数使能信号c n t _e n ,将c n t _e n 反相后得到上升沿有效的锁存信号l o a d 。
在c l k k =‘0’a n dc n t _e n =‘0’时,r s t _c n t 产生一个高电平有效的清零信号。
据此可用V H D L 设计完成输入输出信号之间的逻辑描述,编译通过后仿真结果如下,证明设计正确。
源程序略。
图棾 测频控制信号发生器时序图3.3 8位十进制计数器c n t 32d 的设计计数模块在闸门时间内对被测信号进行计数。