1、 数字电路课程设计报告数字电路课程设计报告 课题:基于 FPGA 的高低位数字测温计 学院:机电工程学院 专业:自动化 班级: 姓名: 学号: 指导老师: 2014 年 10 月 14 日星期二 一、引言 课题确定过程:最初在网上搜过不少课题,如自动售货机、 3 层电梯控制器、声控电子锁等, 但每一个的信号采集模块的设计以我现在的水平而言都很复杂, 于是在尝试了一段时间后就 放弃了。后来我觉得自己必须先了解点关于 FPGA、EDA、VHDL 的一些基础知识,于是到图书 馆借阅了一些相关书籍, 同时想到平时生活里测物体温度时因为导热不均匀使得两端极的温 度有较大的不同,于是就有了做高低位数字测温
2、计的想法。 系统总体介绍:系统由 FPGA 器件实现数字测温,利用温度传感器 AD590 采集温度信号,产 生的温度信号经调零、 放大处理后, 利用 A/D 转换器 ADC0809 将模拟信号转换成分高低位的 数字信号, 最后将高 4 位和低 4 位的数字信号分别连接到 7 段共阴极数码显示管上输出温度 大小(以十六进制的形式) 。 二、硬件描述 2.1 系统组成框图 2.2 测温模块(采集电路) 温度传感器 AD590 简介 AD590 是美国 ANALOG DEVICES 公司的单片集成两端感温电流源,AD590 适用于 150C 以下、 目前采用传统电气温度传感器的任何温度检测应用。 低
3、成本的单芯片集成电路及无需支持电 路的特点,使它成为许多温度测量应用的一种很有吸引力的备选方案。 AD590 测温模块 ADC0809 模数转换 模块 两位七段数码管显示模块 2.3 模数转换模块 A/D 转换器 ADC0809 简介 ADC0809 是美国国家半导体公司生产的 CMOS 工艺 8 通道,8 位逐次逼近式 A/D 模数转换器。 其内部有一个 8 通道多路开关, 它可以根据地址码锁存译码后的信号, 只选通 8 路模拟输入 信号中的一个进行 A/D 转换。 本系统采集到的温度与数字输出量的关系 温度(摄氏度) 4 位二进制输出 80 1111 2.4 七段数码管显示模块(执行电路)
4、 数码管的一种是半导体发光器件, 数码管可分为七段数码管和八段数码管, 区别在于八段数 码管比七段数码管多一个用于显示小数点的发光二极管单元 DP (decimal point) , 其基本单 元是发光二极管。 数码管内部字段 LED 和引脚分布 三、软件仿真 3.1 模数转换模块 3.1.1VHDL 语言描述 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY ADC0809 IS PORT(CLK:IN STD_LOGIC;-时钟信号 EOC:IN STD_LOGIC;-转换结束信号 DIN:IN STD_LOGIC_VECTOR(7 DOW
5、NTO 0);-采集温度信号 ALE:OUT STD_LOGIC;-地址锁存允许信号 START:OUT STD_LOGIC;- A/D 转换启动脉冲输入端 OE:OUT STD_LOGIC;-数据输出允许信号 LOCK0:OUT STD_LOGIC;-观察数据锁存信号 ADDA:OUT STD_LOGIC;-3 条地址输入线 ADDB:OUT STD_LOGIC; ADDC:OUT STD_LOGIC; DOUT:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);-输出 8 位数字信号 END ADC0809; ARCHITECTURE BEHA V OF ADC0809 I
6、S TYPE STA TE IS (S0,S1,S2,S3,S4); SIGNAL CURRENT_STA TE,NEXT_STA TE:STA TE:=S0; SIGNAL REGL:STD_LOGIC_VECTOR(7 DOWNTO 0); SIGNAL LOCK:STD_LOGIC; BEGIN ADDACLK, EOC=EOC, DIN=DIN, ALE=ALE, START=START, OE=OE, LOCK0=LOCK0, ADDA=ADDA, ADDB=ADDB, ADDC=ADDC, DOUT(7 DOWNTO 4)=CARRY_OUTH, -高 4 位输入 DOUT(3 DOWNTO 0)=CARRY_OUTL); -低 4 位输入 U2:YIMA7 PORT MAP(A(3 DOWNTO 0)=CARRY_OUTL,-低 4 位输出与低 4 位输入 连接 LED7S=LED7SL);-低位数码管显示 U3:YIMA7 PORT MAP(A(3 DOWNTO 0)=CARRY_OUTH, -高 4 位输出与高 4 位输入 连