**这是本文档旧的修订版!**

=====简易电压表设计=====

实验任务

  • 任务:基于 STEP-MAX10M08核心板 和 STEP BaseBoard V3.0底板 完成简易电压表设计并观察调试结果
  • 要求:通过底板上的串行模数转换器ADC芯片测量可调电位计输出电压,并将电压信息显示在核心板的数码管上。
  • 解析:通过FPGA编程驱动串行ADC芯片,得到数字量化的电压信息,将量化的数字信息转换成BCD码形式,同时驱动独立数码管将电压值显示出来。

实验目的

在基础数字电路实验部分我们已经掌握了FPGA驱动独立数码管的原理及方法,本实验主要学习模数转换器ADC的相关知识,串行(SPI接口)ADC芯片ADC081S101的驱动设计,同时学习二进制数转换BCD码的设计方法。

  • 学习模数转换器ADC的相关知识
  • 串行(SPI接口)ADC芯片ADC081S101的驱动设计
  • 学习二进制数转换BCD码的设计方法
  • 完成简易电压表设计实现

设计框图

根据前面的实验解析我们可以得知,该设计可以拆分成三个功能模块实现,

  • ADC081S101driver: 驱动SPI接口ADC芯片实现模拟电压信号采集。 * bintobcd:将二进制数据转换成BCD码的方法。 * Segmentled:通过驱动独立式数码管将电压数据显示出来。

Top-Down层次设计 模块结构设计

实验原理

ADC介绍

ADC模块电路连接

ADC模块驱动设计

系统总体实现

实验步骤

  1. 双击打开Quartus Prime工具软件;
  2. 新建工程:File → New Project Wizard(工程命名,工程目录选择,设备型号选择,EDA工具选择);
  3. 新建文件:File → New → Verilog HDL File,键入设计代码并保存;
  4. 设计综合:双击Tasks窗口页面下的Analysis & Synthesis对代码进行综合;
  5. 管脚约束:Assignments → Assignment Editor,根据项目需求分配管脚;
  6. 设计编译:双击Tasks窗口页面下的Compile Design对设计进行整体编译并生成配置文件;
  7. 程序烧录:点击Tools → Programmer打开配置工具,Program进行下载;
  8. 观察设计运行结果。

实验现象