简易数字频率计设计实验报告
- 格式:doc
- 大小:326.00 KB
- 文档页数:13
数字频率计设计报告书一、设计要求设计一个4位十进制数字式频率计,最大测量范围为10MHz。
量程分10kHz、100kHz、1MHz和10MHz四档(最大读数分别为9.999kHz、99.99kHz、999.9kHz、9999.kHz).量程自动转换规则如下:(1)当读数大于9999时,频率计处于超量程状态,此时显示器发出溢出指示,下一次测量时,量程自动增大一档,小数点位置随量程变更自动移位。
(2)可用手动方式使量程在每次测量开始时处于最低档。
显示方式如下:(3)采用记忆显示方式,即计数过程中不显示数据,待计数过程结束以后,显示计数结果,将此显示结果保持到下一次计数结束。
显示时间应不小于1s。
(4)送入信号应是符合CMOS电路要求的脉冲波,对于小信号模拟信号应有放大整形电路。
二、方案设计<1>整体思路所谓频率就是周期性信号在单位时间 (1s)内变化的次数。
若在一定时间间隔 T内测得周期性信号的重复变化次数为 N ,则频率可表示为 f =N /T (Hz)。
被测信号fx经放大整形电路变成计数电路所要求的脉冲信号,其频率与被测信号fx的频率相同。
基准电路提供标准时间基准信号clk,其高电平持续时间 t 1 = 1 s,当 1 s信号来到时 ,闸门电路开通 ,被测脉冲信号通过闸门电路,成为计数电路的计数脉冲 CP,计数电路开始计数,直到 ls信号结束时闸门电路关闭 ,停止计数。
若在闸门时间 1 s内计数电路计得的脉冲个数为 N ,则被测信号频率 f =NHz。
控制电路的作用有两个:一是产生锁存脉冲 CLK,使显示电路上的数字稳定;二是产生清“0”脉冲,使计数电路每次测量从零开始计数。
<2>时钟信号的选择设计电路中时钟信号采用12M有源晶振产生,下面是12M有源晶振引脚图:<3>整形电路的选择整形电路中可以用运算放大器LM311组成电压选择器实现,以下是关于此芯片的资料:引脚功能:GROUND/GND 接地INPUT + 正向输入端INPUT - 反向输入端OUTPUT 输出端BALANCE 平衡BALANCE/STROBE 平衡/选通V+ 电源正V- 电源负NC 空脚LM311引脚图由于LM311过于复杂且此次设计要求精度不高,整形电路可以改为如下电路:这样产生稳定3.3V为幅值的信号送入EPM570中,对芯片起到保护作用。
简易数字频率计设计报告目录一.设计任务和要求 (2)二.设计的方案的选择与论证 (2)三.电路设计计算与分析 (4)四.总结与心得..................................... 错误!未定义书签。
2五.附录........................................... 错误!未定义书签。
3六.参考文献....................................... 错误!未定义书签。
8一、 设计任务与要求1.1位数:计4位十进制数。
1.2.量程第一档 最小量程档,最大读数是9.999KHZ ,闸门信号的采样时间为1S. 第二档 最大读数是99.99KHZ ,闸门信号采样时间为0.1S.第三档 最大读数是999.9KHZ ,闸门信号采样时间为10mS.第四档 最大读数是9999KHZ ,闸门信号采样时间为1mS.1.3 显示方式(1)用七段LED 数码管显示读数,做到能显示稳定,不跳变。
(2)小数点的位置随量程的变更而自动移动(3)为了便于读数,要求数据显示时间在0.5-5s 内连续可调1.4具有自检功能。
1.5被测信号为方=方波信号二、设计方案的选择与论证2.1 算法设计频率是周期信号每秒钟内所含的周期数值。
可根据这一定义采用如图 2-1所示的算法。
图2-2是根据算法构建的方框图。
被测信号图2-2 频率测量算法对应的方框图 输入电路 闸门 计数电路 显示电路闸门产生整体方框图及原理频率测量:测量频率的原理框图如图2-3.测量频率共有3个档位。
被测信号经整形后变为脉冲信号(矩形波或者方波),送入闸门电路,等待时基信号的到来。
时基信号有555定时器构成一个较稳定的多谐振荡器,经整形分频后,产生一个标准的时基信号,作为闸门开通的基准时间。
被测信号通过闸门,作为计数器的时钟信号,计数器即开始记录时钟的个数,这样就达到了测量频率的目的。
周期测量:测量周期的原理框图2-4.测量周期的方法与测量频率的方法相反,即将被测信号经整形、二分频电路后转变为方波信号。
实验二简易数字频率计实验目的:(1)学会各种简易数字频率计的设计方法(2)学会VHDL的多进程及多层次设计方法实验原理:设计一个四位数字频率计,此频率计共分四档。
一档:0~9999Hz二档:10~99.99kHz三档:100~999.9kHz四档:1~10MHz分频器模块FEN通过对1Hz的时钟的分频得到0.5Hz的时钟信号。
测频模块FTEST,是整个程序的核心,此模块完成在1s的时间内对被测信号计数的功能,并通过输出数据实现自动换挡的功能。
LOCK模块用来锁存数据。
实验内容:在MAX+plusII中用VHDL语言输入FEN2 、MUX21、CD源程序,保存名字与实体名一致,后缀为vhd,选择目标器件为EP1K30TC144-3,然后进行编译、仿真。
参考程序:1、FEN通过对1Hz的时钟的分频得到0.5Hz的时钟信号。
LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY fen ISPORT(clk:IN STD_LOGIC;q:OUT STD_LOGIC);END fen;ARCHITECTURE fen_arc OF fen ISBEGINPROCESS(clk)VARIABLE x:STD_LOGIC;BEGINIF clk'EVENT AND clk='1'THENx:=NOT x;END IF;q<=x;END PROCESS;END fen_arc;波形仿真图:2、FTSET此模块完成在1s的时间内对被测信号计数的功能,并通过输出数据实现自动换挡的功能。
LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY ftest ISPORT(clr,Fx,door:IN STD_LOGIC;alm:OUT STD_LOGIC;q3,q2,q1,q0,dang:OUT STD_LOGIC_VECTOR(3 DOWNTO 0));END ftest;ARCHITECTURE CORN_ARC OF ftest ISBEGINPROCESS(door,Fx)VARIABLE c0,c1,c2,c3,c4,c5,c6 :STD_LOGIC_VECTOR(3 DOWNTO 0);VARIABLE x:STD_LOGIC;BEGINIF Fx'EVENT AND Fx='1'THENIF door='1'THENIF c0<"1001"THENc0:=c0+1;ELSEc0:="0000";IF c1<"1001"THENc1:=c1+1;ELSEc1:="0000";IF c2<"1001"THENc2:=c2+1;ELSEc2:="0000";IF c3<"1001"THENc3:=c3+1;ELSEc3:="0000";c4:=c4+1;ELSEc4:="0000";IF c5<"1001"THEN c5:=c5+1;ELSEc5:="0000"; IF c6<"1001"THEN c6:=c6+1;ELSEc6:="0000";alm<='1';END IF;END IF;END IF;END IF;END IF;END IF;END IF;ELSEIF clr='0'THENalm<='0';END IF;c6:="0000";c5:="0000";c4:="0000";c3:="0000";c2:="0000";c1:="0000";c0:="0000";END IF;IF c6/="0000"THENq3<=c6;q2<=c5;q1<=c4;q0<=c3;dang<="0100";ELSIF c5/="0000"THEN q3<=c5;q2<=c4;q1<=c3;q0<=c2;dang<="0011";q3<=c4;q2<=c3;q1<=c2;q0<=c1;dang<="0010";ELSEq3<=c3;q2<=c2;q1<=c1;q0<=c0;dang<="0001";END IF;END IF;END PROCESS;END CORN_ARC;波形仿真图:3、LOCK模块LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY LOCK ISPORT(A0,A1,A2,A3,A4:IN STD_LOGIC_VECTOR(3 DOWNTO 0);q0,q1,q2,q3,q4:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);clk:IN STD_LOGIC);END LOCK;ARCHITECTURE ART OF LOCK ISBEGINPROCESS(clk)BEGINIF(clk'EVENT AND clk='1')THEN q0<=A0;q1<=A1;q2<=A2;q3<=A3;q4<=A4;END IF;END PROCESS;END ART;波形仿真图:顶层仿真波形:实验结果:实现了四位数字频率计的设计。
考虑到测量方便,将数字频率计划分为四档:10~99Hz 、100~999Hz 、1000~9999Hz 、10000~99999Hz 。
这样可以保证每一档三位有效数字,而且第三位有效数字误差在±2以内时即可达到精度要求。
三个输入信号:待测信号、标准时钟脉冲信号和复位脉冲信号。
设计细化要求:频率计能根据数字频率计设计计双0102 雷昊 2001011830786一、课程设计内容及要求本次课程设计要求设计并用FPGA 实现一个数字频率计,具体设计要求如下:测量频率范围: 10Hz ~100KHz 精度: ΔF / F ≤ ±2 %系统外部时钟: 1024Hz 测量波形: 方波 Vp-p = 3~5 V 硬件设备:Altera Flex10K10 五位数码管 LED 发光二极管编程语言:Verilog HDL / VHDL二、系统总体设计输入待测信号频率自动选择量程,并在超过最大量程时显示过量程,当复位脉冲到来时,系统复位,重新开始计数显示频率。
基于上述要求,可以将系统基本划分为四个模块,分别为分频、计数、锁存和控制,并可以确定基本的连接和反馈,如上图所示。
三、系统及模块设计与说明如左图所示为数字频率计测量频率的原理图。
已知给定标准时钟脉冲高电平时间,将此0T 高电平信号作为计数器闸门电平,通过计数器得到时间内待测脉冲的个数N ,则有。
由图示可以看出,一个闸门电平时间内0T 0T Nf计数的最大误差为N ±1,为保证误差要求取N ≥100。
经计算,四档的闸门电平时间分0T 别为10s 、1s 、0.1s 和0.01s 。
仅对计数器计数值N 进行简单的移位即可得到结果。
产生闸门电平的工作由分频器完成。
分频器采用计数分频的方法,产生计数闸门电平和一系列控制脉冲,并接受计数器和控制器的反馈。
控制器主要用来判断计数器计数是否有效,从而控制档位转换,锁存器打开、关闭和设定值。
计数器在分频器和控制器的作用下对输入待测信号计数,并把计数值输出,在计数溢出时向控制器和分频器发送溢出脉冲。
基于单片机的简易数字频率计设计报告课程设计名称:近代电子学实验设计项目名称:简易数字频率计设计专业班级:电子信息科学与技术08级1班图1-2放大整形电路其中,放大部分由集成运算放大器构成的反向比例运算电路实图1-4 显示、锁存电路显示、锁存部分的电路是由6片74LS273和6个7段数码管构目录第一章总论错误!未定义书签。
1.1 项目名称及承办单位 ................................................................................................... 错误!未定义书签。
1.2 编制依据及原则 ........................................................................................................... 错误!未定义书签。
1.3 主要建设内容 ............................................................................................................... 错误!未定义书签。
1.4 研究重点 ....................................................................................................................... 错误!未定义书签。
1.5 研究结论 ....................................................................................................................... 错误!未定义书签。
数字频率计设计报告数字频率计设计报告一、设计目标本次设计的数字频率计旨在实现对输入信号的准确频率测量,同时具备操作简单、稳定性好、误差小等特点。
设计的主要目标是实现以下功能:1. 测量频率范围:1Hz至10MHz;2. 测量精度:±0.1%;3. 具有数据保持功能,可在断电情况下保存测量结果;4. 具有报警功能,可设置上下限;5. 使用微处理器进行控制和数据处理。
二、系统概述数字频率计系统主要由以下几个部分组成:1. 输入信号处理单元:用于将输入信号进行缓冲、滤波和整形,以便于微处理器进行准确处理;2. 计数器单元:用于对输入信号的周期进行计数,并通过微处理器进行处理,以得到准确的频率值;3. 数据存储单元:用于存储测量结果和设置参数;4. 人机交互单元:用于设置参数、显示测量结果和接收用户输入。
三、电路原理数字频率计的电路原理主要包括以下步骤:1. 输入信号处理:输入信号首先进入缓冲器进行缓冲,然后通过低通滤波器进行滤波,去除高频噪声。
滤波后的信号通过整形电路进行整形,以便于微处理器进行计数。
2. 计数器单元:整形后的信号输入到计数器,计数器对信号的周期进行计数。
计数器的精度直接影响测量结果的精度,因此需要选择高精度的计数器。
3. 数据存储单元:测量结果和设置参数通过微处理器进行处理后,存储在数据存储单元中。
数据存储单元一般采用EEPROM或者Flash 存储器。
4. 人机交互单元:人机交互单元包括显示屏和按键。
用户通过按键设置参数和查看测量结果。
显示屏用于显示测量结果和设置参数。
四、元器件选择根据系统设计和电路原理,以下是一些关键元器件的选择:1. 缓冲器:采用高性能的运算放大器,如OPA657;2. 低通滤波器:采用一阶无源低通滤波器,滤波器截止频率为10kHz;3. 整形电路:采用比较器,如LM393;4. 计数器:采用16位计数器,如TLC2543;5. 数据存储单元:采用EEPROM或Flash存储器,如24LC64;6. 显示屏:采用带ST7565驱动的段式液晶显示屏,如ST7565R。
简易的数字频率计实验报告逻辑与数字系统设计——实验部分作者姓名班级学号一、实验目的1.学习数字系统设计的步骤和方法;2.学习QUARTUS II的编译环境,和VHDL编程语言;3.熟悉ALTERA公司的MAX7000S系列的使用及程序下载方法;二、实验内容本实验要求设计并实现简易的数字频率计电路,要求可以实现以下功能:(1) 频率计的频率测量范围:最低要求0~9999Hz。
(2) 闸门时间为1s,测量结果以十进制数字显示。
(3) 设计一位复位键,对频率计进行清零复位。
(4) 利用实验箱上的四个七段数码管显示频率计结果,要求显示结果稳定,无闪烁。
三、实验任务1. 设计频率计的原理图,完成频率计子模块的功能设计;2. 在QUARTUS II环境下,建立新工程文件;3. 新建VHDL文件,完成各个子模块的VHDL编程,并利用QuartusII的工具生成相应的原理图文件;4. 在QUARTUS II环境下,新建原理图文件(注意:原理图文件名应与新建的工程文件名相同),完成各个模块之间的电路连接;5. 电路的功能仿真,验证设计的正确性;6. 为电路分配输入输出引脚,生成.pof文件;6. 下载.pof文件到MAX7128SL84-15;7. 连接MAX7128SL84-15与实验箱,并利用信号发生器和示波器检验频率计是否正常工作并测试频率计的相对误差;8. 撰写实验报告。
四、考核方法实验成绩由三个部分组成:考核内容所占分值频率计设计合理,编译通过,功能仿真结果正确30分程序可以正常下载,连接实验箱后频率计能够正常工作30分频率计工作稳定性好,误差小,测量范围广(1.2MHz以上)10分实验报告内容详实,叙述准确30分五、实验原理5.1 Max7000S系列开发板简介MAX7000系列是高密度,高性能的CMOS CPLD,采用先进的0.8um CMOS E2PROM技术制造。
MAX7000系列提供600-5000个可用门,引线端子到引线端子的延时为6ns。
根据系统设计要求, 需要实现一个 4 位十进制数字频率计, 其原理框 图如图 1 所示。
主要由脉冲发生器电路、 测频控制信号发生器电路、 待测 信号计数模块电路、 锁存器、 七段译码驱动电路及扫描显示电路等模块组 成。
由于是4位十进制数字频率计, 所以计数器CNT10需用4个,7段显示译 码器也需用4个。
频率测量的基本原理是计算每秒钟内待测信号的脉冲个 数。
为此,测频控制信号发生器 F_IN_CNT 应设置一个控制信号时钟CLK , 一个计数使能信号输出端EN 、一个与EN 输出信号反 向的锁存输出信号 LOCK 和清零输出信号CLR 。
若CLK 的输入频率为1HZ ,则输出信号端EN 输出 一个脉宽恰好为1秒的周期信号, 可以 作为闸门信号用。
由它对频率计的 每一个计数器的使能端进行同步控制。
当EN 高电平时允许计数, 低电平时 住手计数,并保持所计的数。
在住手计数期间,锁存信号LOCK 的上跳沿 将计数器在前1秒钟的计数值锁存进4位锁存器LOCK ,由7段译码器译出 并稳定显示。
设置锁存器的好处是: 显示的数据稳定, 不会由于周期性的标准时钟 CLKEN待测信号计数电路脉冲发 生器待测信号F_INLOCK锁存与译 码显示驱 动电路测频控制信 号发生电路CLR扫描控制数码显示清零信号而不断闪烁。
锁存信号之后,清零信号CLR对计数器进行清零,为下1秒钟的计数操作作准备。
时基产生与测频时序控制电路主要产生计数允许信号EN、清零信号CLR 和锁存信号LOCK。
其VHDL 程序清单如下:--CLK_SX_CTRLLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CLK_SX_CTRL ISPORT(CLK: IN STD_LOGIC;LOCK: OUT STD_LOGIC;EN: OUT STD_LOGIC;CLR: OUT STD_LOGIC);END;ARCHITECTURE ART OF CLK_SX_CTRL ISSIGNAL Q: STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINPROCESS(CLK)BEGINIF(CLK'EVENT AND CLK='1')THENIF Q="1111"THENQ<="0000";ELSEQ<=Q+'1';END IF;END IF;EN<=NOT Q(3);LOCK<=Q(3)AND NOT(Q(2))AND Q(1);CLR<=Q(3)AND Q(2)AND NOT(Q(1));END PROCESS;END ART;测频时序控制电路:为实现系统功能,控制电路模块需输出三个信号:一是控制计数器允许对被测信号计数的信号EN;二是将前一秒计数器的计数值存入锁存的锁存信号LOCK;三是为下一个周期计数做准备的计数器清零信号CLR。
实验二:简易电子琴一、实验目的(1)学习采用状态机方法设计时序逻辑电路。
(2)掌握ispLEVER 软件的使用方法。
(3)掌握用VHDL 语言设计数字逻辑电路。
(4)掌握ISP 器件的使用。
二、实验所用器件和设备在系统可编程逻辑器件ISP1032一片示波器一台万用表或逻辑笔一只TEC-5实验系统,或TDS-2B 数字电路实验系统一台三、实验内容设计一个简易频率计,用于测量1MHz 以下数字脉冲信号的频率。
闸门只有1s 一档。
测量结果在数码管上显示出来。
不测信号脉宽。
用一片ISP芯片实现此设计,并在实验台上完成调试。
实验设计:1.产生准确闸门信号(1s)。
100kHz时钟经100K分频(一次完成),再经2分频产生方波,1s 用于计数,1s用于显示结果(及清零);2. 利用闸门信号控制一个计数器对被测脉冲信号进行计数, 1s内计数的结果就是被测信号的频率;3.每次对被测信号计数前,自动清零;4. 计数器采用十进制;5.显示频率值上下浮动,要修改源代码。
6.数码管高低位的接线。
VHDL源代码:library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity fget isport(clk:in std_logic; --输入时钟源 bclk:in std_logic;kout:out std_logic_vector(26 downto 0));end fget;architecture top of fget iscomponent divideport(clk1:in std_logic;cl:out std_logic;co:out std_logic;ro:out std_logic);end component;component gateport(bc1:in std_logic;cl1:in std_logic;co1:in std_logic;op:out std_logic_vector(26 downto 0));end component;component saveport(op1:in std_logic_vector(26 downto 0);ro1:in std_logic;eout:out std_logic_vector(26 downto 0));end component;signal scl:std_logic;signal sco:std_logic;signal sro:std_logic;signal sop:std_logic_vector(26 downto 0);BEGINu1:divide PORT MAP(clk,scl,sco,sro);u2:gate PORT MAP(bclk,scl,sco,sop);u3:save PORT MAP(sop,sro,kout);end;--闸门模块library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity gate isport(bc1:in std_logic;cl1:in std_logic;co1:in std_logic;op:out std_logic_vector(26 downto 0) --5个8421,一个七段译码);end;architecture art2 of gate iscomponent cnt10 --十进制计数模块port(clk2:in std_logic;en:in std_logic;--使能端clr:in std_logic;--重置qout:out std_logic_vector(3 downto 0 );cout:out std_logic);end component;component seventranse --七段模块port(clk6:in std_logic_vector(3 downto 0 );op2:out std_logic_vector(6 downto 0 ));end component;signal scout1:std_logic;--输出(十进制)signal scout2:std_logic;signal scout3:std_logic;signal scout4:std_logic;signal scout5:std_logic;signal scout6:std_logic;signal qout1:std_logic_vector(3 downto 0);--8421(下同)signal qout2:std_logic_vector(3 downto 0);signal qout3:std_logic_vector(3 downto 0);signal qout4:std_logic_vector(3 downto 0);signal qout5:std_logic_vector(3 downto 0);signal qout6:std_logic_vector(3 downto 0);signal op2: std_logic_vector(6 downto 0);--七段beginr1:cnt10 PORT MAP(bc1,co1,cl1,qout1,scout1);r2:cnt10 PORT MAP(scout1,co1,cl1,qout2,scout2);r3:cnt10 PORT MAP(scout2,co1,cl1,qout3,scout3);r4:cnt10 PORT MAP(scout3,co1,cl1,qout4,scout4);r5:cnt10 PORT MAP(scout4,co1,cl1,qout5,scout5);r6:cnt10 PORT MAP(scout5,co1,cl1,qout6,scout6);t1:seventranse PORT MAP(qout6,op2);process(co1)beginif (co1'event and co1='0') thenop<=op2&qout5&qout4&qout3&qout2&qout1;--结果显示end if;end process;end;--寄存器模块library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity save isport(op1:in std_logic_vector(26 downto 0);ro1:in std_logic;eout:out std_logic_vector(26 downto 0));end entity;architecture art4 of save issignal temp:std_logic_vector(26 downto 0);beginprocess(ro1)beginif ro1'event and ro1='1'then --上升沿判断temp<=op1;end if;eout<=temp;end process;end art4;--十进制计数器模块library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity cnt10 isport(clk2:in std_logic;en:in std_logic;clr:in std_logic;qout:out std_logic_vector(3 downto 0 );cout:out std_logic);end entity;architecture art3 of cnt10 issignal temp:std_logic_vector(3 downto 0 );beginprocess(clk2,en,clr)beginif (clr='1') then --重置时清0temp<="0000";elsif (en='1') thenif(clk2'event and clk2='1')then --上升沿判断进位if(temp="1001")thentemp<="0000";elsetemp<=temp+1;end if;end if;end if;end process;qout<=temp;cout<='1' when temp="1001" else '0';end art3;--分频模块library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity divide isport(clk1:in std_logic;cl:out std_logic;co:out std_logic;ro:out std_logic);end;architecture art1 of divide issignal preclk:std_logic;signal temp1:std_logic;signal temp2:std_logic;beginp1: process(clk1) --先进行2500分频variable count:integer range 0 to 2500;beginif clk1'event and clk1='1'thenif count=2499 thencount:=0;preclk<='1';else count:=count+1;preclk<='0';end if;end if;end process;p2: process(preclk) --依次二分频实现闸门beginif preclk'event and preclk='1'thentemp2<=not temp2;end if;end process;p3: process(temp2)variable count2:std_logic;beginif temp2'event and temp2='1'thencount2:=not count2;if count2='1'thenco<='1';temp1<='0';else co<='0';temp1<='1';end if;end if;end process;p4:process(temp2)beginif (temp1='1' and temp2='0') thencl<='1';elsecl<='0';end if;end process;ro<=temp1;end;--七段译码器模块library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity seventranse isport(clk6:in std_logic_vector(3 downto 0 );op2:out std_logic_vector(6 downto 0 ));end entity;architecture art5 of seventranse isbeginprocess(clk6)begincase clk6 iswhen "0000"=> op2<="1111110";when "0001"=> op2<="0110000";when "0010"=> op2<="1101101";when "0011"=> op2<="1111001";when "0100"=> op2<="0110011";when "0101"=> op2<="1011011";when "0110"=> op2<="1011111";when "0111"=> op2<="1110000";when others=> op2<="0000000";end case;end process;end art5;四、实验小结:实验要求用闸门信号控制计数器计时,于是在十进制计数器模块中添加使能信号en(en=‘1’计数器进行加1 计数,en=‘0’时计数器保持),将闸门信号作为使能信号接入,即可实现1s计数,1s显示。
电子线路课程设计报告姓名:学号:专业:电子信息日期: 2014.4.13南京理工大学紫金学院电光系2014-4-13引言《电子线路课程设计》是一门理论和实践相结合的课程。
它融入了现代电子设计的新思想和新方法,架起一座利用单元模块实现电子系统的桥梁,帮助学生进一步提高电子设计能力。
对于推动信息电子类学科面向21世纪课程体系和课程内容改革,引导、培养大学生创新意识、协作精神和理论联系实际的学风,加强学生工程实践能力的训练和培养,促进广大学生踊跃参加课外科技活动和提高毕业生的就业率都会起到了良好作用。
该课程主要内容:(1)了解和掌握一个完整的电子线路设计方法和概念;(2)通过电子线路设计、仿真、安装和调试,了解和掌握电子系统研发产品的一个基本流程。
(3)了解和掌握一些常见的单元电路设计方法和在电子系统中的应用:包括放大器、滤波器、比较器、光电耦合器、单稳、逻辑控制、计数和显示电路等。
(4)通过编写设计文档与报告,进一步提高学生撰写科技文档的能力。
(5)电子线路课程设计课题:设计并制作一个基于模电和数电的简易数字频率计。
目录第一章设计要求.................................................1.1 基本要求...........................................1.2 提高部分...........................................1.3 设计报告........................................... 第二章整体方案设计.............................................2.1 算法设计...........................................2.2 整体方框图及原理................................... 第三章单元电路设计.............................................3.1 模电部分设计.......................................3.1.1 放大电路........................................3.1.2 滤波电路........................................3.1.3 比较电路........................................3.1.4 模电总体电路....................................3.2 数电部分设计.......................................3.2.1 时基电路........................................3.2.2 单稳态电路......................................3.2.3 计数、译码、显示电路............................3.2.4 数电总体电路.................................... 第四章测试与调整...............................................4.1 时基电路的调测.....................................4.2 计数电路的调测.....................................4.3 显示电路的调测..................................... 第五章设计小结.................................................5.1 设计任务完成情况...................................5.2心得体会...........................................第一章设计要求1.1 基本要求(1)输入信号:正弦、三角和方波;频率:10Hz~2KHz;幅度:峰-峰值0.3 V ~3V;(2)频率计通带:10Hz~1KHz;(3)量程范围:0~99;(4)闸门时间:1s;(5)采样周期:≥2s;(6)实现自动测频、自动清零、数据显示和保持功能。
1.2 提高部分(1)实现双通道自动测频、数据显示和保持功能。
(2)实现通道号显示。
(3)实现输入信号和数字频率计的隔离。
(4)其他。
1.3 设计报告(1)系统方案比较与选择、方案描述。
(2)理论分析与计算(3)电路设计主电路原理图及说明。
(4)仿真结果仿真电路、方法、说明及波形图。
(5)测试结果测试结果完整性、测试结果分析。
(6)使用说明书第二章整体方案设计2.1 算法设计 频率是周期信号每秒钟内所含的周期数值。
可根据这一定义采用如图2-1所示的算法。
图2-2是根据算法构建的方框图。
被测信号图2-2 频率测量算法对应的方框图在测试电路中设置一个闸门产生电路,用于产生脉冲宽度为1s 的闸门信号。
该闸门信号控制闸门电路的导通与开断。
让被测信号送入闸门电路,当1s 闸门脉冲到来时闸门导通,被测信号通过闸门并到达后面的计数电路(计数电路用以计算被测输入信号的周期数),当1s 闸门结束时,闸门再次关闭,此时计数器记录的周期个数为1s 内被测信号的周期个数,即为被测信号的频率。
测量频率的误差与闸门信号的精度直接相关,因此,为保证在1s 内被测信号的周期量误差在10 ³量级,则要求闸门信号的精度为10 ⁴量级。
2.2 整体方框图及原理输入电路 闸门 计数电路 显示电路闸门产生输入电路:由于输入的信号可以是正弦波、方波、三角波。
而后面的闸门或计数电路要求被测信号为矩形波,所以需要设计一个整形电路则在测量的时候,首先通过整形电路将正弦波或者三角波转化成矩形波。
在整形之前由于不清楚被测信号的强弱的情况。
所以在通过整形之前通过放大衰减处理。
当输入信号电压幅度较大时,通过输入衰减电路将电压幅度降低。
当输入信号电压幅度较小时,前级输入衰减为零时若不能驱动后面的整形电路,则调节输入放大的增益,时被测信号得以放大。
频率测量:被测信号经整形后变为脉冲信号(矩形波或者方波),送入闸门电路,等待时基信号的到来。
时基信号由555定时器构成一个较稳定的多谐振荡器,经整形分频后,产生一个标准的时基信号,作为闸门开通的基准时间。
被测信号通过闸门,作为计数器的时钟信号,计数器即开始记录时钟的个数,这样就达到了测量频率的目的。
周期测量:测量周期的原理框图2-4.测量周期的方法与测量频率的方法相反,即将被测信号经整形、二分频电路后转变为方波信号。
方波信号中的脉冲宽度恰好为被测信号的1个周期。
将方波的脉宽作为闸门导通的时间,在闸门导通的时间里,计数器记录标准时基信号通过闸门的重复周期个数。
计数器累计的结果可以换算出被测信号的周期。
用时间Tx来表示:Tx=NTs 式中:Tx为被测信号的周期;N为计数器脉冲计数值;Ts为时基信号周期。
时基电路:时基信号由555定时器、RC组容件构成多谐振荡器,其两个暂态时间分别为:T1=0.7(Ra+Rb)C T2=0.7RbC重复周期为 T=T1+T2。
由于被测信号范围为10Hz~2KHz,采用1s闸门脉宽。
闸门时间要求非常准确,它直接影响到测量精度,在要求高精度、高稳定度的场合,通常用晶体振荡器作为标准时基信号。
在实验中我们采用的就是前一种方案。
在电路中引进电位器来调节振荡器产生的频率。
使得能够产生1kHz的信号。
这对后面的测量精度起到决定性的作用。
计数显示电路:在闸门电路导通的情况下,开始计数被测信号中有多少个上升沿。
在计数的时候数码管不显示数字。
当计数完成后,此时要使数码管显示计数完成后的数字。
控制电路:控制电路里面要产生计数清零信号和锁存控制信号。
如图:第三章单元电路设计3.1 模电部分设计3.1.1放大电路:3.1.2 滤波电路:3.1.3 比较电路:3.1.4 模电总体电路:3.2 数电部分设计3.2.1 时基电路:3.2.2 单稳态电路:3.2.3 计数、译码、显示电路:3.2.4 数电总体电路:第四章测试与调整4.1 时基电路的调测首先调测时基信号,通过555定时器、RC阻容件构成多谐振荡器的两个暂态时间公式,选择R1=10KΩ ,R2=10KΩ,C=10μF。
把555产生的信号接到示波器中,调节电位器使得输出的信号的频率为1KHz。
同时输出信号的频率也要稳定。
测完后,下面测试分频后的频率,分别接一级分频、二级分频、三级分频的输出端,测试其信号。
测出来的信号频率和理论值很接近。
由于是将示波器的测量端分别测量每个原件的输出端。
4.2 计数电路的调测将74160的PT端,~CLR端,~LD端都接高电平,3个74160级联,构成异步十进制计数器。
在调测的过程中,我忘记将其置零,导致在后面数码管一直不显示数字。
接好后,给最低位的74160一个CP信号。
让函数信号发生器产生一个频率适当的方波。
这样,计数器就开始计数了。
数码管从00~99显示。
计数电路就这样搞好了。
4.3 显示电路的调测由于在设计过程中,控制电路这部分比较难,要花时间在上面设计电路。
为了节约时间,我在课程设计的过程中就先连接后面的显示电路和计数电路。
首先是对数码管(数码管的管脚图和功能表详见附录)的显示进行了调测。
所示接好显示电路(这里就只给出一个数码管说明一下)。
第五章设计小结5.1设计任务完成情况完成了本次设计的技术指标,从一开始由于我第一次接触这个实验对实验的还有很多不了解在一些方面浪费了很多时间,在连接电路的时候,不知道该怎么排版然后就会不停的停下来设计控制电路,因为要提高效率,在实际的操作中,先连好时基电路,分频电路测试通过后,再把显示电路和计数电路连好,调测符合要求。
最后搞定控制电路的连接。
最后完成的一块电路板,它所实现的功能就是可以测被测信号的频率,周期和脉宽。
在调测的过程中发现测量频率时,档位在10Hz~2kHz,最终数码管跳的不稳定,其他的测量结果非常接近测量值5.2 心得体会时间如流水一般为期一周的实验课就这么的结束了。
本次实习让我们大体了解到设计电路、连接电路、调测电路的步骤和其中的问题解决。
设计是我们将来必需的技能,这次实习恰恰给我们提供了一个应用自己所学知识的机会,一开始我从到图书馆查找资料。
再到实习的过程中发现了以前学的数字电路的知识掌握的不牢。
同时在设计的过程中,遇到了一些以前没有见到过的元件,通过查找资料来学习这些元件的功能和使用。