北邮数电实验——简易数字电压表报告

数字电路与逻辑综合实验报告

题目:简易电压表设计

学院:电子工程学院 专业:光电信息科学与工程 班级:20132112 学号:20132111 姓名:

一、 实验任务要求

设计并实现一个简易数字电压表, 要求使用实验板上的串行 AD 芯片 ADS7816。

基本要求:

1、测量对象:1-2 节干电池。 2、AD 参考电压:5V。

3、用三位数码管显示测量结果, 保留两位小数。 4、被测信号超过测量范围有溢出显示并有声音提示。 5、按键控制测量和复位。 提高要求:

1、能够连续测量。 2、自拟其他功能。 二、设计思路

利用ADS7816作为电压采样端口,FPGA作为系统的核心器件,用LED进行数码显示,把读取的13位二进制数据转换成便利于输出3位十进制BCD码送给数码管。采用FPGA芯片作为系统的核心器件,负责ADS7816的A/D转换的启动、地址锁存、输入通道的选择、数据的读取。同时,把读取的13位二进制数据转换成便于输出3位十进制的BCD码送给数码管,以显示当前测量电压值。 三、 总体框图

数字电压表整体设计框图,如下图所示,数字电压表系统由A/D转换模块、FPGA控制模块、数码显示模块三部分构成。FPGA控制模块控制外部A/D转换器自动采样模拟信号,通过A/D芯片转换为数字信号,再由FPGA控制模块控制数码管动态扫描向外部数码管显示电路输出数据。

信号采集 数码 转控管 换制显模模 示块块

四、模块设计 1、A/D转换模块

(1)ADS7816工作原理

ADS7816的工作时序图如图所示。在ADS7816的工作时序中,串行时钟DCLK用于同步数据转换,每位转换后的数据在DCLK的下降沿开始传送。因此,从Dout(数字数据输出引脚)引脚接收数据时,可在DCLK的下降沿期间进行,也可以在DCLK的上升沿期间进行。通常情况下,采用在DCLK的上升沿接收转换后的各位数据流。CS的下降沿用于启动转换和数据变换,CS有效后的最初115至2个转换周期内,ADS7816采样输入信号,此时输出引脚Dout呈三态。DCLK的第2个下降沿后,Dout使能并输出一个时钟周期的低电平的无效信号。在随后的12个DCLK周期中,Dout输出转换结果,其输出数据的格式是最高有效位(B11位)在前。当最低有效位(B0位)输出后,若CS变为高电位,则一次转换结束,Dout显三态。若CS

FPGAA/D 仍保持为低电平,则在随后的时钟周期中,Dout将以最低有效位在前的格式重复输出转换后的数据,其中第2次重复输出的最低有效位不再出现(与前一输出周期的最低有效位重叠),当最高有效位(B11位)重新出现后,Dout呈三态,以后的时钟序列对ADS7816不产生影响,仅当CS由高变为低后,ADS7816才启动下一个新的转换。

ADS7816的工作时序图

(2)BCD转码设计

8位数字量BD0~BD7转换成3位BCD码用FPGA实现乘除法是很耗资源的,并且实现起来非常麻烦,所以小组通过讨论跟商量后,觉得利用加法来实现更加方便。

表中将8位数字量分为高4位HB和低4位LB,这样每个4位码的编程都是从0000~1111的16组码,由于5V被8位二进制码最大值除得到的结果是0.02v,即数字量每增大1对应模拟电压增大0.02v。 16进制 二进制 高四位 低四位 0 0000 0.00 0.00 1 0001 0.32 0.02 2 0010 0.64 0.04 3 0011 0.96 0.06 4 0100 1.28 0.08 5 0101 1.60 0.10 6 0110 1.92 0.12 7 0111 2.24 0.14 8 1000 2.56 0.16 9 1001 2.88 0.18 A 1010 3.20 0.20 B 1011 3.52 0.22 C 1100 3.84 0.24 D 1101 4.16 0.26 E 1110 4.48 0.28 F 1111 4.80 0.30 将二进制加法运算的结果修正为BCD码加法运算的结果,两个两位BCD数相加时,对二进制加法运算结果采用修正规则进行修正。修正规则:

a.如果任何两个对应位BCD数相加的结果向高一位无进位,若得到的结果小于或等于9,则该不需修正;若得到的结果大于9且小于16时,该位进行加6修正。

b.如果任何两个对应位BCD数相加的结果向高一位有进位时(即结果大于或等于16),该位进行加6修正。

c.低位修正结果使高位大于9时,高位进行加6修正。 (3)VHDL代码 library ieee;

use ieee.std_logic_1164.all;

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4