差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
上一修订版 两侧同时换到之后的修订记录
数字温湿度计设计 [2019/04/12 02:12]
gongyu
数字温湿度计设计 [2019/09/06 12:55]
gongyu
行 1: 行 1:
-### 数字温湿度计设计+#### 数字温湿度计设计
  
------ +---
-###​实验任务+
  
 +####​实验任务
   * 任务:基于 STEP-MAX10M08核心板 和 STEP BaseBoard V3.0底板 完成数字温湿度计设计并观察调试结果   * 任务:基于 STEP-MAX10M08核心板 和 STEP BaseBoard V3.0底板 完成数字温湿度计设计并观察调试结果
   * 要求:驱动底板上的温湿度传感器SHT-20测量空气中的温度和湿度,将温湿度信息显示在8位扫描式数码管上。   * 要求:驱动底板上的温湿度传感器SHT-20测量空气中的温度和湿度,将温湿度信息显示在8位扫描式数码管上。
   * 解析:通过FPGA编程驱动I2C接口温湿度传感器SHT-20,获取温湿度码值信息,将两种码值信息经过运算转换成物理温度湿度数据,然后经过BCD转码处理并显示到扫描式数码管上。   * 解析:通过FPGA编程驱动I2C接口温湿度传感器SHT-20,获取温湿度码值信息,将两种码值信息经过运算转换成物理温度湿度数据,然后经过BCD转码处理并显示到扫描式数码管上。
  
-====实验目的====+#### 实验目的
  
 前面的章节中我们学习了扫描式数码管模块和BCD转码模块的工作原理及驱动方法,也对I2C总线协议及相关知识,本实验主要对I2C总线驱动方法加以练习,同时熟悉FPGA设计中常用运算方法,最终完成数字温湿度计总体设计。 前面的章节中我们学习了扫描式数码管模块和BCD转码模块的工作原理及驱动方法,也对I2C总线协议及相关知识,本实验主要对I2C总线驱动方法加以练习,同时熟悉FPGA设计中常用运算方法,最终完成数字温湿度计总体设计。
行 15: 行 15:
   * 完成数字温湿度计总体设计   * 完成数字温湿度计总体设计
  
-====设计框图====+#### 设计框图
  
 根据前面的实验解析我们可以得知,该设计可以拆分成两个功能模块实现, 根据前面的实验解析我们可以得知,该设计可以拆分成两个功能模块实现,
行 24: 行 24:
  
 {{:​10-Top-Down层次设计.png?​500|Top-Down层次设计}} {{:​10-模块结构设计.png?​500|模块结构设计}} {{:​10-Top-Down层次设计.png?​500|Top-Down层次设计}} {{:​10-模块结构设计.png?​500|模块结构设计}}
-====实验原理==== 
  
-===SHT-20模块介绍===+#### 实验原理 
 + 
 +##### SHT-20模块介绍
  
 SHT-20是一款集成温度和湿度感测于一体的传感器芯片,采用3mm x 3mm贴片DFN封装,数字I2C总线接口,管脚功能描述如下: SHT-20是一款集成温度和湿度感测于一体的传感器芯片,采用3mm x 3mm贴片DFN封装,数字I2C总线接口,管脚功能描述如下:
行 52: 行 53:
 {{:​10-温度和湿度测量范围.png?​500|温度和湿度测量范围}} {{:​10-温度和湿度测量范围.png?​500|温度和湿度测量范围}}
  
-===SHT-20模块连接===+##### SHT-20模块连接
  
 STEP BaseBoard V3.0底板上的温湿度传感器SHT-20模块电路图如下(上拉电阻未显示): STEP BaseBoard V3.0底板上的温湿度传感器SHT-20模块电路图如下(上拉电阻未显示):
行 60: 行 61:
 上图为温湿度传感器SHT-20模块电路,与FPGA硬件接口有I2C总线(SCL、SDA),SHT2x 传感器包含电容式湿度传感器、带隙温度传感器和专用的模拟和数字集成电路-全部放在单 CMOSens®芯片上。这在精度和稳定性方面,​ 以及功耗最小的情况下,​ 都能产生无与伦比的传感器性能, SHT20的分辨率可以通过命令 (RH/T 的8/12 位到12/14 位) 进行更改,​ 并且校验和有助于提高通信的可靠性。 上图为温湿度传感器SHT-20模块电路,与FPGA硬件接口有I2C总线(SCL、SDA),SHT2x 传感器包含电容式湿度传感器、带隙温度传感器和专用的模拟和数字集成电路-全部放在单 CMOSens®芯片上。这在精度和稳定性方面,​ 以及功耗最小的情况下,​ 都能产生无与伦比的传感器性能, SHT20的分辨率可以通过命令 (RH/T 的8/12 位到12/14 位) 进行更改,​ 并且校验和有助于提高通信的可靠性。
  
-===SHT-20模块驱动设计===+##### SHT-20模块驱动设计
  
 智能接近系统设计实验中我们已经讲述学习过I2C总线驱动的设计,本实验可以上原来的基础上调整,首先来了解SHT-20时序中的参数要点。 智能接近系统设计实验中我们已经讲述学习过I2C总线驱动的设计,本实验可以上原来的基础上调整,首先来了解SHT-20时序中的参数要点。
行 159: 行 160:
 </​code>​ </​code>​
  
-===系统总体实现===+##### 系统总体实现
  
 SHT-20驱动模块得到的是温度和湿度的编码值,想要得到℃和%RH的温度和湿度的数据还需要运算,运算后的数据是二进制数,想要显示在数码管上还需要BCD转码。先考虑运算: SHT-20驱动模块得到的是温度和湿度的编码值,想要得到℃和%RH的温度和湿度的数据还需要运算,运算后的数据是二进制数,想要显示在数码管上还需要BCD转码。先考虑运算:
行 217: 行 218:
 {{:​10-RTL设计框图.png?​800|RTL设计框图}} ​ {{:​10-RTL设计框图.png?​800|RTL设计框图}} ​
  
-====实验步骤====+#### 实验步骤
   - 双击打开Quartus Prime工具软件;   - 双击打开Quartus Prime工具软件;
   - 新建工程:File → New Project Wizard(工程命名,工程目录选择,设备型号选择,EDA工具选择);   - 新建工程:File → New Project Wizard(工程命名,工程目录选择,设备型号选择,EDA工具选择);
行 228: 行 229:
  
  
-====实验现象====+#### 实验现象
  
 将程序加载到FPGA,观察数码管显示,左边4位数码管显示温度,右边4位数码管显示湿度,用手接触温湿度传感器,观察显示变化。 将程序加载到FPGA,观察数码管显示,左边4位数码管显示温度,右边4位数码管显示湿度,用手接触温湿度传感器,观察显示变化。
  
 {{:​10-实验现象.png?​400|实验现象}} {{:​10-实验现象.png?​400|实验现象}}