FPGA设计显示电压值

简介: FPGA设计显示电压值

随着电子技术的飞速发展,数字电压表在电压测量领域的作用显得更加重要,本次实训课程旨在掌握基于FPGA的数字电压表设计。本次设计在Quartus

II 环境下进行,以Verilog HDL语言实现分频、模数转换、数码管显示、led灯蜂鸣器声光报警等系统所需模块。利用层次化、模块化的开发的方法完成设计,并进行波形仿真。利用SignalTap II完成系统的在线调试与验证。

设计内容:

(1)可以动态采集开发板上数字电位器调节产生的电压,电压采集精度为1%;

(2)具有复位按键,系统具有整体复位功能;;

(3)数码管显示采集到的电压值,显示内容为Ux.xxx 共计5个字符,其中U为数码管0最上面那行不亮,整数位1位,小数位3位,后面有小数点;

(4)系统具有上下阈值报警功能,阈值可以自己设定,便于修改。测量电压值超过阈值上限,则蜂鸣器响,4个led闪烁,闪烁频率4Hz;测量电压值超过阈值下限,则蜂鸣器响,4个led闪烁,闪烁频率2Hz;

超过阈值上限与超过阈值下限蜂鸣器驱动频率要有明显区分(超过阈值上限蜂鸣器声音比超过阈值下限急促);

(5)可以自行发挥,增加自己认为有必要增加的功能,比如自动调节量程、带时钟现实的数字电压表等。

设计要求:

(1)系统功能分析,分模块层次化设计,实现系统功能的方案设计;

(2)根据任务要求确定状态关系,如有需要画出状态转换图;

(3)编写各功能模块 Verilog HDL语言程序;

(4)对各功能模块进行编译、综合、仿真和验证;

(5)整个系统进行编译、

综合、仿真和验证;

(6)利用SignalTap II完成系统的在线调试与验证

(7)在FPGA实验开发系统试验板上进行硬件验证;

(8)完成实训报告。

实训题目具体设计过程记录(图、表或程序等)


顶层功能设计与描述

将模块连接在一起,tcl_549采集8位信号通过AD转换将数据传给conv_crtl,根据公式转换成电压值,将8位数据转换成12位数据 ,然后同时传给后边的报警模块和bin_bcd模块,warning模块根据判断传过来的数据是否在规定的范围之内,如果在范围只能,灯和蜂鸣器都不工作,如果超出范围就发出警报。bin_bcd模块进行二进制转bcd码变成数码管可以识别的形式,将数值显示在seven_tube数码管上。

2、分功能模块设计与描述(涉及到状态转移表、分段式状态转移列表、流程图的也需要进行描述,分功能模块需要有波形仿真图,波形仿真图需要进行简单说明)

2.1.tlc_549_ad_driver模块

根据数据手册上cs_n拉低1.4微秒(1/50mhz=20ns,2070节拍)开始计数,所以节拍从71开始+25(1.1MHZ≈1MHZ 1/1_000hz=1000ns)(2025*2=1000ns是一个小周期)),cnt+1,上升沿采集信号,下降沿输出信号。同时在446节拍时采样结束,在447节拍时输出采样数据。477-1300节拍对应传输数据时间17微秒。

2.2 conv_ctrl模块

输入的8位数据code通过公式Vref(基准电压) * code / 256= data_temp 得到12位数据data_temp。

2.3 bin_bcd模块

bin_bcd模块进行二进制转bcd码变成数码管可以识别的形式。

2.4

seven_tube模块

根据bin_bcd模块进行转换后得到的对应的BCD码在数码管上显示出来。Sel为位选,seg为段选,通过3-8译码器选择位数,根据手册控制seg使显示字符。

2.5 warning模块

12位数据传入警告模块中,将12位的数据进行判断是否在控制的范围之内,如果在范围之内,则flag1和flag2都为0,如果大于最大值,输出信号flag1=1,小于最小值输出信号flag2=1,由这两个信,控制后边的蜂鸣器模块中和灯模块,当其大于1000时,flag1=1,led闪烁频率为4Hz,并且蜂鸣器beep开始工作,频率为5kHz;当其小于900时,flag2=1,led闪烁频率为2Hz,并且蜂鸣器beep开始工作,频率为10kHz;


运行测试结果分析(SignalTap II完成系统的在线调试与验证并截图说明)

当code为十进制113时,data_temp为113 * 2500 / 256 =1104,高于上限阈值1000,故warning模块反应,led开始闪烁,同时蜂鸣器开始工作。

总结及分析

本次实训,我们熟悉了quartusII软件编程环境,学会了如何使用verilog hdl语言编写程序,这几天我们学学习了如何建立文件夹能让我们提高效率,还有如何编写测试程序,同时我们学习了模块代码的编写,包括计数器的编写,分频模块的编写,电压转换模块代码的书写,状态机的编写和数码管的设计,以及利用线性序列机的思想对tcl549芯片进行ad转换,还有bcd转化模块代码的书写,然后把我们前几天学习的模块连接起来,tcl_549采集8位信号通过AD转换将数据传给conv_crtl,根据公式转换成电压值,将8位数据转换成12位数据 ,然后同时传给后边的报警模块和bin_bcd模块,warning模块根据判断传过来的数据是否在规定的范围之内,如果在范围只能,灯和蜂鸣器都不工作,如果超出范围就发出警报。bin_bcd模块进行二进制转bcd码变成数码管可以识别的形式,将数值显示在seven_tube数码管上。

老师验收的时候让我把报警模块中的灯闪烁次数改为10次,

通过控制灯闪烁次数的范围,控制flag信号的输出状态,从而达到控制灯亮灭的状态。

本次实训,我们对FPGA有了一个大概的了解,FPGA设计的主要难点是熟悉硬件系统以及内部资源,保证设计的语言能够实现元器件之间的有效配合,提高程序的可读性以及利用率。我们的动手能力大大提高,不仅仅是停留在理论知识层面上,这对我们以后找工作打下了基础。

相关文章
BOSHIDA 两类常见的模拟电源与数字电源
随着科技的不断发展,电源的种类也越来越丰富。在电源的分类中,模拟电源和数字电源是两类常见的电源类型。不同类型的电源具有不同的特点和应用范围。本文将介绍模拟电源和数字电源之间的区别。
BOSHIDA 两类常见的模拟电源与数字电源
DC电源模块是一种集成电路,可以将输入电压变换为稳定的直流输出电压。
DC电源模块是一种集成电路,可以将输入电压变换为稳定的直流输出电压。
|
6月前
|
存储 算法 异构计算
m基于FPGA的多功能信号发生器verilog实现,包含testbench,可以调整波形类型,幅度,频率,初始相位等
使用Vivado 2019.2仿真的DDS信号发生器展示了正弦、方波、锯齿波和三角波的输出,并能调整幅度和频率。DDS技术基于高速累加器、查找表和DAC,通过频率控制字和初始相位调整产生各种波形。Verilog程序提供了一个TEST模块,包含时钟、复位、信号选择、幅度和频率控制输入,以生成不同波形。
164 18
|
6月前
|
安全
降压型DC电源模块是一种将输入电压降低到需要的输出电压的电源模块
BOSHIDA 降压型DC电源模块的特点与优势 降压型DC电源模块是一种将输入电压降低到需要的输出电压的电源模块。其特点与优势如下:
降压型DC电源模块是一种将输入电压降低到需要的输出电压的电源模块
|
6月前
|
芯片
深度调光降压型 LED 恒流驱动器
一、产品描述 KP14612是一款PF>0.7的高精度、调光型LED恒流驱动控制芯片。适用于全范围交流输入电压的非隔离降压型LED恒流电源。KP14612支持PWM输入调光,最小调光深度可以达到0.1%,并且支持待机模式,待机功耗小于20mW。 二、主要特点 三、具体应用 智能球泡灯 智能筒灯 其他调光LED照明设备
|
传感器
同相放大电路的介绍
同相放大电路是一种常见的电子放大电路,它可以将输入信号放大到更高的幅度,并保持输入信号的相位不变。本文将介绍同相放大电路的工作原理、特点以及应用领域。 一、工作原理 同相放大电路是由一个放大器和一个反馈网络组成的。放大器接收输入信号,并将其放大到更高的幅度。反馈网络将部分放大后的信号反馈给放大器的输入端,以实现对输入信号的放大。放大器和反馈网络之间通过一个电阻连接,用于控制反馈信号的幅度。 当输入信号进入放大器时,放大器会将其放大到更高的幅度。同时,反馈网络将放大后的信号反馈给放大器的输入端。由于反馈信号与输入信号具有相同的相位,因此放大器将继续放大相位相同的信号。这样,通过不断的反馈,
326 0
|
算法 前端开发 异构计算
m基于FPGA的AGC自适应增益控制系统verilog实现,包含testbench
m基于FPGA的AGC自适应增益控制系统verilog实现,包含testbench
490 0
【NI Multisim 14.0原理图设计基础——调整元器件位置】
一、调整元器件位置 每个元器件被放置时,其初始位置并不是很准确。在进行连线前,需要根据原理图的整体布局对元器件的位置进行调整。这样不仅便于布线,也会使所绘制的电路原理图清晰、美观。 元器件位置的调整实际上就是利用各种命令将元器件移动到图纸上指定的位置,并将元器件旋转为指定的方向。 1.元器件的移动 在实际原理图的绘制过程中,最常用的方法是直接使用鼠标实现元器件的移动。 (1)使用鼠标移动未选中的单个元器件。将光标指向需要移动的元器件(不需要选中),按住鼠标左键不放,此时光标会自动滑到元器件的电气节点上。拖动鼠标,元器件会随之一起移动。到达合适的位置后,释放鼠标左键,元器件即被移动到当前光标的
995 0
【NI Multisim 14.0原理图设计基础——调整元器件位置】
|
存储 数据采集 芯片
基于单片机的数字存储示波器设计
基于单片机的数字存储示波器设计
172 0
基于单片机的数字存储示波器设计
|
异构计算
实验二 基于FPGA的分频器的设计(基本任务:设计一个分频器,输入信号50MHz,输出信号频率分别为1KHz、500Hz及1Hz。拓展任务1:用按键或开关控制蜂鸣器的响与不响。拓展任务2:用按键或开)
实验二 基于FPGA的分频器的设计(基本任务:设计一个分频器,输入信号50MHz,输出信号频率分别为1KHz、500Hz及1Hz。拓展任务1:用按键或开关控制蜂鸣器的响与不响。拓展任务2:用按键或开)
1182 0
实验二 基于FPGA的分频器的设计(基本任务:设计一个分频器,输入信号50MHz,输出信号频率分别为1KHz、500Hz及1Hz。拓展任务1:用按键或开关控制蜂鸣器的响与不响。拓展任务2:用按键或开)