湖南涉外经济学院
课程设计报告
课程名称: EDA技术与应用
报告题目:脉冲宽度测量仪
学生姓名:刘君玮
所在学院:电子科学与信息学院
专业班级:电子信息1302 学生学号: 134110229
指导教师:罗志年李刚
2015 年12 月24 日
EDA课程设计任务书
摘要
随着EDA技术的迅速发展,在EDA软件平台上,根据硬件描述语言VHDL 完成的设计文件,自动地完成逻辑编译、化简、分割、综合、优化、布局线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作成了脉冲测量的发展方向。
采用此种发法,设计者的工作仅限于利用软件的方式来完成对系统硬件功能的描述,在EDA工具的帮助下和应用相应的FPGA/CPLD器件,就可以得到最后的设计结果。
通常采用脉冲计数法,即在待测信号的高电平或低电平用一高频时钟脉冲进行计数,然后根据脉冲的个数计算待测信号宽度,如图四所示。
待测信号相对于计数时钟通常是独立的,其上升、下降沿不可能正好落在时钟的边沿上,因此该法的最大测量误差为一个时钟周期。
例如采用50MHz的高频时钟,最大误差为20ns。
关键词:脉宽;脉冲;数显;电容
目录
一、概述 (1)
二、需求分析 (2)
三、系统设计 (3)
四、**模块详细设计与实现 (4)
五、结论与心得 (6)
六、参考文献 (6)
一、概述
在测量与仪器仪表领域,经常需要对数字信号的脉冲宽度进行测量,如转速传感器、外部系统的门控与选通脉冲,以及PWM (脉冲宽度调制)输入的频率等。
因此可以说脉冲宽度和周期是关于脉冲的重要指标。
无论是模似电路还是数字电路,往往都需要对脉冲宽度进行测量。
参与此次课程设计的小组成员为:刘君玮,王郑军,刘格诚,杨卓龙。
各自参与了程序编写、原理图绘制、实验验证的工作。
整体情况良好,在规定时间内完成了各项工作。
二、需求分析
1.脉冲检测
实现对脉冲的检测,即信号的输入。
2.计数器
对脉宽进行计数
3.数据选择器
对数据进行选择处理
4.LED显示译码器
对统计的结果进行显示
三、系统设计
1.系统模块
(1)脉冲检测模块
当有检测到P_IN端有脉冲输入(P_IN=1)时,EN_OUT=1输送到计数器的EN端。
(2)计数模块
计数模块是对检测到的脉冲进行计数,计算出脉冲的宽度。
(3)译码显示模块
对输入的脉冲宽度进行编码,然后在数码管上显示出来。
2.总流程图
四、详细程序设计
(1)脉冲检测模块
library ieee;
use ieee.std_logic_1164.all;
entity check is
port(
P_IN : in std_logic;
EN_OUT: out std_logic);
end check;
architecture behave of check is
begin
process (P_IN)
begin
if(P_IN='1') then EN_OUT<='1'; ---实现检测,若有脉冲就输出为1 else EN_OUT<='0'; ---,否则为0
end if;
end process;
end behave;
(2)计数模块
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity count is
port(EN:in std_logic;
CLK:in std_logic;
CLR:in std_logic;
CQ:out std_logic;
Qout:BUFFER std_logic_vector(3 downto 0)
);
end count;
architecture art of count is
begin
U1:process(CLK,CLR,EN,QOUT)
Begin
if CLR='1' then Qout<="0000";
elsif CLK'EVENT and CLK='1' then
if EN='1' then
if Qout="1001" then Qout<="0000";
else Qout<=Qout+'1';
end if;
end if ;
end if ;
if Qout="1001" then
CQ<='1';
else
CQ<='0';
end if;
end PROCESS U1;
end art; (3)译码显示模块
library ieee;
use ieee.std_logic_1164.all;
ENTITY led IS
PORT(X:IN BIT_VECTOR(3 DOWNTO 0);
Y:OUT BIT_VECTOR(6 DOWNTO 0));
--sel:out std_logic_vector(7 downto 0));
END ENTITY led;
ARCHITECTURE ART OF led IS
BEGIN
--sel<="11111110";
PROCESS(X) is
BEGIN
IF X="0000" THEN Y<="1111110";--0
ELSIF X="0001" THEN Y<="0110000";--1
ELSIF X="0010" THEN Y<="1101101";--2 ELSIF X="0011" THEN Y<="1111001";--3
ELSIF X="0100" THEN Y<="0110011";--4
ELSIF X="0101" THEN Y<="1011011";--5
ELSIF X="0110" THEN Y<="0011111";--6
ELSIF X="0111" THEN Y<="1110000";--7
ELSIF X="1000" THEN Y<="1111111";--8
ELSIF X="1001" THEN Y<="1110011";--9
--ELSIF X="1010" THEN Y<="1110111";--A
--ELSIF X="1011" THEN Y<="0011111";--b --ELSIF X="1100" THEN Y<="1001110";--C --ELSIF X="1101" THEN Y<="0111101";--d
--ELSIF X="1110" THEN Y<="1001111";--E
--ELSIF X="1111" THEN Y<="1000111";--F
ELSE NULL;
END IF;
END PROCESS;
END ARCHITECTURE ART;
五、总原理图与管脚锁定表
总模块图
管脚锁定表
六、结论与心得
经过调试及结果分析,设计满足任务要求。
脉冲信号宽度的测量精度符合±1ms,测量范围为0~10s。
这次的课程设计对于我来说是一次演练,从选题到画出流程图,再到写出程序,不停的编不停的改不停的查资料……直至最后完成,有问题大家都坐在一起讨论,一起努力,一起攻克问题。
我想我们享受的就是这个过程,而不仅仅只是结果。
通过这次的设计,我知道了,在任何问题面前,只要我们努力,只要我们勇敢,我想,它们都不是问题,都不是困难。
七、参考文献
[1] 高金定主编.EDA技术与应用.中国电力出版社.2010
[2] 刘英.脉宽的测量和参数分析.电子信息对抗技术.2007
[3] 吴大正.信号与线性系统分析.高等教育出版社.2005
[4] 阎石. 数字电子技术基础.第四版.北京:高等教育出版社,1998。